{
    "pipes": [
        {
            "name": "TranslateMockPipe",
            "id": "pipe-TranslateMockPipe-eec6297f1f1ae191bbb1201554ba7a136a865bf32065bbbcdb2248787a067444dc6c4e8a95f112a7b1a3efd7b5db21ce79350f47f40a1165aa740417439313be",
            "file": "packages/core/src/lib/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": 63,
                    "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';\nexport const DEFAULT_LANGUAGE = 'en';\n\nexport class TranslateServiceMock {\n    onLangChangeSubject: 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    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[] = [DEFAULT_LANGUAGE];\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    addLangs(langs: string[]): void {\n        this.languages = [...this.languages, ...langs];\n    }\n\n    getBrowserLang(): string {\n        return DEFAULT_LANGUAGE;\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    instant(key: string | string[]): 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', standalone: false })\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    standalone: false,\n})\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport class TranslateMockDirective implements AfterViewChecked {\n    @Input()\n    translateParams: any;\n\n    private readonly _element = inject(ElementRef);\n\n    ngAfterViewChecked(): void {\n        this._element.nativeElement.innerText += TRANSLATED_STRING;\n    }\n}\n\n@NgModule({\n    declarations: [TranslateMockPipe, TranslateMockDirective],\n    exports: [TranslateMockPipe, TranslateMockDirective],\n    providers: [{ provide: TranslateService, useClass: TranslateServiceMock }],\n})\nexport class TranslateMockModule {}\n"
        }
    ],
    "interfaces": [
        {
            "name": "Action",
            "id": "interface-Action-cb7229e7d83879173786aeb852b1d608de28bcfd822fd57880dc8e0b82dd4a7b8563902aeae82784268e5051c57f74df87bda23c41bd550e41e9119cdb219584",
            "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ActionReducer<T, V extends Action = Action> {\n    (state: T | undefined, action: V): T;\n}\n\nexport type ActionReducerMap<T, V extends Action = Action> = {\n    [p in keyof T]: ActionReducer<T[p], V>;\n};\nexport interface Action<Type extends string = string> {\n    type: Type;\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable prefer-arrow/prefer-arrow-functions */\nexport type Selector<T, V> = (state: T) => V;\nexport type SelectorWithProps<State, Props, Result> = (\n    state: State,\n    props: Props\n) => Result;\n\nexport type AnyFn = (...args: any[]) => any;\n\nexport type MemoizedProjection = {\n    memoized: AnyFn;\n    reset: () => void;\n    setResult: (result?: any) => void;\n    clearResult: () => void;\n};\n\nexport type MemoizeFn = (t: AnyFn) => MemoizedProjection;\n\nexport type ComparatorFn = (a: any, b: any) => boolean;\n\nexport type DefaultProjectorFn<T> = (...args: any[]) => T;\n\nexport interface MemoizedSelector<\n    State,\n    Result,\n    ProjectorFn = DefaultProjectorFn<Result>\n> extends Selector<State, Result> {\n    release(): void;\n    projector: ProjectorFn;\n    setResult: (result?: Result) => void;\n    clearResult: () => void;\n}\n\n/**\n * @deprecated Selectors with props are deprecated, for more info see the {@link https://ngrx.io/guide/migration/v12#ngrxstore migration guide}\n */\nexport interface MemoizedSelectorWithProps<\n    State,\n    Props,\n    Result,\n    ProjectorFn = DefaultProjectorFn<Result>\n> extends SelectorWithProps<State, Props, Result> {\n    release(): void;\n    projector: ProjectorFn;\n    setResult: (result?: Result) => void;\n    clearResult: () => void;\n}\n\nexport function isEqualCheck(a: any, b: any): boolean {\n    return a === b;\n}\n\nfunction isArgumentsChanged(\n    args: IArguments,\n    lastArguments: IArguments,\n    comparator: ComparatorFn,\n) {\n    for (let i = 0; i < args.length; i++) {\n        if (!comparator(args[i], lastArguments[i])) {\n            return true;\n        }\n    }\n    return false;\n}\n\nexport function defaultMemoize(\n    projectionFn: AnyFn,\n    isArgumentsEqual = isEqualCheck,\n    isResultEqual = isEqualCheck,\n): MemoizedProjection {\n    let lastArguments: null | IArguments = null;\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any, , , , ,\n    let lastResult: any = null;\n    let overrideResult: any;\n\n    function reset() {\n        lastArguments = null;\n        lastResult = null;\n    }\n\n    function setResult(result: any = undefined) {\n        overrideResult = { result };\n    }\n\n    function clearResult() {\n        overrideResult = undefined;\n    }\n\n    /* eslint-disable prefer-rest-params, prefer-spread */\n\n    // disabled because of the use of `arguments`\n    function memoized(): any {\n        if (overrideResult !== undefined) {\n            return overrideResult.result;\n        }\n\n        if (!lastArguments) {\n            lastResult = projectionFn.apply(null, arguments as any);\n            lastArguments = arguments;\n            return lastResult;\n        }\n\n        if (!isArgumentsChanged(arguments, lastArguments, isArgumentsEqual)) {\n            return lastResult;\n        }\n\n        const newResult = projectionFn.apply(null, arguments as any);\n        lastArguments = arguments;\n\n        if (isResultEqual(lastResult, newResult)) {\n            return lastResult;\n        }\n\n        lastResult = newResult;\n\n        return newResult;\n    }\n\n    return { memoized, reset, setResult, clearResult };\n}\n\nexport function createSelector<State, S1, Result>(\n    s1: Selector<State, S1>,\n    projector: (s1: S1) => Result\n): MemoizedSelector<State, Result, typeof projector>;\n\nexport function createSelector<State, Slices extends unknown[], Result>(\n    selectors: Selector<State, unknown>[] &\n        [...{ [i in keyof Slices]: Selector<State, Slices[i]> }],\n    projector: (...s: Slices) => Result\n): MemoizedSelector<State, Result, (...s: Slices) => Result>;\n\nexport function createSelector(\n    ...input: any[]\n): MemoizedSelector<any, any> | MemoizedSelectorWithProps<any, any, any> {\n    return createSelectorFactory(defaultMemoize)(...input);\n}\n\nexport function defaultStateFn(\n    state: any,\n    selectors: Selector<any, any>[] | SelectorWithProps<any, any, any>[],\n    props: any,\n    memoizedProjector: MemoizedProjection,\n): any {\n    if (props === undefined) {\n        const args = (<Selector<any, any>[]>selectors).map((fn) => fn(state));\n        return memoizedProjector.memoized.apply(null, args);\n    }\n\n    const args = (<SelectorWithProps<any, any, any>[]>selectors).map((fn) =>\n        fn(state, props),\n    );\n    return memoizedProjector.memoized.apply(null, [...args, props]);\n}\n\nexport type SelectorFactoryConfig<T = any, V = any> = {\n    stateFn: (\n        state: T,\n        selectors: Selector<any, any>[],\n        props: any,\n        memoizedProjector: MemoizedProjection\n    ) => V;\n};\n\nexport function createSelectorFactory<T = any, V = any>(\n    memoize: MemoizeFn\n): (...input: any[]) => MemoizedSelector<T, V>;\n\n/**\n *\n * @param memoize The function used to memoize selectors\n * @param options Config Object that may include a `stateFn` function defining how to return the selector's value, given the entire `Store`'s state, parent `Selector`s, `Props`, and a `MemoizedProjection`\n *\n * @usageNotes\n *\n * **Creating a Selector Factory Where Array Order Does Not Matter**\n *\n * ```ts\n * function removeMatch(arr: string[], target: string): string[] {\n *   const matchIndex = arr.indexOf(target);\n *   return [...arr.slice(0, matchIndex), ...arr.slice(matchIndex + 1)];\n * }\n *\n * function orderDoesNotMatterComparer(a: any, b: any): boolean {\n *   if (!Array.isArray(a) || !Array.isArray(b)) {\n *     return a === b;\n *   }\n *   if (a.length !== b.length) {\n *     return false;\n *   }\n *   let tempB = [...b];\n *   function reduceToDetermineIfArraysContainSameContents(\n *     previousCallResult: boolean,\n *     arrayMember: any\n *   ): boolean {\n *     if (previousCallResult === false) {\n *       return false;\n *     }\n *     if (tempB.includes(arrayMember)) {\n *       tempB = removeMatch(tempB, arrayMember);\n *       return true;\n *     }\n *     return false;\n *   }\n *   return a.reduce(reduceToDetermineIfArraysContainSameContents, true);\n * }\n *\n * export const createOrderDoesNotMatterSelector = createSelectorFactory(\n *   (projectionFun) => defaultMemoize(\n *     projectionFun,\n *     orderDoesNotMatterComparer,\n *     orderDoesNotMatterComparer\n *   )\n * );\n * ```\n *\n * **Creating an Alternative Memoization Strategy**\n *\n * ```ts\n * function serialize(x: any): string {\n *   return JSON.stringify(x);\n * }\n *\n * export const createFullHistorySelector = createSelectorFactory(\n *  (projectionFunction) => {\n *    const cache = {};\n *\n *    function memoized() {\n *      const serializedArguments = serialize(...arguments);\n *       if (cache[serializedArguments] != null) {\n *         cache[serializedArguments] = projectionFunction.apply(null, arguments);\n *       }\n *       return cache[serializedArguments];\n *     }\n *     return {\n *       memoized,\n *       reset: () => {},\n *       setResult: () => {},\n *       clearResult: () => {},\n *     };\n *   }\n * );\n * ```\n */\nexport function createSelectorFactory(\n    memoize: MemoizeFn,\n    options: SelectorFactoryConfig<any, any> = {\n        stateFn: defaultStateFn,\n    },\n) {\n    return function (\n        ...input: any[]\n    ): MemoizedSelector<any, any> | MemoizedSelectorWithProps<any, any, any> {\n        let args = input;\n        if (Array.isArray(args[0])) {\n            const [head, ...tail] = args;\n            args = [...head, ...tail];\n        } else if (args.length === 1 && isSelectorsDictionary(args[0])) {\n            args = extractArgsFromSelectorsDictionary(args[0]);\n        }\n\n        const selectors = args.slice(0, args.length - 1);\n        const projector = args[args.length - 1];\n        const memoizedSelectors = selectors.filter(\n            (selector: any) =>\n                selector.release && typeof selector.release === 'function',\n        );\n\n        const memoizedProjector = memoize(function (...selectors: any[]) {\n            return projector.apply(null, selectors);\n        });\n\n        const memoizedState = defaultMemoize(function (state: any, props: any) {\n            return options.stateFn.apply(null, [\n                state,\n                selectors,\n                props,\n                memoizedProjector,\n            ]);\n        });\n\n        function release() {\n            memoizedState.reset();\n            memoizedProjector.reset();\n\n            memoizedSelectors.forEach((selector) => selector.release());\n        }\n\n        return Object.assign(memoizedState.memoized, {\n            release,\n            projector: memoizedProjector.memoized,\n            setResult: memoizedState.setResult,\n            clearResult: memoizedState.clearResult,\n        });\n    };\n}\n\nfunction isSelectorsDictionary(\n    selectors: unknown,\n): selectors is Record<string, Selector<unknown, unknown>> {\n    return (\n        !!selectors &&\n        typeof selectors === 'object' &&\n        Object.values(selectors).every((selector) => typeof selector === 'function')\n    );\n}\n\nfunction extractArgsFromSelectorsDictionary(\n    selectorsDictionary: Record<string, Selector<unknown, unknown>>,\n): [\n    ...selectors: Selector<unknown, unknown>[],\n    projector: (...selectorResults: unknown[]) => unknown\n] {\n    const selectors = Object.values(selectorsDictionary);\n    const resultKeys = Object.keys(selectorsDictionary);\n    const projector = (...selectorResults: unknown[]) =>\n        resultKeys.reduce(\n            (result, key, index) => ({\n                ...result,\n                [key]: selectorResults[index],\n            }),\n            {},\n        );\n\n    return [...selectors, projector];\n}\n",
            "properties": [
                {
                    "name": "type",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Type",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 13
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "ActionReducer",
            "id": "interface-ActionReducer-cb7229e7d83879173786aeb852b1d608de28bcfd822fd57880dc8e0b82dd4a7b8563902aeae82784268e5051c57f74df87bda23c41bd550e41e9119cdb219584",
            "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ActionReducer<T, V extends Action = Action> {\n    (state: T | undefined, action: V): T;\n}\n\nexport type ActionReducerMap<T, V extends Action = Action> = {\n    [p in keyof T]: ActionReducer<T[p], V>;\n};\nexport interface Action<Type extends string = string> {\n    type: Type;\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable prefer-arrow/prefer-arrow-functions */\nexport type Selector<T, V> = (state: T) => V;\nexport type SelectorWithProps<State, Props, Result> = (\n    state: State,\n    props: Props\n) => Result;\n\nexport type AnyFn = (...args: any[]) => any;\n\nexport type MemoizedProjection = {\n    memoized: AnyFn;\n    reset: () => void;\n    setResult: (result?: any) => void;\n    clearResult: () => void;\n};\n\nexport type MemoizeFn = (t: AnyFn) => MemoizedProjection;\n\nexport type ComparatorFn = (a: any, b: any) => boolean;\n\nexport type DefaultProjectorFn<T> = (...args: any[]) => T;\n\nexport interface MemoizedSelector<\n    State,\n    Result,\n    ProjectorFn = DefaultProjectorFn<Result>\n> extends Selector<State, Result> {\n    release(): void;\n    projector: ProjectorFn;\n    setResult: (result?: Result) => void;\n    clearResult: () => void;\n}\n\n/**\n * @deprecated Selectors with props are deprecated, for more info see the {@link https://ngrx.io/guide/migration/v12#ngrxstore migration guide}\n */\nexport interface MemoizedSelectorWithProps<\n    State,\n    Props,\n    Result,\n    ProjectorFn = DefaultProjectorFn<Result>\n> extends SelectorWithProps<State, Props, Result> {\n    release(): void;\n    projector: ProjectorFn;\n    setResult: (result?: Result) => void;\n    clearResult: () => void;\n}\n\nexport function isEqualCheck(a: any, b: any): boolean {\n    return a === b;\n}\n\nfunction isArgumentsChanged(\n    args: IArguments,\n    lastArguments: IArguments,\n    comparator: ComparatorFn,\n) {\n    for (let i = 0; i < args.length; i++) {\n        if (!comparator(args[i], lastArguments[i])) {\n            return true;\n        }\n    }\n    return false;\n}\n\nexport function defaultMemoize(\n    projectionFn: AnyFn,\n    isArgumentsEqual = isEqualCheck,\n    isResultEqual = isEqualCheck,\n): MemoizedProjection {\n    let lastArguments: null | IArguments = null;\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any, , , , ,\n    let lastResult: any = null;\n    let overrideResult: any;\n\n    function reset() {\n        lastArguments = null;\n        lastResult = null;\n    }\n\n    function setResult(result: any = undefined) {\n        overrideResult = { result };\n    }\n\n    function clearResult() {\n        overrideResult = undefined;\n    }\n\n    /* eslint-disable prefer-rest-params, prefer-spread */\n\n    // disabled because of the use of `arguments`\n    function memoized(): any {\n        if (overrideResult !== undefined) {\n            return overrideResult.result;\n        }\n\n        if (!lastArguments) {\n            lastResult = projectionFn.apply(null, arguments as any);\n            lastArguments = arguments;\n            return lastResult;\n        }\n\n        if (!isArgumentsChanged(arguments, lastArguments, isArgumentsEqual)) {\n            return lastResult;\n        }\n\n        const newResult = projectionFn.apply(null, arguments as any);\n        lastArguments = arguments;\n\n        if (isResultEqual(lastResult, newResult)) {\n            return lastResult;\n        }\n\n        lastResult = newResult;\n\n        return newResult;\n    }\n\n    return { memoized, reset, setResult, clearResult };\n}\n\nexport function createSelector<State, S1, Result>(\n    s1: Selector<State, S1>,\n    projector: (s1: S1) => Result\n): MemoizedSelector<State, Result, typeof projector>;\n\nexport function createSelector<State, Slices extends unknown[], Result>(\n    selectors: Selector<State, unknown>[] &\n        [...{ [i in keyof Slices]: Selector<State, Slices[i]> }],\n    projector: (...s: Slices) => Result\n): MemoizedSelector<State, Result, (...s: Slices) => Result>;\n\nexport function createSelector(\n    ...input: any[]\n): MemoizedSelector<any, any> | MemoizedSelectorWithProps<any, any, any> {\n    return createSelectorFactory(defaultMemoize)(...input);\n}\n\nexport function defaultStateFn(\n    state: any,\n    selectors: Selector<any, any>[] | SelectorWithProps<any, any, any>[],\n    props: any,\n    memoizedProjector: MemoizedProjection,\n): any {\n    if (props === undefined) {\n        const args = (<Selector<any, any>[]>selectors).map((fn) => fn(state));\n        return memoizedProjector.memoized.apply(null, args);\n    }\n\n    const args = (<SelectorWithProps<any, any, any>[]>selectors).map((fn) =>\n        fn(state, props),\n    );\n    return memoizedProjector.memoized.apply(null, [...args, props]);\n}\n\nexport type SelectorFactoryConfig<T = any, V = any> = {\n    stateFn: (\n        state: T,\n        selectors: Selector<any, any>[],\n        props: any,\n        memoizedProjector: MemoizedProjection\n    ) => V;\n};\n\nexport function createSelectorFactory<T = any, V = any>(\n    memoize: MemoizeFn\n): (...input: any[]) => MemoizedSelector<T, V>;\n\n/**\n *\n * @param memoize The function used to memoize selectors\n * @param options Config Object that may include a `stateFn` function defining how to return the selector's value, given the entire `Store`'s state, parent `Selector`s, `Props`, and a `MemoizedProjection`\n *\n * @usageNotes\n *\n * **Creating a Selector Factory Where Array Order Does Not Matter**\n *\n * ```ts\n * function removeMatch(arr: string[], target: string): string[] {\n *   const matchIndex = arr.indexOf(target);\n *   return [...arr.slice(0, matchIndex), ...arr.slice(matchIndex + 1)];\n * }\n *\n * function orderDoesNotMatterComparer(a: any, b: any): boolean {\n *   if (!Array.isArray(a) || !Array.isArray(b)) {\n *     return a === b;\n *   }\n *   if (a.length !== b.length) {\n *     return false;\n *   }\n *   let tempB = [...b];\n *   function reduceToDetermineIfArraysContainSameContents(\n *     previousCallResult: boolean,\n *     arrayMember: any\n *   ): boolean {\n *     if (previousCallResult === false) {\n *       return false;\n *     }\n *     if (tempB.includes(arrayMember)) {\n *       tempB = removeMatch(tempB, arrayMember);\n *       return true;\n *     }\n *     return false;\n *   }\n *   return a.reduce(reduceToDetermineIfArraysContainSameContents, true);\n * }\n *\n * export const createOrderDoesNotMatterSelector = createSelectorFactory(\n *   (projectionFun) => defaultMemoize(\n *     projectionFun,\n *     orderDoesNotMatterComparer,\n *     orderDoesNotMatterComparer\n *   )\n * );\n * ```\n *\n * **Creating an Alternative Memoization Strategy**\n *\n * ```ts\n * function serialize(x: any): string {\n *   return JSON.stringify(x);\n * }\n *\n * export const createFullHistorySelector = createSelectorFactory(\n *  (projectionFunction) => {\n *    const cache = {};\n *\n *    function memoized() {\n *      const serializedArguments = serialize(...arguments);\n *       if (cache[serializedArguments] != null) {\n *         cache[serializedArguments] = projectionFunction.apply(null, arguments);\n *       }\n *       return cache[serializedArguments];\n *     }\n *     return {\n *       memoized,\n *       reset: () => {},\n *       setResult: () => {},\n *       clearResult: () => {},\n *     };\n *   }\n * );\n * ```\n */\nexport function createSelectorFactory(\n    memoize: MemoizeFn,\n    options: SelectorFactoryConfig<any, any> = {\n        stateFn: defaultStateFn,\n    },\n) {\n    return function (\n        ...input: any[]\n    ): MemoizedSelector<any, any> | MemoizedSelectorWithProps<any, any, any> {\n        let args = input;\n        if (Array.isArray(args[0])) {\n            const [head, ...tail] = args;\n            args = [...head, ...tail];\n        } else if (args.length === 1 && isSelectorsDictionary(args[0])) {\n            args = extractArgsFromSelectorsDictionary(args[0]);\n        }\n\n        const selectors = args.slice(0, args.length - 1);\n        const projector = args[args.length - 1];\n        const memoizedSelectors = selectors.filter(\n            (selector: any) =>\n                selector.release && typeof selector.release === 'function',\n        );\n\n        const memoizedProjector = memoize(function (...selectors: any[]) {\n            return projector.apply(null, selectors);\n        });\n\n        const memoizedState = defaultMemoize(function (state: any, props: any) {\n            return options.stateFn.apply(null, [\n                state,\n                selectors,\n                props,\n                memoizedProjector,\n            ]);\n        });\n\n        function release() {\n            memoizedState.reset();\n            memoizedProjector.reset();\n\n            memoizedSelectors.forEach((selector) => selector.release());\n        }\n\n        return Object.assign(memoizedState.memoized, {\n            release,\n            projector: memoizedProjector.memoized,\n            setResult: memoizedState.setResult,\n            clearResult: memoizedState.clearResult,\n        });\n    };\n}\n\nfunction isSelectorsDictionary(\n    selectors: unknown,\n): selectors is Record<string, Selector<unknown, unknown>> {\n    return (\n        !!selectors &&\n        typeof selectors === 'object' &&\n        Object.values(selectors).every((selector) => typeof selector === 'function')\n    );\n}\n\nfunction extractArgsFromSelectorsDictionary(\n    selectorsDictionary: Record<string, Selector<unknown, unknown>>,\n): [\n    ...selectors: Selector<unknown, unknown>[],\n    projector: (...selectorResults: unknown[]) => unknown\n] {\n    const selectors = Object.values(selectorsDictionary);\n    const resultKeys = Object.keys(selectorsDictionary);\n    const projector = (...selectorResults: unknown[]) =>\n        resultKeys.reduce(\n            (result, key, index) => ({\n                ...result,\n                [key]: selectorResults[index],\n            }),\n            {},\n        );\n\n    return [...selectors, projector];\n}\n",
            "properties": [
                {
                    "id": "call-declaration-cb7229e7d83879173786aeb852b1d608de28bcfd822fd57880dc8e0b82dd4a7b8563902aeae82784268e5051c57f74df87bda23c41bd550e41e9119cdb219584",
                    "args": [
                        {
                            "name": "state",
                            "type": "T | undefined",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "action",
                            "type": "V",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "T",
                    "line": 5,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "indexSignatures": [],
            "kind": 180,
            "description": "<p>A function that takes an <code>Action</code> and a <code>State</code>, and returns a <code>State</code>.\nSee <code>createReducer</code>.</p>\n",
            "rawdescription": "\n\nA function that takes an `Action` and a `State`, and returns a `State`.\nSee `createReducer`.\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "body",
            "id": "interface-body-bae77523d3ee530142421ca60993222c56bd49a5d36da4cf4198c537ed455a5612e6d9ebcebef9c23a15a369ca676020be1733163ab63d001c125a9701e3002f",
            "file": "packages/core/src/lib/interceptors/eu-login-session-timeout-handling.interceptor.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Injectable } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse, HttpResponseBase } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\ninterface body {\n    success: boolean;\n    status: string;\n    code: number;\n    message: string;\n}\n\n// The EuLoginSessionTimeoutHandlingInterceptor assumes that the EU login client is configured with:\n// <redirectionInterceptor>eu.cec.digit.ecas.client.http.ajax.JsonAjaxRedirectionInterceptor</redirectionInterceptor>\n// WARNING: The default EU login client behaviour that provides the JSON-un-parsable login HTML page, is no longer supported!\n@Injectable()\nexport class EuLoginSessionTimeoutHandlingInterceptor implements HttpInterceptor {\n    intercept<T extends body>(request: HttpRequest<T>, next: HttpHandler): Observable<HttpEvent<T>> {\n        return next.handle(request).pipe(\n            tap({\n                next: (event) => {\n                    this.checkRequestSuccessForEULoginSessionTimeout(request, event);\n                    return event;\n                },\n                error: (error) => {\n                    this.checkRequestErrorForEULoginSessionTimeout(request, error);\n                },\n            }),\n        );\n    }\n\n    protected checkRequestSuccessForEULoginSessionTimeout<T extends body, E>(request: HttpRequest<T>, event: HttpEvent<E>): void {\n        if (event instanceof HttpResponse) {\n            if (this.isSsoResponse((<HttpResponse<string | body>>event).body)) {\n                this.reauthenticate();\n            }\n        }\n    }\n\n    protected checkRequestErrorForEULoginSessionTimeout<T = unknown>(request: HttpRequest<T>, response: HttpResponseBase): void {\n        /* intentionally blank; meant for overriding */\n    }\n\n    protected isSsoResponse(body: string | body): boolean {\n        if (body) {\n            if (typeof body !== 'string') {\n                return (\n                    body.success === false &&\n                    body.status === 'ECAS_AUTHENTICATION_REQUIRED' &&\n                    body.code === 303 &&\n                    body.message === 'session expired'\n                );\n            } else {\n                const html = body;\n                try {\n                    return (\n                        (html.indexOf('<meta name=\"Keywords\" content=\"EU Login, ECAS, Authentication, Security\" />') >= 0 &&\n                            html.indexOf('<meta name=\"Description\" content=\"EU Login\" />') >= 0) ||\n                        html.indexOf('<meta name=\"Description\" content=\"European Commission Authentication Service\" />') >= 0 ||\n                        html.indexOf('<title>Mock Login Form</title>') >= 0 ||\n                        html.indexOf('<title>Redirecting To ECAS</title>') >= 0 ||\n                        html === '{ success : false, status : \"ECAS_AUTHENTICATION_REQUIRED\", code : 303, message : \"session expired\" }' ||\n                        // eslint-disable-next-line max-len\n                        JSON.stringify(JSON.parse(html)) ===\n                            JSON.stringify({\n                                success: false,\n                                status: 'ECAS_AUTHENTICATION_REQUIRED',\n                                code: 303,\n                                message: 'session expired',\n                            })\n                    );\n                } catch (e) {\n                    return false;\n                }\n            }\n        } else {\n            return false;\n        }\n    }\n\n    protected reauthenticate(): void {\n        document.location.reload();\n    }\n}\n",
            "properties": [
                {
                    "name": "code",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 9
                },
                {
                    "name": "message",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10
                },
                {
                    "name": "status",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "success",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 7
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "CompoDocConfig",
            "id": "interface-CompoDocConfig-adc0097964f185f2079637fe50fb71cc9bfa4e1abd1a0de21565f9554688ae342f997cbff2cc1ffb32d52a0d45c76482a9d8c59ad2d031250418b7e4304a527c",
            "file": "packages/core/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": "ComponentInfo",
            "id": "interface-ComponentInfo-9c5e016857e1416ac7bbb881973e644c0f578a53bd432bb951c1676ac3f2a6631bfe3344860346a081b841217278723e0bb0bf2fa35fb869de67cb0cc8d99849",
            "file": "packages/core/schematics/add-eui-imports/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstElement, TmplAstNode, TmplAstTemplate } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\nimport { SELECTOR_MAP, SelectorEntry, getClassNamesForArray } from './selector-map';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n  useClassArray?: boolean;\n}\n\ninterface ImportToAdd {\n  /** The symbol to add to imports array (class name or array name for spread) */\n  symbol: string;\n  /** Whether this should be spread (...EUI_BUTTON) */\n  isSpread: boolean;\n  /** ES import path */\n  importPath: string;\n}\n\nexport function addEuiImports(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    const useClassArray = options.useClassArray ?? false;\n    let filesUpdated = 0;\n\n    // Index NgModules for standalone:false support\n    const ngModuleIndex = buildNgModuleIndex(tree, tree.getDir(scanPath || '/'));\n\n    visitDir(tree.getDir(scanPath || '/'), (path) => {\n      if (!path.endsWith('.ts') || path.endsWith('.spec.ts')) return;\n\n      const buffer = tree.read(path);\n      if (!buffer) return;\n      const source = buffer.toString('utf-8');\n\n      const sourceFile = ts.createSourceFile(path, source, ts.ScriptTarget.Latest, true);\n      const components = findComponentDecorators(sourceFile);\n      if (components.length === 0) return;\n\n      let modified = false;\n\n      for (const { decorator, className: componentClassName, isNonStandalone } of components) {\n        const templateHtml = getTemplateContent(tree, path, decorator, source);\n        if (!templateHtml) continue;\n\n        const matched = matchSelectorsInTemplate(templateHtml);\n        if (matched.length === 0) continue;\n\n        const importsToAdd = resolveImports(matched, useClassArray);\n        if (importsToAdd.length === 0) continue;\n\n        if (isNonStandalone) {\n          // Find the NgModule that declares this component and add imports there\n          const moduleInfo = findDeclaringModule(ngModuleIndex, componentClassName);\n          if (!moduleInfo) {\n            context.logger.warn(`⚠ Could not find declaring NgModule for ${componentClassName} in ${path}`);\n            continue;\n          }\n          const moduleBuffer = tree.read(moduleInfo.path);\n          if (!moduleBuffer) continue;\n          const moduleSource = moduleBuffer.toString('utf-8');\n          const result = addImportsToFile(moduleSource, moduleInfo.path, moduleInfo.decoratorPos, importsToAdd, useClassArray);\n          if (result !== moduleSource) {\n            if (options.dryRun) {\n              logDryRun(context, `Would add EUI imports to NgModule in ${moduleInfo.path} for component ${componentClassName}`);\n            } else {\n              tree.overwrite(moduleInfo.path, result);\n            }\n            modified = true;\n          }\n        } else {\n          // Standalone component — add imports directly\n          const currentSource = tree.read(path)!.toString('utf-8');\n          const result = addImportsToFile(currentSource, path, decorator.getStart(), importsToAdd, useClassArray);\n          if (result !== currentSource) {\n            if (options.dryRun) {\n              logDryRun(context, `Would add EUI imports to ${path}`);\n            } else {\n              tree.overwrite(path, result);\n            }\n            modified = true;\n          }\n        }\n      }\n\n      if (modified) filesUpdated++;\n    });\n\n    context.logger.info(`add-eui-imports: ${filesUpdated} file(s) updated.`);\n    if (options.dryRun) logDryRunNote(context);\n    return tree;\n  };\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n\n// --- Selector Matching ---\n\nfunction matchSelectorsInTemplate(html: string): SelectorEntry[] {\n  const parsed = parseTemplate(html, '', { preserveWhitespaces: true });\n  if (parsed.errors?.length) return [];\n\n  const matched: SelectorEntry[] = [];\n  visitTemplateNodes(parsed.nodes, matched);\n  return matched;\n}\n\nfunction visitTemplateNodes(nodes: TmplAstNode[], matched: SelectorEntry[]): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      matchElement(node, matched);\n      visitTemplateNodes(node.children, matched);\n    } else if (node instanceof TmplAstTemplate) {\n      visitTemplateNodes(node.children, matched);\n    }\n  }\n}\n\nfunction matchElement(element: TmplAstElement, matched: SelectorEntry[]): void {\n  const tagName = element.name;\n  const attrNames = new Set([\n    ...element.attributes.map(a => a.name),\n    ...element.inputs.map(i => i.name),\n  ]);\n\n  for (const entry of SELECTOR_MAP) {\n    if (entry.element && entry.element !== tagName) continue;\n    if (!entry.element && entry.attributes.length === 0) continue;\n    if (!entry.attributes.every(attr => attrNames.has(attr))) continue;\n    // If no element specified, at least one attribute must match on this element\n    if (!entry.element && entry.attributes.length > 0 && !entry.attributes.some(attr => attrNames.has(attr))) continue;\n    matched.push(entry);\n  }\n}\n\n// --- Import Resolution ---\n\nfunction resolveImports(matched: SelectorEntry[], useClassArray: boolean): ImportToAdd[] {\n  const seen = new Set<string>();\n  const result: ImportToAdd[] = [];\n\n  for (const entry of matched) {\n    if (useClassArray && entry.classArray) {\n      if (seen.has(entry.classArray)) continue;\n      seen.add(entry.classArray);\n      result.push({ symbol: entry.classArray, isSpread: true, importPath: entry.importPath });\n    } else {\n      if (seen.has(entry.className)) continue;\n      seen.add(entry.className);\n      result.push({ symbol: entry.className, isSpread: false, importPath: entry.importPath });\n    }\n  }\n\n  return result;\n}\n\n// --- Template Extraction ---\n\nfunction getTemplateContent(tree: Tree, tsPath: string, decorator: ts.Decorator, source: string): string | null {\n  const call = decorator.expression as ts.CallExpression;\n  if (!call.arguments[0] || !ts.isObjectLiteralExpression(call.arguments[0])) return null;\n  const metadata = call.arguments[0];\n\n  for (const prop of metadata.properties) {\n    if (!ts.isPropertyAssignment(prop) || !ts.isIdentifier(prop.name)) continue;\n    if (prop.name.text === 'template') {\n      const init = prop.initializer;\n      if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) {\n        return init.text;\n      }\n    }\n    if (prop.name.text === 'templateUrl') {\n      if (ts.isStringLiteral(prop.initializer)) {\n        const dir = tsPath.substring(0, tsPath.lastIndexOf('/'));\n        const templateBuffer = tree.read(`${dir}/${prop.initializer.text}`);\n        if (templateBuffer) return templateBuffer.toString('utf-8');\n      }\n    }\n  }\n  return null;\n}\n\n// --- Component Decorator Detection ---\n\ninterface ComponentInfo {\n  decorator: ts.Decorator;\n  className: string;\n  isNonStandalone: boolean;\n}\n\nfunction findComponentDecorators(sourceFile: ts.SourceFile): ComponentInfo[] {\n  const results: ComponentInfo[] = [];\n  const visit = (node: ts.Node): void => {\n    if (ts.isClassDeclaration(node) && node.name) {\n      const decs = ts.getDecorators(node);\n      if (decs) {\n        for (const dec of decs) {\n          if (ts.isCallExpression(dec.expression) && ts.isIdentifier(dec.expression.expression) && dec.expression.expression.text === 'Component') {\n            const isNonStandalone = hasStandaloneFalse(dec);\n            results.push({ decorator: dec, className: node.name.text, isNonStandalone });\n          }\n        }\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n  visit(sourceFile);\n  return results;\n}\n\nfunction hasStandaloneFalse(decorator: ts.Decorator): boolean {\n  const call = decorator.expression as ts.CallExpression;\n  if (!call.arguments[0] || !ts.isObjectLiteralExpression(call.arguments[0])) return false;\n  for (const prop of call.arguments[0].properties) {\n    if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name) && prop.name.text === 'standalone') {\n      return prop.initializer.kind === ts.SyntaxKind.FalseKeyword;\n    }\n  }\n  return false;\n}\n\n// --- NgModule Index ---\n\ninterface NgModuleInfo {\n  path: string;\n  declarations: string[];\n  decoratorPos: number;\n}\n\nfunction buildNgModuleIndex(tree: Tree, dir: DirEntry): NgModuleInfo[] {\n  const modules: NgModuleInfo[] = [];\n\n  visitDir(dir, (path) => {\n    if (!path.endsWith('.ts') || path.endsWith('.spec.ts')) return;\n\n    const buffer = tree.read(path);\n    if (!buffer) return;\n    const source = buffer.toString('utf-8');\n    if (!source.includes('NgModule')) return;\n\n    const sf = ts.createSourceFile(path, source, ts.ScriptTarget.Latest, true);\n    const visit = (node: ts.Node): void => {\n      if (ts.isClassDeclaration(node)) {\n        const decs = ts.getDecorators(node);\n        if (decs) {\n          for (const dec of decs) {\n            if (ts.isCallExpression(dec.expression) && ts.isIdentifier(dec.expression.expression) && dec.expression.expression.text === 'NgModule') {\n              const declarations = extractArrayProperty(dec, 'declarations', source);\n              modules.push({ path, declarations, decoratorPos: dec.getStart() });\n            }\n          }\n        }\n      }\n      ts.forEachChild(node, visit);\n    };\n    visit(sf);\n  });\n\n  return modules;\n}\n\nfunction extractArrayProperty(decorator: ts.Decorator, propName: string, source: string): string[] {\n  const call = decorator.expression as ts.CallExpression;\n  if (!call.arguments[0] || !ts.isObjectLiteralExpression(call.arguments[0])) return [];\n  for (const prop of call.arguments[0].properties) {\n    if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name) && prop.name.text === propName) {\n      if (ts.isArrayLiteralExpression(prop.initializer)) {\n        return prop.initializer.elements\n          .filter(ts.isIdentifier)\n          .map(id => id.text);\n      }\n    }\n  }\n  return [];\n}\n\nfunction findDeclaringModule(modules: NgModuleInfo[], componentClassName: string): NgModuleInfo | undefined {\n  return modules.find(m => m.declarations.includes(componentClassName));\n}\n\n// --- Import Addition ---\n\nfunction addImportsToFile(source: string, filePath: string, decoratorStartHint: number, imports: ImportToAdd[], useClassArray: boolean): string {\n  const sf = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true);\n\n  // Find the imports array in the decorator closest to decoratorStartHint\n  const importsArrayInfo = findDecoratorImportsArray(sf, source, decoratorStartHint);\n  if (!importsArrayInfo) return source;\n\n  const { arrayNode, decoratorType } = importsArrayInfo;\n\n  // Determine what's already in the imports array\n  const existingSymbols = new Set<string>();\n  const existingSpreads = new Set<string>();\n  for (const el of arrayNode.elements) {\n    if (ts.isSpreadElement(el) && ts.isIdentifier(el.expression)) {\n      existingSpreads.add(el.expression.text);\n    } else if (ts.isIdentifier(el)) {\n      existingSymbols.add(el.text);\n    }\n  }\n\n  // Filter out already-present imports and compute what to add/remove\n  const toAdd: ImportToAdd[] = [];\n  const toRemoveFromArray: string[] = []; // individual class names to consolidate\n\n  for (const imp of imports) {\n    if (imp.isSpread) {\n      if (existingSpreads.has(imp.symbol)) continue; // Already has ...EUI_X\n      toAdd.push(imp);\n      // Consolidate: remove individual class names covered by this array\n      if (useClassArray) {\n        const coveredClasses = getClassNamesForArray(imp.symbol);\n        for (const cls of coveredClasses) {\n          if (existingSymbols.has(cls)) toRemoveFromArray.push(cls);\n        }\n      }\n    } else {\n      if (existingSymbols.has(imp.symbol)) continue;\n      // Also skip if a spread already covers this class\n      const coveringArray = imports.find(i => i.isSpread && getClassNamesForArray(i.symbol).includes(imp.symbol));\n      if (coveringArray && (existingSpreads.has(coveringArray.symbol) || toAdd.some(a => a.symbol === coveringArray.symbol))) continue;\n      toAdd.push(imp);\n    }\n  }\n\n  if (toAdd.length === 0 && toRemoveFromArray.length === 0) return source;\n\n  // Build new array content\n  let result = source;\n  result = updateDecoratorImportsArray(result, filePath, arrayNode, toAdd, toRemoveFromArray);\n\n  // Add ES imports\n  result = addEsImports(result, filePath, toAdd);\n\n  // Remove consolidated class names from ES imports\n  if (toRemoveFromArray.length > 0) {\n    result = removeFromEsImports(result, filePath, toRemoveFromArray);\n  }\n\n  return result;\n}\n\ninterface ImportsArrayInfo {\n  arrayNode: ts.ArrayLiteralExpression;\n  decoratorType: 'Component' | 'NgModule';\n}\n\nfunction findDecoratorImportsArray(sf: ts.SourceFile, source: string, decoratorStartHint: number): ImportsArrayInfo | null {\n  let found: ImportsArrayInfo | null = null;\n\n  const visit = (node: ts.Node): void => {\n    if (found) return;\n    if (ts.isClassDeclaration(node)) {\n      const decs = ts.getDecorators(node);\n      if (!decs) return;\n      for (const dec of decs) {\n        if (!ts.isCallExpression(dec.expression)) continue;\n        if (!ts.isIdentifier(dec.expression.expression)) continue;\n        const decName = dec.expression.expression.text;\n        if (decName !== 'Component' && decName !== 'NgModule') continue;\n        if (Math.abs(dec.getStart() - decoratorStartHint) > 5) continue; // Match by position\n\n        const metadata = dec.expression.arguments[0];\n        if (!ts.isObjectLiteralExpression(metadata)) continue;\n\n        for (const prop of metadata.properties) {\n          if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name) && prop.name.text === 'imports') {\n            if (ts.isArrayLiteralExpression(prop.initializer)) {\n              found = { arrayNode: prop.initializer, decoratorType: decName as 'Component' | 'NgModule' };\n              return;\n            }\n          }\n        }\n\n        // No imports array found — create one\n        if (!found && decName === 'Component') {\n          // We need to add `imports: []` to the decorator\n          // Insert after the last property\n          const lastProp = metadata.properties[metadata.properties.length - 1];\n          if (lastProp) {\n            const insertPos = lastProp.getEnd();\n            const indent = detectIndent(source, metadata.getStart());\n            const insertion = `,\\n${indent}  imports: []`;\n            const newSource = source.slice(0, insertPos) + insertion + source.slice(insertPos);\n            // Re-parse to get the array node\n            const newSf = ts.createSourceFile('', newSource, ts.ScriptTarget.Latest, true);\n            const newArray = findImportsArrayInSource(newSf);\n            if (newArray) {\n              // We can't return a node from a different source file in the general case.\n              // Instead, we'll handle the \"no imports array\" case by adding it inline.\n              found = null; // Will be handled separately\n            }\n          }\n        }\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n  visit(sf);\n  return found;\n}\n\nfunction findImportsArrayInSource(sf: ts.SourceFile): ts.ArrayLiteralExpression | null {\n  let found: ts.ArrayLiteralExpression | null = null;\n  const visit = (node: ts.Node): void => {\n    if (found) return;\n    if (ts.isPropertyAssignment(node) && ts.isIdentifier(node.name) && node.name.text === 'imports' && ts.isArrayLiteralExpression(node.initializer)) {\n      found = node.initializer;\n    }\n    ts.forEachChild(node, visit);\n  };\n  visit(sf);\n  return found;\n}\n\nfunction updateDecoratorImportsArray(source: string, filePath: string, arrayNode: ts.ArrayLiteralExpression, toAdd: ImportToAdd[], toRemove: string[]): string {\n  const sf = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true);\n\n  // Rebuild the array content\n  const existingElements: string[] = [];\n  for (const el of arrayNode.elements) {\n    const text = source.slice(el.getStart(sf), el.getEnd()).trim();\n    // Check if this element should be removed (consolidation)\n    if (ts.isIdentifier(el) && toRemove.includes(el.text)) continue;\n    existingElements.push(text);\n  }\n\n  // Add new entries\n  for (const imp of toAdd) {\n    const entry = imp.isSpread ? `...${imp.symbol}` : imp.symbol;\n    if (!existingElements.includes(entry)) {\n      existingElements.push(entry);\n    }\n  }\n\n  // Determine formatting\n  const arrayStart = arrayNode.getStart(sf);\n  const arrayEnd = arrayNode.getEnd();\n  const originalText = source.slice(arrayStart, arrayEnd);\n  const isMultiline = originalText.includes('\\n');\n\n  let newArrayText: string;\n  if (isMultiline || existingElements.length > 3) {\n    const indent = detectIndent(source, arrayStart);\n    const itemIndent = indent + '  ';\n    newArrayText = `[\\n${existingElements.map(e => `${itemIndent}${e},`).join('\\n')}\\n${indent}]`;\n  } else {\n    newArrayText = `[${existingElements.join(', ')}]`;\n  }\n\n  return source.slice(0, arrayStart) + newArrayText + source.slice(arrayEnd);\n}\n\nfunction addEsImports(source: string, filePath: string, imports: ImportToAdd[]): string {\n  let result = source;\n\n  // Group by import path\n  const byPath = new Map<string, string[]>();\n  for (const imp of imports) {\n    const existing = byPath.get(imp.importPath) || [];\n    existing.push(imp.symbol);\n    byPath.set(imp.importPath, existing);\n  }\n\n  for (const [importPath, symbols] of byPath) {\n    const sf = ts.createSourceFile(filePath, result, ts.ScriptTarget.Latest, true);\n\n    // Check if there's already an import from this path\n    const existingImport = sf.statements.find(\n      (s): s is ts.ImportDeclaration =>\n        ts.isImportDeclaration(s) && ts.isStringLiteral(s.moduleSpecifier) && s.moduleSpecifier.text === importPath,\n    );\n\n    if (existingImport?.importClause?.namedBindings && ts.isNamedImports(existingImport.importClause.namedBindings)) {\n      // Extend existing import\n      const namedBindings = existingImport.importClause.namedBindings;\n      const existingNames = namedBindings.elements.map(el => el.name.text);\n      const newNames = symbols.filter(s => !existingNames.includes(s));\n      if (newNames.length === 0) continue;\n\n      const allNames = [...existingNames, ...newNames].sort();\n      const newClause = `{ ${allNames.join(', ')} }`;\n      result = result.slice(0, namedBindings.getStart(sf)) + newClause + result.slice(namedBindings.getEnd());\n    } else {\n      // Add new import statement\n      const sortedSymbols = [...symbols].sort();\n      const newImport = `import { ${sortedSymbols.join(', ')} } from '${importPath}';\\n`;\n\n      // Insert after the last existing import\n      const lastImport = [...sf.statements].reverse().find(ts.isImportDeclaration);\n      if (lastImport) {\n        const pos = lastImport.getEnd();\n        result = result.slice(0, pos) + '\\n' + newImport.trimEnd() + result.slice(pos);\n      } else {\n        result = newImport + result;\n      }\n    }\n  }\n\n  return result;\n}\n\nfunction detectIndent(source: string, pos: number): string {\n  const lineStart = source.lastIndexOf('\\n', pos - 1) + 1;\n  const match = source.slice(lineStart, pos).match(/^(\\s*)/);\n  return match ? match[1] : '';\n}\n\nfunction removeFromEsImports(source: string, filePath: string, symbolsToRemove: string[]): string {\n  let result = source;\n  const sf = ts.createSourceFile(filePath, result, ts.ScriptTarget.Latest, true);\n\n  for (const stmt of sf.statements) {\n    if (!ts.isImportDeclaration(stmt) || !stmt.importClause?.namedBindings || !ts.isNamedImports(stmt.importClause.namedBindings)) continue;\n    const namedBindings = stmt.importClause.namedBindings;\n    const existingNames = namedBindings.elements.map(el => el.name.text);\n    const remaining = existingNames.filter(n => !symbolsToRemove.includes(n));\n\n    if (remaining.length === existingNames.length) continue; // Nothing to remove from this import\n\n    if (remaining.length === 0) {\n      // Remove the entire import statement\n      result = result.slice(0, stmt.getStart(sf)) + result.slice(stmt.getEnd()).replace(/^\\r?\\n/, '');\n    } else {\n      const newClause = `{ ${remaining.join(', ')} }`;\n      result = result.slice(0, namedBindings.getStart(sf)) + newClause + result.slice(namedBindings.getEnd());\n    }\n    break; // Only process the first matching import for the consolidated symbols\n  }\n\n  return result;\n}\n",
            "properties": [
                {
                    "name": "className",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 199
                },
                {
                    "name": "decorator",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ts.Decorator",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 198
                },
                {
                    "name": "isNonStandalone",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 200
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "Dependency",
            "id": "interface-Dependency-ab7cfc0aae7b6e23ef05981e22f2238b3acbcfbad724f99dad2ec4ed4b9bfb65d1ff5a5d91c16067d467e495e213d0de298aa017e6a5339f541c6351d89729e3",
            "file": "packages/core/src/lib/services/loader/eui-loader.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export enum Status {\n    LOADING = 'loading',\n    LOADED = 'loaded',\n    ERROR = 'error',\n}\n\n/**\n * A library is a set of script and style dependencies\n * that can be loaded dynamically\n * @interface Library\n * @property {string} name - global variable object name that the script will give to the library\n * @property {Dependency[]} dependencies - a set of script and style dependencies\n * @property {Status} status - the status of the library e.g. LOADED\n * @example\n *\n * const library: Library = {\n *    name: 'Quill',\n *    dependencies: [\n *    {\n *      name: 'quill',\n *      url: 'https://cdn.quilljs.com/1.3.6/quill.js',\n *      type: 'js',\n *      requires: [],\n *      loaded: false,\n *      error: false,\n *    },\n *    {\n *      name: 'quill',\n *      url: 'https://cdn.quilljs.com/1.3.6/quill.snow.css',\n *      type: 'css',\n *      requires: [],\n *      loaded: false,\n *      error: false,\n *     },\n *     ],\n *     status: Status.LOADING,\n * };\n */\nexport interface Library {\n    /** global variable object name that the script will give to the library */\n    name: string;\n    /** a set of script and style dependencies */\n    dependencies: Dependency[];\n    /** the status of the library e.g. LOADED */\n    status: Status;\n}\n\n/**\n * A dependency is a script or style that can be loaded dynamically\n */\nexport interface Dependency {\n    /** an identifier for the dependency */\n    name: string;\n    /**\n     * the url of the dependency\n     * @example\n     * https://cdn.quilljs.com/1.3.6/quill.js\n     */\n    url: string;\n    /** the type of the dependency. Is it a style or script? */\n    type: 'js' | 'css';\n    /**\n     * an array of dependencies corresponds to the Dependency.name\n     * that must be loaded before this dependency\n     * @example\n     * ['quill-better-table']\n     * where 'quill-better-table' is the name of the dependency\n     * const betterTable: Dependency = {\n     *   name: 'quill-better-table',\n     *   url: 'https://cdn.quilljs.com/1.3.6/quill.js',\n     *   type: 'js',\n     *   requires: ['quill-better-table'],\n     * }\n     */\n    requires: string[];\n    /** the status of the dependency */\n    status?: Status;\n    /** the number of times the dependency has been loaded */\n    retries?: number;\n}\n\n/**\n * Configuration for different policies\n */\nexport interface Policy {\n    /** Maximum number of retry attempts */\n    maxAttempts: number;\n    /** Time between retries in milliseconds */\n    retryInterval: number;\n    /** Time in milliseconds before considering a load attempt as failed */\n    timeout: number;\n}\n",
            "properties": [
                {
                    "name": "name",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>an identifier for the dependency</p>\n",
                    "line": 60,
                    "rawdescription": "\nan identifier for the dependency"
                },
                {
                    "name": "requires",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>an array of dependencies corresponds to the Dependency.name\nthat must be loaded before this dependency</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">[&#39;quill-better-table&#39;]\nwhere &#39;quill-better-table&#39; is the name of the dependency\nconst betterTable: Dependency = {\n  name: &#39;quill-better-table&#39;,\n  url: &#39;https://cdn.quilljs.com/1.3.6/quill.js&#39;,\n  type: &#39;js&#39;,\n  requires: [&#39;quill-better-table&#39;],\n}</code></pre></div>",
                    "line": 82,
                    "rawdescription": "\n\nan array of dependencies corresponds to the Dependency.name\nthat must be loaded before this dependency\n```html\n['quill-better-table']\nwhere 'quill-better-table' is the name of the dependency\nconst betterTable: Dependency = {\n  name: 'quill-better-table',\n  url: 'https://cdn.quilljs.com/1.3.6/quill.js',\n  type: 'js',\n  requires: ['quill-better-table'],\n}\n```",
                    "jsdoctags": [
                        {
                            "pos": 1979,
                            "end": 2294,
                            "kind": 328,
                            "id": 0,
                            "flags": 16777216,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1980,
                                "end": 1987,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "example"
                            },
                            "comment": "<p>[&#39;quill-better-table&#39;]\nwhere &#39;quill-better-table&#39; is the name of the dependency\nconst betterTable: Dependency = {\n  name: &#39;quill-better-table&#39;,\n  url: &#39;<a href=\"https://cdn.quilljs.com/1.3.6/quill.js\">https://cdn.quilljs.com/1.3.6/quill.js</a>&#39;,\n  type: &#39;js&#39;,\n  requires: [&#39;quill-better-table&#39;],\n}</p>\n"
                        }
                    ]
                },
                {
                    "name": "retries",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>the number of times the dependency has been loaded</p>\n",
                    "line": 86,
                    "rawdescription": "\nthe number of times the dependency has been loaded"
                },
                {
                    "name": "status",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Status",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>the status of the dependency</p>\n",
                    "line": 84,
                    "rawdescription": "\nthe status of the dependency"
                },
                {
                    "name": "type",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"js\" | \"css\"",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>the type of the dependency. Is it a style or script?</p>\n",
                    "line": 68,
                    "rawdescription": "\nthe type of the dependency. Is it a style or script?"
                },
                {
                    "name": "url",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>the url of the dependency</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">https://cdn.quilljs.com/1.3.6/quill.js</code></pre></div>",
                    "line": 66,
                    "rawdescription": "\n\nthe url of the dependency\n```html\nhttps://cdn.quilljs.com/1.3.6/quill.js\n```",
                    "jsdoctags": [
                        {
                            "pos": 1679,
                            "end": 1739,
                            "kind": 328,
                            "id": 0,
                            "flags": 16777216,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1680,
                                "end": 1687,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "example"
                            },
                            "comment": "<p><a href=\"https://cdn.quilljs.com/1.3.6/quill.js\">https://cdn.quilljs.com/1.3.6/quill.js</a></p>\n"
                        }
                    ]
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>A dependency is a script or style that can be loaded dynamically</p>\n",
            "rawdescription": "\n\nA dependency is a script or style that can be loaded dynamically\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "Edit",
            "id": "interface-Edit-311bef7d5e4b40b356b0fdb5e35dd89e48a5c5beec29eeb865c22c2ca1c4c4fb1fd0bb4391ed0b33825a6d1d744bc3a2e9822b347fbc686a537e15b170c279dd",
            "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstBoundAttribute, TmplAstBoundEvent, TmplAstElement, TmplAstNode, TmplAstTextAttribute } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\nconst CHIP_LIST_TAG = 'eui-chip-list';\nconst CHIP_LIST_ATTR = 'euiChipList';\nconst CHIP_TAG = 'eui-chip';\nconst CHIP_ATTR = 'euiChip';\n\nconst PROPAGATED_INPUTS = new Set([\n  'euiPrimary', 'euiSecondary', 'euiSuccess', 'euiInfo', 'euiWarning',\n  'euiDanger', 'euiAccent', 'euiVariant', 'euiSizeS', 'euiSizeVariant',\n  'euiOutline', 'euiDisabled',\n]);\n\nconst WARN_PROPERTIES = new Set([...PROPAGATED_INPUTS, 'chipRemove', 'isChipsRemovable', 'chipsLabelTruncateCount',\n  'maxVisibleChipsCount', 'isMaxVisibleChipsOpened', 'toggleLinkMoreLabel', 'toggleLinkLessLabel',\n  'isChipsSorted', 'chipsSortOrder']);\n\nconst REMOVED_INPUTS = new Set(['maxVisibleChipsCount', 'isMaxVisibleChipsOpened', 'toggleLinkMoreLabel', 'toggleLinkLessLabel', 'isChipsSorted', 'chipsSortOrder']);\n\nconst TRUNCATE_PIPE_IMPORT = 'EuiTruncatePipe';\nconst TRUNCATE_PIPE_PATH = '@eui/components/pipes';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\ninterface Edit {\n  start: number;\n  end: number;\n  replacement: string;\n}\n\nexport function migrateEuiChipList(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    let count = 0;\n    const filesNeedingTruncateImport = new Set<string>();\n\n    visitDir(tree.getDir(scanPath || '/'), (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) return;\n\n      const original = buffer.toString('utf-8');\n      if (!original.includes(CHIP_LIST_TAG) && !original.includes(CHIP_LIST_ATTR)) return;\n\n      let result: string;\n      let addedTruncate = false;\n\n      if (path.endsWith('.html')) {\n        result = migrateTemplate(original);\n        if (result !== original && result.includes('euiTruncate') && !original.includes('euiTruncate')) {\n          // Find the associated .ts file\n          const tsPath = path.replace(/\\.html$/, '.ts');\n          if (tree.exists(tsPath)) {\n            filesNeedingTruncateImport.add(tsPath);\n          } else {\n            // Try component naming convention\n            const componentTsPath = path.replace(/\\.html$/, '.component.ts');\n            if (tree.exists(componentTsPath)) {\n              filesNeedingTruncateImport.add(componentTsPath);\n            }\n          }\n        }\n      } else {\n        result = migrateInlineTemplates(original);\n        if (result !== original && result.includes('euiTruncate') && !original.includes('euiTruncate')) {\n          addedTruncate = true;\n        }\n      }\n\n      if (result !== original) {\n        if (options.dryRun) {\n          logDryRun(context, `Would move variant/size/outline inputs to child eui-chip in ${path}`);\n        } else {\n          tree.overwrite(path, result);\n        }\n        count++;\n      }\n\n      if (addedTruncate) {\n        filesNeedingTruncateImport.add(path);\n      }\n\n      // Warn about TS usages of removed properties\n      if (path.endsWith('.ts') && !path.endsWith('.spec.ts')) {\n        if ([...WARN_PROPERTIES].some((p) => original.includes(p))) {\n          const sourceFile = ts.createSourceFile(path, original, ts.ScriptTarget.Latest, true);\n\n          const visit = (node: ts.Node): void => {\n            if (ts.isPropertyAccessExpression(node) && ts.isIdentifier(node.name) && WARN_PROPERTIES.has(node.name.text)) {\n              const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());\n              context.logger.warn(\n                `${path}:${line + 1} - \"${node.name.text}\" has been removed from eui-chip-list. Move it to individual eui-chip elements.`,\n              );\n            }\n            ts.forEachChild(node, visit);\n          };\n\n          visit(sourceFile);\n        }\n      }\n    });\n\n    // Add EuiTruncatePipe import to component files that need it\n    for (const tsPath of filesNeedingTruncateImport) {\n      const buffer = tree.read(tsPath);\n      if (!buffer) continue;\n      const source = buffer.toString('utf-8');\n      if (source.includes(TRUNCATE_PIPE_IMPORT)) continue;\n      const result = addTruncatePipeImport(source, tsPath);\n      if (result !== source) {\n        if (!options.dryRun) {\n          tree.overwrite(tsPath, result);\n        }\n      }\n    }\n\n    context.logger.info(`Migrated eui-chip-list inputs/outputs to child eui-chip in ${count} file(s).`);\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n    return tree;\n  };\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n\nfunction addTruncatePipeImport(source: string, filePath: string): string {\n  const sourceFile = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true);\n  const edits: Edit[] = [];\n\n  // 1. Add ES import statement for EuiTruncatePipe\n  let hasEsImport = false;\n  let lastImportEnd = 0;\n\n  for (const stmt of sourceFile.statements) {\n    if (ts.isImportDeclaration(stmt)) {\n      lastImportEnd = stmt.getEnd();\n      const moduleSpec = (stmt.moduleSpecifier as ts.StringLiteral).text;\n      if (moduleSpec === TRUNCATE_PIPE_PATH) {\n        const namedBindings = stmt.importClause?.namedBindings;\n        if (namedBindings && ts.isNamedImports(namedBindings)) {\n          if (namedBindings.elements.some((el) => el.name.text === TRUNCATE_PIPE_IMPORT)) {\n            hasEsImport = true;\n          } else {\n            // Add to existing import from same path\n            const lastEl = namedBindings.elements[namedBindings.elements.length - 1];\n            edits.push({ start: lastEl.getEnd(), end: lastEl.getEnd(), replacement: `, ${TRUNCATE_PIPE_IMPORT}` });\n            hasEsImport = true;\n          }\n        }\n      }\n    }\n  }\n\n  if (!hasEsImport) {\n    const importStatement = `\\nimport { ${TRUNCATE_PIPE_IMPORT} } from '${TRUNCATE_PIPE_PATH}';`;\n    edits.push({ start: lastImportEnd, end: lastImportEnd, replacement: importStatement });\n  }\n\n  // 2. Add EuiTruncatePipe to @Component imports array\n  const visit = (node: ts.Node): void => {\n    if (ts.isClassDeclaration(node)) {\n      const decs = ts.getDecorators(node);\n      if (!decs) return;\n      for (const dec of decs) {\n        if (!ts.isCallExpression(dec.expression) || !ts.isIdentifier(dec.expression.expression) || dec.expression.expression.text !== 'Component') continue;\n        const metadata = dec.expression.arguments[0];\n        if (!ts.isObjectLiteralExpression(metadata)) continue;\n        for (const prop of metadata.properties) {\n          if (!ts.isPropertyAssignment(prop) || !ts.isIdentifier(prop.name) || prop.name.text !== 'imports') continue;\n          if (!ts.isArrayLiteralExpression(prop.initializer)) continue;\n          const arr = prop.initializer;\n          const arrText = source.slice(arr.getStart(sourceFile), arr.getEnd());\n          if (arrText.includes(TRUNCATE_PIPE_IMPORT)) continue;\n          if (arr.elements.length > 0) {\n            const lastElement = arr.elements[arr.elements.length - 1];\n            edits.push({ start: lastElement.getEnd(), end: lastElement.getEnd(), replacement: `,\\n    ${TRUNCATE_PIPE_IMPORT}` });\n          } else {\n            edits.push({ start: arr.getStart(sourceFile) + 1, end: arr.getEnd() - 1, replacement: TRUNCATE_PIPE_IMPORT });\n          }\n        }\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n  visit(sourceFile);\n\n  return applyEdits(source, edits);\n}\n\nfunction migrateTemplate(source: string): string {\n  const parsed = parseTemplate(source, '', { preserveWhitespaces: true });\n  const edits: Edit[] = [];\n\n  visitNodes(parsed.nodes, source, edits);\n\n  return applyEdits(source, edits);\n}\n\nfunction migrateInlineTemplates(source: string): string {\n  const sourceFile = ts.createSourceFile('', source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const changes: Edit[] = [];\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAssignment(node) && isTemplateProperty(node) && isComponentMetadataProperty(node)) {\n      const init = unwrapExpression(node.initializer);\n      if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) {\n        const start = init.getStart(sourceFile) + 1;\n        const end = init.getEnd() - 1;\n        const rawTemplate = source.slice(start, end);\n        if (!rawTemplate.includes(CHIP_LIST_TAG) && !rawTemplate.includes(CHIP_LIST_ATTR)) {\n          ts.forEachChild(node, visit);\n          return;\n        }\n        const migrated = migrateTemplate(rawTemplate);\n        if (migrated !== rawTemplate) changes.push({ start, end, replacement: migrated });\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n\n  return applyEdits(source, changes);\n}\n\nfunction visitNodes(nodes: TmplAstNode[], source: string, edits: Edit[]): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      if (isChipListElement(node)) {\n        migrateChipListElement(node, source, edits);\n      }\n      visitNodes(node.children, source, edits);\n    }\n  }\n}\n\nfunction isChipListElement(element: TmplAstElement): boolean {\n  if (element.name === CHIP_LIST_TAG) return true;\n  return element.attributes.some((a) => a.name === CHIP_LIST_ATTR);\n}\n\nfunction isChipElement(element: TmplAstElement): boolean {\n  if (element.name === CHIP_TAG) return true;\n  return element.attributes.some((a) => a.name === CHIP_ATTR);\n}\n\nfunction findChildChips(nodes: TmplAstNode[]): TmplAstElement[] {\n  const chips: TmplAstElement[] = [];\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      if (isChipElement(node)) {\n        chips.push(node);\n      } else {\n        chips.push(...findChildChips(node.children));\n      }\n    }\n  }\n  return chips;\n}\n\nfunction migrateChipListElement(element: TmplAstElement, source: string, edits: Edit[]): void {\n  const childChips = findChildChips(element.children);\n  const insertions: string[] = [];\n  let truncateValue: string | null = null;\n\n  // Collect and remove propagated static attributes\n  for (const attr of element.attributes) {\n    if (PROPAGATED_INPUTS.has(attr.name)) {\n      edits.push(removalEdit(attr, source));\n      insertions.push(attr.value ? `${attr.name}=\"${attr.value}\"` : attr.name);\n    }\n    if (attr.name === 'isChipsRemovable') {\n      edits.push(removalEdit(attr, source));\n      insertions.push('isChipRemovable');\n    }\n    if (attr.name === 'chipsLabelTruncateCount') {\n      edits.push(removalEdit(attr, source));\n      truncateValue = attr.value || null;\n    }\n    if (REMOVED_INPUTS.has(attr.name)) {\n      edits.push(removalEdit(attr, source));\n    }\n  }\n\n  // Collect and remove propagated bound inputs\n  for (const input of element.inputs) {\n    if (PROPAGATED_INPUTS.has(input.name)) {\n      edits.push(removalEdit(input, source));\n      const raw = source.slice(input.sourceSpan.start.offset, input.sourceSpan.end.offset);\n      insertions.push(raw);\n    }\n    if (input.name === 'isChipsRemovable') {\n      edits.push(removalEdit(input, source));\n      const valueText = extractBindingValue(input, source);\n      insertions.push(`[isChipRemovable]=\"${valueText}\"`);\n    }\n    if (input.name === 'chipsLabelTruncateCount') {\n      edits.push(removalEdit(input, source));\n      truncateValue = extractBindingValue(input, source);\n    }\n    if (REMOVED_INPUTS.has(input.name)) {\n      edits.push(removalEdit(input, source));\n    }\n  }\n\n  // Collect and remove (chipRemove) output\n  let chipRemoveHandler: string | null = null;\n  for (const output of element.outputs) {\n    if (output.name === 'chipRemove') {\n      edits.push(removalEdit(output, source));\n      chipRemoveHandler = extractHandlerExpression(output, source);\n    }\n  }\n\n  if (chipRemoveHandler) {\n    insertions.push(`(remove)=\"${chipRemoveHandler}\"`);\n  }\n\n  // Add collected attributes to each child eui-chip\n  if (insertions.length > 0) {\n    for (const chip of childChips) {\n      const existingNames = getExistingAttrNames(chip);\n      const toInsert = insertions.filter((ins) => {\n        const name = extractAttrName(ins);\n        return !existingNames.has(name);\n      });\n      if (toInsert.length > 0) {\n        const insertPos = chip.startSourceSpan.end.offset - 1;\n        edits.push({ start: insertPos, end: insertPos, replacement: ' ' + toInsert.join(' ') });\n      }\n    }\n  }\n\n  // Add euiTruncate pipe to chip label content\n  if (truncateValue) {\n    for (const chip of childChips) {\n      const labelEdit = buildTruncatePipeEdit(chip, source, truncateValue);\n      if (labelEdit) edits.push(labelEdit);\n    }\n  }\n}\n\nfunction buildTruncatePipeEdit(chip: TmplAstElement, source: string, truncateValue: string): Edit | null {\n  // Find <span euiLabel>...</span> inside the chip\n  const labelEl = findLabelElement(chip.children);\n  if (labelEl && labelEl.endSourceSpan) {\n    const contentStart = labelEl.startSourceSpan.end.offset;\n    const contentEnd = labelEl.endSourceSpan.start.offset;\n    const content = source.slice(contentStart, contentEnd);\n    if (content && !content.includes('euiTruncate')) {\n      const trimmed = content.trim();\n      const interpMatch = trimmed.match(/^\\{\\{\\s*(.+?)\\s*\\}\\}$/);\n      if (interpMatch) {\n        return { start: contentStart, end: contentEnd, replacement: `{{ ${interpMatch[1]} | euiTruncate: ${truncateValue} }}` };\n      }\n      return { start: contentStart, end: contentEnd, replacement: `{{ '${trimmed}' | euiTruncate: ${truncateValue} }}` };\n    }\n  }\n\n  // Check direct text content inside chip (no label element)\n  if (chip.endSourceSpan) {\n    const chipContentStart = chip.startSourceSpan.end.offset;\n    const chipContentEnd = chip.endSourceSpan.start.offset;\n    const chipContent = source.slice(chipContentStart, chipContentEnd);\n    const trimmed = chipContent.trim();\n    const interpMatch = trimmed.match(/^\\{\\{\\s*(.+?)\\s*\\}\\}$/);\n    if (interpMatch && !chipContent.includes('euiTruncate')) {\n      return { start: chipContentStart, end: chipContentEnd, replacement: `{{ ${interpMatch[1]} | euiTruncate: ${truncateValue} }}` };\n    }\n  }\n  return null;\n}\n\nfunction findLabelElement(nodes: TmplAstNode[]): TmplAstElement | null {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      if (node.attributes.some((a) => a.name === 'euiLabel')) return node;\n      const nested = findLabelElement(node.children);\n      if (nested) return nested;\n    }\n  }\n  return null;\n}\n\nfunction getExistingAttrNames(element: TmplAstElement): Set<string> {\n  const names = new Set<string>();\n  for (const attr of element.attributes) names.add(attr.name);\n  for (const input of element.inputs) names.add(input.name);\n  for (const output of element.outputs) names.add(output.name);\n  return names;\n}\n\nfunction extractAttrName(insertion: string): string {\n  const outputMatch = insertion.match(/^\\(([^)]+)\\)/);\n  if (outputMatch) return outputMatch[1];\n  const inputMatch = insertion.match(/^\\[([^\\]]+)\\]/);\n  if (inputMatch) return inputMatch[1];\n  return insertion.split('=')[0];\n}\n\nfunction removalEdit(node: TmplAstTextAttribute | TmplAstBoundAttribute | TmplAstBoundEvent, source: string): Edit {\n  let start = node.sourceSpan.start.offset;\n  while (start > 0 && (source[start - 1] === ' ' || source[start - 1] === '\\t')) {\n    start--;\n  }\n  return { start, end: node.sourceSpan.end.offset, replacement: '' };\n}\n\nfunction extractBindingValue(input: TmplAstBoundAttribute, source: string): string {\n  const raw = source.slice(input.sourceSpan.start.offset, input.sourceSpan.end.offset);\n  const match = raw.match(/=[\"']([^\"']*)[\"']/);\n  return match ? match[1] : 'true';\n}\n\nfunction extractHandlerExpression(output: TmplAstBoundEvent, source: string): string {\n  const raw = source.slice(output.sourceSpan.start.offset, output.sourceSpan.end.offset);\n  const match = raw.match(/=[\"']([^\"']*)[\"']/);\n  return match ? match[1] : '';\n}\n\nfunction isTemplateProperty(node: ts.PropertyAssignment): boolean {\n  const name = node.name;\n  return (ts.isIdentifier(name) && name.text === 'template') || (ts.isStringLiteral(name) && name.text === 'template');\n}\n\nfunction isComponentMetadataProperty(node: ts.PropertyAssignment): boolean {\n  const objectLiteral = node.parent;\n  if (!ts.isObjectLiteralExpression(objectLiteral)) return false;\n  const callExpression = objectLiteral.parent;\n  if (!ts.isCallExpression(callExpression) || callExpression.arguments[0] !== objectLiteral) return false;\n  return ts.isDecorator(callExpression.parent) && ts.isIdentifier(callExpression.expression) && callExpression.expression.text === 'Component';\n}\n\nfunction unwrapExpression(expression: ts.Expression): ts.Expression {\n  let current = expression;\n  while (ts.isParenthesizedExpression(current)) current = current.expression;\n  return current;\n}\n\nfunction applyEdits(source: string, edits: Edit[]): string {\n  const unique = deduplicateEdits(edits);\n  let result = source;\n  for (const edit of unique.sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, edit.start) + edit.replacement + result.slice(edit.end);\n  }\n  return result;\n}\n\nfunction deduplicateEdits(edits: Edit[]): Edit[] {\n  const seen = new Map<string, Edit>();\n  for (const edit of edits) {\n    seen.set(`${edit.start}:${edit.end}`, edit);\n  }\n  return Array.from(seen.values());\n}\n",
            "properties": [
                {
                    "name": "end",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 33
                },
                {
                    "name": "replacement",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 34
                },
                {
                    "name": "start",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 32
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "Edit",
            "id": "interface-Edit-91c9f900bf3ebb82488fb65644938ef486ceaa447cff8bfd9d710df9595d82acb267b26f3c252173bc684353f362473120226426ed7ee5d98b33e30011dd9383-1",
            "file": "packages/core/schematics/migrate-eui-table/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { BindingPipe, parseTemplate, TmplAstBoundAttribute, TmplAstBoundEvent, TmplAstBoundText, TmplAstElement, TmplAstNode, TmplAstTemplate, TmplAstTextAttribute, AST, ASTWithSource, Interpolation } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\ninterface Edit { start: number; end: number; replacement: string; }\n\n// --- Table-level input renames (on elements with euiTable attribute) ---\nconst TABLE_INPUT_RENAMES = new Map([\n  ['rows', 'data'],\n  ['loading', 'isLoading'],\n  ['asyncTable', 'isAsync'],\n  ['euiTableResponsive', 'isTableResponsive'],\n  ['euiTableFixedLayout', 'isTableFixedLayout'],\n  ['euiTableCompact', 'isTableCompact'],\n  ['hasStickyColumns', 'hasStickyCols'],\n]);\n\n// --- Child element input renames (scoped to euiTable context) ---\nconst TH_TD_INPUT_RENAMES = new Map([\n  ['isStickyColumn', 'isStickyCol'],\n  ['sortable', 'isSortable'],\n]);\n\nconst TR_INPUT_RENAMES = new Map([\n  ['isSelectableHeader', 'isHeaderSelectable'],\n  ['isSelectable', 'isDataSelectable'],\n]);\n\n// --- Removed inputs ---\nconst REMOVED_INPUTS = new Set(['euiTableBordered', 'isHoverable', 'defaultMultiOrder', 'paginable']);\n\n// --- Output renames/removals ---\nconst OUTPUT_RENAMES = new Map([['selectedRows', 'rowsSelect']]);\nconst REMOVED_OUTPUTS = new Set(['multiSortChange']);\n\n// --- Pipe rename ---\nconst OLD_PIPE = 'euiTableHighlightFilter';\nconst NEW_PIPE = 'euiTableHighlight';\n\n// --- TS property renames ---\nconst TS_PROPERTY_RENAMES = new Map([['filteredRows', 'getFilteredData']]);\n\nconst PAGINATOR_IMPORT_PATH = '@eui/components/eui-paginator';\nconst PAGINATOR_COMPONENT = 'EuiPaginatorComponent';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\nexport function migrateEuiTable(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    let count = 0;\n    const paginatorHtmlFiles = new Set<string>();\n\n    visitDir(tree.getDir(scanPath || '/'), (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) return;\n\n      const original = buffer.toString('utf-8');\n      if (!original.includes('euiTable') && !original.includes(OLD_PIPE) && !original.includes('filteredRows') && !original.includes('setSort')) return;\n\n      let result: string;\n\n      if (path.endsWith('.html')) {\n        const { output, hasPaginator } = migrateTemplateWithPaginator(original, path, context);\n        result = output;\n        if (hasPaginator) paginatorHtmlFiles.add(path);\n      } else {\n        const { output, hasPaginator } = migrateTypeScript(original, path, context);\n        result = output;\n        if (hasPaginator) {\n          result = addPaginatorImport(result, path);\n        }\n      }\n\n      if (result !== original) {\n        if (options.dryRun) {\n          logDryRun(context, `Would migrate eui-table breaking changes in ${path}`);\n        } else {\n          tree.overwrite(path, result);\n        }\n        count++;\n      }\n    });\n\n    // Handle paginator imports for external templates\n    if (paginatorHtmlFiles.size > 0) {\n      visitDir(tree.getDir(scanPath || '/'), (path) => {\n        if (!path.endsWith('.ts')) return;\n\n        const buffer = tree.read(path);\n        if (!buffer) return;\n\n        const source = buffer.toString('utf-8');\n        if (!source.includes('templateUrl')) return;\n\n        for (const htmlFile of paginatorHtmlFiles) {\n          const htmlFileName = htmlFile.split('/').pop()!;\n          if (source.includes(htmlFileName)) {\n            const updated = addPaginatorImport(source, path);\n            if (updated !== source) {\n              if (options.dryRun) {\n                logDryRun(context, `Would add paginator import in ${path}`);\n              } else {\n                tree.overwrite(path, updated);\n              }\n              count++;\n            }\n            break;\n          }\n        }\n      });\n    }\n\n    context.logger.info(`Migrated eui-table in ${count} file(s).`);\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n    return tree;\n  };\n}\n\nfunction migrateTemplateWithPaginator(source: string, filePath: string, context: SchematicContext): { output: string; hasPaginator: boolean } {\n  const parsed = parseTemplate(source, '', { preserveWhitespaces: true });\n  const edits: Edit[] = [];\n  let hasPaginator = false;\n\n  const paginatorResult = visitNodesForTable(parsed.nodes, source, edits, false, filePath, context);\n  if (paginatorResult) hasPaginator = true;\n\n  collectPipeRenames(parsed.nodes, source, edits);\n\n  return { output: applyEdits(source, edits), hasPaginator };\n}\n\nfunction migrateTemplate(source: string, filePath: string, context: SchematicContext): string {\n  return migrateTemplateWithPaginator(source, filePath, context).output;\n}\n\nfunction migrateTypeScript(source: string, filePath: string, context: SchematicContext): { output: string; hasPaginator: boolean } {\n  let result = source;\n  let hasPaginator = false;\n\n  // Migrate inline templates\n  const sourceFile = ts.createSourceFile('', source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const changes: Edit[] = [];\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAssignment(node) && isTemplateProperty(node) && isComponentMetadataProperty(node)) {\n      const init = unwrapExpression(node.initializer);\n      if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) {\n        const start = init.getStart(sourceFile) + 1;\n        const end = init.getEnd() - 1;\n        const rawTemplate = result.slice(start, end);\n        if (!rawTemplate.includes('euiTable') && !rawTemplate.includes(OLD_PIPE)) {\n ts.forEachChild(node, visit); return;\n}\n        const { output: migrated, hasPaginator: pag } = migrateTemplateWithPaginator(rawTemplate, filePath, context);\n        if (pag) hasPaginator = true;\n        if (migrated !== rawTemplate) changes.push({ start, end, replacement: migrated });\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n  result = applyEdits(result, changes);\n\n  // Rename TS property accesses\n  result = renameTsProperties(result);\n\n  // Warn about setSort\n  warnSetSort(result, filePath, context);\n\n  return { output: result, hasPaginator };\n}\n\nfunction renameTsProperties(source: string): string {\n  const sourceFile = ts.createSourceFile('', source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const edits: Edit[] = [];\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAccessExpression(node) && ts.isIdentifier(node.name) && TS_PROPERTY_RENAMES.has(node.name.text)) {\n      edits.push({ start: node.name.getStart(sourceFile), end: node.name.getEnd(), replacement: TS_PROPERTY_RENAMES.get(node.name.text)! });\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n  return applyEdits(source, edits);\n}\n\nfunction warnSetSort(source: string, filePath: string, context: SchematicContext): void {\n  if (!source.includes('setSort')) return;\n\n  const sourceFile = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true);\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isCallExpression(node) && ts.isPropertyAccessExpression(node.expression) &&\n        ts.isIdentifier(node.expression.name) && node.expression.name.text === 'setSort') {\n      const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());\n      context.logger.warn(\n        `${filePath}:${line + 1} - \"setSort\" signature changed from setSort(sort: string, order: \"asc\" | \"desc\") to setSort(Sort[]). Update manually.`,\n      );\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n}\n\n// --- Template AST visitors ---\n\nfunction visitNodesForTable(\n  nodes: TmplAstNode[], source: string, edits: Edit[], insideEuiTable: boolean, filePath: string, context: SchematicContext,\n): boolean {\n  let hasPaginator = false;\n\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      const isEuiTable = hasEuiTableAttribute(node);\n\n      if (isEuiTable) {\n        collectTableInputRenames(node, edits);\n        collectInputRemovals(node, source, edits, filePath, context);\n        collectOutputChanges(node, source, edits, filePath, context);\n        if (collectPaginatorMigration(node, source, edits)) hasPaginator = true;\n      }\n\n      if (isEuiTable || insideEuiTable) {\n        collectChildElementRenames(node, edits);\n        collectChildInputRemovals(node, source, edits, filePath, context);\n        collectEmptyMessageRename(node, edits);\n      }\n\n      const childResult = visitNodesForTable(node.children, source, edits, isEuiTable || insideEuiTable, filePath, context);\n      if (childResult) hasPaginator = true;\n    }\n\n    if (node instanceof TmplAstTemplate) {\n      if (insideEuiTable) {\n        collectTemplateEmptyMessageRename(node, edits);\n      }\n      const childResult = visitNodesForTable(node.children, source, edits, insideEuiTable, filePath, context);\n      if (childResult) hasPaginator = true;\n    }\n  }\n\n  return hasPaginator;\n}\n\nfunction hasEuiTableAttribute(element: TmplAstElement): boolean {\n  return element.attributes.some((a) => a.name === 'euiTable') ||\n    element.inputs.some((i) => i.name === 'euiTable');\n}\n\nfunction collectTableInputRenames(element: TmplAstElement, edits: Edit[]): void {\n  for (const attr of element.attributes) {\n    const newName = TABLE_INPUT_RENAMES.get(attr.name);\n    if (newName) edits.push({ start: attr.keySpan!.start.offset, end: attr.keySpan!.end.offset, replacement: newName });\n  }\n  for (const input of element.inputs) {\n    const newName = TABLE_INPUT_RENAMES.get(input.name);\n    if (newName) edits.push({ start: input.keySpan!.start.offset, end: input.keySpan!.end.offset, replacement: newName });\n  }\n}\n\nfunction collectChildElementRenames(element: TmplAstElement, edits: Edit[]): void {\n  const renames = (element.name === 'th' || element.name === 'td') ? TH_TD_INPUT_RENAMES\n    : element.name === 'tr' ? TR_INPUT_RENAMES : null;\n  if (!renames) return;\n\n  for (const attr of element.attributes) {\n    const newName = renames.get(attr.name);\n    if (newName) edits.push({ start: attr.keySpan!.start.offset, end: attr.keySpan!.end.offset, replacement: newName });\n  }\n  for (const input of element.inputs) {\n    const newName = renames.get(input.name);\n    if (newName) edits.push({ start: input.keySpan!.start.offset, end: input.keySpan!.end.offset, replacement: newName });\n  }\n}\n\nfunction collectChildInputRemovals(element: TmplAstElement, source: string, edits: Edit[], filePath: string, context: SchematicContext): void {\n  const childRemovedInputs = new Set(['defaultMultiOrder']);\n\n  for (const attr of element.attributes) {\n    if (childRemovedInputs.has(attr.name)) {\n      removeAttribute(attr.sourceSpan.start.offset, attr.sourceSpan.end.offset, source, edits);\n      logRemovalWarning(attr.name, filePath, element, context);\n    }\n  }\n  for (const input of element.inputs) {\n    if (childRemovedInputs.has(input.name)) {\n      removeAttribute(input.sourceSpan.start.offset, input.sourceSpan.end.offset, source, edits);\n      logRemovalWarning(input.name, filePath, element, context);\n    }\n  }\n}\n\nfunction collectInputRemovals(element: TmplAstElement, source: string, edits: Edit[], filePath: string, context: SchematicContext): void {\n  for (const attr of element.attributes) {\n    if (REMOVED_INPUTS.has(attr.name) && attr.name !== 'paginable') {\n      removeAttribute(attr.sourceSpan.start.offset, attr.sourceSpan.end.offset, source, edits);\n      logRemovalWarning(attr.name, filePath, element, context);\n    }\n  }\n  for (const input of element.inputs) {\n    if (REMOVED_INPUTS.has(input.name) && input.name !== 'paginable') {\n      removeAttribute(input.sourceSpan.start.offset, input.sourceSpan.end.offset, source, edits);\n      logRemovalWarning(input.name, filePath, element, context);\n    }\n  }\n}\n\nfunction collectOutputChanges(element: TmplAstElement, source: string, edits: Edit[], filePath: string, context: SchematicContext): void {\n  for (const output of element.outputs) {\n    const newName = OUTPUT_RENAMES.get(output.name);\n    if (newName) {\n      edits.push({ start: output.keySpan!.start.offset, end: output.keySpan!.end.offset, replacement: newName });\n    }\n    if (REMOVED_OUTPUTS.has(output.name)) {\n      removeAttribute(output.sourceSpan.start.offset, output.sourceSpan.end.offset, source, edits);\n      const { line } = element.startSourceSpan.start;\n      context.logger.warn(\n        `${filePath}:${line + 1} - \"(${output.name})\" removed. Multi-sort is now supported by (sortChange) output.`,\n      );\n    }\n  }\n}\n\nfunction collectPaginatorMigration(element: TmplAstElement, source: string, edits: Edit[]): boolean {\n  let found = false;\n\n  for (const attr of element.attributes) {\n    if (attr.name === 'paginable') {\n      removeAttribute(attr.sourceSpan.start.offset, attr.sourceSpan.end.offset, source, edits);\n      found = true;\n    }\n  }\n  for (const input of element.inputs) {\n    if (input.name === 'paginable') {\n      removeAttribute(input.sourceSpan.start.offset, input.sourceSpan.end.offset, source, edits);\n      found = true;\n    }\n  }\n\n  if (found) {\n    // Add [paginator]=\"paginator\" before closing > of opening tag\n    const insertPos = element.startSourceSpan.end.offset - 1;\n    edits.push({ start: insertPos, end: insertPos, replacement: ' [paginator]=\"paginator\"' });\n\n    // Add eui-paginator after </table>\n    if (element.endSourceSpan) {\n      const afterTable = element.endSourceSpan.end.offset;\n      edits.push({\n        start: afterTable,\n        end: afterTable,\n        replacement: '\\n<!-- TODO: Configure paginator and implement onPageChange handler -->\\n<eui-paginator #paginator [pageSize]=\"10\" [pageSizeOptions]=\"[5, 10, 25, 50]\" />',\n      });\n    }\n  }\n\n  return found;\n}\n\nfunction collectEmptyMessageRename(element: TmplAstElement, edits: Edit[]): void {\n  // Handle direct attribute on elements (unlikely but handle)\n  for (const attr of element.attributes) {\n    if (attr.name === 'euiTemplate' && attr.value === 'emptyMessage' && attr.valueSpan) {\n      edits.push({ start: attr.valueSpan.start.offset, end: attr.valueSpan.end.offset, replacement: 'footer' });\n    }\n  }\n}\n\nfunction collectTemplateEmptyMessageRename(template: TmplAstTemplate, edits: Edit[]): void {\n  for (const attr of template.templateAttrs) {\n    if (attr instanceof TmplAstTextAttribute && attr.name === 'euiTemplate' && attr.value === 'emptyMessage' && attr.valueSpan) {\n      edits.push({ start: attr.valueSpan.start.offset, end: attr.valueSpan.end.offset, replacement: 'footer' });\n    }\n  }\n  for (const attr of template.attributes) {\n    if (attr.name === 'euiTemplate' && attr.value === 'emptyMessage' && attr.valueSpan) {\n      edits.push({ start: attr.valueSpan.start.offset, end: attr.valueSpan.end.offset, replacement: 'footer' });\n    }\n  }\n}\n\n// --- Pipe rename via AST ---\n\nfunction collectPipeRenames(nodes: TmplAstNode[], source: string, edits: Edit[]): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      for (const input of node.inputs) {\n        visitExpressionForPipes(input.value, edits);\n      }\n      for (const output of node.outputs) {\n        if (output.handler) visitExpressionForPipes(output.handler, edits);\n      }\n      collectPipeRenames(node.children, source, edits);\n    }\n    if (node instanceof TmplAstTemplate) {\n      for (const input of node.inputs) {\n        visitExpressionForPipes(input.value, edits);\n      }\n      collectPipeRenames(node.children, source, edits);\n    }\n    if (node instanceof TmplAstBoundText) {\n      visitExpressionForPipes(node.value, edits);\n    }\n  }\n}\n\nfunction visitExpressionForPipes(expr: AST, edits: Edit[]): void {\n  if (expr instanceof ASTWithSource && expr.ast) {\n    visitAstForPipes(expr.ast, edits);\n  } else {\n    visitAstForPipes(expr, edits);\n  }\n}\n\nfunction visitAstForPipes(ast: AST, edits: Edit[]): void {\n  if (ast instanceof BindingPipe) {\n    if (ast.name === OLD_PIPE && ast.nameSpan) {\n      edits.push({ start: ast.nameSpan.start, end: ast.nameSpan.end, replacement: NEW_PIPE });\n    }\n    visitAstForPipes(ast.exp, edits);\n    for (const arg of ast.args) {\n      visitAstForPipes(arg, edits);\n    }\n    return;\n  }\n\n  if (ast instanceof Interpolation) {\n    for (const expr of ast.expressions) {\n      visitAstForPipes(expr, edits);\n    }\n    return;\n  }\n\n  // Recursively visit all properties that could contain AST nodes\n  for (const key of Object.keys(ast)) {\n    // eslint-disable-next-line\n    const val = (ast as any)[key];\n    if (val instanceof AST) {\n      visitAstForPipes(val, edits);\n    } else if (Array.isArray(val)) {\n      for (const item of val) {\n        if (item instanceof AST) visitAstForPipes(item, edits);\n      }\n    }\n  }\n}\n\n// --- Import handling for paginator ---\n\nfunction addPaginatorImport(source: string, filePath: string): string {\n  if (source.includes(PAGINATOR_COMPONENT)) return source;\n\n  const sourceFile = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const edits: Edit[] = [];\n\n  // Add import statement after last import\n  let lastImportEnd = 0;\n  for (const stmt of sourceFile.statements) {\n    if (ts.isImportDeclaration(stmt)) {\n      lastImportEnd = stmt.getEnd();\n    }\n  }\n\n  if (lastImportEnd > 0) {\n    edits.push({\n      start: lastImportEnd,\n      end: lastImportEnd,\n      replacement: `\\nimport { ${PAGINATOR_COMPONENT} } from '${PAGINATOR_IMPORT_PATH}';`,\n    });\n  }\n\n  // Add to component imports array\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAssignment(node) && ts.isIdentifier(node.name) && node.name.text === 'imports' && isComponentMetadataProperty(node)) {\n      if (ts.isArrayLiteralExpression(node.initializer)) {\n        const arr = node.initializer;\n        const elements = arr.elements;\n        if (elements.length > 0) {\n          const lastElement = elements[elements.length - 1];\n          edits.push({\n            start: lastElement.getEnd(),\n            end: lastElement.getEnd(),\n            replacement: `, ${PAGINATOR_COMPONENT}`,\n          });\n        } else {\n          const insertPos = arr.getStart(sourceFile) + 1;\n          edits.push({ start: insertPos, end: insertPos, replacement: PAGINATOR_COMPONENT });\n        }\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n\n  return applyEdits(source, edits);\n}\n\n// --- Helpers ---\n\nfunction removeAttribute(start: number, end: number, source: string, edits: Edit[]): void {\n  let adjustedStart = start;\n  while (adjustedStart > 0 && (source[adjustedStart - 1] === ' ' || source[adjustedStart - 1] === '\\t')) {\n    adjustedStart--;\n  }\n  edits.push({ start: adjustedStart, end, replacement: '' });\n}\n\nfunction logRemovalWarning(name: string, filePath: string, element: TmplAstElement, context: SchematicContext): void {\n  const { line } = element.startSourceSpan.start;\n  if (name === 'defaultMultiOrder') {\n    context.logger.warn(`${filePath}:${line + 1} - \"[${name}]\" removed. Use setSort(Sort[]) to initialize sorting.`);\n  } else {\n    context.logger.warn(`${filePath}:${line + 1} - \"[${name}]\" removed to align to Design System.`);\n  }\n}\n\nfunction isTemplateProperty(node: ts.PropertyAssignment): boolean {\n  const name = node.name;\n  return (ts.isIdentifier(name) && name.text === 'template') || (ts.isStringLiteral(name) && name.text === 'template');\n}\n\nfunction isComponentMetadataProperty(node: ts.PropertyAssignment): boolean {\n  const objectLiteral = node.parent;\n  if (!ts.isObjectLiteralExpression(objectLiteral)) return false;\n  const callExpression = objectLiteral.parent;\n  if (!ts.isCallExpression(callExpression) || callExpression.arguments[0] !== objectLiteral) return false;\n  return ts.isDecorator(callExpression.parent) && ts.isIdentifier(callExpression.expression) && callExpression.expression.text === 'Component';\n}\n\nfunction unwrapExpression(expression: ts.Expression): ts.Expression {\n  let current = expression;\n  while (ts.isParenthesizedExpression(current)) current = current.expression;\n  return current;\n}\n\nfunction applyEdits(source: string, edits: Edit[]): string {\n  const unique = new Map<string, Edit>();\n  for (const edit of edits) {\n    const key = `${edit.start}:${edit.end}`;\n    unique.set(key, edit);\n  }\n  let result = source;\n  for (const edit of [...unique.values()].sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, edit.start) + edit.replacement + result.slice(edit.end);\n  }\n  return result;\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n",
            "properties": [
                {
                    "name": "end",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 6
                },
                {
                    "name": "replacement",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 6
                },
                {
                    "name": "start",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 6
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [],
            "isDuplicate": true,
            "duplicateId": 1,
            "duplicateName": "Edit-1"
        },
        {
            "name": "Edit",
            "id": "interface-Edit-e1cd02924eb82a618c71a0b26c081bdd020519d2699aa0e2dc98640c4e0f347c3649b967c5fc87543e41bbbfabd1304835850ccc38f40684d6521c242b2030ed-2",
            "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstElement, TmplAstNode } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\nconst OLD_TAG = 'eui-toolbar-menu';\nconst NEW_TAG = 'eui-toolbar-mega-menu';\nconst OLD_COMPONENT = 'EuiToolbarMenuComponent';\nconst NEW_COMPONENT = 'EuiToolbarMegaMenuComponent';\nconst OLD_INTERFACE = 'ToolbarItem';\nconst NEW_INTERFACE = 'EuiMenuItem';\nconst NEW_COMPONENT_PATH = '@eui/components/layout';\nconst NEW_INTERFACE_PATH = '@eui/core';\nconst REMOVED_OUTPUT = 'menuItemClick';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\ninterface Edit {\n  start: number;\n  end: number;\n  replacement: string;\n}\n\nexport function migrateEuiToolbarMenu(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    let fileCount = 0;\n\n    visitDir(tree.getDir(scanPath || '/'), (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) return;\n\n      const original = buffer.toString('utf-8');\n      if (!original.includes(OLD_TAG) && !original.includes(OLD_COMPONENT) && !original.includes(OLD_INTERFACE)) return;\n\n      let result: string;\n\n      if (path.endsWith('.html')) {\n        result = migrateTemplate(original, path, context);\n      } else {\n        result = migrateTypeScript(original, path, context);\n      }\n\n      if (result !== original) {\n        if (options.dryRun) {\n          logDryRun(context, `Would migrate eui-toolbar-menu → eui-toolbar-mega-menu in ${path}`);\n        } else {\n          tree.overwrite(path, result);\n        }\n        fileCount++;\n      }\n    });\n\n    context.logger.info(`Migrated eui-toolbar-menu → eui-toolbar-mega-menu in ${fileCount} file(s).`);\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n    return tree;\n  };\n}\n\nfunction migrateTemplate(source: string, filePath: string, context: SchematicContext): string {\n  const parsed = parseTemplate(source, '', { preserveWhitespaces: true });\n  const edits: Edit[] = [];\n\n  visitNodes(parsed.nodes, source, edits, filePath, context);\n\n  return applyEdits(source, edits);\n}\n\nfunction migrateTypeScript(source: string, filePath: string, context: SchematicContext): string {\n  let result = migrateInlineTemplates(source, filePath, context);\n  result = migrateImportsAndTypes(result, filePath, context);\n  return result;\n}\n\nfunction migrateInlineTemplates(source: string, filePath: string, context: SchematicContext): string {\n  const sourceFile = ts.createSourceFile('', source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const changes: Edit[] = [];\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAssignment(node) && isTemplateProperty(node) && isComponentMetadataProperty(node)) {\n      const init = unwrapExpression(node.initializer);\n      if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) {\n        const start = init.getStart(sourceFile) + 1;\n        const end = init.getEnd() - 1;\n        const rawTemplate = source.slice(start, end);\n        if (!rawTemplate.includes(OLD_TAG)) {\n ts.forEachChild(node, visit); return; \n}\n        const migrated = migrateTemplate(rawTemplate, filePath, context);\n        if (migrated !== rawTemplate) changes.push({ start, end, replacement: migrated });\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n  return applyEdits(source, changes);\n}\n\nfunction migrateImportsAndTypes(source: string, filePath: string, context: SchematicContext): string {\n  if (!source.includes(OLD_COMPONENT) && !source.includes(OLD_INTERFACE)) return source;\n\n  const sourceFile = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const edits: Edit[] = [];\n\n  // Track if EuiMenuItem is already imported from @eui/core\n  let hasEuiMenuItemImport = false;\n\n  // First pass: analyze imports\n  for (const stmt of sourceFile.statements) {\n    if (!ts.isImportDeclaration(stmt)) continue;\n    const moduleSpec = (stmt.moduleSpecifier as ts.StringLiteral).text;\n    const namedBindings = stmt.importClause?.namedBindings;\n    if (!namedBindings || !ts.isNamedImports(namedBindings)) continue;\n\n    for (const specifier of namedBindings.elements) {\n      if (specifier.name.text === NEW_INTERFACE && moduleSpec === NEW_INTERFACE_PATH) {\n        hasEuiMenuItemImport = true;\n      }\n    }\n  }\n\n  // Second pass: collect edits for import declarations\n  for (const stmt of sourceFile.statements) {\n    if (!ts.isImportDeclaration(stmt)) continue;\n    const namedBindings = stmt.importClause?.namedBindings;\n    if (!namedBindings || !ts.isNamedImports(namedBindings)) continue;\n\n    const moduleSpec = stmt.moduleSpecifier as ts.StringLiteral;\n    const specifiers = namedBindings.elements;\n    const hasComponent = specifiers.some((s) => s.name.text === OLD_COMPONENT);\n    const hasInterface = specifiers.some((s) => s.name.text === OLD_INTERFACE);\n\n    if (hasComponent && hasInterface) {\n      // Both are in the same import → must split into two different paths\n      const others = specifiers.filter((s) => s.name.text !== OLD_COMPONENT && s.name.text !== OLD_INTERFACE);\n      const lines: string[] = [];\n      lines.push(`import { ${NEW_COMPONENT} } from '${NEW_COMPONENT_PATH}';`);\n      if (!hasEuiMenuItemImport) {\n        lines.push(`import { ${NEW_INTERFACE} } from '${NEW_INTERFACE_PATH}';`);\n      }\n      if (others.length > 0) {\n        const otherNames = others.map((s) => s.name.text).join(', ');\n        lines.push(`import { ${otherNames} } from '${moduleSpec.text}';`);\n      }\n      edits.push({\n        start: stmt.getStart(sourceFile),\n        end: stmt.getEnd(),\n        replacement: lines.join('\\n'),\n      });\n    } else if (hasComponent) {\n      edits.push({\n        start: moduleSpec.getStart(sourceFile) + 1,\n        end: moduleSpec.getEnd() - 1,\n        replacement: NEW_COMPONENT_PATH,\n      });\n      for (const specifier of specifiers) {\n        if (specifier.name.text === OLD_COMPONENT) {\n          edits.push({\n            start: specifier.name.getStart(sourceFile),\n            end: specifier.name.getEnd(),\n            replacement: NEW_COMPONENT,\n          });\n        }\n      }\n    } else if (hasInterface) {\n      if (hasEuiMenuItemImport) {\n        removeImportSpecifier(namedBindings, specifiers.find((s) => s.name.text === OLD_INTERFACE)!, sourceFile, edits);\n      } else {\n        edits.push({\n          start: moduleSpec.getStart(sourceFile) + 1,\n          end: moduleSpec.getEnd() - 1,\n          replacement: NEW_INTERFACE_PATH,\n        });\n        for (const specifier of specifiers) {\n          if (specifier.name.text === OLD_INTERFACE) {\n            edits.push({\n              start: specifier.name.getStart(sourceFile),\n              end: specifier.name.getEnd(),\n              replacement: NEW_INTERFACE,\n            });\n          }\n        }\n      }\n    }\n  }\n\n  // Third pass: rename identifier references in non-import positions\n  const visitRefs = (node: ts.Node): void => {\n    if (ts.isImportDeclaration(node)) return; // skip imports (already handled)\n    if (ts.isIdentifier(node)) {\n      if (node.text === OLD_COMPONENT) {\n        edits.push({ start: node.getStart(sourceFile), end: node.getEnd(), replacement: NEW_COMPONENT });\n      }\n      if (node.text === OLD_INTERFACE) {\n        edits.push({ start: node.getStart(sourceFile), end: node.getEnd(), replacement: NEW_INTERFACE });\n      }\n    }\n    ts.forEachChild(node, visitRefs);\n  };\n\n  for (const stmt of sourceFile.statements) {\n    if (!ts.isImportDeclaration(stmt)) {\n      visitRefs(stmt);\n    }\n  }\n\n  // Warn about ToolbarItem-specific properties\n  warnRemovedProperties(sourceFile, filePath, context);\n\n  return applyEdits(source, edits);\n}\n\nfunction removeImportSpecifier(\n  namedImports: ts.NamedImports,\n  specifier: ts.ImportSpecifier,\n  sourceFile: ts.SourceFile,\n  edits: Edit[],\n): void {\n  const elements = namedImports.elements;\n  if (elements.length === 1) {\n    // Remove the entire import declaration\n    const importDecl = namedImports.parent.parent;\n    edits.push({\n      start: importDecl.getStart(sourceFile),\n      end: importDecl.getEnd(),\n      replacement: '',\n    });\n  } else {\n    // Remove just this specifier with surrounding comma/whitespace\n    const idx = elements.indexOf(specifier);\n    let start: number;\n    let end: number;\n    if (idx < elements.length - 1) {\n      start = specifier.getStart(sourceFile);\n      end = elements[idx + 1].getStart(sourceFile);\n    } else {\n      start = elements[idx - 1].getEnd();\n      end = specifier.getEnd();\n    }\n    edits.push({ start, end, replacement: '' });\n  }\n}\n\nfunction warnRemovedProperties(sourceFile: ts.SourceFile, filePath: string, context: SchematicContext): void {\n  const deprecated = ['isHome', 'isSeparator'];\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAccessExpression(node) && ts.isIdentifier(node.name) && deprecated.includes(node.name.text)) {\n      const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());\n      context.logger.warn(\n        `${filePath}:${line + 1} - \"${node.name.text}\" was part of ToolbarItem but does not exist on EuiMenuItem. Review manually.`,\n      );\n    }\n    if (ts.isPropertyAssignment(node) && ts.isIdentifier(node.name) && deprecated.includes(node.name.text)) {\n      const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());\n      context.logger.warn(\n        `${filePath}:${line + 1} - \"${node.name.text}\" was part of ToolbarItem but does not exist on EuiMenuItem. Review manually.`,\n      );\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n}\n\nfunction visitNodes(nodes: TmplAstNode[], source: string, edits: Edit[], filePath: string, context: SchematicContext): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      if (node.name === OLD_TAG) {\n        collectTagRenames(node, source, edits);\n        collectOutputRemovals(node, source, edits, filePath, context);\n      }\n      visitNodes(node.children, source, edits, filePath, context);\n    }\n  }\n}\n\nfunction collectTagRenames(element: TmplAstElement, source: string, edits: Edit[]): void {\n  // Rename opening tag\n  const openStart = element.startSourceSpan.start.offset + 1; // skip '<'\n  edits.push({ start: openStart, end: openStart + OLD_TAG.length, replacement: NEW_TAG });\n\n  // Rename closing tag\n  if (element.endSourceSpan) {\n    const closeStart = element.endSourceSpan.start.offset + 2; // skip '</'\n    edits.push({ start: closeStart, end: closeStart + OLD_TAG.length, replacement: NEW_TAG });\n  }\n}\n\nfunction collectOutputRemovals(\n  element: TmplAstElement,\n  source: string,\n  edits: Edit[],\n  filePath: string,\n  context: SchematicContext,\n): void {\n  for (const output of element.outputs) {\n    if (output.name === REMOVED_OUTPUT) {\n      let start = output.sourceSpan.start.offset;\n      // Remove leading whitespace\n      while (start > 0 && (source[start - 1] === ' ' || source[start - 1] === '\\t')) {\n        start--;\n      }\n      edits.push({ start, end: output.sourceSpan.end.offset, replacement: '' });\n\n      const { line } = element.startSourceSpan.start;\n      context.logger.warn(\n        `${filePath}:${line + 1} - \"(menuItemClick)\" has been removed. There is no equivalent on eui-toolbar-mega-menu.`,\n      );\n    }\n  }\n}\n\nfunction isTemplateProperty(node: ts.PropertyAssignment): boolean {\n  const name = node.name;\n  return (ts.isIdentifier(name) && name.text === 'template') || (ts.isStringLiteral(name) && name.text === 'template');\n}\n\nfunction isComponentMetadataProperty(node: ts.PropertyAssignment): boolean {\n  const objectLiteral = node.parent;\n  if (!ts.isObjectLiteralExpression(objectLiteral)) return false;\n  const callExpression = objectLiteral.parent;\n  if (!ts.isCallExpression(callExpression) || callExpression.arguments[0] !== objectLiteral) return false;\n  return ts.isDecorator(callExpression.parent) && ts.isIdentifier(callExpression.expression) && callExpression.expression.text === 'Component';\n}\n\nfunction unwrapExpression(expression: ts.Expression): ts.Expression {\n  let current = expression;\n  while (ts.isParenthesizedExpression(current)) current = current.expression;\n  return current;\n}\n\nfunction applyEdits(source: string, edits: Edit[]): string {\n  // Deduplicate edits at same position (e.g. module path edits when both Component and ToolbarItem are from same source)\n  const unique = deduplicateEdits(edits);\n  let result = source;\n  for (const edit of unique.sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, edit.start) + edit.replacement + result.slice(edit.end);\n  }\n  return result;\n}\n\nfunction deduplicateEdits(edits: Edit[]): Edit[] {\n  const seen = new Map<string, Edit>();\n  for (const edit of edits) {\n    const key = `${edit.start}:${edit.end}`;\n    // Last wins for same range\n    seen.set(key, edit);\n  }\n  return Array.from(seen.values());\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n",
            "properties": [
                {
                    "name": "end",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 23
                },
                {
                    "name": "replacement",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 24
                },
                {
                    "name": "start",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 22
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [],
            "isDuplicate": true,
            "duplicateId": 2,
            "duplicateName": "Edit-2"
        },
        {
            "name": "EuiComponentEntry",
            "id": "interface-EuiComponentEntry-3585b9e2420a5a1ac09e2636e44626b038e5aef498ff0f715b3b309f2a2a98e3d437c59b152439bb62b8b82ebbb03d0155e8b2f240853ec5643e641b2a3e17f7",
            "file": "packages/core/schematics/migrate/replacements/eui-modules.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Tree } from '@angular-devkit/schematics';\nimport { getEndImportBlockPos, getSiblingHtmlFiles } from '../utils';\n\nexport interface EuiComponentEntry {\n  selectorPrefix?: string;\n  module: string;\n  importObj: string;\n  importLocation: string;\n  cmpArray?: boolean;\n}\n\n/**\n * Full mapping of old EUI/ECL modules to their new standalone import equivalents.\n * Ported from csdr-engine/migrate/index.js euiComponentsBase.\n */\nexport const EUI_COMPONENTS_BASE: EuiComponentEntry[] = [\n  // ECL components\n  { selectorPrefix: 'ecl-app', module: 'EclAppComponentModule', importObj: 'EUI_ECL_APP', importLocation: '@eui/ecl/components/ecl-app' },\n  { selectorPrefix: 'ecl-menu', module: 'EclMenuComponentModule', importObj: 'EUI_ECL_MENU', importLocation: '@eui/ecl/components/ecl-menu' },\n  { selectorPrefix: 'ecl-site-header', module: 'EclSiteHeaderComponentModule', importObj: 'EUI_ECL_SITE_HEADER', importLocation: '@eui/ecl/components/ecl-site-header' },\n  { selectorPrefix: 'ecl-site-footer', module: 'EclSiteFooterComponentModule', importObj: 'EUI_ECL_SITE_FOOTER', importLocation: '@eui/ecl/components/ecl-site-footer' },\n  { module: 'EclBannerComponentModule', importObj: 'EUI_ECL_BANNER', importLocation: '@eui/ecl/components/ecl-banner' },\n  { module: 'EclButtonComponentModule', importObj: 'EUI_ECL_BUTTON', importLocation: '@eui/ecl/components/ecl-button' },\n  { module: 'EclCardComponentModule', importObj: 'EUI_ECL_CARD', importLocation: '@eui/ecl/components/ecl-card' },\n  { module: 'EclContentBlockComponentModule', importObj: 'EUI_ECL_CONTENT_BLOCK', importLocation: '@eui/ecl/components/ecl-content-block' },\n  { module: 'EclContentBlockModule', importObj: 'EUI_ECL_CONTENT_BLOCK', importLocation: '@eui/ecl/components/ecl-content-block' },\n  { module: 'EclContentItemComponentModule', importObj: 'EUI_ECL_CONTENT_ITEM', importLocation: '@eui/ecl/components/ecl-content-item' },\n  { module: 'EclFactFiguresComponentModule', importObj: 'EUI_ECL_FACT_FIGURES', importLocation: '@eui/ecl/components/ecl-fact-figures' },\n  { module: 'EclIconComponentModule', importObj: 'EUI_ECL_ICON', importLocation: '@eui/ecl/components/ecl-icon' },\n  { module: 'EclLinkDirectiveModule', importObj: 'EUI_ECL_LINK', importLocation: '@eui/ecl/components/ecl-link' },\n  { module: 'EclBreadcrumbComponentModule', importObj: 'EUI_ECL_BREADCRUMB', importLocation: '@eui/ecl/components/ecl-breadcrumb' },\n  { module: 'EclPageHeaderComponentModule', importObj: 'EUI_ECL_PAGE_HEADER', importLocation: '@eui/ecl/components/ecl-page-header' },\n  { module: 'EclAccordionComponentModule', importObj: 'EUI_ECL_ACCORDION', importLocation: '@eui/ecl/components/ecl-accordion' },\n  { module: 'EclAccordionToggleEvent', importObj: 'EclAccordionToggleEvent', importLocation: '@eui/ecl/components/ecl-accordion', cmpArray: false },\n  // EUI components\n  { module: 'EuiLayoutModule', importObj: 'EUI_LAYOUT', importLocation: '@eui/components/layout' },\n  { module: 'EuiGrowlModule', importObj: 'EUI_GROWL', importLocation: '@eui/components/eui-growl' },\n  { selectorPrefix: 'eui-page', module: 'EuiPageModule', importObj: 'EUI_PAGE', importLocation: '@eui/components/eui-page' },\n  { selectorPrefix: 'eui-card', module: 'EuiCardModule', importObj: 'EUI_CARD', importLocation: '@eui/components/eui-card' },\n  { module: 'EuiSelectModule', importObj: 'EUI_SELECT', importLocation: '@eui/components/eui-select' },\n  { module: 'EuiDialogModule', importObj: 'EUI_DIALOG', importLocation: '@eui/components/eui-dialog' },\n  { module: 'EuiChipModule', importObj: 'EUI_CHIP', importLocation: '@eui/components/eui-chip' },\n  { module: 'EuiChipListModule', importObj: 'EUI_CHIP_LIST', importLocation: '@eui/components/eui-chip-list' },\n  { module: 'EuiInputGroupModule', importObj: 'EUI_INPUT_GROUP', importLocation: '@eui/components/eui-input-group' },\n  { selectorPrefix: 'eui-icon-svg', module: 'EuiIconModule', importObj: 'EUI_ICON', importLocation: '@eui/components/eui-icon' },\n  { module: 'EuiMessageBoxModule', importObj: 'EUI_MESSAGE_BOX', importLocation: '@eui/components/eui-message-box' },\n  { module: 'EuiListModule', importObj: 'EUI_LIST', importLocation: '@eui/components/eui-list' },\n  { module: 'EuiAutocompleteModule', importObj: 'EUI_AUTOCOMPLETE', importLocation: '@eui/components/eui-autocomplete' },\n  { module: 'EuiLabelModule', importObj: 'EUI_LABEL', importLocation: '@eui/components/eui-label' },\n  { module: 'EuiButtonModule', importObj: 'EUI_BUTTON', importLocation: '@eui/components/eui-button' },\n  { module: 'EuiBadgeModule', importObj: 'EUI_BADGE', importLocation: '@eui/components/eui-badge' },\n  { module: 'EuiInputTextModule', importObj: 'EUI_INPUT_TEXT', importLocation: '@eui/components/eui-input-text' },\n  { module: 'EuiInputCheckboxModule', importObj: 'EUI_INPUT_CHECKBOX', importLocation: '@eui/components/eui-input-checkbox' },\n  { module: 'EuiDatepickerModule', importObj: 'EUI_DATEPICKER', importLocation: '@eui/components/eui-datepicker' },\n  { module: 'EuiDisableContentModule', importObj: 'EUI_DISABLE_CONTENT', importLocation: '@eui/components/eui-disable-content' },\n  { selectorPrefix: 'eui-table', module: 'EuiTableModule', importObj: 'EUI_TABLE', importLocation: '@eui/components/eui-table' },\n  { module: 'EuiTableV2Module', importObj: 'EUI_TABLE', importLocation: '@eui/components/eui-table' },\n  { selectorPrefix: 'eui-paginator', module: 'EuiPaginatorModule', importObj: 'EUI_PAGINATOR', importLocation: '@eui/components/eui-paginator' },\n  { selectorPrefix: 'eui-feedback-message', module: 'EuiFeedbackMessageModule', importObj: 'EUI_FEEDBACK_MESSAGE', importLocation: '@eui/components/eui-feedback-message' },\n  { module: 'EuiTextAreaModule', importObj: 'EUI_TEXTAREA', importLocation: '@eui/components/eui-textarea' },\n  { module: 'EuiDropdownModule', importObj: 'EUI_DROPDOWN', importLocation: '@eui/components/eui-dropdown' },\n  { module: 'EuiAlertModule', importObj: 'EUI_ALERT', importLocation: '@eui/components/eui-alert' },\n  { module: 'EuiSlideToggleModule', importObj: 'EUI_SLIDE_TOGGLE', importLocation: '@eui/components/eui-slide-toggle' },\n  { module: 'EuiInputRadioModule', importObj: 'EUI_INPUT_RADIO', importLocation: '@eui/components/eui-input-radio' },\n  { module: 'EuiButtonGroupModule', importObj: 'EUI_BUTTON_GROUP', importLocation: '@eui/components/eui-button-group' },\n  { module: 'EuiFieldsetModule', importObj: 'EUI_FIELDSET', importLocation: '@eui/components/eui-fieldset' },\n  { module: 'EuiSidebarMenuModule', importObj: 'EUI_SIDEBAR_MENU', importLocation: '@eui/components/eui-sidebar-menu' },\n  { module: 'EuiIconToggleModule', importObj: 'EUI_ICON_TOGGLE', importLocation: '@eui/components/eui-icon-toggle' },\n  { module: 'EuiTreeModule', importObj: 'EUI_TREE', importLocation: '@eui/components/eui-tree' },\n  { module: 'EuiWizardModule', importObj: 'EUI_WIZARD', importLocation: '@eui/components/eui-wizard' },\n  { module: 'EuiPopoverModule', importObj: 'EUI_POPOVER', importLocation: '@eui/components/eui-popover' },\n  { module: 'EuiBlockContentModule', importObj: 'EUI_BLOCK_CONTENT', importLocation: '@eui/components/eui-block-content' },\n  { module: 'EuiDateRangeSelectorModule', importObj: 'EUI_DATE_RANGE_SELECTOR', importLocation: '@eui/components/eui-date-range-selector' },\n  { module: 'EuiFileUploadModule', importObj: 'EUI_FILE_UPLOAD', importLocation: '@eui/components/eui-file-upload' },\n  { selectorPrefix: 'eui-tab', module: 'EuiTabsModule', importObj: 'EUI_TABS', importLocation: '@eui/components/eui-tabs' },\n  { module: 'EuiTimepickerModule', importObj: 'EUI_TIMEPICKER', importLocation: '@eui/components/eui-timepicker' },\n  { module: 'EuiOverlayModule', importObj: 'EUI_OVERLAY', importLocation: '@eui/components/eui-overlay' },\n  { module: 'EuiProgressBarModule', importObj: 'EUI_PROGRESS_BAR', importLocation: '@eui/components/eui-progress-bar' },\n  { module: 'EuiTreeListModule', importObj: 'EUI_TREE_LIST', importLocation: '@eui/components/eui-tree-list' },\n  { module: 'EuiBreadcrumbModule', importObj: 'EUI_BREADCRUMB', importLocation: '@eui/components/eui-breadcrumb' },\n  { module: 'EuiProgressCircleModule', importObj: 'EUI_PROGRESS_CIRCLE', importLocation: '@eui/components/eui-progress-circle' },\n  { module: 'EuiSkeletonModule', importObj: 'EUI_SKELETON', importLocation: '@eui/components/eui-skeleton' },\n  { module: 'EuiAvatarModule', importObj: 'EUI_AVATAR', importLocation: '@eui/components/eui-avatar' },\n  { module: 'EuiIconButtonModule', importObj: 'EUI_ICON_BUTTON', importLocation: '@eui/components/eui-icon-button' },\n  { module: 'EuiUserProfileModule', importObj: 'EUI_USER_PROFILE', importLocation: '@eui/components/eui-user-profile' },\n  { module: 'EuiInputNumberModule', importObj: 'EUI_INPUT_NUMBER', importLocation: '@eui/components/eui-input-number' },\n  { module: 'EuiInputNumberDirectiveModule', importObj: 'EUI_INPUT_NUMBER', importLocation: '@eui/components/eui-input-number' },\n  { module: 'EuiDashboardCardModule', importObj: 'EUI_DASHBOARD_CARD', importLocation: '@eui/components/eui-dashboard-card' },\n  { module: 'EuiMenuModule', importObj: 'EUI_MENU', importLocation: '@eui/components/eui-menu' },\n  { module: 'EuiChartsModule', importObj: 'EUI_CHARTS', importLocation: '@eui/components/externals/charts' },\n  { module: 'EuiChipGroupModule', importObj: 'EUI_CHIP_GROUP', importLocation: '@eui/components/eui-chip-group' },\n  { module: 'EuiTimelineModule', importObj: 'EUI_TIMELINE', importLocation: '@eui/components/eui-timeline' },\n  { selectorPrefix: 'eui-discussion-thread', module: 'EuiDiscussionThreadModule', importObj: 'EUI_DISCUSSION_THREAD', importLocation: '@eui/components/eui-discussion-thread' },\n  { module: 'EuiDashboardButtonModule', importObj: 'EUI_DASHBOARD_CARD', importLocation: '@eui/components/eui-dashboard-card' },\n  // Directives and pipes (cmpArray: false means no spread)\n  { module: 'EuiTooltipDirectiveModule', importObj: 'EuiTooltipDirective', importLocation: '@eui/components/directives', cmpArray: false },\n  { module: 'EuiTemplateDirectiveModule', importObj: 'EuiTemplateDirective', importLocation: '@eui/components/directives', cmpArray: false },\n  { module: 'EuiResizableDirectiveModule', importObj: 'EuiResizableDirective', importLocation: '@eui/components/directives', cmpArray: false },\n  { module: 'EuiMaxLengthDirectiveModule', importObj: 'EuiMaxLengthDirective', importLocation: '@eui/components/directives', cmpArray: false },\n  { module: 'EuiTruncatePipeModule', importObj: 'EuiTruncatePipe', importLocation: '@eui/components/pipes', cmpArray: false },\n  { module: 'EuiDropdownTreeDirectiveModule', importObj: 'EuiDropdownTreeDirective', importLocation: '@eui/components/eui-tree', cmpArray: false },\n];\n\n/**\n * Replaces individual EUI module references with their new standalone imports.\n * Handles import statements (removes module, adds new import) and usage in arrays (replaces with spread).\n */\nexport function replaceEuiModules(fileContent: string, lines: string[]): { updated: boolean; lines: string[] } {\n  const endImportBlockPos = getEndImportBlockPos(lines);\n  const newImports: string[] = [];\n  let fileUpdated = false;\n\n  for (let index = 0; index < lines.length; index++) {\n    for (const entry of EUI_COMPONENTS_BASE) {\n      if (lines[index].indexOf(entry.module) === -1) continue;\n\n      if (index < endImportBlockPos) {\n        // In import block: remove the module name\n        lines[index] = lines[index].split(entry.module + ',').join('');\n        lines[index] = lines[index].split(entry.module).join('');\n        // Clean up trailing/leading commas and extra whitespace in braces\n        lines[index] = lines[index]\n          .replace(/,\\s*}/g, ' }')\n          .replace(/{\\s*,/g, '{ ')\n          .replace(/,\\s*,/g, ',')\n          .replace(/\\s{2,}/g, ' ');\n        // Remove entirely empty import lines\n        if (/import\\s*{\\s*}\\s*from\\s/.test(lines[index])) {\n          lines[index] = '';\n        }\n        // Add new import if not already present\n        const newImport = `import { ${entry.importObj} } from '${entry.importLocation}';`;\n        if (fileContent.indexOf(`import { ${entry.importObj} }`) === -1 &&\n            fileContent.indexOf(`import { ${entry.importObj},`) === -1 &&\n            !newImports.includes(newImport)) {\n          newImports.push(newImport);\n        }\n      } else {\n        // In usage (imports array, etc.): replace with spread or direct\n        if (entry.cmpArray !== false) {\n          lines[index] = lines[index].split(entry.module).join(`...${entry.importObj}`);\n        } else {\n          lines[index] = lines[index].split(entry.module).join(entry.importObj);\n        }\n      }\n      fileUpdated = true;\n    }\n  }\n\n  if (fileUpdated && newImports.length > 0) {\n    lines = [...newImports, ...lines];\n  }\n\n  return { updated: fileUpdated, lines };\n}\n\n/**\n * Replaces EuiAllModule with specific component imports detected from sibling HTML files.\n */\nexport function replaceEuiAllModule(tree: Tree, filePath: string, content: string): string {\n  if (content.indexOf('EuiAllModule') === -1) return content;\n\n  const htmlFiles = getSiblingHtmlFiles(tree, filePath);\n  const newImports: string[] = [];\n  const newCmpImports: string[] = [];\n\n  for (const htmlFile of htmlFiles) {\n    const buffer = tree.read(htmlFile);\n    if (!buffer) continue;\n    const html = buffer.toString();\n    const matches = html.match(/eui-(?!u)(?!icon)(?!flag)([a-zA-Z](-[a-zA-Z])?)*/g);\n    if (!matches) continue;\n\n    const unique = [...new Set(matches)];\n    for (const selector of unique) {\n      const found = EUI_COMPONENTS_BASE.find(e => e.selectorPrefix && selector.indexOf(e.selectorPrefix) > -1);\n      if (found) {\n        const imp = `import { ${found.importObj} } from '${found.importLocation}';`;\n        if (!newImports.includes(imp)) newImports.push(imp);\n        const cmpImp = `...${found.importObj}`;\n        if (!newCmpImports.includes(cmpImp)) newCmpImports.push(cmpImp);\n      }\n    }\n  }\n\n  content = content.replace('import { EuiAllModule } from \\'@eui/components\\';', newImports.join('\\n'));\n  content = content.replace('EuiAllModule,', newCmpImports.join(', ') + ',');\n  content = content.replace(/[\\r\\n]{3,}/g, '\\n');\n  return content;\n}\n\n/**\n * Replaces EclAllModule with specific ECL component imports detected from sibling HTML files.\n */\nexport function replaceEclAllModule(tree: Tree, filePath: string, content: string): string {\n  if (content.indexOf('EclAllModule') === -1) return content;\n\n  const htmlFiles = getSiblingHtmlFiles(tree, filePath);\n  const newImports: string[] = [];\n  const newCmpImports: string[] = [];\n\n  for (const htmlFile of htmlFiles) {\n    const buffer = tree.read(htmlFile);\n    if (!buffer) continue;\n    const html = buffer.toString();\n    const matches = html.match(/ecl-(?!u)(?!icon)(?!flag)([a-zA-Z](-[a-zA-Z])?)*/g);\n    if (!matches) continue;\n\n    const unique = [...new Set(matches)];\n    for (const selector of unique) {\n      const found = EUI_COMPONENTS_BASE.find(e => e.selectorPrefix && selector.indexOf(e.selectorPrefix) > -1);\n      if (found) {\n        const imp = `import { ${found.importObj} } from '${found.importLocation}';`;\n        if (!newImports.includes(imp) && content.indexOf(imp) === -1) newImports.push(imp);\n        const cmpImp = `...${found.importObj}`;\n        if (!newCmpImports.includes(cmpImp)) newCmpImports.push(cmpImp);\n      }\n    }\n  }\n\n  // Remove EclAllModule from imports and usage, prepend new imports\n  content = content.split('EclAllModule,').join('');\n  content = content.split('EclAllModule').join('');\n  if (newCmpImports.length > 0) {\n    // Find the imports array and add the new component imports\n    // Since we removed EclAllModule, we need to add the replacements in the imports array\n    // This is a simplified approach - prepend new imports at top\n    content = newImports.join('\\n') + '\\n' + content;\n  }\n  content = content.replace(/[\\r\\n]{3,}/g, '\\n');\n  return content;\n}\n",
            "properties": [
                {
                    "name": "cmpArray",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 9
                },
                {
                    "name": "importLocation",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "importObj",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 7
                },
                {
                    "name": "module",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 6
                },
                {
                    "name": "selectorPrefix",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 5
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiTimeZone",
            "id": "interface-EuiTimeZone-4afbee8f7c1e9c20a266db4ceb15a00639ac74c6b4c2bdcbc1b29b7ad095cf8d2a4ff195615c0239ed3a3701b5b4c00d87b2c985fbca819eee0d7e7c32203801",
            "file": "packages/core/src/lib/services/eui-timezone.service.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Injectable } from '@angular/core';\n\nexport const EUI_COUNTRIES = {\n    AF: 'Afghanistan',\n    AX: 'Aland Islands',\n    AL: 'Albania',\n    DZ: 'Algeria',\n    AS: 'American Samoa',\n    AD: 'Andorra',\n    AO: 'Angola',\n    AI: 'Anguilla',\n    AQ: 'Antarctica',\n    AG: 'Antigua and Barbuda',\n    AR: 'Argentina',\n    AM: 'Armenia',\n    AW: 'Aruba',\n    AU: 'Australia',\n    AT: 'Austria',\n    AZ: 'Azerbaijan',\n    BS: 'Bahamas',\n    BH: 'Bahrain',\n    BD: 'Bangladesh',\n    BB: 'Barbados',\n    BY: 'Belarus',\n    BE: 'Belgium',\n    BZ: 'Belize',\n    BJ: 'Benin',\n    BM: 'Bermuda',\n    BT: 'Bhutan',\n    BO: 'Bolivia',\n    BA: 'Bosnia and Herzegovina',\n    BW: 'Botswana',\n    BV: 'Bouvet Island',\n    BR: 'Brazil',\n    VG: 'British Virgin Islands',\n    IO: 'British Indian Ocean Territory',\n    BN: 'Brunei Darussalam',\n    BG: 'Bulgaria',\n    BF: 'Burkina Faso',\n    BI: 'Burundi',\n    KH: 'Cambodia',\n    CM: 'Cameroon',\n    CA: 'Canada',\n    CV: 'Cape Verde',\n    KY: 'Cayman Islands',\n    CF: 'Central African Republic',\n    TD: 'Chad',\n    CL: 'Chile',\n    CN: 'China',\n    HK: 'Hong Kong',\n    MO: 'Macao',\n    CX: 'Christmas Island',\n    CC: 'Cocos (Keeling) Islands',\n    CO: 'Colombia',\n    KM: 'Comoros',\n    CG: 'Congo (Brazzaville)',\n    CD: 'Congo, (Kinshasa)',\n    CK: 'Cook Islands',\n    CR: 'Costa Rica',\n    CI: \"Côte d'Ivoire\",\n    HR: 'Croatia',\n    CU: 'Cuba',\n    CY: 'Cyprus',\n    CZ: 'Czech Republic',\n    DK: 'Denmark',\n    DJ: 'Djibouti',\n    DM: 'Dominica',\n    DO: 'Dominican Republic',\n    EC: 'Ecuador',\n    EG: 'Egypt',\n    SV: 'El Salvador',\n    GQ: 'Equatorial Guinea',\n    ER: 'Eritrea',\n    EE: 'Estonia',\n    ET: 'Ethiopia',\n    FK: 'Falkland Islands (Malvinas)',\n    FO: 'Faroe Islands',\n    FJ: 'Fiji',\n    FI: 'Finland',\n    FR: 'France',\n    GF: 'French Guiana',\n    PF: 'French Polynesia',\n    TF: 'French Southern Territories',\n    GA: 'Gabon',\n    GM: 'Gambia',\n    GE: 'Georgia',\n    DE: 'Germany',\n    GH: 'Ghana',\n    GI: 'Gibraltar',\n    GR: 'Greece',\n    GL: 'Greenland',\n    GD: 'Grenada',\n    GP: 'Guadeloupe',\n    GU: 'Guam',\n    GT: 'Guatemala',\n    GG: 'Guernsey',\n    GN: 'Guinea',\n    GW: 'Guinea-Bissau',\n    GY: 'Guyana',\n    HT: 'Haiti',\n    HM: 'Heard and Mcdonald Islands',\n    VA: 'Vatican City State',\n    HN: 'Honduras',\n    HU: 'Hungary',\n    IS: 'Iceland',\n    IN: 'India',\n    ID: 'Indonesia',\n    IR: 'Iran',\n    IQ: 'Iraq',\n    IE: 'Ireland',\n    IM: 'Isle of Man',\n    IL: 'Israel',\n    IT: 'Italy',\n    JM: 'Jamaica',\n    JP: 'Japan',\n    JE: 'Jersey',\n    JO: 'Jordan',\n    KZ: 'Kazakhstan',\n    KE: 'Kenya',\n    KI: 'Kiribati',\n    KP: 'Korea (North)',\n    KR: 'Korea (South)',\n    KW: 'Kuwait',\n    KG: 'Kyrgyzstan',\n    LA: 'Lao PDR',\n    LV: 'Latvia',\n    LB: 'Lebanon',\n    LS: 'Lesotho',\n    LR: 'Liberia',\n    LY: 'Libya',\n    LI: 'Liechtenstein',\n    LT: 'Lithuania',\n    LU: 'Luxembourg',\n    MK: 'Macedonia',\n    MG: 'Madagascar',\n    MW: 'Malawi',\n    MY: 'Malaysia',\n    MV: 'Maldives',\n    ML: 'Mali',\n    MT: 'Malta',\n    MH: 'Marshall Islands',\n    MQ: 'Martinique',\n    MR: 'Mauritania',\n    MU: 'Mauritius',\n    YT: 'Mayotte',\n    MX: 'Mexico',\n    FM: 'Micronesia',\n    MD: 'Moldova',\n    MC: 'Monaco',\n    MN: 'Mongolia',\n    ME: 'Montenegro',\n    MS: 'Montserrat',\n    MA: 'Morocco',\n    MZ: 'Mozambique',\n    MM: 'Myanmar',\n    NA: 'Namibia',\n    NR: 'Nauru',\n    NP: 'Nepal',\n    NL: 'Netherlands',\n    AN: 'Netherlands Antilles',\n    NC: 'New Caledonia',\n    NZ: 'New Zealand',\n    NI: 'Nicaragua',\n    NE: 'Niger',\n    NG: 'Nigeria',\n    NU: 'Niue',\n    NF: 'Norfolk Island',\n    MP: 'Northern Mariana Islands',\n    NO: 'Norway',\n    OM: 'Oman',\n    PK: 'Pakistan',\n    PW: 'Palau',\n    PS: 'Palestinian Territory',\n    PA: 'Panama',\n    PG: 'Papua New Guinea',\n    PY: 'Paraguay',\n    PE: 'Peru',\n    PH: 'Philippines',\n    PN: 'Pitcairn',\n    PL: 'Poland',\n    PT: 'Portugal',\n    PR: 'Puerto Rico',\n    QA: 'Qatar',\n    RE: 'Réunion',\n    RO: 'Romania',\n    RU: 'Russian Federation',\n    RW: 'Rwanda',\n    BL: 'Saint-Barthélemy',\n    SH: 'Saint Helena',\n    KN: 'Saint Kitts and Nevis',\n    LC: 'Saint Lucia',\n    MF: 'Saint-Martin (French part)',\n    PM: 'Saint Pierre and Miquelon',\n    VC: 'Saint Vincent and Grenadines',\n    WS: 'Samoa',\n    SM: 'San Marino',\n    ST: 'Sao Tome and Principe',\n    SA: 'Saudi Arabia',\n    SN: 'Senegal',\n    RS: 'Serbia',\n    SC: 'Seychelles',\n    SL: 'Sierra Leone',\n    SG: 'Singapore',\n    SK: 'Slovakia',\n    SI: 'Slovenia',\n    SB: 'Solomon Islands',\n    SO: 'Somalia',\n    ZA: 'South Africa',\n    GS: 'South Georgia and the South Sandwich Islands',\n    SS: 'South Sudan',\n    ES: 'Spain',\n    LK: 'Sri Lanka',\n    SD: 'Sudan',\n    SR: 'Suriname',\n    SJ: 'Svalbard and Jan Mayen Islands',\n    SZ: 'Swaziland',\n    SE: 'Sweden',\n    CH: 'Switzerland',\n    SY: 'Syria',\n    TW: 'Taiwan',\n    TJ: 'Tajikistan',\n    TZ: 'Tanzania',\n    TH: 'Thailand',\n    TL: 'Timor-Leste',\n    TG: 'Togo',\n    TK: 'Tokelau',\n    TO: 'Tonga',\n    TT: 'Trinidad and Tobago',\n    TN: 'Tunisia',\n    TR: 'Turkey',\n    TM: 'Turkmenistan',\n    TC: 'Turks and Caicos Islands',\n    TV: 'Tuvalu',\n    UG: 'Uganda',\n    UA: 'Ukraine',\n    AE: 'United Arab Emirates',\n    GB: 'United Kingdom (GB)',\n    US: 'United States of America (USA)',\n    UM: 'US Minor Outlying Islands',\n    UY: 'Uruguay',\n    UZ: 'Uzbekistan',\n    VU: 'Vanuatu',\n    VE: 'Venezuela',\n    VN: 'Viet Nam',\n    VI: 'Virgin Islands, US',\n    WF: 'Wallis and Futuna Islands',\n    EH: 'Western Sahara',\n    YE: 'Yemen',\n    ZM: 'Zambia',\n    ZW: 'Zimbabwe',\n};\n\nexport interface EuiTimeZone {\n    name: string;\n    desc: string;\n}\n\nexport const EUI_TIMEZONES: EuiTimeZone[] = [\n    { name: 'Europe/Andorra', desc: 'Andorra - Andorra (GMT+02:00)' },\n    { name: 'Asia/Dubai', desc: 'United Arab Emirates - Dubai (GMT+04:00)' },\n    { name: 'Asia/Kabul', desc: 'Afghanistan - Kabul (GMT+04:30)' },\n    { name: 'America/Antigua', desc: 'Antigua and Barbuda - Antigua (GMT-04:00)' },\n    { name: 'America/Anguilla', desc: 'Anguilla - Anguilla (GMT-04:00)' },\n    { name: 'Europe/Tirane', desc: 'Albania - Tirane (GMT+02:00)' },\n    { name: 'Asia/Yerevan', desc: 'Armenia - Yerevan (GMT+04:00)' },\n    { name: 'Africa/Luanda', desc: 'Angola - Luanda (GMT+01:00)' },\n    { name: 'Antarctica/McMurdo', desc: 'Antarctica - McMurdo (GMT+12:00)' },\n    { name: 'Antarctica/Rothera', desc: 'Antarctica - Rothera (GMT-03:00)' },\n    { name: 'Antarctica/Palmer', desc: 'Antarctica - Palmer (GMT-03:00)' },\n    { name: 'Antarctica/Mawson', desc: 'Antarctica - Mawson (GMT+05:00)' },\n    { name: 'Antarctica/Davis', desc: 'Antarctica - Davis (GMT+07:00)' },\n    { name: 'Antarctica/Casey', desc: 'Antarctica - Casey (GMT+08:00)' },\n    { name: 'Antarctica/Vostok', desc: 'Antarctica - Vostok (GMT+06:00)' },\n    { name: 'Antarctica/DumontDUrville', desc: 'Antarctica - DumontDUrville (GMT+10:00)' },\n    { name: 'Antarctica/Syowa', desc: 'Antarctica - Syowa (GMT+03:00)' },\n    { name: 'Antarctica/Troll', desc: 'Antarctica - Troll (GMT+02:00)' },\n    { name: 'America/Argentina/Buenos_Aires', desc: 'Argentina - Buenos Aires (GMT-03:00)' },\n    { name: 'America/Argentina/Cordoba', desc: 'Argentina - Cordoba (GMT-03:00)' },\n    { name: 'America/Argentina/Salta', desc: 'Argentina - Salta (GMT-03:00)' },\n    { name: 'America/Argentina/Jujuy', desc: 'Argentina - Jujuy (GMT-03:00)' },\n    { name: 'America/Argentina/Tucuman', desc: 'Argentina - Tucuman (GMT-03:00)' },\n    { name: 'America/Argentina/Catamarca', desc: 'Argentina - Catamarca (GMT-03:00)' },\n    { name: 'America/Argentina/La_Rioja', desc: 'Argentina - La Rioja (GMT-03:00)' },\n    { name: 'America/Argentina/San_Juan', desc: 'Argentina - San Juan (GMT-03:00)' },\n    { name: 'America/Argentina/Mendoza', desc: 'Argentina - Mendoza (GMT-03:00)' },\n    { name: 'America/Argentina/San_Luis', desc: 'Argentina - San Luis (GMT-03:00)' },\n    { name: 'America/Argentina/Rio_Gallegos', desc: 'Argentina - Rio Gallegos (GMT-03:00)' },\n    { name: 'America/Argentina/Ushuaia', desc: 'Argentina - Ushuaia (GMT-03:00)' },\n    { name: 'Pacific/Pago_Pago', desc: 'American Samoa - Pago Pago (GMT-11:00)' },\n    { name: 'Pacific/Samoa', desc: 'American Samoa - Samoa (GMT-11:00)' },\n    { name: 'Europe/Vienna', desc: 'Austria - Vienna (GMT+02:00)' },\n    { name: 'Australia/Lord_Howe', desc: 'Australia - Lord Howe (GMT+10:30)' },\n    { name: 'Antarctica/Macquarie', desc: 'Australia - Macquarie (GMT+11:00)' },\n    { name: 'Australia/Hobart', desc: 'Australia - Hobart (GMT+10:00)' },\n    { name: 'Australia/Currie', desc: 'Australia - Currie (GMT+10:00)' },\n    { name: 'Australia/Melbourne', desc: 'Australia - Melbourne (GMT+10:00)' },\n    { name: 'Australia/Sydney', desc: 'Australia - Sydney (GMT+10:00)' },\n    { name: 'Australia/Broken_Hill', desc: 'Australia - Broken Hill (GMT+09:30)' },\n    { name: 'Australia/Brisbane', desc: 'Australia - Brisbane (GMT+10:00)' },\n    { name: 'Australia/Lindeman', desc: 'Australia - Lindeman (GMT+10:00)' },\n    { name: 'Australia/Adelaide', desc: 'Australia - Adelaide (GMT+09:30)' },\n    { name: 'Australia/Darwin', desc: 'Australia - Darwin (GMT+09:30)' },\n    { name: 'Australia/Perth', desc: 'Australia - Perth (GMT+08:00)' },\n    { name: 'Australia/Eucla', desc: 'Australia - Eucla (GMT+08:45)' },\n    { name: 'Australia/Canberra', desc: 'Australia - Canberra (GMT+10:00)' },\n    { name: 'Australia/Queensland', desc: 'Australia - Queensland (GMT+10:00)' },\n    { name: 'Australia/Tasmania', desc: 'Australia - Tasmania (GMT+10:00)' },\n    { name: 'Australia/Victoria', desc: 'Australia - Victoria (GMT+10:00)' },\n    { name: 'America/Aruba', desc: 'Aruba - Aruba (GMT-04:00)' },\n    { name: 'Europe/Mariehamn', desc: 'Aland Islands - Mariehamn (GMT+03:00)' },\n    { name: 'Asia/Baku', desc: 'Azerbaijan - Baku (GMT+04:00)' },\n    { name: 'Europe/Sarajevo', desc: 'Bosnia and Herzegovina - Sarajevo (GMT+02:00)' },\n    { name: 'America/Barbados', desc: 'Barbados - Barbados (GMT-04:00)' },\n    { name: 'Asia/Dhaka', desc: 'Bangladesh - Dhaka (GMT+06:00)' },\n    { name: 'Europe/Brussels', desc: 'Belgium - Brussels (GMT+02:00)' },\n    { name: 'Africa/Ouagadougou', desc: 'Burkina Faso - Ouagadougou (GMT+00:00)' },\n    { name: 'Europe/Sofia', desc: 'Bulgaria - Sofia (GMT+03:00)' },\n    { name: 'Asia/Bahrain', desc: 'Bahrain - Bahrain (GMT+03:00)' },\n    { name: 'Africa/Bujumbura', desc: 'Burundi - Bujumbura (GMT+02:00)' },\n    { name: 'Africa/Porto-Novo', desc: 'Benin - Porto-Novo (GMT+01:00)' },\n    { name: 'America/St_Barthelemy', desc: 'Saint-Barthélemy - St Barthelemy (GMT-04:00)' },\n    { name: 'Atlantic/Bermuda', desc: 'Bermuda - Bermuda (GMT-03:00)' },\n    { name: 'Asia/Brunei', desc: 'Brunei Darussalam - Brunei (GMT+08:00)' },\n    { name: 'America/La_Paz', desc: 'Bolivia - La Paz (GMT-04:00)' },\n    { name: 'America/Kralendijk', desc: 'BQ - Kralendijk (GMT-04:00)' },\n    { name: 'America/Noronha', desc: 'Brazil - Noronha (GMT-02:00)' },\n    { name: 'America/Belem', desc: 'Brazil - Belem (GMT-03:00)' },\n    { name: 'America/Fortaleza', desc: 'Brazil - Fortaleza (GMT-03:00)' },\n    { name: 'America/Recife', desc: 'Brazil - Recife (GMT-03:00)' },\n    { name: 'America/Araguaina', desc: 'Brazil - Araguaina (GMT-03:00)' },\n    { name: 'America/Maceio', desc: 'Brazil - Maceio (GMT-03:00)' },\n    { name: 'America/Bahia', desc: 'Brazil - Bahia (GMT-03:00)' },\n    { name: 'America/Sao_Paulo', desc: 'Brazil - Sao Paulo (GMT-03:00)' },\n    { name: 'America/Campo_Grande', desc: 'Brazil - Campo Grande (GMT-04:00)' },\n    { name: 'America/Cuiaba', desc: 'Brazil - Cuiaba (GMT-04:00)' },\n    { name: 'America/Santarem', desc: 'Brazil - Santarem (GMT-03:00)' },\n    { name: 'America/Porto_Velho', desc: 'Brazil - Porto Velho (GMT-04:00)' },\n    { name: 'America/Boa_Vista', desc: 'Brazil - Boa Vista (GMT-04:00)' },\n    { name: 'America/Manaus', desc: 'Brazil - Manaus (GMT-04:00)' },\n    { name: 'America/Eirunepe', desc: 'Brazil - Eirunepe (GMT-05:00)' },\n    { name: 'America/Rio_Branco', desc: 'Brazil - Rio Branco (GMT-05:00)' },\n    { name: 'America/Nassau', desc: 'Bahamas - Nassau (GMT-04:00)' },\n    { name: 'Asia/Thimphu', desc: 'Bhutan - Thimphu (GMT+06:00)' },\n    { name: 'Africa/Gaborone', desc: 'Botswana - Gaborone (GMT+02:00)' },\n    { name: 'Europe/Minsk', desc: 'Belarus - Minsk (GMT+03:00)' },\n    { name: 'America/Belize', desc: 'Belize - Belize (GMT-06:00)' },\n    { name: 'America/St_Johns', desc: 'Canada - St Johns (GMT-02:30)' },\n    { name: 'America/Halifax', desc: 'Canada - Halifax (GMT-03:00)' },\n    { name: 'America/Glace_Bay', desc: 'Canada - Glace Bay (GMT-03:00)' },\n    { name: 'America/Moncton', desc: 'Canada - Moncton (GMT-03:00)' },\n    { name: 'America/Goose_Bay', desc: 'Canada - Goose Bay (GMT-03:00)' },\n    { name: 'America/Blanc-Sablon', desc: 'Canada - Blanc-Sablon (GMT-04:00)' },\n    { name: 'America/Toronto', desc: 'Canada - Toronto (GMT-04:00)' },\n    { name: 'America/Nipigon', desc: 'Canada - Nipigon (GMT-04:00)' },\n    { name: 'America/Thunder_Bay', desc: 'Canada - Thunder Bay (GMT-04:00)' },\n    { name: 'America/Iqaluit', desc: 'Canada - Iqaluit (GMT-04:00)' },\n    { name: 'America/Pangnirtung', desc: 'Canada - Pangnirtung (GMT-04:00)' },\n    { name: 'America/Resolute', desc: 'Canada - Resolute (GMT-05:00)' },\n    { name: 'America/Atikokan', desc: 'Canada - Atikokan (GMT-05:00)' },\n    { name: 'America/Rankin_Inlet', desc: 'Canada - Rankin Inlet (GMT-05:00)' },\n    { name: 'America/Winnipeg', desc: 'Canada - Winnipeg (GMT-05:00)' },\n    { name: 'America/Rainy_River', desc: 'Canada - Rainy River (GMT-05:00)' },\n    { name: 'America/Regina', desc: 'Canada - Regina (GMT-06:00)' },\n    { name: 'America/Swift_Current', desc: 'Canada - Swift Current (GMT-06:00)' },\n    { name: 'America/Edmonton', desc: 'Canada - Edmonton (GMT-06:00)' },\n    { name: 'America/Cambridge_Bay', desc: 'Canada - Cambridge Bay (GMT-06:00)' },\n    { name: 'America/Yellowknife', desc: 'Canada - Yellowknife (GMT-06:00)' },\n    { name: 'America/Inuvik', desc: 'Canada - Inuvik (GMT-06:00)' },\n    { name: 'America/Creston', desc: 'Canada - Creston (GMT-07:00)' },\n    { name: 'America/Dawson_Creek', desc: 'Canada - Dawson Creek (GMT-07:00)' },\n    { name: 'America/Vancouver', desc: 'Canada - Vancouver (GMT-07:00)' },\n    { name: 'America/Whitehorse', desc: 'Canada - Whitehorse (GMT-07:00)' },\n    { name: 'America/Dawson', desc: 'Canada - Dawson (GMT-07:00)' },\n    { name: 'America/Montreal', desc: 'Canada - Montreal (GMT-04:00)' },\n    { name: 'Canada/Atlantic', desc: 'Canada - Atlantic (GMT-03:00)' },\n    { name: 'Canada/Central', desc: 'Canada - Central (GMT-05:00)' },\n    { name: 'Canada/Eastern', desc: 'Canada - Eastern (GMT-04:00)' },\n    { name: 'Canada/Mountain', desc: 'Canada - Mountain (GMT-06:00)' },\n    { name: 'Canada/Newfoundland', desc: 'Canada - Newfoundland (GMT-02:30)' },\n    { name: 'Canada/Pacific', desc: 'Canada - Pacific (GMT-07:00)' },\n    { name: 'Canada/Saskatchewan', desc: 'Canada - Saskatchewan (GMT-06:00)' },\n    { name: 'Canada/Yukon', desc: 'Canada - Yukon (GMT-07:00)' },\n    { name: 'Indian/Cocos', desc: 'Cocos (Keeling) Islands - Cocos (GMT+06:30)' },\n    { name: 'Africa/Kinshasa', desc: 'Congo, (Kinshasa) - Kinshasa (GMT+01:00)' },\n    { name: 'Africa/Lubumbashi', desc: 'Congo, (Kinshasa) - Lubumbashi (GMT+02:00)' },\n    { name: 'Africa/Bangui', desc: 'Central African Republic - Bangui (GMT+01:00)' },\n    { name: 'Africa/Brazzaville', desc: 'Congo (Brazzaville) - Brazzaville (GMT+01:00)' },\n    { name: 'Europe/Zurich', desc: 'Switzerland - Zurich (GMT+02:00)' },\n    { name: 'Africa/Abidjan', desc: \"Côte d'Ivoire - Abidjan (GMT+00:00)\" },\n    { name: 'Pacific/Rarotonga', desc: 'Cook Islands - Rarotonga (GMT-10:00)' },\n    { name: 'America/Santiago', desc: 'Chile - Santiago (GMT-04:00)' },\n    { name: 'Pacific/Easter', desc: 'Chile - Easter (GMT-06:00)' },\n    { name: 'Chile/Continental', desc: 'Chile - Continental (GMT-04:00)' },\n    { name: 'Chile/EasterIsland', desc: 'Chile - EasterIsland (GMT-06:00)' },\n    { name: 'Africa/Douala', desc: 'Cameroon - Douala (GMT+01:00)' },\n    { name: 'Asia/Shanghai', desc: 'China - Shanghai (GMT+08:00)' },\n    { name: 'Asia/Harbin', desc: 'China - Harbin (GMT+08:00)' },\n    { name: 'Asia/Chongqing', desc: 'China - Chongqing (GMT+08:00)' },\n    { name: 'Asia/Urumqi', desc: 'China - Urumqi (GMT+06:00)' },\n    { name: 'Asia/Kashgar', desc: 'China - Kashgar (GMT+06:00)' },\n    { name: 'America/Bogota', desc: 'Colombia - Bogota (GMT-05:00)' },\n    { name: 'America/Costa_Rica', desc: 'Costa Rica - Costa Rica (GMT-06:00)' },\n    { name: 'America/Havana', desc: 'Cuba - Havana (GMT-04:00)' },\n    { name: 'Atlantic/Cape_Verde', desc: 'Cape Verde - Cape Verde (GMT-01:00)' },\n    { name: 'America/Curacao', desc: 'CW - Curacao (GMT-04:00)' },\n    { name: 'Indian/Christmas', desc: 'Christmas Island - Christmas (GMT+07:00)' },\n    { name: 'Asia/Nicosia', desc: 'Cyprus - Nicosia (GMT+03:00)' },\n    { name: 'Europe/Prague', desc: 'Czech Republic - Prague (GMT+02:00)' },\n    { name: 'Europe/Berlin', desc: 'Germany - Berlin (GMT+02:00)' },\n    { name: 'Africa/Djibouti', desc: 'Djibouti - Djibouti (GMT+03:00)' },\n    { name: 'Europe/Copenhagen', desc: 'Denmark - Copenhagen (GMT+02:00)' },\n    { name: 'America/Dominica', desc: 'Dominica - Dominica (GMT-04:00)' },\n    { name: 'America/Santo_Domingo', desc: 'Dominican Republic - Santo Domingo (GMT-04:00)' },\n    { name: 'Africa/Algiers', desc: 'Algeria - Algiers (GMT+01:00)' },\n    { name: 'America/Guayaquil', desc: 'Ecuador - Guayaquil (GMT-05:00)' },\n    { name: 'Pacific/Galapagos', desc: 'Ecuador - Galapagos (GMT-06:00)' },\n    { name: 'Europe/Tallinn', desc: 'Estonia - Tallinn (GMT+03:00)' },\n    { name: 'Egypt', desc: 'Egypt - Egypt (GMT+02:00)' },\n    { name: 'Africa/El_Aaiun', desc: 'Western Sahara - El Aaiun (GMT+00:00)' },\n    { name: 'Africa/Asmara', desc: 'Eritrea - Asmara (GMT+03:00)' },\n    { name: 'Europe/Madrid', desc: 'Spain - Madrid (GMT+02:00)' },\n    { name: 'Africa/Ceuta', desc: 'Spain - Ceuta (GMT+02:00)' },\n    { name: 'Atlantic/Canary', desc: 'Spain - Canary (GMT+01:00)' },\n    { name: 'Africa/Addis_Ababa', desc: 'Ethiopia - Addis Ababa (GMT+03:00)' },\n    { name: 'Europe/Helsinki', desc: 'Finland - Helsinki (GMT+03:00)' },\n    { name: 'Pacific/Fiji', desc: 'Fiji - Fiji (GMT+12:00)' },\n    { name: 'Atlantic/Stanley', desc: 'Falkland Islands (Malvinas) - Stanley (GMT-03:00)' },\n    { name: 'Pacific/Chuuk', desc: 'Micronesia - Chuuk (GMT+10:00)' },\n    { name: 'Pacific/Pohnpei', desc: 'Micronesia - Pohnpei (GMT+11:00)' },\n    { name: 'Pacific/Kosrae', desc: 'Micronesia - Kosrae (GMT+11:00)' },\n    { name: 'Atlantic/Faroe', desc: 'Faroe Islands - Faroe (GMT+01:00)' },\n    { name: 'Europe/Paris', desc: 'France - Paris (GMT+02:00)' },\n    { name: 'Africa/Libreville', desc: 'Gabon - Libreville (GMT+01:00)' },\n    { name: 'Europe/London', desc: 'United Kingdom (GB) - London (GMT+01:00)' },\n    { name: 'America/Grenada', desc: 'Grenada - Grenada (GMT-04:00)' },\n    { name: 'Asia/Tbilisi', desc: 'Georgia - Tbilisi (GMT+04:00)' },\n    { name: 'America/Cayenne', desc: 'French Guiana - Cayenne (GMT-03:00)' },\n    { name: 'Europe/Guernsey', desc: 'Guernsey - Guernsey (GMT+01:00)' },\n    { name: 'Africa/Accra', desc: 'Ghana - Accra (GMT+00:00)' },\n    { name: 'Europe/Gibraltar', desc: 'Gibraltar - Gibraltar (GMT+02:00)' },\n    { name: 'America/Godthab', desc: 'Greenland - Godthab (GMT-02:00)' },\n    { name: 'America/Danmarkshavn', desc: 'Greenland - Danmarkshavn (GMT+00:00)' },\n    { name: 'America/Scoresbysund', desc: 'Greenland - Scoresbysund (GMT+00:00)' },\n    { name: 'America/Thule', desc: 'Greenland - Thule (GMT-03:00)' },\n    { name: 'Africa/Banjul', desc: 'Gambia - Banjul (GMT+00:00)' },\n    { name: 'Africa/Conakry', desc: 'Guinea - Conakry (GMT+00:00)' },\n    { name: 'America/Guadeloupe', desc: 'Guadeloupe - Guadeloupe (GMT-04:00)' },\n    { name: 'Africa/Malabo', desc: 'Equatorial Guinea - Malabo (GMT+01:00)' },\n    { name: 'Europe/Athens', desc: 'Greece - Athens (GMT+03:00)' },\n    { name: 'Atlantic/South_Georgia', desc: 'South Georgia and the South Sandwich Islands - South Georgia (GMT-02:00)' },\n    { name: 'America/Guatemala', desc: 'Guatemala - Guatemala (GMT-06:00)' },\n    { name: 'Pacific/Guam', desc: 'Guam - Guam (GMT+10:00)' },\n    { name: 'Africa/Bissau', desc: 'Guinea-Bissau - Bissau (GMT+00:00)' },\n    { name: 'America/Guyana', desc: 'Guyana - Guyana (GMT-04:00)' },\n    { name: 'Asia/Hong_Kong', desc: 'Hong Kong - Hong Kong (GMT+08:00)' },\n    { name: 'America/Tegucigalpa', desc: 'Honduras - Tegucigalpa (GMT-06:00)' },\n    { name: 'Europe/Zagreb', desc: 'Croatia - Zagreb (GMT+02:00)' },\n    { name: 'America/Port-au-Prince', desc: 'Haiti - Port-au-Prince (GMT-04:00)' },\n    { name: 'Europe/Budapest', desc: 'Hungary - Budapest (GMT+02:00)' },\n    { name: 'Asia/Jakarta', desc: 'Indonesia - Jakarta (GMT+07:00)' },\n    { name: 'Asia/Pontianak', desc: 'Indonesia - Pontianak (GMT+07:00)' },\n    { name: 'Asia/Makassar', desc: 'Indonesia - Makassar (GMT+08:00)' },\n    { name: 'Asia/Jayapura', desc: 'Indonesia - Jayapura (GMT+09:00)' },\n    { name: 'Europe/Dublin', desc: 'Ireland - Dublin (GMT+01:00)' },\n    { name: 'Asia/Jerusalem', desc: 'Israel - Jerusalem (GMT+03:00)' },\n    { name: 'Europe/Isle_of_Man', desc: 'Isle of Man - Isle of_Man (GMT+01:00)' },\n    { name: 'Asia/Kolkata', desc: 'India - Kolkata (GMT+05:30)' },\n    { name: 'Indian/Chagos', desc: 'British Indian Ocean Territory - Chagos (GMT+06:00)' },\n    { name: 'Asia/Baghdad', desc: 'Iraq - Baghdad (GMT+03:00)' },\n    { name: 'Asia/Tehran', desc: 'Iran - Tehran (GMT+04:30)' },\n    { name: 'Atlantic/Reykjavik', desc: 'Iceland - Reykjavik (GMT+00:00)' },\n    { name: 'Europe/Rome', desc: 'Italy - Rome (GMT+02:00)' },\n    { name: 'Europe/Jersey', desc: 'Jersey - Jersey (GMT+01:00)' },\n    { name: 'America/Jamaica', desc: 'Jamaica - Jamaica (GMT-05:00)' },\n    { name: 'Asia/Amman', desc: 'Jordan - Amman (GMT+03:00)' },\n    { name: 'Asia/Tokyo', desc: 'Japan - Tokyo (GMT+09:00)' },\n    { name: 'Africa/Nairobi', desc: 'Kenya - Nairobi (GMT+03:00)' },\n    { name: 'Asia/Bishkek', desc: 'Kyrgyzstan - Bishkek (GMT+06:00)' },\n    { name: 'Asia/Phnom_Penh', desc: 'Cambodia - Phnom Penh (GMT+07:00)' },\n    { name: 'Pacific/Tarawa', desc: 'Kiribati - Tarawa (GMT+12:00)' },\n    { name: 'Pacific/Enderbury', desc: 'Kiribati - Enderbury (GMT+13:00)' },\n    { name: 'Pacific/Kiritimati', desc: 'Kiribati - Kiritimati (GMT+14:00)' },\n    { name: 'Indian/Comoro', desc: 'Comoros - Comoro (GMT+03:00)' },\n    { name: 'America/St_Kitts', desc: 'Saint Kitts and Nevis - St Kitts (GMT-04:00)' },\n    { name: 'Asia/Pyongyang', desc: 'Korea (North) - Pyongyang (GMT+09:00)' },\n    { name: 'Asia/Seoul', desc: 'Korea (South) - Seoul (GMT+09:00)' },\n    { name: 'Asia/Kuwait', desc: 'Kuwait - Kuwait (GMT+03:00)' },\n    { name: 'America/Cayman', desc: 'Cayman Islands - Cayman (GMT-05:00)' },\n    { name: 'Asia/Almaty', desc: 'Kazakhstan - Almaty (GMT+06:00)' },\n    { name: 'Asia/Qyzylorda', desc: 'Kazakhstan - Qyzylorda (GMT+06:00)' },\n    { name: 'Asia/Aqtobe', desc: 'Kazakhstan - Aqtobe (GMT+05:00)' },\n    { name: 'Asia/Aqtau', desc: 'Kazakhstan - Aqtau (GMT+05:00)' },\n    { name: 'Asia/Oral', desc: 'Kazakhstan - Oral (GMT+05:00)' },\n    { name: 'Asia/Vientiane', desc: 'Lao PDR - Vientiane (GMT+07:00)' },\n    { name: 'Asia/Beirut', desc: 'Lebanon - Beirut (GMT+03:00)' },\n    { name: 'America/St_Lucia', desc: 'Saint Lucia - St Lucia (GMT-04:00)' },\n    { name: 'Europe/Vaduz', desc: 'Liechtenstein - Vaduz (GMT+02:00)' },\n    { name: 'Asia/Colombo', desc: 'Sri Lanka - Colombo (GMT+05:30)' },\n    { name: 'Africa/Monrovia', desc: 'Liberia - Monrovia (GMT+00:00)' },\n    { name: 'Africa/Maseru', desc: 'Lesotho - Maseru (GMT+02:00)' },\n    { name: 'Europe/Vilnius', desc: 'Lithuania - Vilnius (GMT+03:00)' },\n    { name: 'Europe/Luxembourg', desc: 'Luxembourg - Luxembourg (GMT+02:00)' },\n    { name: 'Europe/Riga', desc: 'Latvia - Riga (GMT+03:00)' },\n    { name: 'Africa/Tripoli', desc: 'Libya - Tripoli (GMT+02:00)' },\n    { name: 'Africa/Casablanca', desc: 'Morocco - Casablanca (GMT+00:00)' },\n    { name: 'Europe/Monaco', desc: 'Monaco - Monaco (GMT+02:00)' },\n    { name: 'Europe/Chisinau', desc: 'Moldova - Chisinau (GMT+03:00)' },\n    { name: 'Europe/Podgorica', desc: 'Montenegro - Podgorica (GMT+02:00)' },\n    { name: 'America/Marigot', desc: 'Saint-Martin (French part) - Marigot (GMT-04:00)' },\n    { name: 'Indian/Antananarivo', desc: 'Madagascar - Antananarivo (GMT+03:00)' },\n    { name: 'Pacific/Majuro', desc: 'Marshall Islands - Majuro (GMT+12:00)' },\n    { name: 'Pacific/Kwajalein', desc: 'Marshall Islands - Kwajalein (GMT+12:00)' },\n    { name: 'Europe/Skopje', desc: 'Macedonia - Skopje (GMT+02:00)' },\n    { name: 'Africa/Bamako', desc: 'Mali - Bamako (GMT+00:00)' },\n    { name: 'Asia/Rangoon', desc: 'Myanmar - Rangoon (GMT+06:30)' },\n    { name: 'Asia/Ulaanbaatar', desc: 'Mongolia - Ulaanbaatar (GMT+08:00)' },\n    { name: 'Asia/Hovd', desc: 'Mongolia - Hovd (GMT+07:00)' },\n    { name: 'Asia/Choibalsan', desc: 'Mongolia - Choibalsan (GMT+08:00)' },\n    { name: 'Asia/Macau', desc: 'Macao - Macau (GMT+08:00)' },\n    { name: 'Pacific/Saipan', desc: 'Northern Mariana Islands - Saipan (GMT+10:00)' },\n    { name: 'America/Martinique', desc: 'Martinique - Martinique (GMT-04:00)' },\n    { name: 'Africa/Nouakchott', desc: 'Mauritania - Nouakchott (GMT+00:00)' },\n    { name: 'America/Montserrat', desc: 'Montserrat - Montserrat (GMT-04:00)' },\n    { name: 'Europe/Malta', desc: 'Malta - Malta (GMT+02:00)' },\n    { name: 'Indian/Mauritius', desc: 'Mauritius - Mauritius (GMT+04:00)' },\n    { name: 'Indian/Maldives', desc: 'Maldives - Maldives (GMT+05:00)' },\n    { name: 'Africa/Blantyre', desc: 'Malawi - Blantyre (GMT+02:00)' },\n    { name: 'America/Mexico_City', desc: 'Mexico - Mexico City (GMT-05:00)' },\n    { name: 'America/Cancun', desc: 'Mexico - Cancun (GMT-05:00)' },\n    { name: 'America/Merida', desc: 'Mexico - Merida (GMT-05:00)' },\n    { name: 'America/Monterrey', desc: 'Mexico - Monterrey (GMT-05:00)' },\n    { name: 'America/Matamoros', desc: 'Mexico - Matamoros (GMT-05:00)' },\n    { name: 'America/Mazatlan', desc: 'Mexico - Mazatlan (GMT-06:00)' },\n    { name: 'America/Chihuahua', desc: 'Mexico - Chihuahua (GMT-06:00)' },\n    { name: 'America/Ojinaga', desc: 'Mexico - Ojinaga (GMT-06:00)' },\n    { name: 'America/Hermosillo', desc: 'Mexico - Hermosillo (GMT-07:00)' },\n    { name: 'America/Tijuana', desc: 'Mexico - Tijuana (GMT-07:00)' },\n    { name: 'America/Santa_Isabel', desc: 'Mexico - Santa Isabel (GMT-07:00)' },\n    { name: 'America/Bahia_Banderas', desc: 'Mexico - Bahia Banderas (GMT-05:00)' },\n    { name: 'Asia/Kuala_Lumpur', desc: 'Malaysia - Kuala Lumpur (GMT+08:00)' },\n    { name: 'Asia/Kuching', desc: 'Malaysia - Kuching (GMT+08:00)' },\n    { name: 'Africa/Maputo', desc: 'Mozambique - Maputo (GMT+02:00)' },\n    { name: 'Africa/Windhoek', desc: 'Namibia - Windhoek (GMT+02:00)' },\n    { name: 'Pacific/Noumea', desc: 'New Caledonia - Noumea (GMT+11:00)' },\n    { name: 'Africa/Niamey', desc: 'Niger - Niamey (GMT+01:00)' },\n    { name: 'Pacific/Norfolk', desc: 'Norfolk Island - Norfolk (GMT+11:00)' },\n    { name: 'Africa/Lagos', desc: 'Nigeria - Lagos (GMT+01:00)' },\n    { name: 'America/Managua', desc: 'Nicaragua - Managua (GMT-06:00)' },\n    { name: 'Europe/Amsterdam', desc: 'Netherlands - Amsterdam (GMT+02:00)' },\n    { name: 'Europe/Oslo', desc: 'Norway - Oslo (GMT+02:00)' },\n    { name: 'Asia/Kathmandu', desc: 'Nepal - Kathmandu (GMT+05:45)' },\n    { name: 'Pacific/Nauru', desc: 'Nauru - Nauru (GMT+12:00)' },\n    { name: 'Pacific/Niue', desc: 'Niue - Niue (GMT-11:00)' },\n    { name: 'Pacific/Auckland', desc: 'New Zealand - Auckland (GMT+12:00)' },\n    { name: 'Pacific/Chatham', desc: 'New Zealand - Chatham (GMT+12:45)' },\n    { name: 'Asia/Muscat', desc: 'Oman - Muscat (GMT+04:00)' },\n    { name: 'America/Panama', desc: 'Panama - Panama (GMT-05:00)' },\n    { name: 'America/Lima', desc: 'Peru - Lima (GMT-05:00)' },\n    { name: 'Pacific/Tahiti', desc: 'French Polynesia - Tahiti (GMT-10:00)' },\n    { name: 'Pacific/Marquesas', desc: 'French Polynesia - Marquesas (GMT-09:30)' },\n    { name: 'Pacific/Gambier', desc: 'French Polynesia - Gambier (GMT-09:00)' },\n    { name: 'Pacific/Port_Moresby', desc: 'Papua New Guinea - Port Moresby (GMT+10:00)' },\n    { name: 'Asia/Manila', desc: 'Philippines - Manila (GMT+08:00)' },\n    { name: 'Asia/Karachi', desc: 'Pakistan - Karachi (GMT+05:00)' },\n    { name: 'Europe/Warsaw', desc: 'Poland - Warsaw (GMT+02:00)' },\n    { name: 'Poland', desc: 'Poland - Poland (GMT+02:00)' },\n    { name: 'America/Miquelon', desc: 'Saint Pierre and Miquelon - Miquelon (GMT-02:00)' },\n    { name: 'Pacific/Pitcairn', desc: 'Pitcairn - Pitcairn (GMT-08:00)' },\n    { name: 'America/Puerto_Rico', desc: 'Puerto Rico - Puerto Rico (GMT-04:00)' },\n    { name: 'Asia/Gaza', desc: 'Palestinian Territory - Gaza (GMT+03:00)' },\n    { name: 'Asia/Hebron', desc: 'Palestinian Territory - Hebron (GMT+03:00)' },\n    { name: 'Europe/Lisbon', desc: 'Portugal - Lisbon (GMT+01:00)' },\n    { name: 'Atlantic/Madeira', desc: 'Portugal - Madeira (GMT+01:00)' },\n    { name: 'Atlantic/Azores', desc: 'Portugal - Azores (GMT+00:00)' },\n    { name: 'Pacific/Palau', desc: 'Palau - Palau (GMT+09:00)' },\n    { name: 'America/Asuncion', desc: 'Paraguay - Asuncion (GMT-04:00)' },\n    { name: 'Asia/Qatar', desc: 'Qatar - Qatar (GMT+03:00)' },\n    { name: 'Indian/Reunion', desc: 'Réunion - Reunion (GMT+04:00)' },\n    { name: 'Europe/Bucharest', desc: 'Romania - Bucharest (GMT+03:00)' },\n    { name: 'Europe/Belgrade', desc: 'Serbia - Belgrade (GMT+02:00)' },\n    { name: 'Europe/Kaliningrad', desc: 'Russian Federation - Kaliningrad (GMT+02:00)' },\n    { name: 'Europe/Moscow', desc: 'Russian Federation - Moscow (GMT+03:00)' },\n    { name: 'Europe/Volgograd', desc: 'Russian Federation - Volgograd (GMT+03:00)' },\n    { name: 'Europe/Samara', desc: 'Russian Federation - Samara (GMT+04:00)' },\n    { name: 'Europe/Simferopol', desc: 'Russian Federation - Simferopol (GMT+03:00)' },\n    { name: 'Asia/Yekaterinburg', desc: 'Russian Federation - Yekaterinburg (GMT+05:00)' },\n    { name: 'Asia/Omsk', desc: 'Russian Federation - Omsk (GMT+06:00)' },\n    { name: 'Asia/Novosibirsk', desc: 'Russian Federation - Novosibirsk (GMT+07:00)' },\n    { name: 'Asia/Novokuznetsk', desc: 'Russian Federation - Novokuznetsk (GMT+07:00)' },\n    { name: 'Asia/Krasnoyarsk', desc: 'Russian Federation - Krasnoyarsk (GMT+07:00)' },\n    { name: 'Asia/Irkutsk', desc: 'Russian Federation - Irkutsk (GMT+08:00)' },\n    { name: 'Asia/Yakutsk', desc: 'Russian Federation - Yakutsk (GMT+09:00)' },\n    { name: 'Asia/Khandyga', desc: 'Russian Federation - Khandyga (GMT+09:00)' },\n    { name: 'Asia/Vladivostok', desc: 'Russian Federation - Vladivostok (GMT+10:00)' },\n    { name: 'Asia/Sakhalin', desc: 'Russian Federation - Sakhalin (GMT+11:00)' },\n    { name: 'Asia/Ust-Nera', desc: 'Russian Federation - Ust-Nera (GMT+10:00)' },\n    { name: 'Asia/Magadan', desc: 'Russian Federation - Magadan (GMT+11:00)' },\n    { name: 'Asia/Kamchatka', desc: 'Russian Federation - Kamchatka (GMT+12:00)' },\n    { name: 'Asia/Anadyr', desc: 'Russian Federation - Anadyr (GMT+12:00)' },\n    { name: 'Africa/Kigali', desc: 'Rwanda - Kigali (GMT+02:00)' },\n    { name: 'Asia/Riyadh', desc: 'Saudi Arabia - Riyadh (GMT+03:00)' },\n    { name: 'Pacific/Guadalcanal', desc: 'Solomon Islands - Guadalcanal (GMT+11:00)' },\n    { name: 'Indian/Mahe', desc: 'Seychelles - Mahe (GMT+04:00)' },\n    { name: 'Africa/Khartoum', desc: 'Sudan - Khartoum (GMT+02:00)' },\n    { name: 'Europe/Stockholm', desc: 'Sweden - Stockholm (GMT+02:00)' },\n    { name: 'Asia/Singapore', desc: 'Singapore - Singapore (GMT+08:00)' },\n    { name: 'Atlantic/St_Helena', desc: 'Saint Helena - St Helena (GMT+00:00)' },\n    { name: 'Europe/Ljubljana', desc: 'Slovenia - Ljubljana (GMT+02:00)' },\n    { name: 'Arctic/Longyearbyen', desc: 'Svalbard and Jan Mayen Islands - Longyearbyen (GMT+02:00)' },\n    { name: 'Europe/Bratislava', desc: 'Slovakia - Bratislava (GMT+02:00)' },\n    { name: 'Africa/Freetown', desc: 'Sierra Leone - Freetown (GMT+00:00)' },\n    { name: 'Europe/San_Marino', desc: 'San Marino - San Marino (GMT+02:00)' },\n    { name: 'Africa/Dakar', desc: 'Senegal - Dakar (GMT+00:00)' },\n    { name: 'Africa/Mogadishu', desc: 'Somalia - Mogadishu (GMT+03:00)' },\n    { name: 'America/Paramaribo', desc: 'Suriname - Paramaribo (GMT-03:00)' },\n    { name: 'Africa/Juba', desc: 'South Sudan - Juba (GMT+03:00)' },\n    { name: 'Africa/Sao_Tome', desc: 'Sao Tome and Principe - Sao Tome (GMT+01:00)' },\n    { name: 'America/El_Salvador', desc: 'El Salvador - El Salvador (GMT-06:00)' },\n    { name: 'America/Lower_Princes', desc: 'SX - Lower Princes (GMT-04:00)' },\n    { name: 'Asia/Damascus', desc: 'Syria - Damascus (GMT+03:00)' },\n    { name: 'Africa/Mbabane', desc: 'Swaziland - Mbabane (GMT+02:00)' },\n    { name: 'America/Grand_Turk', desc: 'Turks and Caicos Islands - Grand Turk (GMT-04:00)' },\n    { name: 'Africa/Ndjamena', desc: 'Chad - Ndjamena (GMT+01:00)' },\n    { name: 'Indian/Kerguelen', desc: 'French Southern Territories - Kerguelen (GMT+05:00)' },\n    { name: 'Africa/Lome', desc: 'Togo - Lome (GMT+00:00)' },\n    { name: 'Asia/Bangkok', desc: 'Thailand - Bangkok (GMT+07:00)' },\n    { name: 'Asia/Dushanbe', desc: 'Tajikistan - Dushanbe (GMT+05:00)' },\n    { name: 'Pacific/Fakaofo', desc: 'Tokelau - Fakaofo (GMT+13:00)' },\n    { name: 'Asia/Dili', desc: 'Timor-Leste - Dili (GMT+09:00)' },\n    { name: 'Asia/Ashgabat', desc: 'Turkmenistan - Ashgabat (GMT+05:00)' },\n    { name: 'Africa/Tunis', desc: 'Tunisia - Tunis (GMT+01:00)' },\n    { name: 'Pacific/Tongatapu', desc: 'Tonga - Tongatapu (GMT+13:00)' },\n    { name: 'Europe/Istanbul', desc: 'Turkey - Istanbul (GMT+03:00)' },\n    { name: 'America/Port_of_Spain', desc: 'Trinidad and Tobago - Port of_Spain (GMT-04:00)' },\n    { name: 'Pacific/Funafuti', desc: 'Tuvalu - Funafuti (GMT+12:00)' },\n    { name: 'Asia/Taipei', desc: 'Taiwan - Taipei (GMT+08:00)' },\n    { name: 'Africa/Dar_es_Salaam', desc: 'Tanzania - Dar es_Salaam (GMT+03:00)' },\n    { name: 'Europe/Kiev', desc: 'Ukraine - Kiev (GMT+03:00)' },\n    { name: 'Europe/Uzhgorod', desc: 'Ukraine - Uzhgorod (GMT+03:00)' },\n    { name: 'Europe/Zaporozhye', desc: 'Ukraine - Zaporozhye (GMT+03:00)' },\n    { name: 'Africa/Kampala', desc: 'Uganda - Kampala (GMT+03:00)' },\n    { name: 'Pacific/Johnston', desc: 'US Minor Outlying Islands - Johnston (GMT-10:00)' },\n    { name: 'Pacific/Midway', desc: 'US Minor Outlying Islands - Midway (GMT-11:00)' },\n    { name: 'Pacific/Wake', desc: 'US Minor Outlying Islands - Wake (GMT+12:00)' },\n    { name: 'America/New_York', desc: 'United States of America (USA) - New York (GMT-04:00)' },\n    { name: 'America/Detroit', desc: 'United States of America (USA) - Detroit (GMT-04:00)' },\n    { name: 'America/Kentucky/Louisville', desc: 'United States of America (USA) - Louisville (GMT-04:00)' },\n    { name: 'America/Kentucky/Monticello', desc: 'United States of America (USA) - Monticello (GMT-04:00)' },\n    { name: 'America/Indiana/Indianapolis', desc: 'United States of America (USA) - Indianapolis (GMT-04:00)' },\n    { name: 'America/Indiana/Vincennes', desc: 'United States of America (USA) - Vincennes (GMT-04:00)' },\n    { name: 'America/Indiana/Winamac', desc: 'United States of America (USA) - Winamac (GMT-04:00)' },\n    { name: 'America/Indiana/Marengo', desc: 'United States of America (USA) - Marengo (GMT-04:00)' },\n    { name: 'America/Indiana/Petersburg', desc: 'United States of America (USA) - Petersburg (GMT-04:00)' },\n    { name: 'America/Indiana/Vevay', desc: 'United States of America (USA) - Vevay (GMT-04:00)' },\n    { name: 'America/Chicago', desc: 'United States of America (USA) - Chicago (GMT-05:00)' },\n    { name: 'America/Indiana/Tell_City', desc: 'United States of America (USA) - Tell City (GMT-05:00)' },\n    { name: 'America/Indiana/Knox', desc: 'United States of America (USA) - Knox (GMT-05:00)' },\n    { name: 'America/Menominee', desc: 'United States of America (USA) - Menominee (GMT-05:00)' },\n    { name: 'America/North_Dakota/Center', desc: 'United States of America (USA) - Center (GMT-05:00)' },\n    { name: 'America/North_Dakota/New_Salem', desc: 'United States of America (USA) - New Salem (GMT-05:00)' },\n    { name: 'America/North_Dakota/Beulah', desc: 'United States of America (USA) - Beulah (GMT-05:00)' },\n    { name: 'America/Denver', desc: 'United States of America (USA) - Denver (GMT-06:00)' },\n    { name: 'America/Boise', desc: 'United States of America (USA) - Boise (GMT-06:00)' },\n    { name: 'America/Phoenix', desc: 'United States of America (USA) - Phoenix (GMT-07:00)' },\n    { name: 'America/Los_Angeles', desc: 'United States of America (USA) - Los Angeles (GMT-07:00)' },\n    { name: 'America/Anchorage', desc: 'United States of America (USA) - Anchorage (GMT-08:00)' },\n    { name: 'America/Juneau', desc: 'United States of America (USA) - Juneau (GMT-08:00)' },\n    { name: 'America/Sitka', desc: 'United States of America (USA) - Sitka (GMT-08:00)' },\n    { name: 'America/Yakutat', desc: 'United States of America (USA) - Yakutat (GMT-08:00)' },\n    { name: 'America/Nome', desc: 'United States of America (USA) - Nome (GMT-08:00)' },\n    { name: 'America/Adak', desc: 'United States of America (USA) - Adak (GMT-09:00)' },\n    { name: 'America/Metlakatla', desc: 'United States of America (USA) - Metlakatla (GMT-08:00)' },\n    { name: 'Pacific/Honolulu', desc: 'United States of America (USA) - Honolulu (GMT-10:00)' },\n    { name: 'America/Montevideo', desc: 'Uruguay - Montevideo (GMT-03:00)' },\n    { name: 'Asia/Samarkand', desc: 'Uzbekistan - Samarkand (GMT+05:00)' },\n    { name: 'Asia/Tashkent', desc: 'Uzbekistan - Tashkent (GMT+05:00)' },\n    { name: 'Europe/Vatican', desc: 'Vatican City State - Vatican (GMT+02:00)' },\n    { name: 'America/St_Vincent', desc: 'Saint Vincent and Grenadines - St Vincent (GMT-04:00)' },\n    { name: 'America/Caracas', desc: 'Venezuela - Caracas (GMT-04:00)' },\n    { name: 'America/Tortola', desc: 'British Virgin Islands - Tortola (GMT-04:00)' },\n    { name: 'America/St_Thomas', desc: 'Virgin Islands, US - St Thomas (GMT-04:00)' },\n    { name: 'Asia/Ho_Chi_Minh', desc: 'Viet Nam - Ho Chi_Minh (GMT+07:00)' },\n    { name: 'Pacific/Efate', desc: 'Vanuatu - Efate (GMT+11:00)' },\n    { name: 'Pacific/Wallis', desc: 'Wallis and Futuna Islands - Wallis (GMT+12:00)' },\n    { name: 'Pacific/Apia', desc: 'Samoa - Apia (GMT+13:00)' },\n    { name: 'Asia/Aden', desc: 'Yemen - Aden (GMT+03:00)' },\n    { name: 'Indian/Mayotte', desc: 'Mayotte - Mayotte (GMT+03:00)' },\n    { name: 'Africa/Johannesburg', desc: 'South Africa - Johannesburg (GMT+02:00)' },\n    { name: 'Africa/Lusaka', desc: 'Zambia - Lusaka (GMT+02:00)' },\n    { name: 'Africa/Harare', desc: 'Zimbabwe - Harare (GMT+02:00)' },\n];\n\n@Injectable()\nexport class EuiTimezoneService {\n    /**\n     * Convert country ISO code to country name (in english)\n     */\n    iso2country(iso: string): string {\n        return EUI_COUNTRIES[iso] ? EUI_COUNTRIES[iso] : iso;\n    }\n\n    /**\n     * Gets the list of ISO-codes for all countries\n     */\n    getCountries(): string[] {\n        const res: string[] = [];\n        for (const prop of Object.keys(EUI_COUNTRIES)) {\n            res.push(prop);\n        }\n        return res;\n    }\n\n    getTimezones(): EuiTimeZone[] {\n        return EUI_TIMEZONES;\n    }\n\n    getTimezone(tz: string): EuiTimeZone {\n        return EUI_TIMEZONES.find((item) => item.name === tz);\n    }\n}\n",
            "properties": [
                {
                    "name": "desc",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 257
                },
                {
                    "name": "name",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 256
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "IEuiTheme",
            "id": "interface-IEuiTheme-9f1a937bcff1a4d283db7ae5e6dd8d821f165e0cf457352df623b99307c05df1b115d8ae49b7a00b3f35c0d70be9a87d15b3f2b116a3669079ef5ceffd9d6514",
            "file": "packages/core/src/lib/services/eui-theme.service.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Injectable, inject } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { GLOBAL_CONFIG_TOKEN } from './config/tokens';\nimport { GlobalConfig } from '@eui/base';\nimport { EuiAppShellService } from './eui-app-shell.service';\nimport { DOCUMENT } from '@angular/common';\n\nexport enum EuiTheme {\n    DEFAULT = 'default',\n    ECL_EC = 'ecl-ec',\n    ECL_EC_RTL = 'ecl-ec-rtl',\n    ECL_EU = 'ecl-eu',\n    ECL_EU_RTL = 'ecl-eu-rtl',\n    DARK = 'dark',\n    HIGH_CONTRAST = 'high-contrast',\n    COMPACT = 'compact'\n};\n\ninterface IEuiTheme {\n    name: EuiTheme,\n    isActive: boolean,\n    styleSheet: string,\n    cssClass: string,\n};\n\nexport interface ThemeState {\n    themes: IEuiTheme[];\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    theme: any;\n}\n\nconst initialState: ThemeState = {\n    themes: [\n        { name: EuiTheme.DEFAULT, isActive: false, styleSheet: null, cssClass: null },\n        { name: EuiTheme.ECL_EC, isActive: false, styleSheet: 'eui-ecl-ec.css', cssClass: null },\n        { name: EuiTheme.ECL_EC_RTL, isActive: false, styleSheet: 'eui-ecl-ec.css', cssClass: null },\n        { name: EuiTheme.ECL_EU, isActive: false, styleSheet: 'eui-ecl-eu.css', cssClass: null },\n        { name: EuiTheme.ECL_EU_RTL, isActive: false, styleSheet: 'eui-ecl-eu.css', cssClass: null },\n        { name: EuiTheme.DARK, isActive: false, styleSheet: null, cssClass: 'eui-t-dark' },\n        { name: EuiTheme.HIGH_CONTRAST, isActive: false, styleSheet: null, cssClass: 'eui-t-high-contrast' },\n        { name: EuiTheme.COMPACT, isActive: false, styleSheet: null, cssClass: 'eui-t-compact' },\n    ],\n    theme: {\n        isDefault: false,\n        isEclEc: false,\n        isEclEcRtl: false,\n        isEclEu: false,\n        isEclEuRtl: false,\n        isDark: false,\n        isHighContrast: false,\n        isCompact: false,\n    },\n};\n\n@Injectable({\n    providedIn: 'root',\n})\nexport class EuiThemeService {\n    private document = inject<Document>(DOCUMENT);\n    protected config = inject<GlobalConfig>(GLOBAL_CONFIG_TOKEN, { optional: true });\n    private asService = inject(EuiAppShellService);\n\n    private _state$: BehaviorSubject<ThemeState>;\n\n    constructor() {\n        this._state$ = new BehaviorSubject(initialState);\n        const themeName = (this.config?.eui?.theme as EuiTheme) || EuiTheme.DEFAULT;\n        this.setActiveTheme(themeName, true);\n    }\n\n    get state$(): Observable<ThemeState> {\n        return this._state$.asObservable();\n    }\n\n    get state(): ThemeState {\n        return this._state$.getValue();\n    }\n\n    isDefault(): boolean {\n        return this.state.theme.isDefault;\n    }\n    isEclEc(): boolean {\n        return this.state.theme.isEclEc;\n    }\n    isEclEcRtl(): boolean {\n        return this.state.theme.isEclEcRtl;\n    }\n    isEclEu(): boolean {\n        return this.state.theme.isEclEu;\n    }\n    isEclEuRtl(): boolean {\n        return this.state.theme.isEclEuRtl;\n    }\n    isDark(): boolean {\n        return this.state.theme.isDark;\n    }\n    isHighContrast(): boolean {\n        return this.state.theme.isHighContrast;\n    }\n    isCompact(): boolean {\n        return this.state.theme.isCompact;\n    }\n\n    setActiveTheme(theme: EuiTheme, isActive: boolean): void {\n        const themes = this.state.themes;\n        const themeIdx = themes.findIndex(t => t.name === theme);\n\n        if (themeIdx < 0) {\n            throw new Error('NO_THEME_FOUND');\n\n        } else {\n            themes[themeIdx].isActive = isActive;\n\n            const themeFound: IEuiTheme = themes[themeIdx];\n\n            const status = initialState.theme;\n\n            switch(theme) {\n                case EuiTheme.DEFAULT: { status.isDefault = isActive; break; }\n                case EuiTheme.ECL_EC: { status.isEclEc = isActive; break; }\n                case EuiTheme.ECL_EC_RTL: { status.isEclEcRtl = isActive; break; }\n                case EuiTheme.ECL_EU: { status.isEclEu = isActive; break; }\n                case EuiTheme.ECL_EU_RTL: { status.isEclEuRtl = isActive; break; }\n                case EuiTheme.DARK: { status.isDark = isActive; break; }\n                case EuiTheme.HIGH_CONTRAST: { status.isHighContrast = isActive; break; }\n                case EuiTheme.COMPACT: { status.isCompact = isActive; break; }\n            }\n\n            this._state$.next({\n                themes,\n                theme: status,\n            });\n\n            this._renderTheme(themeFound, isActive);\n        }\n    }\n\n    private _renderTheme(themeFound: IEuiTheme, isActive: boolean): void {\n        if (themeFound.name === EuiTheme.COMPACT) {\n            if (isActive) {\n                this.asService.setBaseFontSize('14px');\n            } else {\n                this.asService.setBaseFontSize('16px');\n            }\n            const compactLink = this.document.getElementById('eui-theme') as HTMLLinkElement;\n            this._renderThemeCss(themeFound, isActive, compactLink);\n\n        } else if (themeFound.name === EuiTheme.ECL_EC_RTL || themeFound.name === EuiTheme.ECL_EU_RTL) {\n            return;\n\n        } else if (themeFound.name === EuiTheme.ECL_EC || themeFound.name === EuiTheme.ECL_EU) {\n            const rtlLink = this.document.getElementById('eui-theme') as HTMLLinkElement;\n            this._renderThemeCss(themeFound, isActive, rtlLink);\n\n        }else {\n            this._renderThemeCss(themeFound, isActive, null);\n        }\n    }\n\n    private _renderThemeCss(themeFound: IEuiTheme, isActive: boolean, link: HTMLLinkElement): void {\n        const head = this.document.getElementsByTagName('head')[0];\n\n        if (isActive) {\n            if (themeFound.cssClass) {\n                document.querySelector('html').classList.add(themeFound.cssClass);\n            }\n            if (themeFound.styleSheet) {\n                if (link) {\n                    link.href = `assets/${themeFound.styleSheet}`;\n                } else {\n                    const style = this.document.createElement('link');\n                    style.id = 'eui-theme';\n                    style.rel = 'stylesheet';\n                    style.href = `assets/${themeFound.styleSheet}`;\n                    head.appendChild(style);\n                }\n            }\n        } else {\n            if (themeFound.cssClass) {\n                document.querySelector('html').classList.remove(themeFound.cssClass);\n            }\n\n            if (themeFound.styleSheet) {\n                if (link) {\n                    link.media = '';\n                }\n            }\n        }\n    }\n}\n",
            "properties": [
                {
                    "name": "cssClass",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 23
                },
                {
                    "name": "isActive",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 21
                },
                {
                    "name": "name",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiTheme",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 20
                },
                {
                    "name": "styleSheet",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 22
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "ImportsArrayInfo",
            "id": "interface-ImportsArrayInfo-9c5e016857e1416ac7bbb881973e644c0f578a53bd432bb951c1676ac3f2a6631bfe3344860346a081b841217278723e0bb0bf2fa35fb869de67cb0cc8d99849",
            "file": "packages/core/schematics/add-eui-imports/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstElement, TmplAstNode, TmplAstTemplate } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\nimport { SELECTOR_MAP, SelectorEntry, getClassNamesForArray } from './selector-map';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n  useClassArray?: boolean;\n}\n\ninterface ImportToAdd {\n  /** The symbol to add to imports array (class name or array name for spread) */\n  symbol: string;\n  /** Whether this should be spread (...EUI_BUTTON) */\n  isSpread: boolean;\n  /** ES import path */\n  importPath: string;\n}\n\nexport function addEuiImports(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    const useClassArray = options.useClassArray ?? false;\n    let filesUpdated = 0;\n\n    // Index NgModules for standalone:false support\n    const ngModuleIndex = buildNgModuleIndex(tree, tree.getDir(scanPath || '/'));\n\n    visitDir(tree.getDir(scanPath || '/'), (path) => {\n      if (!path.endsWith('.ts') || path.endsWith('.spec.ts')) return;\n\n      const buffer = tree.read(path);\n      if (!buffer) return;\n      const source = buffer.toString('utf-8');\n\n      const sourceFile = ts.createSourceFile(path, source, ts.ScriptTarget.Latest, true);\n      const components = findComponentDecorators(sourceFile);\n      if (components.length === 0) return;\n\n      let modified = false;\n\n      for (const { decorator, className: componentClassName, isNonStandalone } of components) {\n        const templateHtml = getTemplateContent(tree, path, decorator, source);\n        if (!templateHtml) continue;\n\n        const matched = matchSelectorsInTemplate(templateHtml);\n        if (matched.length === 0) continue;\n\n        const importsToAdd = resolveImports(matched, useClassArray);\n        if (importsToAdd.length === 0) continue;\n\n        if (isNonStandalone) {\n          // Find the NgModule that declares this component and add imports there\n          const moduleInfo = findDeclaringModule(ngModuleIndex, componentClassName);\n          if (!moduleInfo) {\n            context.logger.warn(`⚠ Could not find declaring NgModule for ${componentClassName} in ${path}`);\n            continue;\n          }\n          const moduleBuffer = tree.read(moduleInfo.path);\n          if (!moduleBuffer) continue;\n          const moduleSource = moduleBuffer.toString('utf-8');\n          const result = addImportsToFile(moduleSource, moduleInfo.path, moduleInfo.decoratorPos, importsToAdd, useClassArray);\n          if (result !== moduleSource) {\n            if (options.dryRun) {\n              logDryRun(context, `Would add EUI imports to NgModule in ${moduleInfo.path} for component ${componentClassName}`);\n            } else {\n              tree.overwrite(moduleInfo.path, result);\n            }\n            modified = true;\n          }\n        } else {\n          // Standalone component — add imports directly\n          const currentSource = tree.read(path)!.toString('utf-8');\n          const result = addImportsToFile(currentSource, path, decorator.getStart(), importsToAdd, useClassArray);\n          if (result !== currentSource) {\n            if (options.dryRun) {\n              logDryRun(context, `Would add EUI imports to ${path}`);\n            } else {\n              tree.overwrite(path, result);\n            }\n            modified = true;\n          }\n        }\n      }\n\n      if (modified) filesUpdated++;\n    });\n\n    context.logger.info(`add-eui-imports: ${filesUpdated} file(s) updated.`);\n    if (options.dryRun) logDryRunNote(context);\n    return tree;\n  };\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n\n// --- Selector Matching ---\n\nfunction matchSelectorsInTemplate(html: string): SelectorEntry[] {\n  const parsed = parseTemplate(html, '', { preserveWhitespaces: true });\n  if (parsed.errors?.length) return [];\n\n  const matched: SelectorEntry[] = [];\n  visitTemplateNodes(parsed.nodes, matched);\n  return matched;\n}\n\nfunction visitTemplateNodes(nodes: TmplAstNode[], matched: SelectorEntry[]): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      matchElement(node, matched);\n      visitTemplateNodes(node.children, matched);\n    } else if (node instanceof TmplAstTemplate) {\n      visitTemplateNodes(node.children, matched);\n    }\n  }\n}\n\nfunction matchElement(element: TmplAstElement, matched: SelectorEntry[]): void {\n  const tagName = element.name;\n  const attrNames = new Set([\n    ...element.attributes.map(a => a.name),\n    ...element.inputs.map(i => i.name),\n  ]);\n\n  for (const entry of SELECTOR_MAP) {\n    if (entry.element && entry.element !== tagName) continue;\n    if (!entry.element && entry.attributes.length === 0) continue;\n    if (!entry.attributes.every(attr => attrNames.has(attr))) continue;\n    // If no element specified, at least one attribute must match on this element\n    if (!entry.element && entry.attributes.length > 0 && !entry.attributes.some(attr => attrNames.has(attr))) continue;\n    matched.push(entry);\n  }\n}\n\n// --- Import Resolution ---\n\nfunction resolveImports(matched: SelectorEntry[], useClassArray: boolean): ImportToAdd[] {\n  const seen = new Set<string>();\n  const result: ImportToAdd[] = [];\n\n  for (const entry of matched) {\n    if (useClassArray && entry.classArray) {\n      if (seen.has(entry.classArray)) continue;\n      seen.add(entry.classArray);\n      result.push({ symbol: entry.classArray, isSpread: true, importPath: entry.importPath });\n    } else {\n      if (seen.has(entry.className)) continue;\n      seen.add(entry.className);\n      result.push({ symbol: entry.className, isSpread: false, importPath: entry.importPath });\n    }\n  }\n\n  return result;\n}\n\n// --- Template Extraction ---\n\nfunction getTemplateContent(tree: Tree, tsPath: string, decorator: ts.Decorator, source: string): string | null {\n  const call = decorator.expression as ts.CallExpression;\n  if (!call.arguments[0] || !ts.isObjectLiteralExpression(call.arguments[0])) return null;\n  const metadata = call.arguments[0];\n\n  for (const prop of metadata.properties) {\n    if (!ts.isPropertyAssignment(prop) || !ts.isIdentifier(prop.name)) continue;\n    if (prop.name.text === 'template') {\n      const init = prop.initializer;\n      if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) {\n        return init.text;\n      }\n    }\n    if (prop.name.text === 'templateUrl') {\n      if (ts.isStringLiteral(prop.initializer)) {\n        const dir = tsPath.substring(0, tsPath.lastIndexOf('/'));\n        const templateBuffer = tree.read(`${dir}/${prop.initializer.text}`);\n        if (templateBuffer) return templateBuffer.toString('utf-8');\n      }\n    }\n  }\n  return null;\n}\n\n// --- Component Decorator Detection ---\n\ninterface ComponentInfo {\n  decorator: ts.Decorator;\n  className: string;\n  isNonStandalone: boolean;\n}\n\nfunction findComponentDecorators(sourceFile: ts.SourceFile): ComponentInfo[] {\n  const results: ComponentInfo[] = [];\n  const visit = (node: ts.Node): void => {\n    if (ts.isClassDeclaration(node) && node.name) {\n      const decs = ts.getDecorators(node);\n      if (decs) {\n        for (const dec of decs) {\n          if (ts.isCallExpression(dec.expression) && ts.isIdentifier(dec.expression.expression) && dec.expression.expression.text === 'Component') {\n            const isNonStandalone = hasStandaloneFalse(dec);\n            results.push({ decorator: dec, className: node.name.text, isNonStandalone });\n          }\n        }\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n  visit(sourceFile);\n  return results;\n}\n\nfunction hasStandaloneFalse(decorator: ts.Decorator): boolean {\n  const call = decorator.expression as ts.CallExpression;\n  if (!call.arguments[0] || !ts.isObjectLiteralExpression(call.arguments[0])) return false;\n  for (const prop of call.arguments[0].properties) {\n    if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name) && prop.name.text === 'standalone') {\n      return prop.initializer.kind === ts.SyntaxKind.FalseKeyword;\n    }\n  }\n  return false;\n}\n\n// --- NgModule Index ---\n\ninterface NgModuleInfo {\n  path: string;\n  declarations: string[];\n  decoratorPos: number;\n}\n\nfunction buildNgModuleIndex(tree: Tree, dir: DirEntry): NgModuleInfo[] {\n  const modules: NgModuleInfo[] = [];\n\n  visitDir(dir, (path) => {\n    if (!path.endsWith('.ts') || path.endsWith('.spec.ts')) return;\n\n    const buffer = tree.read(path);\n    if (!buffer) return;\n    const source = buffer.toString('utf-8');\n    if (!source.includes('NgModule')) return;\n\n    const sf = ts.createSourceFile(path, source, ts.ScriptTarget.Latest, true);\n    const visit = (node: ts.Node): void => {\n      if (ts.isClassDeclaration(node)) {\n        const decs = ts.getDecorators(node);\n        if (decs) {\n          for (const dec of decs) {\n            if (ts.isCallExpression(dec.expression) && ts.isIdentifier(dec.expression.expression) && dec.expression.expression.text === 'NgModule') {\n              const declarations = extractArrayProperty(dec, 'declarations', source);\n              modules.push({ path, declarations, decoratorPos: dec.getStart() });\n            }\n          }\n        }\n      }\n      ts.forEachChild(node, visit);\n    };\n    visit(sf);\n  });\n\n  return modules;\n}\n\nfunction extractArrayProperty(decorator: ts.Decorator, propName: string, source: string): string[] {\n  const call = decorator.expression as ts.CallExpression;\n  if (!call.arguments[0] || !ts.isObjectLiteralExpression(call.arguments[0])) return [];\n  for (const prop of call.arguments[0].properties) {\n    if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name) && prop.name.text === propName) {\n      if (ts.isArrayLiteralExpression(prop.initializer)) {\n        return prop.initializer.elements\n          .filter(ts.isIdentifier)\n          .map(id => id.text);\n      }\n    }\n  }\n  return [];\n}\n\nfunction findDeclaringModule(modules: NgModuleInfo[], componentClassName: string): NgModuleInfo | undefined {\n  return modules.find(m => m.declarations.includes(componentClassName));\n}\n\n// --- Import Addition ---\n\nfunction addImportsToFile(source: string, filePath: string, decoratorStartHint: number, imports: ImportToAdd[], useClassArray: boolean): string {\n  const sf = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true);\n\n  // Find the imports array in the decorator closest to decoratorStartHint\n  const importsArrayInfo = findDecoratorImportsArray(sf, source, decoratorStartHint);\n  if (!importsArrayInfo) return source;\n\n  const { arrayNode, decoratorType } = importsArrayInfo;\n\n  // Determine what's already in the imports array\n  const existingSymbols = new Set<string>();\n  const existingSpreads = new Set<string>();\n  for (const el of arrayNode.elements) {\n    if (ts.isSpreadElement(el) && ts.isIdentifier(el.expression)) {\n      existingSpreads.add(el.expression.text);\n    } else if (ts.isIdentifier(el)) {\n      existingSymbols.add(el.text);\n    }\n  }\n\n  // Filter out already-present imports and compute what to add/remove\n  const toAdd: ImportToAdd[] = [];\n  const toRemoveFromArray: string[] = []; // individual class names to consolidate\n\n  for (const imp of imports) {\n    if (imp.isSpread) {\n      if (existingSpreads.has(imp.symbol)) continue; // Already has ...EUI_X\n      toAdd.push(imp);\n      // Consolidate: remove individual class names covered by this array\n      if (useClassArray) {\n        const coveredClasses = getClassNamesForArray(imp.symbol);\n        for (const cls of coveredClasses) {\n          if (existingSymbols.has(cls)) toRemoveFromArray.push(cls);\n        }\n      }\n    } else {\n      if (existingSymbols.has(imp.symbol)) continue;\n      // Also skip if a spread already covers this class\n      const coveringArray = imports.find(i => i.isSpread && getClassNamesForArray(i.symbol).includes(imp.symbol));\n      if (coveringArray && (existingSpreads.has(coveringArray.symbol) || toAdd.some(a => a.symbol === coveringArray.symbol))) continue;\n      toAdd.push(imp);\n    }\n  }\n\n  if (toAdd.length === 0 && toRemoveFromArray.length === 0) return source;\n\n  // Build new array content\n  let result = source;\n  result = updateDecoratorImportsArray(result, filePath, arrayNode, toAdd, toRemoveFromArray);\n\n  // Add ES imports\n  result = addEsImports(result, filePath, toAdd);\n\n  // Remove consolidated class names from ES imports\n  if (toRemoveFromArray.length > 0) {\n    result = removeFromEsImports(result, filePath, toRemoveFromArray);\n  }\n\n  return result;\n}\n\ninterface ImportsArrayInfo {\n  arrayNode: ts.ArrayLiteralExpression;\n  decoratorType: 'Component' | 'NgModule';\n}\n\nfunction findDecoratorImportsArray(sf: ts.SourceFile, source: string, decoratorStartHint: number): ImportsArrayInfo | null {\n  let found: ImportsArrayInfo | null = null;\n\n  const visit = (node: ts.Node): void => {\n    if (found) return;\n    if (ts.isClassDeclaration(node)) {\n      const decs = ts.getDecorators(node);\n      if (!decs) return;\n      for (const dec of decs) {\n        if (!ts.isCallExpression(dec.expression)) continue;\n        if (!ts.isIdentifier(dec.expression.expression)) continue;\n        const decName = dec.expression.expression.text;\n        if (decName !== 'Component' && decName !== 'NgModule') continue;\n        if (Math.abs(dec.getStart() - decoratorStartHint) > 5) continue; // Match by position\n\n        const metadata = dec.expression.arguments[0];\n        if (!ts.isObjectLiteralExpression(metadata)) continue;\n\n        for (const prop of metadata.properties) {\n          if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name) && prop.name.text === 'imports') {\n            if (ts.isArrayLiteralExpression(prop.initializer)) {\n              found = { arrayNode: prop.initializer, decoratorType: decName as 'Component' | 'NgModule' };\n              return;\n            }\n          }\n        }\n\n        // No imports array found — create one\n        if (!found && decName === 'Component') {\n          // We need to add `imports: []` to the decorator\n          // Insert after the last property\n          const lastProp = metadata.properties[metadata.properties.length - 1];\n          if (lastProp) {\n            const insertPos = lastProp.getEnd();\n            const indent = detectIndent(source, metadata.getStart());\n            const insertion = `,\\n${indent}  imports: []`;\n            const newSource = source.slice(0, insertPos) + insertion + source.slice(insertPos);\n            // Re-parse to get the array node\n            const newSf = ts.createSourceFile('', newSource, ts.ScriptTarget.Latest, true);\n            const newArray = findImportsArrayInSource(newSf);\n            if (newArray) {\n              // We can't return a node from a different source file in the general case.\n              // Instead, we'll handle the \"no imports array\" case by adding it inline.\n              found = null; // Will be handled separately\n            }\n          }\n        }\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n  visit(sf);\n  return found;\n}\n\nfunction findImportsArrayInSource(sf: ts.SourceFile): ts.ArrayLiteralExpression | null {\n  let found: ts.ArrayLiteralExpression | null = null;\n  const visit = (node: ts.Node): void => {\n    if (found) return;\n    if (ts.isPropertyAssignment(node) && ts.isIdentifier(node.name) && node.name.text === 'imports' && ts.isArrayLiteralExpression(node.initializer)) {\n      found = node.initializer;\n    }\n    ts.forEachChild(node, visit);\n  };\n  visit(sf);\n  return found;\n}\n\nfunction updateDecoratorImportsArray(source: string, filePath: string, arrayNode: ts.ArrayLiteralExpression, toAdd: ImportToAdd[], toRemove: string[]): string {\n  const sf = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true);\n\n  // Rebuild the array content\n  const existingElements: string[] = [];\n  for (const el of arrayNode.elements) {\n    const text = source.slice(el.getStart(sf), el.getEnd()).trim();\n    // Check if this element should be removed (consolidation)\n    if (ts.isIdentifier(el) && toRemove.includes(el.text)) continue;\n    existingElements.push(text);\n  }\n\n  // Add new entries\n  for (const imp of toAdd) {\n    const entry = imp.isSpread ? `...${imp.symbol}` : imp.symbol;\n    if (!existingElements.includes(entry)) {\n      existingElements.push(entry);\n    }\n  }\n\n  // Determine formatting\n  const arrayStart = arrayNode.getStart(sf);\n  const arrayEnd = arrayNode.getEnd();\n  const originalText = source.slice(arrayStart, arrayEnd);\n  const isMultiline = originalText.includes('\\n');\n\n  let newArrayText: string;\n  if (isMultiline || existingElements.length > 3) {\n    const indent = detectIndent(source, arrayStart);\n    const itemIndent = indent + '  ';\n    newArrayText = `[\\n${existingElements.map(e => `${itemIndent}${e},`).join('\\n')}\\n${indent}]`;\n  } else {\n    newArrayText = `[${existingElements.join(', ')}]`;\n  }\n\n  return source.slice(0, arrayStart) + newArrayText + source.slice(arrayEnd);\n}\n\nfunction addEsImports(source: string, filePath: string, imports: ImportToAdd[]): string {\n  let result = source;\n\n  // Group by import path\n  const byPath = new Map<string, string[]>();\n  for (const imp of imports) {\n    const existing = byPath.get(imp.importPath) || [];\n    existing.push(imp.symbol);\n    byPath.set(imp.importPath, existing);\n  }\n\n  for (const [importPath, symbols] of byPath) {\n    const sf = ts.createSourceFile(filePath, result, ts.ScriptTarget.Latest, true);\n\n    // Check if there's already an import from this path\n    const existingImport = sf.statements.find(\n      (s): s is ts.ImportDeclaration =>\n        ts.isImportDeclaration(s) && ts.isStringLiteral(s.moduleSpecifier) && s.moduleSpecifier.text === importPath,\n    );\n\n    if (existingImport?.importClause?.namedBindings && ts.isNamedImports(existingImport.importClause.namedBindings)) {\n      // Extend existing import\n      const namedBindings = existingImport.importClause.namedBindings;\n      const existingNames = namedBindings.elements.map(el => el.name.text);\n      const newNames = symbols.filter(s => !existingNames.includes(s));\n      if (newNames.length === 0) continue;\n\n      const allNames = [...existingNames, ...newNames].sort();\n      const newClause = `{ ${allNames.join(', ')} }`;\n      result = result.slice(0, namedBindings.getStart(sf)) + newClause + result.slice(namedBindings.getEnd());\n    } else {\n      // Add new import statement\n      const sortedSymbols = [...symbols].sort();\n      const newImport = `import { ${sortedSymbols.join(', ')} } from '${importPath}';\\n`;\n\n      // Insert after the last existing import\n      const lastImport = [...sf.statements].reverse().find(ts.isImportDeclaration);\n      if (lastImport) {\n        const pos = lastImport.getEnd();\n        result = result.slice(0, pos) + '\\n' + newImport.trimEnd() + result.slice(pos);\n      } else {\n        result = newImport + result;\n      }\n    }\n  }\n\n  return result;\n}\n\nfunction detectIndent(source: string, pos: number): string {\n  const lineStart = source.lastIndexOf('\\n', pos - 1) + 1;\n  const match = source.slice(lineStart, pos).match(/^(\\s*)/);\n  return match ? match[1] : '';\n}\n\nfunction removeFromEsImports(source: string, filePath: string, symbolsToRemove: string[]): string {\n  let result = source;\n  const sf = ts.createSourceFile(filePath, result, ts.ScriptTarget.Latest, true);\n\n  for (const stmt of sf.statements) {\n    if (!ts.isImportDeclaration(stmt) || !stmt.importClause?.namedBindings || !ts.isNamedImports(stmt.importClause.namedBindings)) continue;\n    const namedBindings = stmt.importClause.namedBindings;\n    const existingNames = namedBindings.elements.map(el => el.name.text);\n    const remaining = existingNames.filter(n => !symbolsToRemove.includes(n));\n\n    if (remaining.length === existingNames.length) continue; // Nothing to remove from this import\n\n    if (remaining.length === 0) {\n      // Remove the entire import statement\n      result = result.slice(0, stmt.getStart(sf)) + result.slice(stmt.getEnd()).replace(/^\\r?\\n/, '');\n    } else {\n      const newClause = `{ ${remaining.join(', ')} }`;\n      result = result.slice(0, namedBindings.getStart(sf)) + newClause + result.slice(namedBindings.getEnd());\n    }\n    break; // Only process the first matching import for the consolidated symbols\n  }\n\n  return result;\n}\n",
            "properties": [
                {
                    "name": "arrayNode",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ts.ArrayLiteralExpression",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 357
                },
                {
                    "name": "decoratorType",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"Component\" | \"NgModule\"",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 358
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "ImportToAdd",
            "id": "interface-ImportToAdd-9c5e016857e1416ac7bbb881973e644c0f578a53bd432bb951c1676ac3f2a6631bfe3344860346a081b841217278723e0bb0bf2fa35fb869de67cb0cc8d99849",
            "file": "packages/core/schematics/add-eui-imports/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstElement, TmplAstNode, TmplAstTemplate } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\nimport { SELECTOR_MAP, SelectorEntry, getClassNamesForArray } from './selector-map';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n  useClassArray?: boolean;\n}\n\ninterface ImportToAdd {\n  /** The symbol to add to imports array (class name or array name for spread) */\n  symbol: string;\n  /** Whether this should be spread (...EUI_BUTTON) */\n  isSpread: boolean;\n  /** ES import path */\n  importPath: string;\n}\n\nexport function addEuiImports(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    const useClassArray = options.useClassArray ?? false;\n    let filesUpdated = 0;\n\n    // Index NgModules for standalone:false support\n    const ngModuleIndex = buildNgModuleIndex(tree, tree.getDir(scanPath || '/'));\n\n    visitDir(tree.getDir(scanPath || '/'), (path) => {\n      if (!path.endsWith('.ts') || path.endsWith('.spec.ts')) return;\n\n      const buffer = tree.read(path);\n      if (!buffer) return;\n      const source = buffer.toString('utf-8');\n\n      const sourceFile = ts.createSourceFile(path, source, ts.ScriptTarget.Latest, true);\n      const components = findComponentDecorators(sourceFile);\n      if (components.length === 0) return;\n\n      let modified = false;\n\n      for (const { decorator, className: componentClassName, isNonStandalone } of components) {\n        const templateHtml = getTemplateContent(tree, path, decorator, source);\n        if (!templateHtml) continue;\n\n        const matched = matchSelectorsInTemplate(templateHtml);\n        if (matched.length === 0) continue;\n\n        const importsToAdd = resolveImports(matched, useClassArray);\n        if (importsToAdd.length === 0) continue;\n\n        if (isNonStandalone) {\n          // Find the NgModule that declares this component and add imports there\n          const moduleInfo = findDeclaringModule(ngModuleIndex, componentClassName);\n          if (!moduleInfo) {\n            context.logger.warn(`⚠ Could not find declaring NgModule for ${componentClassName} in ${path}`);\n            continue;\n          }\n          const moduleBuffer = tree.read(moduleInfo.path);\n          if (!moduleBuffer) continue;\n          const moduleSource = moduleBuffer.toString('utf-8');\n          const result = addImportsToFile(moduleSource, moduleInfo.path, moduleInfo.decoratorPos, importsToAdd, useClassArray);\n          if (result !== moduleSource) {\n            if (options.dryRun) {\n              logDryRun(context, `Would add EUI imports to NgModule in ${moduleInfo.path} for component ${componentClassName}`);\n            } else {\n              tree.overwrite(moduleInfo.path, result);\n            }\n            modified = true;\n          }\n        } else {\n          // Standalone component — add imports directly\n          const currentSource = tree.read(path)!.toString('utf-8');\n          const result = addImportsToFile(currentSource, path, decorator.getStart(), importsToAdd, useClassArray);\n          if (result !== currentSource) {\n            if (options.dryRun) {\n              logDryRun(context, `Would add EUI imports to ${path}`);\n            } else {\n              tree.overwrite(path, result);\n            }\n            modified = true;\n          }\n        }\n      }\n\n      if (modified) filesUpdated++;\n    });\n\n    context.logger.info(`add-eui-imports: ${filesUpdated} file(s) updated.`);\n    if (options.dryRun) logDryRunNote(context);\n    return tree;\n  };\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n\n// --- Selector Matching ---\n\nfunction matchSelectorsInTemplate(html: string): SelectorEntry[] {\n  const parsed = parseTemplate(html, '', { preserveWhitespaces: true });\n  if (parsed.errors?.length) return [];\n\n  const matched: SelectorEntry[] = [];\n  visitTemplateNodes(parsed.nodes, matched);\n  return matched;\n}\n\nfunction visitTemplateNodes(nodes: TmplAstNode[], matched: SelectorEntry[]): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      matchElement(node, matched);\n      visitTemplateNodes(node.children, matched);\n    } else if (node instanceof TmplAstTemplate) {\n      visitTemplateNodes(node.children, matched);\n    }\n  }\n}\n\nfunction matchElement(element: TmplAstElement, matched: SelectorEntry[]): void {\n  const tagName = element.name;\n  const attrNames = new Set([\n    ...element.attributes.map(a => a.name),\n    ...element.inputs.map(i => i.name),\n  ]);\n\n  for (const entry of SELECTOR_MAP) {\n    if (entry.element && entry.element !== tagName) continue;\n    if (!entry.element && entry.attributes.length === 0) continue;\n    if (!entry.attributes.every(attr => attrNames.has(attr))) continue;\n    // If no element specified, at least one attribute must match on this element\n    if (!entry.element && entry.attributes.length > 0 && !entry.attributes.some(attr => attrNames.has(attr))) continue;\n    matched.push(entry);\n  }\n}\n\n// --- Import Resolution ---\n\nfunction resolveImports(matched: SelectorEntry[], useClassArray: boolean): ImportToAdd[] {\n  const seen = new Set<string>();\n  const result: ImportToAdd[] = [];\n\n  for (const entry of matched) {\n    if (useClassArray && entry.classArray) {\n      if (seen.has(entry.classArray)) continue;\n      seen.add(entry.classArray);\n      result.push({ symbol: entry.classArray, isSpread: true, importPath: entry.importPath });\n    } else {\n      if (seen.has(entry.className)) continue;\n      seen.add(entry.className);\n      result.push({ symbol: entry.className, isSpread: false, importPath: entry.importPath });\n    }\n  }\n\n  return result;\n}\n\n// --- Template Extraction ---\n\nfunction getTemplateContent(tree: Tree, tsPath: string, decorator: ts.Decorator, source: string): string | null {\n  const call = decorator.expression as ts.CallExpression;\n  if (!call.arguments[0] || !ts.isObjectLiteralExpression(call.arguments[0])) return null;\n  const metadata = call.arguments[0];\n\n  for (const prop of metadata.properties) {\n    if (!ts.isPropertyAssignment(prop) || !ts.isIdentifier(prop.name)) continue;\n    if (prop.name.text === 'template') {\n      const init = prop.initializer;\n      if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) {\n        return init.text;\n      }\n    }\n    if (prop.name.text === 'templateUrl') {\n      if (ts.isStringLiteral(prop.initializer)) {\n        const dir = tsPath.substring(0, tsPath.lastIndexOf('/'));\n        const templateBuffer = tree.read(`${dir}/${prop.initializer.text}`);\n        if (templateBuffer) return templateBuffer.toString('utf-8');\n      }\n    }\n  }\n  return null;\n}\n\n// --- Component Decorator Detection ---\n\ninterface ComponentInfo {\n  decorator: ts.Decorator;\n  className: string;\n  isNonStandalone: boolean;\n}\n\nfunction findComponentDecorators(sourceFile: ts.SourceFile): ComponentInfo[] {\n  const results: ComponentInfo[] = [];\n  const visit = (node: ts.Node): void => {\n    if (ts.isClassDeclaration(node) && node.name) {\n      const decs = ts.getDecorators(node);\n      if (decs) {\n        for (const dec of decs) {\n          if (ts.isCallExpression(dec.expression) && ts.isIdentifier(dec.expression.expression) && dec.expression.expression.text === 'Component') {\n            const isNonStandalone = hasStandaloneFalse(dec);\n            results.push({ decorator: dec, className: node.name.text, isNonStandalone });\n          }\n        }\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n  visit(sourceFile);\n  return results;\n}\n\nfunction hasStandaloneFalse(decorator: ts.Decorator): boolean {\n  const call = decorator.expression as ts.CallExpression;\n  if (!call.arguments[0] || !ts.isObjectLiteralExpression(call.arguments[0])) return false;\n  for (const prop of call.arguments[0].properties) {\n    if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name) && prop.name.text === 'standalone') {\n      return prop.initializer.kind === ts.SyntaxKind.FalseKeyword;\n    }\n  }\n  return false;\n}\n\n// --- NgModule Index ---\n\ninterface NgModuleInfo {\n  path: string;\n  declarations: string[];\n  decoratorPos: number;\n}\n\nfunction buildNgModuleIndex(tree: Tree, dir: DirEntry): NgModuleInfo[] {\n  const modules: NgModuleInfo[] = [];\n\n  visitDir(dir, (path) => {\n    if (!path.endsWith('.ts') || path.endsWith('.spec.ts')) return;\n\n    const buffer = tree.read(path);\n    if (!buffer) return;\n    const source = buffer.toString('utf-8');\n    if (!source.includes('NgModule')) return;\n\n    const sf = ts.createSourceFile(path, source, ts.ScriptTarget.Latest, true);\n    const visit = (node: ts.Node): void => {\n      if (ts.isClassDeclaration(node)) {\n        const decs = ts.getDecorators(node);\n        if (decs) {\n          for (const dec of decs) {\n            if (ts.isCallExpression(dec.expression) && ts.isIdentifier(dec.expression.expression) && dec.expression.expression.text === 'NgModule') {\n              const declarations = extractArrayProperty(dec, 'declarations', source);\n              modules.push({ path, declarations, decoratorPos: dec.getStart() });\n            }\n          }\n        }\n      }\n      ts.forEachChild(node, visit);\n    };\n    visit(sf);\n  });\n\n  return modules;\n}\n\nfunction extractArrayProperty(decorator: ts.Decorator, propName: string, source: string): string[] {\n  const call = decorator.expression as ts.CallExpression;\n  if (!call.arguments[0] || !ts.isObjectLiteralExpression(call.arguments[0])) return [];\n  for (const prop of call.arguments[0].properties) {\n    if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name) && prop.name.text === propName) {\n      if (ts.isArrayLiteralExpression(prop.initializer)) {\n        return prop.initializer.elements\n          .filter(ts.isIdentifier)\n          .map(id => id.text);\n      }\n    }\n  }\n  return [];\n}\n\nfunction findDeclaringModule(modules: NgModuleInfo[], componentClassName: string): NgModuleInfo | undefined {\n  return modules.find(m => m.declarations.includes(componentClassName));\n}\n\n// --- Import Addition ---\n\nfunction addImportsToFile(source: string, filePath: string, decoratorStartHint: number, imports: ImportToAdd[], useClassArray: boolean): string {\n  const sf = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true);\n\n  // Find the imports array in the decorator closest to decoratorStartHint\n  const importsArrayInfo = findDecoratorImportsArray(sf, source, decoratorStartHint);\n  if (!importsArrayInfo) return source;\n\n  const { arrayNode, decoratorType } = importsArrayInfo;\n\n  // Determine what's already in the imports array\n  const existingSymbols = new Set<string>();\n  const existingSpreads = new Set<string>();\n  for (const el of arrayNode.elements) {\n    if (ts.isSpreadElement(el) && ts.isIdentifier(el.expression)) {\n      existingSpreads.add(el.expression.text);\n    } else if (ts.isIdentifier(el)) {\n      existingSymbols.add(el.text);\n    }\n  }\n\n  // Filter out already-present imports and compute what to add/remove\n  const toAdd: ImportToAdd[] = [];\n  const toRemoveFromArray: string[] = []; // individual class names to consolidate\n\n  for (const imp of imports) {\n    if (imp.isSpread) {\n      if (existingSpreads.has(imp.symbol)) continue; // Already has ...EUI_X\n      toAdd.push(imp);\n      // Consolidate: remove individual class names covered by this array\n      if (useClassArray) {\n        const coveredClasses = getClassNamesForArray(imp.symbol);\n        for (const cls of coveredClasses) {\n          if (existingSymbols.has(cls)) toRemoveFromArray.push(cls);\n        }\n      }\n    } else {\n      if (existingSymbols.has(imp.symbol)) continue;\n      // Also skip if a spread already covers this class\n      const coveringArray = imports.find(i => i.isSpread && getClassNamesForArray(i.symbol).includes(imp.symbol));\n      if (coveringArray && (existingSpreads.has(coveringArray.symbol) || toAdd.some(a => a.symbol === coveringArray.symbol))) continue;\n      toAdd.push(imp);\n    }\n  }\n\n  if (toAdd.length === 0 && toRemoveFromArray.length === 0) return source;\n\n  // Build new array content\n  let result = source;\n  result = updateDecoratorImportsArray(result, filePath, arrayNode, toAdd, toRemoveFromArray);\n\n  // Add ES imports\n  result = addEsImports(result, filePath, toAdd);\n\n  // Remove consolidated class names from ES imports\n  if (toRemoveFromArray.length > 0) {\n    result = removeFromEsImports(result, filePath, toRemoveFromArray);\n  }\n\n  return result;\n}\n\ninterface ImportsArrayInfo {\n  arrayNode: ts.ArrayLiteralExpression;\n  decoratorType: 'Component' | 'NgModule';\n}\n\nfunction findDecoratorImportsArray(sf: ts.SourceFile, source: string, decoratorStartHint: number): ImportsArrayInfo | null {\n  let found: ImportsArrayInfo | null = null;\n\n  const visit = (node: ts.Node): void => {\n    if (found) return;\n    if (ts.isClassDeclaration(node)) {\n      const decs = ts.getDecorators(node);\n      if (!decs) return;\n      for (const dec of decs) {\n        if (!ts.isCallExpression(dec.expression)) continue;\n        if (!ts.isIdentifier(dec.expression.expression)) continue;\n        const decName = dec.expression.expression.text;\n        if (decName !== 'Component' && decName !== 'NgModule') continue;\n        if (Math.abs(dec.getStart() - decoratorStartHint) > 5) continue; // Match by position\n\n        const metadata = dec.expression.arguments[0];\n        if (!ts.isObjectLiteralExpression(metadata)) continue;\n\n        for (const prop of metadata.properties) {\n          if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name) && prop.name.text === 'imports') {\n            if (ts.isArrayLiteralExpression(prop.initializer)) {\n              found = { arrayNode: prop.initializer, decoratorType: decName as 'Component' | 'NgModule' };\n              return;\n            }\n          }\n        }\n\n        // No imports array found — create one\n        if (!found && decName === 'Component') {\n          // We need to add `imports: []` to the decorator\n          // Insert after the last property\n          const lastProp = metadata.properties[metadata.properties.length - 1];\n          if (lastProp) {\n            const insertPos = lastProp.getEnd();\n            const indent = detectIndent(source, metadata.getStart());\n            const insertion = `,\\n${indent}  imports: []`;\n            const newSource = source.slice(0, insertPos) + insertion + source.slice(insertPos);\n            // Re-parse to get the array node\n            const newSf = ts.createSourceFile('', newSource, ts.ScriptTarget.Latest, true);\n            const newArray = findImportsArrayInSource(newSf);\n            if (newArray) {\n              // We can't return a node from a different source file in the general case.\n              // Instead, we'll handle the \"no imports array\" case by adding it inline.\n              found = null; // Will be handled separately\n            }\n          }\n        }\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n  visit(sf);\n  return found;\n}\n\nfunction findImportsArrayInSource(sf: ts.SourceFile): ts.ArrayLiteralExpression | null {\n  let found: ts.ArrayLiteralExpression | null = null;\n  const visit = (node: ts.Node): void => {\n    if (found) return;\n    if (ts.isPropertyAssignment(node) && ts.isIdentifier(node.name) && node.name.text === 'imports' && ts.isArrayLiteralExpression(node.initializer)) {\n      found = node.initializer;\n    }\n    ts.forEachChild(node, visit);\n  };\n  visit(sf);\n  return found;\n}\n\nfunction updateDecoratorImportsArray(source: string, filePath: string, arrayNode: ts.ArrayLiteralExpression, toAdd: ImportToAdd[], toRemove: string[]): string {\n  const sf = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true);\n\n  // Rebuild the array content\n  const existingElements: string[] = [];\n  for (const el of arrayNode.elements) {\n    const text = source.slice(el.getStart(sf), el.getEnd()).trim();\n    // Check if this element should be removed (consolidation)\n    if (ts.isIdentifier(el) && toRemove.includes(el.text)) continue;\n    existingElements.push(text);\n  }\n\n  // Add new entries\n  for (const imp of toAdd) {\n    const entry = imp.isSpread ? `...${imp.symbol}` : imp.symbol;\n    if (!existingElements.includes(entry)) {\n      existingElements.push(entry);\n    }\n  }\n\n  // Determine formatting\n  const arrayStart = arrayNode.getStart(sf);\n  const arrayEnd = arrayNode.getEnd();\n  const originalText = source.slice(arrayStart, arrayEnd);\n  const isMultiline = originalText.includes('\\n');\n\n  let newArrayText: string;\n  if (isMultiline || existingElements.length > 3) {\n    const indent = detectIndent(source, arrayStart);\n    const itemIndent = indent + '  ';\n    newArrayText = `[\\n${existingElements.map(e => `${itemIndent}${e},`).join('\\n')}\\n${indent}]`;\n  } else {\n    newArrayText = `[${existingElements.join(', ')}]`;\n  }\n\n  return source.slice(0, arrayStart) + newArrayText + source.slice(arrayEnd);\n}\n\nfunction addEsImports(source: string, filePath: string, imports: ImportToAdd[]): string {\n  let result = source;\n\n  // Group by import path\n  const byPath = new Map<string, string[]>();\n  for (const imp of imports) {\n    const existing = byPath.get(imp.importPath) || [];\n    existing.push(imp.symbol);\n    byPath.set(imp.importPath, existing);\n  }\n\n  for (const [importPath, symbols] of byPath) {\n    const sf = ts.createSourceFile(filePath, result, ts.ScriptTarget.Latest, true);\n\n    // Check if there's already an import from this path\n    const existingImport = sf.statements.find(\n      (s): s is ts.ImportDeclaration =>\n        ts.isImportDeclaration(s) && ts.isStringLiteral(s.moduleSpecifier) && s.moduleSpecifier.text === importPath,\n    );\n\n    if (existingImport?.importClause?.namedBindings && ts.isNamedImports(existingImport.importClause.namedBindings)) {\n      // Extend existing import\n      const namedBindings = existingImport.importClause.namedBindings;\n      const existingNames = namedBindings.elements.map(el => el.name.text);\n      const newNames = symbols.filter(s => !existingNames.includes(s));\n      if (newNames.length === 0) continue;\n\n      const allNames = [...existingNames, ...newNames].sort();\n      const newClause = `{ ${allNames.join(', ')} }`;\n      result = result.slice(0, namedBindings.getStart(sf)) + newClause + result.slice(namedBindings.getEnd());\n    } else {\n      // Add new import statement\n      const sortedSymbols = [...symbols].sort();\n      const newImport = `import { ${sortedSymbols.join(', ')} } from '${importPath}';\\n`;\n\n      // Insert after the last existing import\n      const lastImport = [...sf.statements].reverse().find(ts.isImportDeclaration);\n      if (lastImport) {\n        const pos = lastImport.getEnd();\n        result = result.slice(0, pos) + '\\n' + newImport.trimEnd() + result.slice(pos);\n      } else {\n        result = newImport + result;\n      }\n    }\n  }\n\n  return result;\n}\n\nfunction detectIndent(source: string, pos: number): string {\n  const lineStart = source.lastIndexOf('\\n', pos - 1) + 1;\n  const match = source.slice(lineStart, pos).match(/^(\\s*)/);\n  return match ? match[1] : '';\n}\n\nfunction removeFromEsImports(source: string, filePath: string, symbolsToRemove: string[]): string {\n  let result = source;\n  const sf = ts.createSourceFile(filePath, result, ts.ScriptTarget.Latest, true);\n\n  for (const stmt of sf.statements) {\n    if (!ts.isImportDeclaration(stmt) || !stmt.importClause?.namedBindings || !ts.isNamedImports(stmt.importClause.namedBindings)) continue;\n    const namedBindings = stmt.importClause.namedBindings;\n    const existingNames = namedBindings.elements.map(el => el.name.text);\n    const remaining = existingNames.filter(n => !symbolsToRemove.includes(n));\n\n    if (remaining.length === existingNames.length) continue; // Nothing to remove from this import\n\n    if (remaining.length === 0) {\n      // Remove the entire import statement\n      result = result.slice(0, stmt.getStart(sf)) + result.slice(stmt.getEnd()).replace(/^\\r?\\n/, '');\n    } else {\n      const newClause = `{ ${remaining.join(', ')} }`;\n      result = result.slice(0, namedBindings.getStart(sf)) + newClause + result.slice(namedBindings.getEnd());\n    }\n    break; // Only process the first matching import for the consolidated symbols\n  }\n\n  return result;\n}\n",
            "properties": [
                {
                    "name": "importPath",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>ES import path</p>\n",
                    "line": 19,
                    "rawdescription": "\nES import path"
                },
                {
                    "name": "isSpread",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether this should be spread (...EUI_BUTTON)</p>\n",
                    "line": 17,
                    "rawdescription": "\nWhether this should be spread (...EUI_BUTTON)"
                },
                {
                    "name": "symbol",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The symbol to add to imports array (class name or array name for spread)</p>\n",
                    "line": 15,
                    "rawdescription": "\nThe symbol to add to imports array (class name or array name for spread)"
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "Library",
            "id": "interface-Library-ab7cfc0aae7b6e23ef05981e22f2238b3acbcfbad724f99dad2ec4ed4b9bfb65d1ff5a5d91c16067d467e495e213d0de298aa017e6a5339f541c6351d89729e3",
            "file": "packages/core/src/lib/services/loader/eui-loader.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export enum Status {\n    LOADING = 'loading',\n    LOADED = 'loaded',\n    ERROR = 'error',\n}\n\n/**\n * A library is a set of script and style dependencies\n * that can be loaded dynamically\n * @interface Library\n * @property {string} name - global variable object name that the script will give to the library\n * @property {Dependency[]} dependencies - a set of script and style dependencies\n * @property {Status} status - the status of the library e.g. LOADED\n * @example\n *\n * const library: Library = {\n *    name: 'Quill',\n *    dependencies: [\n *    {\n *      name: 'quill',\n *      url: 'https://cdn.quilljs.com/1.3.6/quill.js',\n *      type: 'js',\n *      requires: [],\n *      loaded: false,\n *      error: false,\n *    },\n *    {\n *      name: 'quill',\n *      url: 'https://cdn.quilljs.com/1.3.6/quill.snow.css',\n *      type: 'css',\n *      requires: [],\n *      loaded: false,\n *      error: false,\n *     },\n *     ],\n *     status: Status.LOADING,\n * };\n */\nexport interface Library {\n    /** global variable object name that the script will give to the library */\n    name: string;\n    /** a set of script and style dependencies */\n    dependencies: Dependency[];\n    /** the status of the library e.g. LOADED */\n    status: Status;\n}\n\n/**\n * A dependency is a script or style that can be loaded dynamically\n */\nexport interface Dependency {\n    /** an identifier for the dependency */\n    name: string;\n    /**\n     * the url of the dependency\n     * @example\n     * https://cdn.quilljs.com/1.3.6/quill.js\n     */\n    url: string;\n    /** the type of the dependency. Is it a style or script? */\n    type: 'js' | 'css';\n    /**\n     * an array of dependencies corresponds to the Dependency.name\n     * that must be loaded before this dependency\n     * @example\n     * ['quill-better-table']\n     * where 'quill-better-table' is the name of the dependency\n     * const betterTable: Dependency = {\n     *   name: 'quill-better-table',\n     *   url: 'https://cdn.quilljs.com/1.3.6/quill.js',\n     *   type: 'js',\n     *   requires: ['quill-better-table'],\n     * }\n     */\n    requires: string[];\n    /** the status of the dependency */\n    status?: Status;\n    /** the number of times the dependency has been loaded */\n    retries?: number;\n}\n\n/**\n * Configuration for different policies\n */\nexport interface Policy {\n    /** Maximum number of retry attempts */\n    maxAttempts: number;\n    /** Time between retries in milliseconds */\n    retryInterval: number;\n    /** Time in milliseconds before considering a load attempt as failed */\n    timeout: number;\n}\n",
            "properties": [
                {
                    "name": "dependencies",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Dependency[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>a set of script and style dependencies</p>\n",
                    "line": 50,
                    "rawdescription": "\na set of script and style dependencies"
                },
                {
                    "name": "name",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>global variable object name that the script will give to the library</p>\n",
                    "line": 48,
                    "rawdescription": "\nglobal variable object name that the script will give to the library"
                },
                {
                    "name": "status",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Status",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>the status of the library e.g. LOADED</p>\n",
                    "line": 52,
                    "rawdescription": "\nthe status of the library e.g. LOADED"
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>A library is a set of script and style dependencies\nthat can be loaded dynamically</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\"></code></pre></div><p>const library: Library = {\n   name: &#39;Quill&#39;,\n   dependencies: [\n   {\n     name: &#39;quill&#39;,\n     url: &#39;<a href=\"https://cdn.quilljs.com/1.3.6/quill.js\">https://cdn.quilljs.com/1.3.6/quill.js</a>&#39;,\n     type: &#39;js&#39;,\n     requires: [],\n     loaded: false,\n     error: false,\n   },\n   {\n     name: &#39;quill&#39;,\n     url: &#39;<a href=\"https://cdn.quilljs.com/1.3.6/quill.snow.css\">https://cdn.quilljs.com/1.3.6/quill.snow.css</a>&#39;,\n     type: &#39;css&#39;,\n     requires: [],\n     loaded: false,\n     error: false,\n    },\n    ],\n    status: Status.LOADING,\n};</p>\n",
            "rawdescription": "\n\nA library is a set of script and style dependencies\nthat can be loaded dynamically\n```html\n```\nconst library: Library = {\n   name: 'Quill',\n   dependencies: [\n   {\n     name: 'quill',\n     url: 'https://cdn.quilljs.com/1.3.6/quill.js',\n     type: 'js',\n     requires: [],\n     loaded: false,\n     error: false,\n   },\n   {\n     name: 'quill',\n     url: 'https://cdn.quilljs.com/1.3.6/quill.snow.css',\n     type: 'css',\n     requires: [],\n     loaded: false,\n     error: false,\n    },\n    ],\n    status: Status.LOADING,\n};\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "LoadedResources",
            "id": "interface-LoadedResources-13449e882c84e7a5fbea186f03a18d17bec34c75962ab83b8fa1a7274d6f0661744b43a4ca4c96a7d5f90da13d4c4a5ff2190b4e243d681266632e1a73464b4c",
            "file": "packages/core/src/lib/services/i18n/i18n.loader.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Injectable, inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { TranslateLoader, TranslationObject } from '@ngx-translate/core';\nimport { forkJoin, Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\nimport {\n    getI18nLoaderConfig,\n    I18nResource,\n    type EuiAppConfig,\n    mergeAll,\n    Logger,\n    I18nLoaderConfig,\n    I18nConfig,\n    TranslationsCompiler,\n} from '@eui/base';\nimport { I18nResourceImpl } from './i18n.resource';\nimport { CONFIG_TOKEN } from '../config/tokens';\nimport { LogService } from '../log/log.service';\nimport { transformTranslations } from './i18n-utils';\n\ninterface ResourceError {\n    isError: boolean;\n    error?: string;\n    resource?: I18nResourceImpl;\n}\n\nexport interface LoadedResources {\n    translations: TranslationObject;\n    hasError: boolean;\n    errors?: Array<LoadedResourcesError>;\n}\n\nexport interface LoadedResourcesError {\n    resource: I18nResourceImpl;\n    error: string;\n}\n\nexport interface TranslationKeys {\n    [key: string]: string\n}\n\n@Injectable()\nexport class I18nLoader implements TranslateLoader {\n    protected http = inject(HttpClient);\n    protected logService = inject(LogService, { optional: true });\n    protected euiAppConfig = inject<EuiAppConfig>(CONFIG_TOKEN);\n\n    protected resources: I18nResourceImpl[] = [];\n    protected failedResources: Array<LoadedResourcesError> = [];\n    private logger: Logger;\n    private icuEnabled: boolean;\n\n    constructor() {\n        const logService = this.logService;\n\n        if (logService) {\n            this.logger = this.logService.getLogger('core.I18nLoader')\n        }\n\n        // create the resources from the config object\n        const i18nConfig: I18nConfig = this.euiAppConfig.global && this.euiAppConfig.global.i18n;\n        const i18nLoaderConfig: I18nLoaderConfig = i18nConfig && i18nConfig.i18nLoader;\n        this.resources.push(...this.createResources(i18nLoaderConfig));\n\n        // Auto-detect ICU mode from config\n        this.icuEnabled = !!(i18nConfig && i18nConfig.icuEnabled);\n    }\n\n    /**\n     * Gets the translations from the server\n     *\n     * @param lang\n     * @returns Observable<object>\n     */\n    public getTranslation(lang: string): Observable<TranslationObject> {\n        return this.loadResources(this.resources, lang).pipe(\n            map((loadedResources: LoadedResources) => {\n                this.failedResources = loadedResources.hasError ? loadedResources.errors : [];\n                const translations = loadedResources.translations;\n                return this.icuEnabled ? transformTranslations(translations) : translations;\n            }),\n        );\n    }\n\n    /**\n     * Adds resources\n     *\n     * @param config loader configuration\n     * @returns Observable<any> | false\n     */\n    public addResources(config: I18nLoaderConfig): I18nResourceImpl[] {\n        // create the resources\n        let resources = this.createResources(config);\n\n        // filter the resources first, to avoid duplicates\n        resources = resources.filter((resource) => !this.resources.some((res) => res.equals(resource)));\n\n        // add the new resources to the list of existing resources\n        this.resources.push(...resources);\n\n        // return the filtered resources\n        return resources;\n    }\n\n    /**\n     * Removes resources from the loader instance\n     */\n    public removeResources(removedResources: I18nResourceImpl[]): void {\n        this.resources = this.resources.filter((res) => !removedResources.some((removedResource) => removedResource.equals(res)));\n    }\n\n    /**\n     * Loads an array of resources, by language\n     *\n     * @param resources the definition of the resources\n     * @param lang the resource language to load\n     * @returns Observable<any>\n     */\n    public loadResources(resources: I18nResourceImpl[], lang: string): Observable<{ hasError: boolean; translations: TranslationObject; errors?: LoadedResourcesError[] }> {\n        // if there are resources to load\n        if (Array.isArray(resources) && resources.length > 0) {\n            // load all the resources in an array of Observable\n            const requests = resources.map((resource) => this.loadResource(resource, lang));\n            // group all the observables with forkJoin and deep merge them\n            return forkJoin(requests).pipe(\n                map((response) => {\n                    const successResp = [];\n                    const errResp: Array<LoadedResourcesError> = [];\n                    response.forEach((item) => {\n                        if ((<ResourceError>item).isError) {\n                            errResp.push({ resource: (<ResourceError>item).resource, error: (<ResourceError>item).error });\n                        } else {\n                            successResp.push(item);\n                        }\n                    });\n                    if (successResp.length === response.length) {\n                        return { hasError: false, translations: mergeAll(successResp) };\n                    } else {\n                        return { hasError: true, translations: mergeAll(successResp), errors: errResp };\n                    }\n                }),\n            );\n        } else {\n            // no resources to load\n            return of({ hasError: false, translations: {} });\n        }\n    }\n\n    /**\n     * Returns resources that failed\n     */\n    public getFailedResources(): Array<LoadedResourcesError> {\n        return this.failedResources;\n    }\n\n    /**\n     * Create resources from a config file\n     *\n     * @param config loader configuration\n     * @returns I18nResourceImpl[] resources\n     */\n    protected createResources(config: I18nLoaderConfig): I18nResourceImpl[] {\n        // use the default config as a reference base\n        config = getI18nLoaderConfig(config);\n\n        const resources = [];\n\n        // extract the i18n folders from config\n        const i18nFolders: string[] = Array.isArray(config.i18nFolders)\n            ? config.i18nFolders\n            : config.i18nFolders\n            ? [config.i18nFolders]\n            : [];\n        if (i18nFolders) {\n            // add the i18n folders to resources\n            resources.push(...i18nFolders.map((folder) => new I18nResourceImpl(`assets/${folder}/`, '.json')));\n        }\n\n        // extract the i18n services from config\n        const i18nServices: string[] = Array.isArray(config.i18nServices)\n            ? config.i18nServices\n            : config.i18nServices\n            ? [config.i18nServices]\n            : [];\n        if (i18nServices) {\n            // add the i18n services to resources\n            resources.push(...i18nServices.map((service) => new I18nResourceImpl(service)));\n        }\n\n        // extract the i18n resources from config\n        const i18nResources: I18nResource[] = Array.isArray(config.i18nResources)\n            ? config.i18nResources\n            : config.i18nResources\n            ? [config.i18nResources]\n            : [];\n        if (i18nResources) {\n            // add the i18n resources to resources\n            resources.push(\n                ...i18nResources.map(\n                    (resource) =>\n                        new I18nResourceImpl(\n                            resource.prefix,\n                            resource.suffix,\n                            this.getResourceCompileFunction(resource.compileTranslations),\n                        ),\n                ),\n            );\n        }\n\n        return resources;\n    }\n\n    /**\n     * Loads a resource, by language\n     *\n     * @param resource the definition of the resource\n     * @param lang the resource language to load\n     * @returns Observable<any>\n     */\n    protected loadResource(resource: I18nResourceImpl, lang: string): Observable<TranslationKeys | ResourceError> {\n        // the path to the resource\n        const path = resource.getPath(lang);\n\n        // load the translations from the path\n        return this.http.get(path).pipe(\n            // preprocess the translations using the resource compiler\n            map((translations: unknown) => resource.compileTranslations(translations, lang)),\n            map((translations: TranslationKeys) => {\n                // resource loaded properly, send a info message\n                this.logger?.info(`I18n resource loaded from path ${path}`);\n                // return the translations\n                return translations;\n            }),\n            catchError((err) => {\n                // remove failed resource from loaded resource array\n                // this.removeResources([resource]);\n                // resource not loaded properly, send a warning message\n                this.logger?.warn(`I18n resource NOT loaded from path ${path}`, err);\n                const resourceError: ResourceError = { error: `I18n resource NOT loaded from path ${path}`, resource, isError: true };\n                return of(resourceError);\n            }),\n        );\n    }\n\n    private getResourceCompileFunction(id: string): TranslationsCompiler {\n        const customHandlers = this.euiAppConfig.customHandler;\n        if (customHandlers && typeof customHandlers[id] === 'function') {\n            return customHandlers[id];\n        }\n        return undefined;\n    }\n}\n\nexport const translateConfig = {\n    loader: {\n        provide: TranslateLoader,\n        useClass: I18nLoader,\n    },\n};\n",
            "properties": [
                {
                    "name": "errors",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Array<LoadedResourcesError>",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 31
                },
                {
                    "name": "hasError",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 30
                },
                {
                    "name": "translations",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TranslationObject",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 29
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "LoadedResourcesError",
            "id": "interface-LoadedResourcesError-13449e882c84e7a5fbea186f03a18d17bec34c75962ab83b8fa1a7274d6f0661744b43a4ca4c96a7d5f90da13d4c4a5ff2190b4e243d681266632e1a73464b4c",
            "file": "packages/core/src/lib/services/i18n/i18n.loader.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Injectable, inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { TranslateLoader, TranslationObject } from '@ngx-translate/core';\nimport { forkJoin, Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\nimport {\n    getI18nLoaderConfig,\n    I18nResource,\n    type EuiAppConfig,\n    mergeAll,\n    Logger,\n    I18nLoaderConfig,\n    I18nConfig,\n    TranslationsCompiler,\n} from '@eui/base';\nimport { I18nResourceImpl } from './i18n.resource';\nimport { CONFIG_TOKEN } from '../config/tokens';\nimport { LogService } from '../log/log.service';\nimport { transformTranslations } from './i18n-utils';\n\ninterface ResourceError {\n    isError: boolean;\n    error?: string;\n    resource?: I18nResourceImpl;\n}\n\nexport interface LoadedResources {\n    translations: TranslationObject;\n    hasError: boolean;\n    errors?: Array<LoadedResourcesError>;\n}\n\nexport interface LoadedResourcesError {\n    resource: I18nResourceImpl;\n    error: string;\n}\n\nexport interface TranslationKeys {\n    [key: string]: string\n}\n\n@Injectable()\nexport class I18nLoader implements TranslateLoader {\n    protected http = inject(HttpClient);\n    protected logService = inject(LogService, { optional: true });\n    protected euiAppConfig = inject<EuiAppConfig>(CONFIG_TOKEN);\n\n    protected resources: I18nResourceImpl[] = [];\n    protected failedResources: Array<LoadedResourcesError> = [];\n    private logger: Logger;\n    private icuEnabled: boolean;\n\n    constructor() {\n        const logService = this.logService;\n\n        if (logService) {\n            this.logger = this.logService.getLogger('core.I18nLoader')\n        }\n\n        // create the resources from the config object\n        const i18nConfig: I18nConfig = this.euiAppConfig.global && this.euiAppConfig.global.i18n;\n        const i18nLoaderConfig: I18nLoaderConfig = i18nConfig && i18nConfig.i18nLoader;\n        this.resources.push(...this.createResources(i18nLoaderConfig));\n\n        // Auto-detect ICU mode from config\n        this.icuEnabled = !!(i18nConfig && i18nConfig.icuEnabled);\n    }\n\n    /**\n     * Gets the translations from the server\n     *\n     * @param lang\n     * @returns Observable<object>\n     */\n    public getTranslation(lang: string): Observable<TranslationObject> {\n        return this.loadResources(this.resources, lang).pipe(\n            map((loadedResources: LoadedResources) => {\n                this.failedResources = loadedResources.hasError ? loadedResources.errors : [];\n                const translations = loadedResources.translations;\n                return this.icuEnabled ? transformTranslations(translations) : translations;\n            }),\n        );\n    }\n\n    /**\n     * Adds resources\n     *\n     * @param config loader configuration\n     * @returns Observable<any> | false\n     */\n    public addResources(config: I18nLoaderConfig): I18nResourceImpl[] {\n        // create the resources\n        let resources = this.createResources(config);\n\n        // filter the resources first, to avoid duplicates\n        resources = resources.filter((resource) => !this.resources.some((res) => res.equals(resource)));\n\n        // add the new resources to the list of existing resources\n        this.resources.push(...resources);\n\n        // return the filtered resources\n        return resources;\n    }\n\n    /**\n     * Removes resources from the loader instance\n     */\n    public removeResources(removedResources: I18nResourceImpl[]): void {\n        this.resources = this.resources.filter((res) => !removedResources.some((removedResource) => removedResource.equals(res)));\n    }\n\n    /**\n     * Loads an array of resources, by language\n     *\n     * @param resources the definition of the resources\n     * @param lang the resource language to load\n     * @returns Observable<any>\n     */\n    public loadResources(resources: I18nResourceImpl[], lang: string): Observable<{ hasError: boolean; translations: TranslationObject; errors?: LoadedResourcesError[] }> {\n        // if there are resources to load\n        if (Array.isArray(resources) && resources.length > 0) {\n            // load all the resources in an array of Observable\n            const requests = resources.map((resource) => this.loadResource(resource, lang));\n            // group all the observables with forkJoin and deep merge them\n            return forkJoin(requests).pipe(\n                map((response) => {\n                    const successResp = [];\n                    const errResp: Array<LoadedResourcesError> = [];\n                    response.forEach((item) => {\n                        if ((<ResourceError>item).isError) {\n                            errResp.push({ resource: (<ResourceError>item).resource, error: (<ResourceError>item).error });\n                        } else {\n                            successResp.push(item);\n                        }\n                    });\n                    if (successResp.length === response.length) {\n                        return { hasError: false, translations: mergeAll(successResp) };\n                    } else {\n                        return { hasError: true, translations: mergeAll(successResp), errors: errResp };\n                    }\n                }),\n            );\n        } else {\n            // no resources to load\n            return of({ hasError: false, translations: {} });\n        }\n    }\n\n    /**\n     * Returns resources that failed\n     */\n    public getFailedResources(): Array<LoadedResourcesError> {\n        return this.failedResources;\n    }\n\n    /**\n     * Create resources from a config file\n     *\n     * @param config loader configuration\n     * @returns I18nResourceImpl[] resources\n     */\n    protected createResources(config: I18nLoaderConfig): I18nResourceImpl[] {\n        // use the default config as a reference base\n        config = getI18nLoaderConfig(config);\n\n        const resources = [];\n\n        // extract the i18n folders from config\n        const i18nFolders: string[] = Array.isArray(config.i18nFolders)\n            ? config.i18nFolders\n            : config.i18nFolders\n            ? [config.i18nFolders]\n            : [];\n        if (i18nFolders) {\n            // add the i18n folders to resources\n            resources.push(...i18nFolders.map((folder) => new I18nResourceImpl(`assets/${folder}/`, '.json')));\n        }\n\n        // extract the i18n services from config\n        const i18nServices: string[] = Array.isArray(config.i18nServices)\n            ? config.i18nServices\n            : config.i18nServices\n            ? [config.i18nServices]\n            : [];\n        if (i18nServices) {\n            // add the i18n services to resources\n            resources.push(...i18nServices.map((service) => new I18nResourceImpl(service)));\n        }\n\n        // extract the i18n resources from config\n        const i18nResources: I18nResource[] = Array.isArray(config.i18nResources)\n            ? config.i18nResources\n            : config.i18nResources\n            ? [config.i18nResources]\n            : [];\n        if (i18nResources) {\n            // add the i18n resources to resources\n            resources.push(\n                ...i18nResources.map(\n                    (resource) =>\n                        new I18nResourceImpl(\n                            resource.prefix,\n                            resource.suffix,\n                            this.getResourceCompileFunction(resource.compileTranslations),\n                        ),\n                ),\n            );\n        }\n\n        return resources;\n    }\n\n    /**\n     * Loads a resource, by language\n     *\n     * @param resource the definition of the resource\n     * @param lang the resource language to load\n     * @returns Observable<any>\n     */\n    protected loadResource(resource: I18nResourceImpl, lang: string): Observable<TranslationKeys | ResourceError> {\n        // the path to the resource\n        const path = resource.getPath(lang);\n\n        // load the translations from the path\n        return this.http.get(path).pipe(\n            // preprocess the translations using the resource compiler\n            map((translations: unknown) => resource.compileTranslations(translations, lang)),\n            map((translations: TranslationKeys) => {\n                // resource loaded properly, send a info message\n                this.logger?.info(`I18n resource loaded from path ${path}`);\n                // return the translations\n                return translations;\n            }),\n            catchError((err) => {\n                // remove failed resource from loaded resource array\n                // this.removeResources([resource]);\n                // resource not loaded properly, send a warning message\n                this.logger?.warn(`I18n resource NOT loaded from path ${path}`, err);\n                const resourceError: ResourceError = { error: `I18n resource NOT loaded from path ${path}`, resource, isError: true };\n                return of(resourceError);\n            }),\n        );\n    }\n\n    private getResourceCompileFunction(id: string): TranslationsCompiler {\n        const customHandlers = this.euiAppConfig.customHandler;\n        if (customHandlers && typeof customHandlers[id] === 'function') {\n            return customHandlers[id];\n        }\n        return undefined;\n    }\n}\n\nexport const translateConfig = {\n    loader: {\n        provide: TranslateLoader,\n        useClass: I18nLoader,\n    },\n};\n",
            "properties": [
                {
                    "name": "error",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 36
                },
                {
                    "name": "resource",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "I18nResourceImpl",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 35
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "MemoizedSelector",
            "id": "interface-MemoizedSelector-cb7229e7d83879173786aeb852b1d608de28bcfd822fd57880dc8e0b82dd4a7b8563902aeae82784268e5051c57f74df87bda23c41bd550e41e9119cdb219584",
            "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ActionReducer<T, V extends Action = Action> {\n    (state: T | undefined, action: V): T;\n}\n\nexport type ActionReducerMap<T, V extends Action = Action> = {\n    [p in keyof T]: ActionReducer<T[p], V>;\n};\nexport interface Action<Type extends string = string> {\n    type: Type;\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable prefer-arrow/prefer-arrow-functions */\nexport type Selector<T, V> = (state: T) => V;\nexport type SelectorWithProps<State, Props, Result> = (\n    state: State,\n    props: Props\n) => Result;\n\nexport type AnyFn = (...args: any[]) => any;\n\nexport type MemoizedProjection = {\n    memoized: AnyFn;\n    reset: () => void;\n    setResult: (result?: any) => void;\n    clearResult: () => void;\n};\n\nexport type MemoizeFn = (t: AnyFn) => MemoizedProjection;\n\nexport type ComparatorFn = (a: any, b: any) => boolean;\n\nexport type DefaultProjectorFn<T> = (...args: any[]) => T;\n\nexport interface MemoizedSelector<\n    State,\n    Result,\n    ProjectorFn = DefaultProjectorFn<Result>\n> extends Selector<State, Result> {\n    release(): void;\n    projector: ProjectorFn;\n    setResult: (result?: Result) => void;\n    clearResult: () => void;\n}\n\n/**\n * @deprecated Selectors with props are deprecated, for more info see the {@link https://ngrx.io/guide/migration/v12#ngrxstore migration guide}\n */\nexport interface MemoizedSelectorWithProps<\n    State,\n    Props,\n    Result,\n    ProjectorFn = DefaultProjectorFn<Result>\n> extends SelectorWithProps<State, Props, Result> {\n    release(): void;\n    projector: ProjectorFn;\n    setResult: (result?: Result) => void;\n    clearResult: () => void;\n}\n\nexport function isEqualCheck(a: any, b: any): boolean {\n    return a === b;\n}\n\nfunction isArgumentsChanged(\n    args: IArguments,\n    lastArguments: IArguments,\n    comparator: ComparatorFn,\n) {\n    for (let i = 0; i < args.length; i++) {\n        if (!comparator(args[i], lastArguments[i])) {\n            return true;\n        }\n    }\n    return false;\n}\n\nexport function defaultMemoize(\n    projectionFn: AnyFn,\n    isArgumentsEqual = isEqualCheck,\n    isResultEqual = isEqualCheck,\n): MemoizedProjection {\n    let lastArguments: null | IArguments = null;\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any, , , , ,\n    let lastResult: any = null;\n    let overrideResult: any;\n\n    function reset() {\n        lastArguments = null;\n        lastResult = null;\n    }\n\n    function setResult(result: any = undefined) {\n        overrideResult = { result };\n    }\n\n    function clearResult() {\n        overrideResult = undefined;\n    }\n\n    /* eslint-disable prefer-rest-params, prefer-spread */\n\n    // disabled because of the use of `arguments`\n    function memoized(): any {\n        if (overrideResult !== undefined) {\n            return overrideResult.result;\n        }\n\n        if (!lastArguments) {\n            lastResult = projectionFn.apply(null, arguments as any);\n            lastArguments = arguments;\n            return lastResult;\n        }\n\n        if (!isArgumentsChanged(arguments, lastArguments, isArgumentsEqual)) {\n            return lastResult;\n        }\n\n        const newResult = projectionFn.apply(null, arguments as any);\n        lastArguments = arguments;\n\n        if (isResultEqual(lastResult, newResult)) {\n            return lastResult;\n        }\n\n        lastResult = newResult;\n\n        return newResult;\n    }\n\n    return { memoized, reset, setResult, clearResult };\n}\n\nexport function createSelector<State, S1, Result>(\n    s1: Selector<State, S1>,\n    projector: (s1: S1) => Result\n): MemoizedSelector<State, Result, typeof projector>;\n\nexport function createSelector<State, Slices extends unknown[], Result>(\n    selectors: Selector<State, unknown>[] &\n        [...{ [i in keyof Slices]: Selector<State, Slices[i]> }],\n    projector: (...s: Slices) => Result\n): MemoizedSelector<State, Result, (...s: Slices) => Result>;\n\nexport function createSelector(\n    ...input: any[]\n): MemoizedSelector<any, any> | MemoizedSelectorWithProps<any, any, any> {\n    return createSelectorFactory(defaultMemoize)(...input);\n}\n\nexport function defaultStateFn(\n    state: any,\n    selectors: Selector<any, any>[] | SelectorWithProps<any, any, any>[],\n    props: any,\n    memoizedProjector: MemoizedProjection,\n): any {\n    if (props === undefined) {\n        const args = (<Selector<any, any>[]>selectors).map((fn) => fn(state));\n        return memoizedProjector.memoized.apply(null, args);\n    }\n\n    const args = (<SelectorWithProps<any, any, any>[]>selectors).map((fn) =>\n        fn(state, props),\n    );\n    return memoizedProjector.memoized.apply(null, [...args, props]);\n}\n\nexport type SelectorFactoryConfig<T = any, V = any> = {\n    stateFn: (\n        state: T,\n        selectors: Selector<any, any>[],\n        props: any,\n        memoizedProjector: MemoizedProjection\n    ) => V;\n};\n\nexport function createSelectorFactory<T = any, V = any>(\n    memoize: MemoizeFn\n): (...input: any[]) => MemoizedSelector<T, V>;\n\n/**\n *\n * @param memoize The function used to memoize selectors\n * @param options Config Object that may include a `stateFn` function defining how to return the selector's value, given the entire `Store`'s state, parent `Selector`s, `Props`, and a `MemoizedProjection`\n *\n * @usageNotes\n *\n * **Creating a Selector Factory Where Array Order Does Not Matter**\n *\n * ```ts\n * function removeMatch(arr: string[], target: string): string[] {\n *   const matchIndex = arr.indexOf(target);\n *   return [...arr.slice(0, matchIndex), ...arr.slice(matchIndex + 1)];\n * }\n *\n * function orderDoesNotMatterComparer(a: any, b: any): boolean {\n *   if (!Array.isArray(a) || !Array.isArray(b)) {\n *     return a === b;\n *   }\n *   if (a.length !== b.length) {\n *     return false;\n *   }\n *   let tempB = [...b];\n *   function reduceToDetermineIfArraysContainSameContents(\n *     previousCallResult: boolean,\n *     arrayMember: any\n *   ): boolean {\n *     if (previousCallResult === false) {\n *       return false;\n *     }\n *     if (tempB.includes(arrayMember)) {\n *       tempB = removeMatch(tempB, arrayMember);\n *       return true;\n *     }\n *     return false;\n *   }\n *   return a.reduce(reduceToDetermineIfArraysContainSameContents, true);\n * }\n *\n * export const createOrderDoesNotMatterSelector = createSelectorFactory(\n *   (projectionFun) => defaultMemoize(\n *     projectionFun,\n *     orderDoesNotMatterComparer,\n *     orderDoesNotMatterComparer\n *   )\n * );\n * ```\n *\n * **Creating an Alternative Memoization Strategy**\n *\n * ```ts\n * function serialize(x: any): string {\n *   return JSON.stringify(x);\n * }\n *\n * export const createFullHistorySelector = createSelectorFactory(\n *  (projectionFunction) => {\n *    const cache = {};\n *\n *    function memoized() {\n *      const serializedArguments = serialize(...arguments);\n *       if (cache[serializedArguments] != null) {\n *         cache[serializedArguments] = projectionFunction.apply(null, arguments);\n *       }\n *       return cache[serializedArguments];\n *     }\n *     return {\n *       memoized,\n *       reset: () => {},\n *       setResult: () => {},\n *       clearResult: () => {},\n *     };\n *   }\n * );\n * ```\n */\nexport function createSelectorFactory(\n    memoize: MemoizeFn,\n    options: SelectorFactoryConfig<any, any> = {\n        stateFn: defaultStateFn,\n    },\n) {\n    return function (\n        ...input: any[]\n    ): MemoizedSelector<any, any> | MemoizedSelectorWithProps<any, any, any> {\n        let args = input;\n        if (Array.isArray(args[0])) {\n            const [head, ...tail] = args;\n            args = [...head, ...tail];\n        } else if (args.length === 1 && isSelectorsDictionary(args[0])) {\n            args = extractArgsFromSelectorsDictionary(args[0]);\n        }\n\n        const selectors = args.slice(0, args.length - 1);\n        const projector = args[args.length - 1];\n        const memoizedSelectors = selectors.filter(\n            (selector: any) =>\n                selector.release && typeof selector.release === 'function',\n        );\n\n        const memoizedProjector = memoize(function (...selectors: any[]) {\n            return projector.apply(null, selectors);\n        });\n\n        const memoizedState = defaultMemoize(function (state: any, props: any) {\n            return options.stateFn.apply(null, [\n                state,\n                selectors,\n                props,\n                memoizedProjector,\n            ]);\n        });\n\n        function release() {\n            memoizedState.reset();\n            memoizedProjector.reset();\n\n            memoizedSelectors.forEach((selector) => selector.release());\n        }\n\n        return Object.assign(memoizedState.memoized, {\n            release,\n            projector: memoizedProjector.memoized,\n            setResult: memoizedState.setResult,\n            clearResult: memoizedState.clearResult,\n        });\n    };\n}\n\nfunction isSelectorsDictionary(\n    selectors: unknown,\n): selectors is Record<string, Selector<unknown, unknown>> {\n    return (\n        !!selectors &&\n        typeof selectors === 'object' &&\n        Object.values(selectors).every((selector) => typeof selector === 'function')\n    );\n}\n\nfunction extractArgsFromSelectorsDictionary(\n    selectorsDictionary: Record<string, Selector<unknown, unknown>>,\n): [\n    ...selectors: Selector<unknown, unknown>[],\n    projector: (...selectorResults: unknown[]) => unknown\n] {\n    const selectors = Object.values(selectorsDictionary);\n    const resultKeys = Object.keys(selectorsDictionary);\n    const projector = (...selectorResults: unknown[]) =>\n        resultKeys.reduce(\n            (result, key, index) => ({\n                ...result,\n                [key]: selectorResults[index],\n            }),\n            {},\n        );\n\n    return [...selectors, projector];\n}\n",
            "properties": [
                {
                    "name": "clearResult",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 48
                },
                {
                    "name": "projector",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ProjectorFn",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 46
                },
                {
                    "name": "setResult",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 47
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [
                {
                    "name": "release",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 45,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "extends": [
                "Selector"
            ]
        },
        {
            "name": "MemoizedSelectorWithProps",
            "id": "interface-MemoizedSelectorWithProps-cb7229e7d83879173786aeb852b1d608de28bcfd822fd57880dc8e0b82dd4a7b8563902aeae82784268e5051c57f74df87bda23c41bd550e41e9119cdb219584",
            "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
            "deprecated": true,
            "deprecationMessage": [
                {
                    "pos": 1388,
                    "end": 1447,
                    "kind": 322,
                    "id": 0,
                    "flags": 16777216,
                    "modifierFlagsCache": 0,
                    "transformFlags": 0,
                    "text": "Selectors with props are deprecated, for more info see the "
                },
                {
                    "pos": 1447,
                    "end": 1516,
                    "kind": 325,
                    "id": 0,
                    "flags": 16777216,
                    "modifierFlagsCache": 0,
                    "transformFlags": 0,
                    "name": {
                        "pos": 1454,
                        "end": 1459,
                        "kind": 80,
                        "id": 0,
                        "flags": 16777216,
                        "transformFlags": 0,
                        "escapedText": "https"
                    },
                    "text": "://ngrx.io/guide/migration/v12#ngrxstore migration guide"
                }
            ],
            "type": "interface",
            "sourceCode": "export interface ActionReducer<T, V extends Action = Action> {\n    (state: T | undefined, action: V): T;\n}\n\nexport type ActionReducerMap<T, V extends Action = Action> = {\n    [p in keyof T]: ActionReducer<T[p], V>;\n};\nexport interface Action<Type extends string = string> {\n    type: Type;\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable prefer-arrow/prefer-arrow-functions */\nexport type Selector<T, V> = (state: T) => V;\nexport type SelectorWithProps<State, Props, Result> = (\n    state: State,\n    props: Props\n) => Result;\n\nexport type AnyFn = (...args: any[]) => any;\n\nexport type MemoizedProjection = {\n    memoized: AnyFn;\n    reset: () => void;\n    setResult: (result?: any) => void;\n    clearResult: () => void;\n};\n\nexport type MemoizeFn = (t: AnyFn) => MemoizedProjection;\n\nexport type ComparatorFn = (a: any, b: any) => boolean;\n\nexport type DefaultProjectorFn<T> = (...args: any[]) => T;\n\nexport interface MemoizedSelector<\n    State,\n    Result,\n    ProjectorFn = DefaultProjectorFn<Result>\n> extends Selector<State, Result> {\n    release(): void;\n    projector: ProjectorFn;\n    setResult: (result?: Result) => void;\n    clearResult: () => void;\n}\n\n/**\n * @deprecated Selectors with props are deprecated, for more info see the {@link https://ngrx.io/guide/migration/v12#ngrxstore migration guide}\n */\nexport interface MemoizedSelectorWithProps<\n    State,\n    Props,\n    Result,\n    ProjectorFn = DefaultProjectorFn<Result>\n> extends SelectorWithProps<State, Props, Result> {\n    release(): void;\n    projector: ProjectorFn;\n    setResult: (result?: Result) => void;\n    clearResult: () => void;\n}\n\nexport function isEqualCheck(a: any, b: any): boolean {\n    return a === b;\n}\n\nfunction isArgumentsChanged(\n    args: IArguments,\n    lastArguments: IArguments,\n    comparator: ComparatorFn,\n) {\n    for (let i = 0; i < args.length; i++) {\n        if (!comparator(args[i], lastArguments[i])) {\n            return true;\n        }\n    }\n    return false;\n}\n\nexport function defaultMemoize(\n    projectionFn: AnyFn,\n    isArgumentsEqual = isEqualCheck,\n    isResultEqual = isEqualCheck,\n): MemoizedProjection {\n    let lastArguments: null | IArguments = null;\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any, , , , ,\n    let lastResult: any = null;\n    let overrideResult: any;\n\n    function reset() {\n        lastArguments = null;\n        lastResult = null;\n    }\n\n    function setResult(result: any = undefined) {\n        overrideResult = { result };\n    }\n\n    function clearResult() {\n        overrideResult = undefined;\n    }\n\n    /* eslint-disable prefer-rest-params, prefer-spread */\n\n    // disabled because of the use of `arguments`\n    function memoized(): any {\n        if (overrideResult !== undefined) {\n            return overrideResult.result;\n        }\n\n        if (!lastArguments) {\n            lastResult = projectionFn.apply(null, arguments as any);\n            lastArguments = arguments;\n            return lastResult;\n        }\n\n        if (!isArgumentsChanged(arguments, lastArguments, isArgumentsEqual)) {\n            return lastResult;\n        }\n\n        const newResult = projectionFn.apply(null, arguments as any);\n        lastArguments = arguments;\n\n        if (isResultEqual(lastResult, newResult)) {\n            return lastResult;\n        }\n\n        lastResult = newResult;\n\n        return newResult;\n    }\n\n    return { memoized, reset, setResult, clearResult };\n}\n\nexport function createSelector<State, S1, Result>(\n    s1: Selector<State, S1>,\n    projector: (s1: S1) => Result\n): MemoizedSelector<State, Result, typeof projector>;\n\nexport function createSelector<State, Slices extends unknown[], Result>(\n    selectors: Selector<State, unknown>[] &\n        [...{ [i in keyof Slices]: Selector<State, Slices[i]> }],\n    projector: (...s: Slices) => Result\n): MemoizedSelector<State, Result, (...s: Slices) => Result>;\n\nexport function createSelector(\n    ...input: any[]\n): MemoizedSelector<any, any> | MemoizedSelectorWithProps<any, any, any> {\n    return createSelectorFactory(defaultMemoize)(...input);\n}\n\nexport function defaultStateFn(\n    state: any,\n    selectors: Selector<any, any>[] | SelectorWithProps<any, any, any>[],\n    props: any,\n    memoizedProjector: MemoizedProjection,\n): any {\n    if (props === undefined) {\n        const args = (<Selector<any, any>[]>selectors).map((fn) => fn(state));\n        return memoizedProjector.memoized.apply(null, args);\n    }\n\n    const args = (<SelectorWithProps<any, any, any>[]>selectors).map((fn) =>\n        fn(state, props),\n    );\n    return memoizedProjector.memoized.apply(null, [...args, props]);\n}\n\nexport type SelectorFactoryConfig<T = any, V = any> = {\n    stateFn: (\n        state: T,\n        selectors: Selector<any, any>[],\n        props: any,\n        memoizedProjector: MemoizedProjection\n    ) => V;\n};\n\nexport function createSelectorFactory<T = any, V = any>(\n    memoize: MemoizeFn\n): (...input: any[]) => MemoizedSelector<T, V>;\n\n/**\n *\n * @param memoize The function used to memoize selectors\n * @param options Config Object that may include a `stateFn` function defining how to return the selector's value, given the entire `Store`'s state, parent `Selector`s, `Props`, and a `MemoizedProjection`\n *\n * @usageNotes\n *\n * **Creating a Selector Factory Where Array Order Does Not Matter**\n *\n * ```ts\n * function removeMatch(arr: string[], target: string): string[] {\n *   const matchIndex = arr.indexOf(target);\n *   return [...arr.slice(0, matchIndex), ...arr.slice(matchIndex + 1)];\n * }\n *\n * function orderDoesNotMatterComparer(a: any, b: any): boolean {\n *   if (!Array.isArray(a) || !Array.isArray(b)) {\n *     return a === b;\n *   }\n *   if (a.length !== b.length) {\n *     return false;\n *   }\n *   let tempB = [...b];\n *   function reduceToDetermineIfArraysContainSameContents(\n *     previousCallResult: boolean,\n *     arrayMember: any\n *   ): boolean {\n *     if (previousCallResult === false) {\n *       return false;\n *     }\n *     if (tempB.includes(arrayMember)) {\n *       tempB = removeMatch(tempB, arrayMember);\n *       return true;\n *     }\n *     return false;\n *   }\n *   return a.reduce(reduceToDetermineIfArraysContainSameContents, true);\n * }\n *\n * export const createOrderDoesNotMatterSelector = createSelectorFactory(\n *   (projectionFun) => defaultMemoize(\n *     projectionFun,\n *     orderDoesNotMatterComparer,\n *     orderDoesNotMatterComparer\n *   )\n * );\n * ```\n *\n * **Creating an Alternative Memoization Strategy**\n *\n * ```ts\n * function serialize(x: any): string {\n *   return JSON.stringify(x);\n * }\n *\n * export const createFullHistorySelector = createSelectorFactory(\n *  (projectionFunction) => {\n *    const cache = {};\n *\n *    function memoized() {\n *      const serializedArguments = serialize(...arguments);\n *       if (cache[serializedArguments] != null) {\n *         cache[serializedArguments] = projectionFunction.apply(null, arguments);\n *       }\n *       return cache[serializedArguments];\n *     }\n *     return {\n *       memoized,\n *       reset: () => {},\n *       setResult: () => {},\n *       clearResult: () => {},\n *     };\n *   }\n * );\n * ```\n */\nexport function createSelectorFactory(\n    memoize: MemoizeFn,\n    options: SelectorFactoryConfig<any, any> = {\n        stateFn: defaultStateFn,\n    },\n) {\n    return function (\n        ...input: any[]\n    ): MemoizedSelector<any, any> | MemoizedSelectorWithProps<any, any, any> {\n        let args = input;\n        if (Array.isArray(args[0])) {\n            const [head, ...tail] = args;\n            args = [...head, ...tail];\n        } else if (args.length === 1 && isSelectorsDictionary(args[0])) {\n            args = extractArgsFromSelectorsDictionary(args[0]);\n        }\n\n        const selectors = args.slice(0, args.length - 1);\n        const projector = args[args.length - 1];\n        const memoizedSelectors = selectors.filter(\n            (selector: any) =>\n                selector.release && typeof selector.release === 'function',\n        );\n\n        const memoizedProjector = memoize(function (...selectors: any[]) {\n            return projector.apply(null, selectors);\n        });\n\n        const memoizedState = defaultMemoize(function (state: any, props: any) {\n            return options.stateFn.apply(null, [\n                state,\n                selectors,\n                props,\n                memoizedProjector,\n            ]);\n        });\n\n        function release() {\n            memoizedState.reset();\n            memoizedProjector.reset();\n\n            memoizedSelectors.forEach((selector) => selector.release());\n        }\n\n        return Object.assign(memoizedState.memoized, {\n            release,\n            projector: memoizedProjector.memoized,\n            setResult: memoizedState.setResult,\n            clearResult: memoizedState.clearResult,\n        });\n    };\n}\n\nfunction isSelectorsDictionary(\n    selectors: unknown,\n): selectors is Record<string, Selector<unknown, unknown>> {\n    return (\n        !!selectors &&\n        typeof selectors === 'object' &&\n        Object.values(selectors).every((selector) => typeof selector === 'function')\n    );\n}\n\nfunction extractArgsFromSelectorsDictionary(\n    selectorsDictionary: Record<string, Selector<unknown, unknown>>,\n): [\n    ...selectors: Selector<unknown, unknown>[],\n    projector: (...selectorResults: unknown[]) => unknown\n] {\n    const selectors = Object.values(selectorsDictionary);\n    const resultKeys = Object.keys(selectorsDictionary);\n    const projector = (...selectorResults: unknown[]) =>\n        resultKeys.reduce(\n            (result, key, index) => ({\n                ...result,\n                [key]: selectorResults[index],\n            }),\n            {},\n        );\n\n    return [...selectors, projector];\n}\n",
            "properties": [
                {
                    "name": "clearResult",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 63
                },
                {
                    "name": "projector",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ProjectorFn",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 61
                },
                {
                    "name": "setResult",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 62
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [
                {
                    "name": "release",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 60,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "extends": [
                "SelectorWithProps"
            ]
        },
        {
            "name": "MigrateAllSchema",
            "id": "interface-MigrateAllSchema-8ad49a7d7ec0e96d956c359abfd2ff1a50646e4ae266dc1b8551748a4adc28001b70d82db00003df7176aaf20aea356471838107fcf9a064ae60ceaed89ecd10",
            "file": "packages/core/schematics/migrate-all/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Rule, chain, schematic } from '@angular-devkit/schematics';\n\nexport interface MigrateAllSchema {\n  path?: string;\n  dryRun?: boolean;\n  mwp?: boolean;\n  useClassArray?: boolean;\n}\n\nexport function migrateAll(options: MigrateAllSchema): Rule {\n  const base = { path: options.path || './src', dryRun: options.dryRun || false };\n\n  return chain([\n    schematic('migrate', { ...base, mwp: options.mwp || false }),\n    schematic('migrate-eui-tabs', base),\n    schematic('migrate-to-standalone', base),\n    schematic('migrate-eui-alert', base),\n    schematic('migrate-eui-progress-circle', base),\n    schematic('migrate-eui-popover', base),\n    schematic('migrate-eui-icon-toggle', base),\n    schematic('migrate-eui-icon-svg', base),\n    schematic('migrate-eui-fieldset', base),\n    schematic('migrate-eui-avatar', base),\n    schematic('migrate-eui-editor', base),\n    schematic('migrate-eui-discussion-thread', base),\n    schematic('migrate-eui-button', base),\n    schematic('migrate-eui-accent', base),\n    schematic('migrate-eui-toolbar-menu', base),\n    schematic('migrate-eui-table', base),\n    schematic('migrate-eui-chip-list', base),\n    schematic('migrate-eui-chip', base),\n    schematic('add-eui-imports', { ...base, useClassArray: options.useClassArray || false }),\n    schematic('fix-no-multiple-empty-lines', base),\n  ]);\n}\n",
            "properties": [
                {
                    "name": "dryRun",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 5
                },
                {
                    "name": "mwp",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 6
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 4
                },
                {
                    "name": "useClassArray",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 7
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "MigrationResult",
            "id": "interface-MigrationResult-760dec88d3f709d5b38226e55f7cbfb1e5fabcea6c004fd46e611be1dd563b8b247e9e6c77667e5582fe7b443374ba2c4facd2b2db2985edb46c9a4a37a8a876",
            "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstElement, TmplAstNode } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\ninterface TextChange {\n  start: number;\n  end: number;\n  text: string;\n}\n\ninterface MigrationResult {\n  content: string;\n  migrated: number;\n  skipped: number;\n}\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\nconst OLD_LABEL = 'eui-tab-label';\nconst OLD_SUB_LABEL = 'euiTabSubLabel';\nconst OLD_CONTENT = 'eui-tab-content';\nconst NEW_HEADER = 'eui-tab-header';\nconst NEW_HEADER_LABEL = 'eui-tab-header-label';\nconst NEW_HEADER_SUB_LABEL = 'eui-tab-header-sub-label';\nconst NEW_BODY = 'eui-tab-body';\n\nexport function migrateEuiTabs(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    let migrated = 0;\n    let skipped = 0;\n\n    visitDir(tree.getDir(scanPath || '/'), (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) {\n        return;\n      }\n\n      const original = buffer.toString('utf-8');\n      const result = path.endsWith('.html')\n        ? migrateTemplate(original, path, context)\n        : migrateInlineTemplates(original, path, context);\n\n      migrated += result.migrated;\n      skipped += result.skipped;\n\n      if (result.content !== original) {\n        if (options.dryRun) {\n          logDryRun(context, `Would migrate ${result.migrated} tab block(s) in ${path}`);\n        } else {\n          tree.overwrite(path, result.content);\n        }\n      }\n    });\n\n    context.logger.info(`Migrated ${migrated} EUI tab template block(s).`);\n    if (skipped > 0) {\n      context.logger.warn(`Skipped ${skipped} malformed EUI tab template block(s).`);\n    }\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n\n    return tree;\n  };\n}\n\nfunction migrateInlineTemplates(source: string, filePath: string, context: SchematicContext): MigrationResult {\n  const sourceFile = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const changes: TextChange[] = [];\n  let migrated = 0;\n  let skipped = 0;\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAssignment(node) && isTemplateProperty(node) && isComponentMetadataProperty(node)) {\n      const initializer = unwrapExpression(node.initializer);\n\n      if (ts.isStringLiteral(initializer) || ts.isNoSubstitutionTemplateLiteral(initializer)) {\n        const start = initializer.getStart(sourceFile) + 1;\n        const end = initializer.getEnd() - 1;\n        const rawTemplate = source.slice(start, end);\n        const result = migrateTemplate(rawTemplate, `${filePath}@inline-template`, context);\n\n        migrated += result.migrated;\n        skipped += result.skipped;\n\n        if (result.content !== rawTemplate) {\n          changes.push({ start, end, text: result.content });\n        }\n      } else if (ts.isTemplateExpression(initializer)) {\n        context.logger.warn(`Skipping interpolated inline template in ${filePath}.`);\n        skipped++;\n      }\n    }\n\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n\n  return {\n    content: applyChanges(source, changes),\n    migrated,\n    skipped,\n  };\n}\n\nfunction isTemplateProperty(node: ts.PropertyAssignment): boolean {\n  const name = node.name;\n  return (\n    (ts.isIdentifier(name) && name.text === 'template') ||\n    (ts.isStringLiteral(name) && name.text === 'template')\n  );\n}\n\nfunction unwrapExpression(expression: ts.Expression): ts.Expression {\n  let current = expression;\n\n  while (ts.isParenthesizedExpression(current)) {\n    current = current.expression;\n  }\n\n  return current;\n}\n\nfunction isComponentMetadataProperty(node: ts.PropertyAssignment): boolean {\n  const objectLiteral = node.parent;\n  if (!ts.isObjectLiteralExpression(objectLiteral)) {\n    return false;\n  }\n\n  const callExpression = objectLiteral.parent;\n  if (!ts.isCallExpression(callExpression) || callExpression.arguments[0] !== objectLiteral) {\n    return false;\n  }\n\n  return (\n    ts.isDecorator(callExpression.parent) &&\n    ts.isIdentifier(callExpression.expression) &&\n    callExpression.expression.text === 'Component'\n  );\n}\n\nfunction migrateTemplate(source: string, filePath: string, context: SchematicContext): MigrationResult {\n  const parsed = parseTemplate(source, filePath, { preserveWhitespaces: true });\n  const changes: TextChange[] = [];\n  let migrated = 0;\n  let skipped = 0;\n\n  for (const error of parsed.errors ?? []) {\n    context.logger.warn(`Template parse warning in ${filePath}: ${error.msg}`);\n  }\n\n  for (const tab of findElements(parsed.nodes, 'eui-tab')) {\n    const label = findDirectChild(tab, OLD_LABEL);\n    const content = findDirectChild(tab, OLD_CONTENT);\n    const hasOldMarkup = Boolean(label || content);\n    const hasNewMarkup = Boolean(findDirectChild(tab, NEW_HEADER) || findDirectChild(tab, NEW_BODY));\n\n    if (!hasOldMarkup || hasNewMarkup) {\n      continue;\n    }\n\n    if (!label || !content) {\n      context.logger.warn(`Skipping malformed <eui-tab> in ${filePath}.`);\n      skipped++;\n      continue;\n    }\n\n    changes.push({\n      start: label.sourceSpan.start.offset,\n      end: label.sourceSpan.end.offset,\n      text: buildHeaderReplacement(source, label),\n    });\n    changes.push({\n      start: content.sourceSpan.start.offset,\n      end: content.sourceSpan.end.offset,\n      text: buildBodyReplacement(source, content),\n    });\n    migrated++;\n  }\n\n  return {\n    content: applyChanges(source, withoutOverlaps(changes)),\n    migrated,\n    skipped,\n  };\n}\n\nfunction findElements(nodes: readonly TmplAstNode[], name: string): TmplAstElement[] {\n  const matches: TmplAstElement[] = [];\n\n  for (const node of nodes) {\n    if (isElement(node)) {\n      if (node.name === name) {\n        matches.push(node);\n      }\n      matches.push(...findElements(node.children, name));\n    }\n  }\n\n  return matches;\n}\n\nfunction findDirectChild(element: TmplAstElement, name: string): TmplAstElement | undefined {\n  return element.children.find((child): child is TmplAstElement => isElement(child) && child.name === name);\n}\n\nfunction isElement(node: TmplAstNode): node is TmplAstElement {\n  return node instanceof TmplAstElement;\n}\n\nfunction buildHeaderReplacement(source: string, label: TmplAstElement): string {\n  const indent = getIndent(source, label.sourceSpan.start.offset);\n  const labelAttributes = getAttributeText(source, label, OLD_LABEL);\n  const subLabels = findElements(label.children, OLD_SUB_LABEL);\n  const mainLabelContent = removeElementRanges(getInnerText(source, label), label, subLabels);\n  const lines = [\n    `<${NEW_HEADER}>`,\n    `${indent}    <${NEW_HEADER_LABEL}${labelAttributes}>`,\n    ...formatInnerLines(mainLabelContent, `${indent}        `),\n    `${indent}    </${NEW_HEADER_LABEL}>`,\n  ];\n\n  for (const subLabel of subLabels) {\n    const subLabelAttributes = getAttributeText(source, subLabel, OLD_SUB_LABEL);\n    lines.push(\n      `${indent}    <${NEW_HEADER_SUB_LABEL}${subLabelAttributes}>`,\n      ...formatInnerLines(getInnerText(source, subLabel), `${indent}        `),\n      `${indent}    </${NEW_HEADER_SUB_LABEL}>`,\n    );\n  }\n\n  lines.push(`${indent}</${NEW_HEADER}>`);\n\n  return lines.join('\\n');\n}\n\nfunction buildBodyReplacement(source: string, content: TmplAstElement): string {\n  const indent = getIndent(source, content.sourceSpan.start.offset);\n  const attributes = getAttributeText(source, content, OLD_CONTENT);\n  const innerText = getInnerText(source, content);\n  const trimmed = innerText.trim();\n\n  if (trimmed && !trimmed.includes('\\n')) {\n    return `<${NEW_BODY}${attributes}>${trimmed}</${NEW_BODY}>`;\n  }\n\n  return [\n    `<${NEW_BODY}${attributes}>`,\n    ...formatInnerLines(innerText, `${indent}    `),\n    `${indent}</${NEW_BODY}>`,\n  ].join('\\n');\n}\n\nfunction getInnerText(source: string, element: TmplAstElement): string {\n  if (!element.endSourceSpan) {\n    return '';\n  }\n\n  return source.slice(element.startSourceSpan.end.offset, element.endSourceSpan.start.offset);\n}\n\nfunction removeElementRanges(source: string, parent: TmplAstElement, elements: readonly TmplAstElement[]): string {\n  const parentContentStart = parent.startSourceSpan.end.offset;\n  let result = source;\n\n  for (const element of [...elements].sort((a, b) => b.sourceSpan.start.offset - a.sourceSpan.start.offset)) {\n    const start = element.sourceSpan.start.offset - parentContentStart;\n    const end = element.sourceSpan.end.offset - parentContentStart;\n    result = result.slice(0, start) + result.slice(end);\n  }\n\n  return result;\n}\n\nfunction getAttributeText(source: string, element: TmplAstElement, tagName: string): string {\n  const startTag = source.slice(element.startSourceSpan.start.offset, element.startSourceSpan.end.offset);\n  const tagStart = startTag.indexOf(tagName);\n\n  if (tagStart === -1) {\n    return '';\n  }\n\n  const contentEnd = startTag.endsWith('/>') ? startTag.length - 2 : startTag.length - 1;\n  return startTag.slice(tagStart + tagName.length, contentEnd).trimEnd();\n}\n\nfunction getIndent(source: string, offset: number): string {\n  const lineStart = source.lastIndexOf('\\n', offset - 1) + 1;\n  const prefix = source.slice(lineStart, offset);\n  return prefix.match(/^\\s*/)?.[0] ?? '';\n}\n\nfunction formatInnerLines(source: string, indent: string): string[] {\n  const trimmed = source.trim();\n\n  if (!trimmed) {\n    return [];\n  }\n\n  return trimmed.split(/\\r?\\n/).map((line) => `${indent}${line.trim()}`);\n}\n\nfunction withoutOverlaps(changes: TextChange[]): TextChange[] {\n  const accepted: TextChange[] = [];\n\n  for (const change of [...changes].sort((a, b) => a.start - b.start || b.end - a.end)) {\n    if (!accepted.some((current) => change.start < current.end && current.start < change.end)) {\n      accepted.push(change);\n    }\n  }\n\n  return accepted;\n}\n\nfunction applyChanges(source: string, changes: readonly TextChange[]): string {\n  let result = source;\n\n  for (const change of [...changes].sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, change.start) + change.text + result.slice(change.end);\n  }\n\n  return result;\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n",
            "properties": [
                {
                    "name": "content",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 13
                },
                {
                    "name": "migrated",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 14
                },
                {
                    "name": "skipped",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 15
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "ModuleLoadEvent",
            "id": "interface-ModuleLoadEvent-a74bf473fa7ef7f9848b206e8d61c0a43118becc6c3613774a0fb34c09b4d7b99e888397826d05eb730d7534e37901f13830da7e0872c3261fe06ab2f2d5ec5b",
            "file": "packages/core/src/lib/services/i18n/i18n.service.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { DOCUMENT } from '@angular/common';\nimport { Injectable, OnDestroy, Signal, inject } from '@angular/core';\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject, forkJoin, Observable, of, Subject } from 'rxjs';\nimport {\n    catchError,\n    filter,\n    map,\n    take,\n    tap,\n    switchMap,\n    takeUntil,\n    distinctUntilChanged,\n} from 'rxjs/operators';\nimport {\n    GlobalConfig,\n    EuiLazyService,\n    EuiServiceStatus,\n    getI18nServiceConfigFromBase,\n    I18nLoaderConfig,\n    I18nServiceConfig,\n    I18nState,\n    ModuleConfig,\n    getBrowserDefaultLanguage,\n    EuiEuLanguages,\n    CoreState,\n    DeepPartial,\n} from '@eui/base';\n\nimport { I18nLoader, LoadedResources } from './i18n.loader';\nimport { GLOBAL_CONFIG_TOKEN } from '../config/tokens';\nimport { LogService } from '../log';\nimport { StoreService } from '../store';\nimport { DEFAULT_I18N_SERVICE_CONFIG } from '../config/defaults';\nimport { isEqual } from 'lodash-es';\nimport { Selector } from 'reselect';\nimport { toSignal } from '@angular/core/rxjs-interop';\n\nexport interface ModuleLoadEvent {\n    ready: boolean;\n    name: 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    error?: any;\n}\n\nconst getLastAddedModule: Selector<CoreState, string> = (state: CoreState) => state.app.loadedConfigModules.lastAddedModule;\n\n@Injectable({\n    providedIn: 'root',\n})\nexport class I18nService<T extends I18nState = I18nState> extends EuiLazyService<T | I18nState> implements OnDestroy {\n    protected config: I18nServiceConfig;\n    protected onModuleLoad: BehaviorSubject<ModuleLoadEvent>;\n    protected baseGlobalConfig = inject<GlobalConfig>(GLOBAL_CONFIG_TOKEN);\n    protected translateService = inject(TranslateService);\n    protected logService = inject(LogService, { optional: true });\n    protected store = inject<StoreService<T>>(StoreService);\n    private static readonly DEFAULT_STATE: I18nState = { activeLang: 'en' };\n    private document = inject<Document>(DOCUMENT);\n    /**\n     * a single signal holding the state - initial state is null\n     */\n    private state: Signal<T>;\n    /**\n     * a BehaviorSubject holding the state - initial state is null\n     * This is the main source of truth for the state\n     */\n    private stateSubject: BehaviorSubject<T>;\n    private subNotifier: Subject<void> = new Subject();\n\n    constructor() {\n        super(I18nService.DEFAULT_STATE as T);\n        // Create a BehaviorSubject with the initial state\n        this.stateSubject = new BehaviorSubject<T>(this.stateInstance as T);\n\n        // Initialize signal with base state\n        this.state = toSignal(this.stateSubject, { equal: isEqual });\n\n        // Subscribe to base class state changes\n        this.onStateChange.subscribe((newState) => {\n            // const clonedState = structuredClone(newState as T);\n            this.stateSubject.next(newState as T);\n        });\n\n        this.config = getI18nServiceConfigFromBase(this.baseGlobalConfig);\n        this.onModuleLoad = new BehaviorSubject<ModuleLoadEvent>({ ready: false, name: null });\n    }\n\n    ngOnDestroy(): void {\n        this.subNotifier.next(void 0);\n        this.subNotifier.complete();\n    }\n\n    getState(): Observable<T>;\n    /**\n     * @deprecated this will be removed in a future version\n     * @param mapFn\n     */\n    getState<K = T>(mapFn?: (state: T) => K): Observable<K>;\n    getState<a extends keyof DeepPartial<T>>(key?: a): Observable<DeepPartial<a>>;\n    getState<K = T>(keyOrMapFn?: ((state: T) => K) | string): Observable<DeepPartial<K>> {\n        if (!keyOrMapFn) {\n            return this.stateSubject.asObservable().pipe(\n                takeUntil(this.subNotifier),\n                distinctUntilChanged((x, y) => isEqual(x, y)),\n            ) as Observable<DeepPartial<K>>;\n        }\n\n        if (typeof keyOrMapFn === 'function') {\n            return this.stateSubject.asObservable().pipe(\n                takeUntil(this.subNotifier),\n                map(state => keyOrMapFn(state)),\n                distinctUntilChanged((x, y) => isEqual(x, y)),\n            );\n        }\n\n        return this.stateSubject.asObservable().pipe(\n            takeUntil(this.subNotifier),\n            map(state => {\n                const keys = (keyOrMapFn as string).split('.');\n\n                // Traverse the object based on the dot notation\n                return keys.reduce((acc, currKey) => {\n                    return acc && acc[currKey] !== undefined ? acc[currKey] : undefined;\n                }, state as DeepPartial<T>);\n            }),\n            distinctUntilChanged((x, y) => isEqual(x, y)),\n        );\n    }\n\n    updateState(state: DeepPartial<T>): void;\n    /**\n     * @deprecated it will be removed in next version. Use updateState(partialState: DeepPartial<T>) instead\n     * @param slice\n     * @param reducer\n     */\n    updateState(slice: DeepPartial<T>, reducer: (state: T, action: DeepPartial<T>) => T): void;\n    updateState<K extends T>(state: DeepPartial<K>, reducer?: (state: T, action: DeepPartial<K>) => T): void {\n        if(state.activeLang) {\n            this.updateHTMLDOMLang(state.activeLang as string);\n        }\n        this.stateInstance = super.deepMerge(this.stateInstance as T, { ...state });\n        // Emit state change\n        this.onStateChange.next(this.stateInstance);\n    }\n\n    /**\n     * This method is used to get the state as readonly signal.\n     */\n    getSignal(): Signal<T> {\n        return this.state;\n    }\n\n    init(langState?: T): Observable<EuiServiceStatus> {\n        const initLang = langState && langState.activeLang ? langState.activeLang : this.preparedDefaultLanguage();\n        const initState = {\n            ...langState,\n            activeLang: initLang,\n        };\n        if (typeof initLang === 'string') {\n            super.initEuiService(this.store);\n            this.updateState(initState);\n            return this.setup(initLang);\n        }\n        return of({ success: false, error: 'Initial active lang should be string' });\n    }\n\n    /**\n     * A pipe function that could serve as a wrapper of another observable\n     * e.g. ngx-translate i18n.onReady('my_module').pipe(switchMap(()=>translate.get('eui.KEY')));\n     * WARNING: onReady will emit only once for a loaded Module, going to another and then going back will not result\n     * into another emission.\n     *\n     * @param moduleName the name of the module that has been given through the eUI globalConfig. In case non provided\n     * fetch module name from the state.\n     */\n    onReady(moduleName?: string): Observable<ModuleLoadEvent> {\n        return this.onModuleLoad.pipe(\n            switchMap((evt: ModuleLoadEvent) =>\n                moduleName\n                    ? of(evt)\n                    : this.store.select(getLastAddedModule).pipe(\n                          tap((m) => (moduleName = m)),\n                          map(() => evt),\n                      ),\n            ),\n            // emit only if event emitted matches the module name and is ready\n            filter((evt: ModuleLoadEvent) => evt.ready === true && evt.name === moduleName),\n            // make sure that observable completes\n            take(1),\n        );\n    }\n\n    public lazyLoad(config: I18nLoaderConfig): Observable<EuiServiceStatus> {\n        const moduleId = Math.floor(Math.random() * 100000 + 1).toLocaleString();\n        return this.addResources(config, moduleId);\n    }\n\n    lazyLoadInit(moduleConfig: ModuleConfig, moduleName?: string): Observable<EuiServiceStatus> {\n        const i18nLoaderConfig = moduleConfig as I18nLoaderConfig;\n        // add resources\n        return this.addResources(i18nLoaderConfig, moduleName);\n    }\n\n    /**\n     * Add resources based of a config loader\n     *\n     * @param config I18nLoaderConfig\n     * @param moduleName\n     * @return Promise<EuiServiceStatus> an EuiServiceStatus when translation has fully loaded\n     */\n    public addResources(config: I18nLoaderConfig, moduleName?: string): Observable<EuiServiceStatus> {\n        // emit that module is loading\n        this.onModuleLoad.next({ ready: false, name: moduleName });\n\n        const loader = this.translateService.currentLoader;\n        if (loader instanceof I18nLoader) {\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 langSubscription: Observable<any>[] = [];\n            const i18nLoader = <I18nLoader>loader;\n\n            // add the resources to the loader\n            const resources = i18nLoader.addResources(config);\n\n            // manually load the resources for the CURRENT language and add them to the translate service\n            langSubscription.push(\n                i18nLoader.loadResources(resources, this.translateService.currentLang).pipe(\n                    take(1),\n                    tap((loadedResources: LoadedResources) => {\n                        // add the new set of translations to the current language\n                        this.translateService.setTranslation(this.translateService.currentLang, loadedResources.translations, true);\n                    }),\n                ),\n            );\n\n            // if the current language is different from the DEFAULT language\n            const defaultLang = this.config.defaultLanguage || this.translateService.defaultLang;\n            if (this.translateService.currentLang !== defaultLang) {\n                // manually load the resources for the default language and add them to the translation service\n                langSubscription.push(\n                    i18nLoader.loadResources(resources, defaultLang).pipe(\n                        take(1),\n                        tap((loadedResources: LoadedResources) => {\n                            this.translateService.setTranslation(defaultLang, loadedResources.translations, true);\n                        }),\n                    ),\n                );\n            }\n\n            return forkJoin(langSubscription).pipe(\n                map((loadedResourcesArr: LoadedResources[]) =>\n                    !loadedResourcesArr[0].hasError ? { success: true } : { success: false, error: loadedResourcesArr[0].errors },\n                ),\n                tap(() => {\n                    // emit status of module loading progress\n                    this.onModuleLoad.next({ ready: true, name: moduleName });\n                }),\n                catchError((error) => {\n                    // emit status of module loading progress\n                    this.onModuleLoad.next({ ready: true, name: moduleName, error });\n                    return of({ success: false, error });\n                }),\n            );\n        } else {\n            return of({ success: false, error: 'currentLoader is not an I18nLoader.' });\n        }\n    }\n\n    /**\n     * Prepares the default language\n     */\n    private preparedDefaultLanguage(): string {\n        const browserPref = getBrowserDefaultLanguage();\n        // If user has browser preferred lang, and that language is part of the languages array\n        if (browserPref && this.config.languages && EuiEuLanguages.getLanguageCodes(this.config.languages).includes(browserPref)) {\n            return browserPref;\n        }\n        return this.config.defaultLanguage;\n    }\n\n    /**\n     * @param initLanguage if given default language to override default language coming from the\n     * configuration token.\n     */\n    private setup(initLanguage: string): Observable<EuiServiceStatus> {\n        // use the default config as a reference base\n        this.config = Object.assign({}, DEFAULT_I18N_SERVICE_CONFIG, this.config);\n        // configure the translation config service\n        if (this.config.languages) {\n            this.translateService.addLangs(EuiEuLanguages.getLanguageCodes(this.config.languages));\n            if (this.logService) {\n                this.logService.info(`I18n accepted languages set to ${EuiEuLanguages.getLanguageCodes(this.config.languages)}`);\n            }\n        }\n        // set the current language, causing to load translations\n        return this.translateService.use(initLanguage).pipe(\n            tap(() => {\n                this.bindActiveLangStateToTranslateService();\n                this.bindTranslateServiceLangChangeToState();\n                if (this.config.defaultLanguage) {\n                    this.setDefaultLanguage(this.config.defaultLanguage);\n                }\n            }),\n            map(() => {\n                if (this.translateService.currentLoader instanceof I18nLoader) {\n                    const failedResources = this.translateService.currentLoader.getFailedResources();\n                    if (failedResources.length > 0) {\n                        return { success: false, error: failedResources };\n                    }\n                }\n                return { success: true };\n            }),\n            catchError((error) => of({ success: false, error })),\n        );\n    }\n\n    private bindActiveLangStateToTranslateService(): void {\n        this.getState((s) => s.activeLang)\n            .pipe(takeUntil(this.subNotifier))\n            .subscribe((lang) => {\n                if (lang !== null && this.translateService.currentLang !== lang) {\n                    this.use(lang);\n                }\n            });\n    }\n\n    private bindTranslateServiceLangChangeToState(): void {\n        this.translateService.onLangChange.subscribe((event: LangChangeEvent) => {\n            if (this.stateInstance.activeLang !== event.lang) {\n                this.updateState({ activeLang: event.lang } as Partial<T>);\n            }\n            if (this.logService) {\n                this.logService.info(`I18n current language set to ${event.lang}`);\n            }\n        });\n    }\n\n    private setDefaultLanguage(defaultLanguage: string): void {\n        // removed, current language is already calculated in init, setup function fill use it directly, not default\n        // this.translateService.currentLang = default_language || this.config.defaultLanguage;\n        this.translateService.setDefaultLang(defaultLanguage);\n        if (this.logService) {\n            this.logService.info(`I18n default language set to ${defaultLanguage}`);\n        }\n    }\n\n    /**\n     * change the currently used language\n     *\n     * @param lang is the language code based on the convention you used e.g. (en or en-EN)\n     * @returns Observable that returns an object contain the object translation for given language after language\n     * fully loaded.\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 use(lang: string): Observable<any> {\n        return this.translateService.use(lang);\n    }\n\n    /**\n     * updates the HTML element lang attribute\n     *\n     * @private\n     */\n    private updateHTMLDOMLang(lang: string): void {\n        this.document.documentElement.lang = lang;\n    }\n}\n",
            "properties": [
                {
                    "name": "error",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 44
                },
                {
                    "name": "name",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 41
                },
                {
                    "name": "ready",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 40
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "ModuleMapping",
            "id": "interface-ModuleMapping-817c4b549cc3eab9fcf4936acab2e71182d90a4480369f5c003cbbda10792efa587ad99d65acf049f64e7030e32589e4fabc4a6d7a5621e4fe54725ef91dc9e8",
            "file": "packages/core/schematics/migrate-to-standalone/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstElement, TmplAstNode } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\ninterface ModuleMapping {\n  importPath: string;\n  selectors: Record<string, string>;\n}\n\nconst MODULE_MAPPINGS: Record<string, ModuleMapping> = {\n  EuiAccordionModule: {\n    importPath: '@eui/components/eui-accordion',\n    selectors: {\n      'eui-accordion': 'EuiAccordionComponent',\n      'eui-accordion-item': 'EuiAccordionItemComponent',\n      euiAccordionItemHeader: 'EuiAccordionItemHeaderDirective',\n    },\n  },\n  EuiAlertModule: {\n    importPath: '@eui/components/eui-alert',\n    selectors: {\n      'eui-alert': 'EuiAlertComponent',\n      euiAlert: 'EuiAlertComponent',\n      'eui-alert-title': 'EuiAlertTitleComponent',\n    },\n  },\n  EuiAutocompleteModule: {\n    importPath: '@eui/components/eui-autocomplete',\n    selectors: {\n      'eui-autocomplete': 'EuiAutocompleteComponent',\n      euiAutocomplete: 'EuiAutocompleteComponent',\n      'eui-autocomplete-option': 'EuiAutocompleteOptionComponent',\n      'eui-autocomplete-option-group': 'EuiAutocompleteOptionGroupComponent',\n      'eui-autocomplete-panel': 'EuiAutocompletePanelComponent',\n    },\n  },\n  EuiAvatarModule: {\n    importPath: '@eui/components/eui-avatar',\n    selectors: {\n      'eui-avatar': 'EuiAvatarComponent',\n      euiAvatar: 'EuiAvatarComponent',\n    },\n  },\n  EuiBadgeModule: {\n    importPath: '@eui/components/eui-badge',\n    selectors: {\n      'eui-badge': 'EuiBadgeComponent',\n      euiBadge: 'EuiBadgeComponent',\n    },\n  },\n  EuiBlockContentModule: {\n    importPath: '@eui/components/eui-block-content',\n    selectors: {\n      'eui-block-content': 'EuiBlockContentComponent',\n    },\n  },\n  EuiBreadcrumbModule: {\n    importPath: '@eui/components/eui-breadcrumb',\n    selectors: {\n      'eui-breadcrumb': 'EuiBreadcrumbComponent',\n    },\n  },\n  EuiButtonModule: {\n    importPath: '@eui/components/eui-button',\n    selectors: {\n      euiButton: 'EuiButtonComponent',\n    },\n  },\n  EuiButtonGroupModule: {\n    importPath: '@eui/components/eui-button-group',\n    selectors: {\n      'eui-button-group': 'EuiButtonGroupComponent',\n    },\n  },\n  EuiCardModule: {\n    importPath: '@eui/components/eui-card',\n    selectors: {\n      'eui-card': 'EuiCardComponent',\n      'eui-card-header': 'EuiCardHeaderComponent',\n      'eui-card-header-title': 'EuiCardHeaderTitleComponent',\n      'eui-card-content': 'EuiCardContentComponent',\n      'eui-card-footer': 'EuiCardFooterComponent',\n      'eui-card-media': 'EuiCardMediaComponent',\n    },\n  },\n  EuiChipModule: {\n    importPath: '@eui/components/eui-chip',\n    selectors: {\n      'eui-chip': 'EuiChipComponent',\n      euiChip: 'EuiChipComponent',\n    },\n  },\n  EuiChipListModule: {\n    importPath: '@eui/components/eui-chip-list',\n    selectors: {\n      'eui-chip-list': 'EuiChipListComponent',\n    },\n  },\n  EuiChipGroupModule: {\n    importPath: '@eui/components/eui-chip-group',\n    selectors: {\n      'eui-chip-group': 'EuiChipGroupComponent',\n    },\n  },\n  EuiDashboardCardModule: {\n    importPath: '@eui/components/eui-dashboard-card',\n    selectors: {\n      'eui-dashboard-card': 'EuiDashboardCardComponent',\n      'eui-dashboard-card-content': 'EuiDashboardCardContentComponent',\n      'eui-dashboard-card-content-header': 'EuiDashboardCardContentHeaderComponent',\n      'eui-dashboard-card-content-body': 'EuiDashboardCardContentBodyComponent',\n      'eui-dashboard-card-content-footer': 'EuiDashboardCardContentFooterComponent',\n    },\n  },\n  EuiDashboardButtonModule: {\n    importPath: '@eui/components/eui-dashboard-card',\n    selectors: {\n      'eui-dashboard-card': 'EuiDashboardCardComponent',\n      'eui-dashboard-card-content': 'EuiDashboardCardContentComponent',\n      'eui-dashboard-card-content-header': 'EuiDashboardCardContentHeaderComponent',\n      'eui-dashboard-card-content-body': 'EuiDashboardCardContentBodyComponent',\n      'eui-dashboard-card-content-footer': 'EuiDashboardCardContentFooterComponent',\n    },\n  },\n  EuiDatepickerModule: {\n    importPath: '@eui/components/eui-datepicker',\n    selectors: {\n      'eui-datepicker': 'EuiDatepickerComponent',\n    },\n  },\n  EuiDateRangeSelectorModule: {\n    importPath: '@eui/components/eui-date-range-selector',\n    selectors: {\n      'eui-date-range-selector': 'EuiDateRangeSelectorComponent',\n    },\n  },\n  EuiDialogModule: {\n    importPath: '@eui/components/eui-dialog',\n    selectors: {\n      'eui-dialog': 'EuiDialogComponent',\n      'eui-dialog-header': 'EuiDialogHeaderDirective',\n      'eui-dialog-footer': 'EuiDialogFooterDirective',\n      'eui-dialog-container': 'EuiDialogContainerComponent',\n    },\n  },\n  EuiDisableContentModule: {\n    importPath: '@eui/components/eui-disable-content',\n    selectors: {\n      'eui-disable-content': 'EuiDisableContentComponent',\n    },\n  },\n  EuiDiscussionThreadModule: {\n    importPath: '@eui/components/eui-discussion-thread',\n    selectors: {\n      'eui-discussion-thread': 'EuiDiscussionThreadComponent',\n      'eui-discussion-thread-item': 'EuiDiscussionThreadItemComponent',\n    },\n  },\n  EuiDropdownModule: {\n    importPath: '@eui/components/eui-dropdown',\n    selectors: {\n      'eui-dropdown': 'EuiDropdownComponent',\n    },\n  },\n  EuiFeedbackMessageModule: {\n    importPath: '@eui/components/eui-feedback-message',\n    selectors: {\n      'eui-feedback-message': 'EuiFeedbackMessageComponent',\n    },\n  },\n  EuiFieldsetModule: {\n    importPath: '@eui/components/eui-fieldset',\n    selectors: {\n      'eui-fieldset': 'EuiFieldsetComponent',\n      euiFieldsetLabelRightContent: 'EuiFieldsetLabelRightContentTagDirective',\n      euiFieldsetLabelExtraContent: 'EuiFieldsetLabelExtraContentTagDirective',\n    },\n  },\n  EuiFileUploadModule: {\n    importPath: '@eui/components/eui-file-upload',\n    selectors: {\n      'eui-file-upload': 'EuiFileUploadComponent',\n    },\n  },\n  EuiGrowlModule: {\n    importPath: '@eui/components/eui-growl',\n    selectors: {\n      'eui-growl': 'EuiGrowlComponent',\n    },\n  },\n  EuiIconModule: {\n    importPath: '@eui/components/eui-icon',\n    selectors: {\n      'eui-icon-svg': 'EuiIconSvgComponent',\n      euiIconSvg: 'EuiIconSvgComponent',\n    },\n  },\n  EuiIconButtonModule: {\n    importPath: '@eui/components/eui-icon-button',\n    selectors: {\n      'eui-icon-button': 'EuiIconButtonComponent',\n    },\n  },\n  EuiIconToggleModule: {\n    importPath: '@eui/components/eui-icon-toggle',\n    selectors: {\n      'eui-icon-toggle': 'EuiIconToggleComponent',\n    },\n  },\n  EuiInputCheckboxModule: {\n    importPath: '@eui/components/eui-input-checkbox',\n    selectors: {\n      euiInputCheckBox: 'EuiInputCheckboxComponent',\n    },\n  },\n  EuiInputGroupModule: {\n    importPath: '@eui/components/eui-input-group',\n    selectors: {\n      euiInputGroup: 'EuiInputGroupComponent',\n      'eui-input-group-addon': 'EuiInputGroupAddOnComponent',\n      euiInputGroupAddOn: 'EuiInputGroupAddOnComponent',\n      'eui-input-group-addon-item': 'EuiInputGroupAddOnItemComponent',\n      euiInputGroupAddOnItem: 'EuiInputGroupAddOnItemComponent',\n    },\n  },\n  EuiInputNumberModule: {\n    importPath: '@eui/components/eui-input-number',\n    selectors: {\n      euiInputNumber: 'EuiInputNumberComponent',\n    },\n  },\n  EuiInputRadioModule: {\n    importPath: '@eui/components/eui-input-radio',\n    selectors: {\n      euiInputRadio: 'EuiInputRadioComponent',\n    },\n  },\n  EuiInputTextModule: {\n    importPath: '@eui/components/eui-input-text',\n    selectors: {\n      euiInputText: 'EuiInputTextComponent',\n    },\n  },\n  EuiLabelModule: {\n    importPath: '@eui/components/eui-label',\n    selectors: {\n      'eui-label': 'EuiLabelComponent',\n      euiLabel: 'EuiLabelComponent',\n    },\n  },\n  EuiListModule: {\n    importPath: '@eui/components/eui-list',\n    selectors: {\n      'eui-list': 'EuiListComponent',\n      euiList: 'EuiListComponent',\n      'eui-list-item': 'EuiListItemComponent',\n      euiListItem: 'EuiListItemComponent',\n    },\n  },\n  EuiMenuModule: {\n    importPath: '@eui/components/eui-menu',\n    selectors: {\n      'eui-menu': 'EuiMenuComponent',\n      'eui-menu-item': 'EuiMenuItemComponent',\n    },\n  },\n  EuiMessageBoxModule: {\n    importPath: '@eui/components/eui-message-box',\n    selectors: {\n      'eui-message-box': 'EuiMessageBoxComponent',\n      'eui-message-box-footer': 'EuiMessageBoxFooterDirective',\n    },\n  },\n  EuiOverlayModule: {\n    importPath: '@eui/components/eui-overlay',\n    selectors: {\n      'eui-overlay': 'EuiOverlayComponent',\n    },\n  },\n  EuiPageModule: {\n    importPath: '@eui/components/eui-page',\n    selectors: {\n      'eui-page': 'EuiPageComponent',\n    },\n  },\n  EuiPaginatorModule: {\n    importPath: '@eui/components/eui-paginator',\n    selectors: {\n      'eui-paginator': 'EuiPaginatorComponent',\n    },\n  },\n  EuiPopoverModule: {\n    importPath: '@eui/components/eui-popover',\n    selectors: {\n      'eui-popover': 'EuiPopoverComponent',\n    },\n  },\n  EuiProgressBarModule: {\n    importPath: '@eui/components/eui-progress-bar',\n    selectors: {\n      'eui-progress-bar': 'EuiProgressBarComponent',\n    },\n  },\n  EuiProgressCircleModule: {\n    importPath: '@eui/components/eui-progress-circle',\n    selectors: {\n      'eui-progress-circle': 'EuiProgressCircleComponent',\n    },\n  },\n  EuiSelectModule: {\n    importPath: '@eui/components/eui-select',\n    selectors: {\n      euiSelect: 'EuiSelectComponent',\n    },\n  },\n  EuiSidebarMenuModule: {\n    importPath: '@eui/components/eui-sidebar-menu',\n    selectors: {\n      'eui-sidebar-menu': 'EuiSidebarMenuComponent',\n    },\n  },\n  EuiSkeletonModule: {\n    importPath: '@eui/components/eui-skeleton',\n    selectors: {\n      'eui-skeleton': 'EuiSkeletonComponent',\n    },\n  },\n  EuiSlideToggleModule: {\n    importPath: '@eui/components/eui-slide-toggle',\n    selectors: {\n      'eui-slide-toggle': 'EuiSlideToggleComponent',\n    },\n  },\n  EuiTableModule: {\n    importPath: '@eui/components/eui-table',\n    selectors: {\n      'eui-table': 'EuiTableComponent',\n      euiTable: 'EuiTableComponent',\n      'eui-table-filter': 'EuiTableFilterComponent',\n      isSortable: 'EuiTableSortableColComponent',\n      isStickyCol: 'EuiTableStickyColDirective',\n      isHeaderSelectable: 'EuiTableSelectableHeaderComponent',\n      isDataSelectable: 'EuiTableSelectableRowComponent',\n      isExpandableRow: 'EuiTableExpandableRowDirective',\n    },\n  },\n  EuiTableV2Module: {\n      importPath: '@eui/components/eui-table',\n      selectors: {\n          'eui-table': 'EuiTableComponent',\n          euiTable: 'EuiTableComponent',\n          'eui-table-filter': 'EuiTableFilterComponent',\n          isSortable: 'EuiTableSortableColComponent',\n          isStickyCol: 'EuiTableStickyColDirective',\n          isHeaderSelectable: 'EuiTableSelectableHeaderComponent',\n          isDataSelectable: 'EuiTableSelectableRowComponent',\n          isExpandableRow: 'EuiTableExpandableRowDirective',\n      },\n  },\n  EuiTabsModule: {\n    importPath: '@eui/components/eui-tabs',\n    selectors: {\n      'eui-tabs': 'EuiTabsComponent',\n      'eui-tab': 'EuiTabComponent',\n      'eui-tab-header': 'EuiTabHeaderComponent',\n      'eui-tab-body': 'EuiTabBodyComponent',\n    },\n  },\n  EuiTextAreaModule: {\n    importPath: '@eui/components/eui-textarea',\n    selectors: {\n      euiTextArea: 'EuiTextareaComponent',\n    },\n  },\n  EuiTimelineModule: {\n    importPath: '@eui/components/eui-timeline',\n    selectors: {\n      'eui-timeline': 'EuiTimelineComponent',\n      'eui-timeline-item': 'EuiTimelineItemComponent',\n    },\n  },\n  EuiTimepickerModule: {\n    importPath: '@eui/components/eui-timepicker',\n    selectors: {\n      'eui-timepicker': 'EuiTimepickerComponent',\n    },\n  },\n  EuiTreeModule: {\n    importPath: '@eui/components/eui-tree',\n    selectors: {\n      'eui-tree': 'EuiTreeComponent',\n    },\n  },\n  EuiTreeListModule: {\n    importPath: '@eui/components/eui-tree-list',\n    selectors: {\n      'eui-tree-list': 'EuiTreeListComponent',\n      'eui-tree-list-item': 'EuiTreeListItemComponent',\n    },\n  },\n  EuiUserProfileModule: {\n    importPath: '@eui/components/eui-user-profile',\n    selectors: {\n      'eui-user-profile': 'EuiUserProfileComponent',\n    },\n  },\n  EuiWizardModule: {\n    importPath: '@eui/components/eui-wizard',\n    selectors: {\n      'eui-wizard': 'EuiWizardComponent',\n      'eui-wizard-step': 'EuiWizardStepComponent',\n    },\n  },\n  EuiTooltipDirectiveModule: {\n    importPath: '@eui/components/directives',\n    selectors: {\n      euiTooltip: 'EuiTooltipDirective',\n    },\n  },\n  EuiTemplateDirectiveModule: {\n    importPath: '@eui/components/directives',\n    selectors: {\n      euiTemplate: 'EuiTemplateDirective',\n    },\n  },\n  EuiResizableDirectiveModule: {\n    importPath: '@eui/components/directives',\n    selectors: {\n      euiResizable: 'EuiResizableDirective',\n      'eui-resizable': 'EuiResizableComponent',\n    },\n  },\n  EuiMaxLengthDirectiveModule: {\n    importPath: '@eui/components/directives',\n    selectors: {\n      euiEditorMaxlength: 'EuiMaxLengthDirective',\n    },\n  },\n  EuiTruncatePipeModule: {\n    importPath: '@eui/components/pipes',\n    selectors: {\n      euiTruncate: 'EuiTruncatePipe',\n    },\n  },\n  EuiLayoutModule: {\n    importPath: '@eui/components/layout',\n    selectors: {\n      'eui-app': 'EuiAppComponent',\n      'eui-header': 'EuiHeaderComponent',\n      'eui-footer': 'EuiFooterComponent',\n      'eui-toolbar': 'EuiToolbarComponent',\n      'eui-sidebar-toggle': 'EuiSidebarToggleComponent',\n    },\n  },\n};\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\nexport function migrateToStandalone(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    const allModuleNames = Object.keys(MODULE_MAPPINGS);\n\n    visitDir(tree.getDir(scanPath || '/'), (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) return;\n\n      const source = buffer.toString('utf-8');\n      if (!allModuleNames.some((m) => source.includes(m))) return;\n\n      const sourceFile = ts.createSourceFile(path, source, ts.ScriptTarget.Latest, true);\n      const componentDecorators = findComponentDecorators(sourceFile);\n\n      for (const decorator of componentDecorators) {\n        const importsNode = findImportsArrayNode(decorator);\n        if (!importsNode) continue;\n\n        const currentSource = tree.read(path)!.toString('utf-8');\n        const modulesInArray = allModuleNames.filter((m) => hasModuleInArray(importsNode, m, source));\n        if (modulesInArray.length === 0) continue;\n\n        const templateSelectors = getTemplateSelectors(tree, path, decorator, source);\n        const replacements = buildReplacements(modulesInArray, templateSelectors);\n        if (replacements.size === 0) continue;\n\n        const result = applyReplacements(currentSource, path, replacements);\n        if (options.dryRun) {\n          logDryRun(context, `Would replace module imports with standalone imports in ${path}`);\n        } else {\n          tree.overwrite(path, result);\n        }\n      }\n    });\n\n    context.logger.info('Migration to standalone imports complete.');\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n    return tree;\n  };\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n\nfunction buildReplacements(moduleNames: string[], templateSelectors: Set<string>): Map<string, { components: string[]; importPath: string }> {\n  const map = new Map<string, { components: string[]; importPath: string }>();\n\n  for (const moduleName of moduleNames) {\n    const mapping = MODULE_MAPPINGS[moduleName];\n    const components: string[] = [];\n\n    for (const [selector, component] of Object.entries(mapping.selectors)) {\n      if (templateSelectors.has(selector)) {\n        components.push(component);\n      }\n    }\n\n    if (components.length > 0) {\n      map.set(moduleName, { components: [...new Set(components)].sort(), importPath: mapping.importPath });\n    }\n  }\n\n  return map;\n}\n\nfunction findComponentDecorators(sourceFile: ts.SourceFile): ts.Decorator[] {\n  const decorators: ts.Decorator[] = [];\n  const visit = (node: ts.Node): void => {\n    if (ts.isClassDeclaration(node)) {\n      const decs = ts.getDecorators(node);\n      if (decs) {\n        for (const dec of decs) {\n          if (ts.isCallExpression(dec.expression) && ts.isIdentifier(dec.expression.expression) && dec.expression.expression.text === 'Component') {\n            decorators.push(dec);\n          }\n        }\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n  visit(sourceFile);\n  return decorators;\n}\n\nfunction findImportsArrayNode(decorator: ts.Decorator): ts.ArrayLiteralExpression | undefined {\n  const call = decorator.expression as ts.CallExpression;\n  const metadata = call.arguments[0];\n  if (!ts.isObjectLiteralExpression(metadata)) return undefined;\n\n  for (const prop of metadata.properties) {\n    if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name) && prop.name.text === 'imports') {\n      if (ts.isArrayLiteralExpression(prop.initializer)) {\n        return prop.initializer;\n      }\n    }\n  }\n  return undefined;\n}\n\nfunction hasModuleInArray(array: ts.ArrayLiteralExpression, moduleName: string, source: string): boolean {\n  return array.elements.some((el) => source.slice(el.getStart(), el.getEnd()).trim() === moduleName);\n}\n\nfunction getTemplateSelectors(tree: Tree, tsPath: string, decorator: ts.Decorator, source: string): Set<string> {\n  const call = decorator.expression as ts.CallExpression;\n  const metadata = call.arguments[0] as ts.ObjectLiteralExpression;\n  const allSelectors = Object.values(MODULE_MAPPINGS).flatMap((m) => Object.keys(m.selectors));\n\n  for (const prop of metadata.properties) {\n    if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name) && prop.name.text === 'template') {\n      const init = prop.initializer;\n      if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) {\n        return findSelectorsInTemplate(init.text, allSelectors);\n      }\n    }\n  }\n\n  for (const prop of metadata.properties) {\n    if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name) && prop.name.text === 'templateUrl') {\n      if (ts.isStringLiteral(prop.initializer)) {\n        const dir = tsPath.substring(0, tsPath.lastIndexOf('/'));\n        const templateBuffer = tree.read(`${dir}/${prop.initializer.text}`);\n        if (templateBuffer) {\n          return findSelectorsInTemplate(templateBuffer.toString('utf-8'), allSelectors);\n        }\n      }\n    }\n  }\n\n  return new Set();\n}\n\nfunction findSelectorsInTemplate(html: string, knownSelectors: string[]): Set<string> {\n  const selectors = new Set<string>();\n  const parsed = parseTemplate(html, '', { preserveWhitespaces: true });\n\n  const visit = (nodes: TmplAstNode[]): void => {\n    for (const node of nodes) {\n      if (node instanceof TmplAstElement) {\n        if (knownSelectors.includes(node.name)) selectors.add(node.name);\n        for (const attr of node.attributes) {\n          if (knownSelectors.includes(attr.name)) selectors.add(attr.name);\n        }\n        visit(node.children);\n      }\n    }\n  };\n  visit(parsed.nodes);\n  return selectors;\n}\n\nfunction applyReplacements(source: string, filePath: string, replacements: Map<string, { components: string[]; importPath: string }>): string {\n  const sourceFile = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true);\n  let result = replaceInImportsArray(source, sourceFile, replacements);\n  result = updateEsImports(result, filePath, replacements);\n  return result;\n}\n\nfunction replaceInImportsArray(source: string, sourceFile: ts.SourceFile, replacements: Map<string, { components: string[]; importPath: string }>): string {\n  let result = source;\n  const visit = (node: ts.Node): void => {\n    if (ts.isClassDeclaration(node)) {\n      const decs = ts.getDecorators(node);\n      if (!decs) return;\n      for (const dec of decs) {\n        if (!ts.isCallExpression(dec.expression) || !ts.isIdentifier(dec.expression.expression) || dec.expression.expression.text !== 'Component') continue;\n        const metadata = dec.expression.arguments[0];\n        if (!ts.isObjectLiteralExpression(metadata)) continue;\n        for (const prop of metadata.properties) {\n          if (!ts.isPropertyAssignment(prop) || !ts.isIdentifier(prop.name) || prop.name.text !== 'imports') continue;\n          if (!ts.isArrayLiteralExpression(prop.initializer)) continue;\n          const newElements = prop.initializer.elements\n            .map((el) => {\n              const text = result.slice(el.getStart(sourceFile), el.getEnd()).trim();\n              const replacement = replacements.get(text);\n              return replacement ? replacement.components.join(', ') : text;\n            })\n            .join(', ');\n          result = result.slice(0, prop.initializer.getStart(sourceFile) + 1) + newElements + result.slice(prop.initializer.getEnd() - 1);\n        }\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n  visit(sourceFile);\n  return result;\n}\n\nfunction updateEsImports(source: string, filePath: string, replacements: Map<string, { components: string[]; importPath: string }>): string {\n  let result = source;\n\n  for (const [moduleName, { components, importPath }] of replacements) {\n    const sf = ts.createSourceFile(filePath, result, ts.ScriptTarget.Latest, true);\n\n    for (const stmt of sf.statements) {\n      if (!ts.isImportDeclaration(stmt) || !stmt.importClause?.namedBindings || !ts.isNamedImports(stmt.importClause.namedBindings)) continue;\n      const namedBindings = stmt.importClause.namedBindings;\n      const importNames = namedBindings.elements.map((el) => el.name.text);\n      if (!importNames.includes(moduleName)) continue;\n\n      const moduleSpecifier = (stmt.moduleSpecifier as ts.StringLiteral).text;\n      const remaining = importNames.filter((n) => n !== moduleName);\n      const toAdd = components.filter((c) => !importNames.includes(c));\n\n      if (moduleSpecifier === importPath) {\n        const newNames = [...remaining, ...toAdd].sort();\n        const newClause = `{ ${newNames.join(', ')} }`;\n        result = result.slice(0, namedBindings.getStart(sf)) + newClause + result.slice(namedBindings.getEnd());\n      } else {\n        if (remaining.length > 0) {\n          const newClause = `{ ${remaining.join(', ')} }`;\n          result = result.slice(0, namedBindings.getStart(sf)) + newClause + result.slice(namedBindings.getEnd());\n        } else {\n          result = result.slice(0, stmt.getStart(sf)) + result.slice(stmt.getEnd()).replace(/^\\r?\\n/, '');\n        }\n\n        if (toAdd.length > 0) {\n          const updatedSf = ts.createSourceFile(filePath, result, ts.ScriptTarget.Latest, true);\n          const existing = updatedSf.statements.find(\n            (s) => ts.isImportDeclaration(s) && ts.isStringLiteral(s.moduleSpecifier) && s.moduleSpecifier.text === importPath,\n          ) as ts.ImportDeclaration | undefined;\n\n          if (existing?.importClause?.namedBindings && ts.isNamedImports(existing.importClause.namedBindings)) {\n            const existingNames = existing.importClause.namedBindings.elements.map((el) => el.name.text);\n            const allNames = [...new Set([...existingNames, ...toAdd])].sort();\n            const newClause = `{ ${allNames.join(', ')} }`;\n            result = result.slice(0, existing.importClause.namedBindings.getStart(updatedSf)) + newClause + result.slice(existing.importClause.namedBindings.getEnd());\n          } else {\n            const newImport = `import { ${toAdd.join(', ')} } from '${importPath}';\\n`;\n            result = newImport + result;\n          }\n        }\n      }\n      break;\n    }\n  }\n\n  return result;\n}\n",
            "properties": [
                {
                    "name": "importPath",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 7
                },
                {
                    "name": "selectors",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Record<string | string>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 8
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "NgModuleInfo",
            "id": "interface-NgModuleInfo-9c5e016857e1416ac7bbb881973e644c0f578a53bd432bb951c1676ac3f2a6631bfe3344860346a081b841217278723e0bb0bf2fa35fb869de67cb0cc8d99849",
            "file": "packages/core/schematics/add-eui-imports/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstElement, TmplAstNode, TmplAstTemplate } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\nimport { SELECTOR_MAP, SelectorEntry, getClassNamesForArray } from './selector-map';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n  useClassArray?: boolean;\n}\n\ninterface ImportToAdd {\n  /** The symbol to add to imports array (class name or array name for spread) */\n  symbol: string;\n  /** Whether this should be spread (...EUI_BUTTON) */\n  isSpread: boolean;\n  /** ES import path */\n  importPath: string;\n}\n\nexport function addEuiImports(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    const useClassArray = options.useClassArray ?? false;\n    let filesUpdated = 0;\n\n    // Index NgModules for standalone:false support\n    const ngModuleIndex = buildNgModuleIndex(tree, tree.getDir(scanPath || '/'));\n\n    visitDir(tree.getDir(scanPath || '/'), (path) => {\n      if (!path.endsWith('.ts') || path.endsWith('.spec.ts')) return;\n\n      const buffer = tree.read(path);\n      if (!buffer) return;\n      const source = buffer.toString('utf-8');\n\n      const sourceFile = ts.createSourceFile(path, source, ts.ScriptTarget.Latest, true);\n      const components = findComponentDecorators(sourceFile);\n      if (components.length === 0) return;\n\n      let modified = false;\n\n      for (const { decorator, className: componentClassName, isNonStandalone } of components) {\n        const templateHtml = getTemplateContent(tree, path, decorator, source);\n        if (!templateHtml) continue;\n\n        const matched = matchSelectorsInTemplate(templateHtml);\n        if (matched.length === 0) continue;\n\n        const importsToAdd = resolveImports(matched, useClassArray);\n        if (importsToAdd.length === 0) continue;\n\n        if (isNonStandalone) {\n          // Find the NgModule that declares this component and add imports there\n          const moduleInfo = findDeclaringModule(ngModuleIndex, componentClassName);\n          if (!moduleInfo) {\n            context.logger.warn(`⚠ Could not find declaring NgModule for ${componentClassName} in ${path}`);\n            continue;\n          }\n          const moduleBuffer = tree.read(moduleInfo.path);\n          if (!moduleBuffer) continue;\n          const moduleSource = moduleBuffer.toString('utf-8');\n          const result = addImportsToFile(moduleSource, moduleInfo.path, moduleInfo.decoratorPos, importsToAdd, useClassArray);\n          if (result !== moduleSource) {\n            if (options.dryRun) {\n              logDryRun(context, `Would add EUI imports to NgModule in ${moduleInfo.path} for component ${componentClassName}`);\n            } else {\n              tree.overwrite(moduleInfo.path, result);\n            }\n            modified = true;\n          }\n        } else {\n          // Standalone component — add imports directly\n          const currentSource = tree.read(path)!.toString('utf-8');\n          const result = addImportsToFile(currentSource, path, decorator.getStart(), importsToAdd, useClassArray);\n          if (result !== currentSource) {\n            if (options.dryRun) {\n              logDryRun(context, `Would add EUI imports to ${path}`);\n            } else {\n              tree.overwrite(path, result);\n            }\n            modified = true;\n          }\n        }\n      }\n\n      if (modified) filesUpdated++;\n    });\n\n    context.logger.info(`add-eui-imports: ${filesUpdated} file(s) updated.`);\n    if (options.dryRun) logDryRunNote(context);\n    return tree;\n  };\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n\n// --- Selector Matching ---\n\nfunction matchSelectorsInTemplate(html: string): SelectorEntry[] {\n  const parsed = parseTemplate(html, '', { preserveWhitespaces: true });\n  if (parsed.errors?.length) return [];\n\n  const matched: SelectorEntry[] = [];\n  visitTemplateNodes(parsed.nodes, matched);\n  return matched;\n}\n\nfunction visitTemplateNodes(nodes: TmplAstNode[], matched: SelectorEntry[]): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      matchElement(node, matched);\n      visitTemplateNodes(node.children, matched);\n    } else if (node instanceof TmplAstTemplate) {\n      visitTemplateNodes(node.children, matched);\n    }\n  }\n}\n\nfunction matchElement(element: TmplAstElement, matched: SelectorEntry[]): void {\n  const tagName = element.name;\n  const attrNames = new Set([\n    ...element.attributes.map(a => a.name),\n    ...element.inputs.map(i => i.name),\n  ]);\n\n  for (const entry of SELECTOR_MAP) {\n    if (entry.element && entry.element !== tagName) continue;\n    if (!entry.element && entry.attributes.length === 0) continue;\n    if (!entry.attributes.every(attr => attrNames.has(attr))) continue;\n    // If no element specified, at least one attribute must match on this element\n    if (!entry.element && entry.attributes.length > 0 && !entry.attributes.some(attr => attrNames.has(attr))) continue;\n    matched.push(entry);\n  }\n}\n\n// --- Import Resolution ---\n\nfunction resolveImports(matched: SelectorEntry[], useClassArray: boolean): ImportToAdd[] {\n  const seen = new Set<string>();\n  const result: ImportToAdd[] = [];\n\n  for (const entry of matched) {\n    if (useClassArray && entry.classArray) {\n      if (seen.has(entry.classArray)) continue;\n      seen.add(entry.classArray);\n      result.push({ symbol: entry.classArray, isSpread: true, importPath: entry.importPath });\n    } else {\n      if (seen.has(entry.className)) continue;\n      seen.add(entry.className);\n      result.push({ symbol: entry.className, isSpread: false, importPath: entry.importPath });\n    }\n  }\n\n  return result;\n}\n\n// --- Template Extraction ---\n\nfunction getTemplateContent(tree: Tree, tsPath: string, decorator: ts.Decorator, source: string): string | null {\n  const call = decorator.expression as ts.CallExpression;\n  if (!call.arguments[0] || !ts.isObjectLiteralExpression(call.arguments[0])) return null;\n  const metadata = call.arguments[0];\n\n  for (const prop of metadata.properties) {\n    if (!ts.isPropertyAssignment(prop) || !ts.isIdentifier(prop.name)) continue;\n    if (prop.name.text === 'template') {\n      const init = prop.initializer;\n      if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) {\n        return init.text;\n      }\n    }\n    if (prop.name.text === 'templateUrl') {\n      if (ts.isStringLiteral(prop.initializer)) {\n        const dir = tsPath.substring(0, tsPath.lastIndexOf('/'));\n        const templateBuffer = tree.read(`${dir}/${prop.initializer.text}`);\n        if (templateBuffer) return templateBuffer.toString('utf-8');\n      }\n    }\n  }\n  return null;\n}\n\n// --- Component Decorator Detection ---\n\ninterface ComponentInfo {\n  decorator: ts.Decorator;\n  className: string;\n  isNonStandalone: boolean;\n}\n\nfunction findComponentDecorators(sourceFile: ts.SourceFile): ComponentInfo[] {\n  const results: ComponentInfo[] = [];\n  const visit = (node: ts.Node): void => {\n    if (ts.isClassDeclaration(node) && node.name) {\n      const decs = ts.getDecorators(node);\n      if (decs) {\n        for (const dec of decs) {\n          if (ts.isCallExpression(dec.expression) && ts.isIdentifier(dec.expression.expression) && dec.expression.expression.text === 'Component') {\n            const isNonStandalone = hasStandaloneFalse(dec);\n            results.push({ decorator: dec, className: node.name.text, isNonStandalone });\n          }\n        }\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n  visit(sourceFile);\n  return results;\n}\n\nfunction hasStandaloneFalse(decorator: ts.Decorator): boolean {\n  const call = decorator.expression as ts.CallExpression;\n  if (!call.arguments[0] || !ts.isObjectLiteralExpression(call.arguments[0])) return false;\n  for (const prop of call.arguments[0].properties) {\n    if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name) && prop.name.text === 'standalone') {\n      return prop.initializer.kind === ts.SyntaxKind.FalseKeyword;\n    }\n  }\n  return false;\n}\n\n// --- NgModule Index ---\n\ninterface NgModuleInfo {\n  path: string;\n  declarations: string[];\n  decoratorPos: number;\n}\n\nfunction buildNgModuleIndex(tree: Tree, dir: DirEntry): NgModuleInfo[] {\n  const modules: NgModuleInfo[] = [];\n\n  visitDir(dir, (path) => {\n    if (!path.endsWith('.ts') || path.endsWith('.spec.ts')) return;\n\n    const buffer = tree.read(path);\n    if (!buffer) return;\n    const source = buffer.toString('utf-8');\n    if (!source.includes('NgModule')) return;\n\n    const sf = ts.createSourceFile(path, source, ts.ScriptTarget.Latest, true);\n    const visit = (node: ts.Node): void => {\n      if (ts.isClassDeclaration(node)) {\n        const decs = ts.getDecorators(node);\n        if (decs) {\n          for (const dec of decs) {\n            if (ts.isCallExpression(dec.expression) && ts.isIdentifier(dec.expression.expression) && dec.expression.expression.text === 'NgModule') {\n              const declarations = extractArrayProperty(dec, 'declarations', source);\n              modules.push({ path, declarations, decoratorPos: dec.getStart() });\n            }\n          }\n        }\n      }\n      ts.forEachChild(node, visit);\n    };\n    visit(sf);\n  });\n\n  return modules;\n}\n\nfunction extractArrayProperty(decorator: ts.Decorator, propName: string, source: string): string[] {\n  const call = decorator.expression as ts.CallExpression;\n  if (!call.arguments[0] || !ts.isObjectLiteralExpression(call.arguments[0])) return [];\n  for (const prop of call.arguments[0].properties) {\n    if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name) && prop.name.text === propName) {\n      if (ts.isArrayLiteralExpression(prop.initializer)) {\n        return prop.initializer.elements\n          .filter(ts.isIdentifier)\n          .map(id => id.text);\n      }\n    }\n  }\n  return [];\n}\n\nfunction findDeclaringModule(modules: NgModuleInfo[], componentClassName: string): NgModuleInfo | undefined {\n  return modules.find(m => m.declarations.includes(componentClassName));\n}\n\n// --- Import Addition ---\n\nfunction addImportsToFile(source: string, filePath: string, decoratorStartHint: number, imports: ImportToAdd[], useClassArray: boolean): string {\n  const sf = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true);\n\n  // Find the imports array in the decorator closest to decoratorStartHint\n  const importsArrayInfo = findDecoratorImportsArray(sf, source, decoratorStartHint);\n  if (!importsArrayInfo) return source;\n\n  const { arrayNode, decoratorType } = importsArrayInfo;\n\n  // Determine what's already in the imports array\n  const existingSymbols = new Set<string>();\n  const existingSpreads = new Set<string>();\n  for (const el of arrayNode.elements) {\n    if (ts.isSpreadElement(el) && ts.isIdentifier(el.expression)) {\n      existingSpreads.add(el.expression.text);\n    } else if (ts.isIdentifier(el)) {\n      existingSymbols.add(el.text);\n    }\n  }\n\n  // Filter out already-present imports and compute what to add/remove\n  const toAdd: ImportToAdd[] = [];\n  const toRemoveFromArray: string[] = []; // individual class names to consolidate\n\n  for (const imp of imports) {\n    if (imp.isSpread) {\n      if (existingSpreads.has(imp.symbol)) continue; // Already has ...EUI_X\n      toAdd.push(imp);\n      // Consolidate: remove individual class names covered by this array\n      if (useClassArray) {\n        const coveredClasses = getClassNamesForArray(imp.symbol);\n        for (const cls of coveredClasses) {\n          if (existingSymbols.has(cls)) toRemoveFromArray.push(cls);\n        }\n      }\n    } else {\n      if (existingSymbols.has(imp.symbol)) continue;\n      // Also skip if a spread already covers this class\n      const coveringArray = imports.find(i => i.isSpread && getClassNamesForArray(i.symbol).includes(imp.symbol));\n      if (coveringArray && (existingSpreads.has(coveringArray.symbol) || toAdd.some(a => a.symbol === coveringArray.symbol))) continue;\n      toAdd.push(imp);\n    }\n  }\n\n  if (toAdd.length === 0 && toRemoveFromArray.length === 0) return source;\n\n  // Build new array content\n  let result = source;\n  result = updateDecoratorImportsArray(result, filePath, arrayNode, toAdd, toRemoveFromArray);\n\n  // Add ES imports\n  result = addEsImports(result, filePath, toAdd);\n\n  // Remove consolidated class names from ES imports\n  if (toRemoveFromArray.length > 0) {\n    result = removeFromEsImports(result, filePath, toRemoveFromArray);\n  }\n\n  return result;\n}\n\ninterface ImportsArrayInfo {\n  arrayNode: ts.ArrayLiteralExpression;\n  decoratorType: 'Component' | 'NgModule';\n}\n\nfunction findDecoratorImportsArray(sf: ts.SourceFile, source: string, decoratorStartHint: number): ImportsArrayInfo | null {\n  let found: ImportsArrayInfo | null = null;\n\n  const visit = (node: ts.Node): void => {\n    if (found) return;\n    if (ts.isClassDeclaration(node)) {\n      const decs = ts.getDecorators(node);\n      if (!decs) return;\n      for (const dec of decs) {\n        if (!ts.isCallExpression(dec.expression)) continue;\n        if (!ts.isIdentifier(dec.expression.expression)) continue;\n        const decName = dec.expression.expression.text;\n        if (decName !== 'Component' && decName !== 'NgModule') continue;\n        if (Math.abs(dec.getStart() - decoratorStartHint) > 5) continue; // Match by position\n\n        const metadata = dec.expression.arguments[0];\n        if (!ts.isObjectLiteralExpression(metadata)) continue;\n\n        for (const prop of metadata.properties) {\n          if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name) && prop.name.text === 'imports') {\n            if (ts.isArrayLiteralExpression(prop.initializer)) {\n              found = { arrayNode: prop.initializer, decoratorType: decName as 'Component' | 'NgModule' };\n              return;\n            }\n          }\n        }\n\n        // No imports array found — create one\n        if (!found && decName === 'Component') {\n          // We need to add `imports: []` to the decorator\n          // Insert after the last property\n          const lastProp = metadata.properties[metadata.properties.length - 1];\n          if (lastProp) {\n            const insertPos = lastProp.getEnd();\n            const indent = detectIndent(source, metadata.getStart());\n            const insertion = `,\\n${indent}  imports: []`;\n            const newSource = source.slice(0, insertPos) + insertion + source.slice(insertPos);\n            // Re-parse to get the array node\n            const newSf = ts.createSourceFile('', newSource, ts.ScriptTarget.Latest, true);\n            const newArray = findImportsArrayInSource(newSf);\n            if (newArray) {\n              // We can't return a node from a different source file in the general case.\n              // Instead, we'll handle the \"no imports array\" case by adding it inline.\n              found = null; // Will be handled separately\n            }\n          }\n        }\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n  visit(sf);\n  return found;\n}\n\nfunction findImportsArrayInSource(sf: ts.SourceFile): ts.ArrayLiteralExpression | null {\n  let found: ts.ArrayLiteralExpression | null = null;\n  const visit = (node: ts.Node): void => {\n    if (found) return;\n    if (ts.isPropertyAssignment(node) && ts.isIdentifier(node.name) && node.name.text === 'imports' && ts.isArrayLiteralExpression(node.initializer)) {\n      found = node.initializer;\n    }\n    ts.forEachChild(node, visit);\n  };\n  visit(sf);\n  return found;\n}\n\nfunction updateDecoratorImportsArray(source: string, filePath: string, arrayNode: ts.ArrayLiteralExpression, toAdd: ImportToAdd[], toRemove: string[]): string {\n  const sf = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true);\n\n  // Rebuild the array content\n  const existingElements: string[] = [];\n  for (const el of arrayNode.elements) {\n    const text = source.slice(el.getStart(sf), el.getEnd()).trim();\n    // Check if this element should be removed (consolidation)\n    if (ts.isIdentifier(el) && toRemove.includes(el.text)) continue;\n    existingElements.push(text);\n  }\n\n  // Add new entries\n  for (const imp of toAdd) {\n    const entry = imp.isSpread ? `...${imp.symbol}` : imp.symbol;\n    if (!existingElements.includes(entry)) {\n      existingElements.push(entry);\n    }\n  }\n\n  // Determine formatting\n  const arrayStart = arrayNode.getStart(sf);\n  const arrayEnd = arrayNode.getEnd();\n  const originalText = source.slice(arrayStart, arrayEnd);\n  const isMultiline = originalText.includes('\\n');\n\n  let newArrayText: string;\n  if (isMultiline || existingElements.length > 3) {\n    const indent = detectIndent(source, arrayStart);\n    const itemIndent = indent + '  ';\n    newArrayText = `[\\n${existingElements.map(e => `${itemIndent}${e},`).join('\\n')}\\n${indent}]`;\n  } else {\n    newArrayText = `[${existingElements.join(', ')}]`;\n  }\n\n  return source.slice(0, arrayStart) + newArrayText + source.slice(arrayEnd);\n}\n\nfunction addEsImports(source: string, filePath: string, imports: ImportToAdd[]): string {\n  let result = source;\n\n  // Group by import path\n  const byPath = new Map<string, string[]>();\n  for (const imp of imports) {\n    const existing = byPath.get(imp.importPath) || [];\n    existing.push(imp.symbol);\n    byPath.set(imp.importPath, existing);\n  }\n\n  for (const [importPath, symbols] of byPath) {\n    const sf = ts.createSourceFile(filePath, result, ts.ScriptTarget.Latest, true);\n\n    // Check if there's already an import from this path\n    const existingImport = sf.statements.find(\n      (s): s is ts.ImportDeclaration =>\n        ts.isImportDeclaration(s) && ts.isStringLiteral(s.moduleSpecifier) && s.moduleSpecifier.text === importPath,\n    );\n\n    if (existingImport?.importClause?.namedBindings && ts.isNamedImports(existingImport.importClause.namedBindings)) {\n      // Extend existing import\n      const namedBindings = existingImport.importClause.namedBindings;\n      const existingNames = namedBindings.elements.map(el => el.name.text);\n      const newNames = symbols.filter(s => !existingNames.includes(s));\n      if (newNames.length === 0) continue;\n\n      const allNames = [...existingNames, ...newNames].sort();\n      const newClause = `{ ${allNames.join(', ')} }`;\n      result = result.slice(0, namedBindings.getStart(sf)) + newClause + result.slice(namedBindings.getEnd());\n    } else {\n      // Add new import statement\n      const sortedSymbols = [...symbols].sort();\n      const newImport = `import { ${sortedSymbols.join(', ')} } from '${importPath}';\\n`;\n\n      // Insert after the last existing import\n      const lastImport = [...sf.statements].reverse().find(ts.isImportDeclaration);\n      if (lastImport) {\n        const pos = lastImport.getEnd();\n        result = result.slice(0, pos) + '\\n' + newImport.trimEnd() + result.slice(pos);\n      } else {\n        result = newImport + result;\n      }\n    }\n  }\n\n  return result;\n}\n\nfunction detectIndent(source: string, pos: number): string {\n  const lineStart = source.lastIndexOf('\\n', pos - 1) + 1;\n  const match = source.slice(lineStart, pos).match(/^(\\s*)/);\n  return match ? match[1] : '';\n}\n\nfunction removeFromEsImports(source: string, filePath: string, symbolsToRemove: string[]): string {\n  let result = source;\n  const sf = ts.createSourceFile(filePath, result, ts.ScriptTarget.Latest, true);\n\n  for (const stmt of sf.statements) {\n    if (!ts.isImportDeclaration(stmt) || !stmt.importClause?.namedBindings || !ts.isNamedImports(stmt.importClause.namedBindings)) continue;\n    const namedBindings = stmt.importClause.namedBindings;\n    const existingNames = namedBindings.elements.map(el => el.name.text);\n    const remaining = existingNames.filter(n => !symbolsToRemove.includes(n));\n\n    if (remaining.length === existingNames.length) continue; // Nothing to remove from this import\n\n    if (remaining.length === 0) {\n      // Remove the entire import statement\n      result = result.slice(0, stmt.getStart(sf)) + result.slice(stmt.getEnd()).replace(/^\\r?\\n/, '');\n    } else {\n      const newClause = `{ ${remaining.join(', ')} }`;\n      result = result.slice(0, namedBindings.getStart(sf)) + newClause + result.slice(namedBindings.getEnd());\n    }\n    break; // Only process the first matching import for the consolidated symbols\n  }\n\n  return result;\n}\n",
            "properties": [
                {
                    "name": "declarations",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 238
                },
                {
                    "name": "decoratorPos",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 239
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 237
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "Policy",
            "id": "interface-Policy-ab7cfc0aae7b6e23ef05981e22f2238b3acbcfbad724f99dad2ec4ed4b9bfb65d1ff5a5d91c16067d467e495e213d0de298aa017e6a5339f541c6351d89729e3",
            "file": "packages/core/src/lib/services/loader/eui-loader.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export enum Status {\n    LOADING = 'loading',\n    LOADED = 'loaded',\n    ERROR = 'error',\n}\n\n/**\n * A library is a set of script and style dependencies\n * that can be loaded dynamically\n * @interface Library\n * @property {string} name - global variable object name that the script will give to the library\n * @property {Dependency[]} dependencies - a set of script and style dependencies\n * @property {Status} status - the status of the library e.g. LOADED\n * @example\n *\n * const library: Library = {\n *    name: 'Quill',\n *    dependencies: [\n *    {\n *      name: 'quill',\n *      url: 'https://cdn.quilljs.com/1.3.6/quill.js',\n *      type: 'js',\n *      requires: [],\n *      loaded: false,\n *      error: false,\n *    },\n *    {\n *      name: 'quill',\n *      url: 'https://cdn.quilljs.com/1.3.6/quill.snow.css',\n *      type: 'css',\n *      requires: [],\n *      loaded: false,\n *      error: false,\n *     },\n *     ],\n *     status: Status.LOADING,\n * };\n */\nexport interface Library {\n    /** global variable object name that the script will give to the library */\n    name: string;\n    /** a set of script and style dependencies */\n    dependencies: Dependency[];\n    /** the status of the library e.g. LOADED */\n    status: Status;\n}\n\n/**\n * A dependency is a script or style that can be loaded dynamically\n */\nexport interface Dependency {\n    /** an identifier for the dependency */\n    name: string;\n    /**\n     * the url of the dependency\n     * @example\n     * https://cdn.quilljs.com/1.3.6/quill.js\n     */\n    url: string;\n    /** the type of the dependency. Is it a style or script? */\n    type: 'js' | 'css';\n    /**\n     * an array of dependencies corresponds to the Dependency.name\n     * that must be loaded before this dependency\n     * @example\n     * ['quill-better-table']\n     * where 'quill-better-table' is the name of the dependency\n     * const betterTable: Dependency = {\n     *   name: 'quill-better-table',\n     *   url: 'https://cdn.quilljs.com/1.3.6/quill.js',\n     *   type: 'js',\n     *   requires: ['quill-better-table'],\n     * }\n     */\n    requires: string[];\n    /** the status of the dependency */\n    status?: Status;\n    /** the number of times the dependency has been loaded */\n    retries?: number;\n}\n\n/**\n * Configuration for different policies\n */\nexport interface Policy {\n    /** Maximum number of retry attempts */\n    maxAttempts: number;\n    /** Time between retries in milliseconds */\n    retryInterval: number;\n    /** Time in milliseconds before considering a load attempt as failed */\n    timeout: number;\n}\n",
            "properties": [
                {
                    "name": "maxAttempts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Maximum number of retry attempts</p>\n",
                    "line": 94,
                    "rawdescription": "\nMaximum number of retry attempts"
                },
                {
                    "name": "retryInterval",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Time between retries in milliseconds</p>\n",
                    "line": 96,
                    "rawdescription": "\nTime between retries in milliseconds"
                },
                {
                    "name": "timeout",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Time in milliseconds before considering a load attempt as failed</p>\n",
                    "line": 98,
                    "rawdescription": "\nTime in milliseconds before considering a load attempt as failed"
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Configuration for different policies</p>\n",
            "rawdescription": "\n\nConfiguration for different policies\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "ResourceError",
            "id": "interface-ResourceError-13449e882c84e7a5fbea186f03a18d17bec34c75962ab83b8fa1a7274d6f0661744b43a4ca4c96a7d5f90da13d4c4a5ff2190b4e243d681266632e1a73464b4c",
            "file": "packages/core/src/lib/services/i18n/i18n.loader.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Injectable, inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { TranslateLoader, TranslationObject } from '@ngx-translate/core';\nimport { forkJoin, Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\nimport {\n    getI18nLoaderConfig,\n    I18nResource,\n    type EuiAppConfig,\n    mergeAll,\n    Logger,\n    I18nLoaderConfig,\n    I18nConfig,\n    TranslationsCompiler,\n} from '@eui/base';\nimport { I18nResourceImpl } from './i18n.resource';\nimport { CONFIG_TOKEN } from '../config/tokens';\nimport { LogService } from '../log/log.service';\nimport { transformTranslations } from './i18n-utils';\n\ninterface ResourceError {\n    isError: boolean;\n    error?: string;\n    resource?: I18nResourceImpl;\n}\n\nexport interface LoadedResources {\n    translations: TranslationObject;\n    hasError: boolean;\n    errors?: Array<LoadedResourcesError>;\n}\n\nexport interface LoadedResourcesError {\n    resource: I18nResourceImpl;\n    error: string;\n}\n\nexport interface TranslationKeys {\n    [key: string]: string\n}\n\n@Injectable()\nexport class I18nLoader implements TranslateLoader {\n    protected http = inject(HttpClient);\n    protected logService = inject(LogService, { optional: true });\n    protected euiAppConfig = inject<EuiAppConfig>(CONFIG_TOKEN);\n\n    protected resources: I18nResourceImpl[] = [];\n    protected failedResources: Array<LoadedResourcesError> = [];\n    private logger: Logger;\n    private icuEnabled: boolean;\n\n    constructor() {\n        const logService = this.logService;\n\n        if (logService) {\n            this.logger = this.logService.getLogger('core.I18nLoader')\n        }\n\n        // create the resources from the config object\n        const i18nConfig: I18nConfig = this.euiAppConfig.global && this.euiAppConfig.global.i18n;\n        const i18nLoaderConfig: I18nLoaderConfig = i18nConfig && i18nConfig.i18nLoader;\n        this.resources.push(...this.createResources(i18nLoaderConfig));\n\n        // Auto-detect ICU mode from config\n        this.icuEnabled = !!(i18nConfig && i18nConfig.icuEnabled);\n    }\n\n    /**\n     * Gets the translations from the server\n     *\n     * @param lang\n     * @returns Observable<object>\n     */\n    public getTranslation(lang: string): Observable<TranslationObject> {\n        return this.loadResources(this.resources, lang).pipe(\n            map((loadedResources: LoadedResources) => {\n                this.failedResources = loadedResources.hasError ? loadedResources.errors : [];\n                const translations = loadedResources.translations;\n                return this.icuEnabled ? transformTranslations(translations) : translations;\n            }),\n        );\n    }\n\n    /**\n     * Adds resources\n     *\n     * @param config loader configuration\n     * @returns Observable<any> | false\n     */\n    public addResources(config: I18nLoaderConfig): I18nResourceImpl[] {\n        // create the resources\n        let resources = this.createResources(config);\n\n        // filter the resources first, to avoid duplicates\n        resources = resources.filter((resource) => !this.resources.some((res) => res.equals(resource)));\n\n        // add the new resources to the list of existing resources\n        this.resources.push(...resources);\n\n        // return the filtered resources\n        return resources;\n    }\n\n    /**\n     * Removes resources from the loader instance\n     */\n    public removeResources(removedResources: I18nResourceImpl[]): void {\n        this.resources = this.resources.filter((res) => !removedResources.some((removedResource) => removedResource.equals(res)));\n    }\n\n    /**\n     * Loads an array of resources, by language\n     *\n     * @param resources the definition of the resources\n     * @param lang the resource language to load\n     * @returns Observable<any>\n     */\n    public loadResources(resources: I18nResourceImpl[], lang: string): Observable<{ hasError: boolean; translations: TranslationObject; errors?: LoadedResourcesError[] }> {\n        // if there are resources to load\n        if (Array.isArray(resources) && resources.length > 0) {\n            // load all the resources in an array of Observable\n            const requests = resources.map((resource) => this.loadResource(resource, lang));\n            // group all the observables with forkJoin and deep merge them\n            return forkJoin(requests).pipe(\n                map((response) => {\n                    const successResp = [];\n                    const errResp: Array<LoadedResourcesError> = [];\n                    response.forEach((item) => {\n                        if ((<ResourceError>item).isError) {\n                            errResp.push({ resource: (<ResourceError>item).resource, error: (<ResourceError>item).error });\n                        } else {\n                            successResp.push(item);\n                        }\n                    });\n                    if (successResp.length === response.length) {\n                        return { hasError: false, translations: mergeAll(successResp) };\n                    } else {\n                        return { hasError: true, translations: mergeAll(successResp), errors: errResp };\n                    }\n                }),\n            );\n        } else {\n            // no resources to load\n            return of({ hasError: false, translations: {} });\n        }\n    }\n\n    /**\n     * Returns resources that failed\n     */\n    public getFailedResources(): Array<LoadedResourcesError> {\n        return this.failedResources;\n    }\n\n    /**\n     * Create resources from a config file\n     *\n     * @param config loader configuration\n     * @returns I18nResourceImpl[] resources\n     */\n    protected createResources(config: I18nLoaderConfig): I18nResourceImpl[] {\n        // use the default config as a reference base\n        config = getI18nLoaderConfig(config);\n\n        const resources = [];\n\n        // extract the i18n folders from config\n        const i18nFolders: string[] = Array.isArray(config.i18nFolders)\n            ? config.i18nFolders\n            : config.i18nFolders\n            ? [config.i18nFolders]\n            : [];\n        if (i18nFolders) {\n            // add the i18n folders to resources\n            resources.push(...i18nFolders.map((folder) => new I18nResourceImpl(`assets/${folder}/`, '.json')));\n        }\n\n        // extract the i18n services from config\n        const i18nServices: string[] = Array.isArray(config.i18nServices)\n            ? config.i18nServices\n            : config.i18nServices\n            ? [config.i18nServices]\n            : [];\n        if (i18nServices) {\n            // add the i18n services to resources\n            resources.push(...i18nServices.map((service) => new I18nResourceImpl(service)));\n        }\n\n        // extract the i18n resources from config\n        const i18nResources: I18nResource[] = Array.isArray(config.i18nResources)\n            ? config.i18nResources\n            : config.i18nResources\n            ? [config.i18nResources]\n            : [];\n        if (i18nResources) {\n            // add the i18n resources to resources\n            resources.push(\n                ...i18nResources.map(\n                    (resource) =>\n                        new I18nResourceImpl(\n                            resource.prefix,\n                            resource.suffix,\n                            this.getResourceCompileFunction(resource.compileTranslations),\n                        ),\n                ),\n            );\n        }\n\n        return resources;\n    }\n\n    /**\n     * Loads a resource, by language\n     *\n     * @param resource the definition of the resource\n     * @param lang the resource language to load\n     * @returns Observable<any>\n     */\n    protected loadResource(resource: I18nResourceImpl, lang: string): Observable<TranslationKeys | ResourceError> {\n        // the path to the resource\n        const path = resource.getPath(lang);\n\n        // load the translations from the path\n        return this.http.get(path).pipe(\n            // preprocess the translations using the resource compiler\n            map((translations: unknown) => resource.compileTranslations(translations, lang)),\n            map((translations: TranslationKeys) => {\n                // resource loaded properly, send a info message\n                this.logger?.info(`I18n resource loaded from path ${path}`);\n                // return the translations\n                return translations;\n            }),\n            catchError((err) => {\n                // remove failed resource from loaded resource array\n                // this.removeResources([resource]);\n                // resource not loaded properly, send a warning message\n                this.logger?.warn(`I18n resource NOT loaded from path ${path}`, err);\n                const resourceError: ResourceError = { error: `I18n resource NOT loaded from path ${path}`, resource, isError: true };\n                return of(resourceError);\n            }),\n        );\n    }\n\n    private getResourceCompileFunction(id: string): TranslationsCompiler {\n        const customHandlers = this.euiAppConfig.customHandler;\n        if (customHandlers && typeof customHandlers[id] === 'function') {\n            return customHandlers[id];\n        }\n        return undefined;\n    }\n}\n\nexport const translateConfig = {\n    loader: {\n        provide: TranslateLoader,\n        useClass: I18nLoader,\n    },\n};\n",
            "properties": [
                {
                    "name": "error",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 24
                },
                {
                    "name": "isError",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 23
                },
                {
                    "name": "resource",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "I18nResourceImpl",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 25
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "Schema",
            "id": "interface-Schema-9c5e016857e1416ac7bbb881973e644c0f578a53bd432bb951c1676ac3f2a6631bfe3344860346a081b841217278723e0bb0bf2fa35fb869de67cb0cc8d99849",
            "file": "packages/core/schematics/add-eui-imports/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstElement, TmplAstNode, TmplAstTemplate } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\nimport { SELECTOR_MAP, SelectorEntry, getClassNamesForArray } from './selector-map';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n  useClassArray?: boolean;\n}\n\ninterface ImportToAdd {\n  /** The symbol to add to imports array (class name or array name for spread) */\n  symbol: string;\n  /** Whether this should be spread (...EUI_BUTTON) */\n  isSpread: boolean;\n  /** ES import path */\n  importPath: string;\n}\n\nexport function addEuiImports(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    const useClassArray = options.useClassArray ?? false;\n    let filesUpdated = 0;\n\n    // Index NgModules for standalone:false support\n    const ngModuleIndex = buildNgModuleIndex(tree, tree.getDir(scanPath || '/'));\n\n    visitDir(tree.getDir(scanPath || '/'), (path) => {\n      if (!path.endsWith('.ts') || path.endsWith('.spec.ts')) return;\n\n      const buffer = tree.read(path);\n      if (!buffer) return;\n      const source = buffer.toString('utf-8');\n\n      const sourceFile = ts.createSourceFile(path, source, ts.ScriptTarget.Latest, true);\n      const components = findComponentDecorators(sourceFile);\n      if (components.length === 0) return;\n\n      let modified = false;\n\n      for (const { decorator, className: componentClassName, isNonStandalone } of components) {\n        const templateHtml = getTemplateContent(tree, path, decorator, source);\n        if (!templateHtml) continue;\n\n        const matched = matchSelectorsInTemplate(templateHtml);\n        if (matched.length === 0) continue;\n\n        const importsToAdd = resolveImports(matched, useClassArray);\n        if (importsToAdd.length === 0) continue;\n\n        if (isNonStandalone) {\n          // Find the NgModule that declares this component and add imports there\n          const moduleInfo = findDeclaringModule(ngModuleIndex, componentClassName);\n          if (!moduleInfo) {\n            context.logger.warn(`⚠ Could not find declaring NgModule for ${componentClassName} in ${path}`);\n            continue;\n          }\n          const moduleBuffer = tree.read(moduleInfo.path);\n          if (!moduleBuffer) continue;\n          const moduleSource = moduleBuffer.toString('utf-8');\n          const result = addImportsToFile(moduleSource, moduleInfo.path, moduleInfo.decoratorPos, importsToAdd, useClassArray);\n          if (result !== moduleSource) {\n            if (options.dryRun) {\n              logDryRun(context, `Would add EUI imports to NgModule in ${moduleInfo.path} for component ${componentClassName}`);\n            } else {\n              tree.overwrite(moduleInfo.path, result);\n            }\n            modified = true;\n          }\n        } else {\n          // Standalone component — add imports directly\n          const currentSource = tree.read(path)!.toString('utf-8');\n          const result = addImportsToFile(currentSource, path, decorator.getStart(), importsToAdd, useClassArray);\n          if (result !== currentSource) {\n            if (options.dryRun) {\n              logDryRun(context, `Would add EUI imports to ${path}`);\n            } else {\n              tree.overwrite(path, result);\n            }\n            modified = true;\n          }\n        }\n      }\n\n      if (modified) filesUpdated++;\n    });\n\n    context.logger.info(`add-eui-imports: ${filesUpdated} file(s) updated.`);\n    if (options.dryRun) logDryRunNote(context);\n    return tree;\n  };\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n\n// --- Selector Matching ---\n\nfunction matchSelectorsInTemplate(html: string): SelectorEntry[] {\n  const parsed = parseTemplate(html, '', { preserveWhitespaces: true });\n  if (parsed.errors?.length) return [];\n\n  const matched: SelectorEntry[] = [];\n  visitTemplateNodes(parsed.nodes, matched);\n  return matched;\n}\n\nfunction visitTemplateNodes(nodes: TmplAstNode[], matched: SelectorEntry[]): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      matchElement(node, matched);\n      visitTemplateNodes(node.children, matched);\n    } else if (node instanceof TmplAstTemplate) {\n      visitTemplateNodes(node.children, matched);\n    }\n  }\n}\n\nfunction matchElement(element: TmplAstElement, matched: SelectorEntry[]): void {\n  const tagName = element.name;\n  const attrNames = new Set([\n    ...element.attributes.map(a => a.name),\n    ...element.inputs.map(i => i.name),\n  ]);\n\n  for (const entry of SELECTOR_MAP) {\n    if (entry.element && entry.element !== tagName) continue;\n    if (!entry.element && entry.attributes.length === 0) continue;\n    if (!entry.attributes.every(attr => attrNames.has(attr))) continue;\n    // If no element specified, at least one attribute must match on this element\n    if (!entry.element && entry.attributes.length > 0 && !entry.attributes.some(attr => attrNames.has(attr))) continue;\n    matched.push(entry);\n  }\n}\n\n// --- Import Resolution ---\n\nfunction resolveImports(matched: SelectorEntry[], useClassArray: boolean): ImportToAdd[] {\n  const seen = new Set<string>();\n  const result: ImportToAdd[] = [];\n\n  for (const entry of matched) {\n    if (useClassArray && entry.classArray) {\n      if (seen.has(entry.classArray)) continue;\n      seen.add(entry.classArray);\n      result.push({ symbol: entry.classArray, isSpread: true, importPath: entry.importPath });\n    } else {\n      if (seen.has(entry.className)) continue;\n      seen.add(entry.className);\n      result.push({ symbol: entry.className, isSpread: false, importPath: entry.importPath });\n    }\n  }\n\n  return result;\n}\n\n// --- Template Extraction ---\n\nfunction getTemplateContent(tree: Tree, tsPath: string, decorator: ts.Decorator, source: string): string | null {\n  const call = decorator.expression as ts.CallExpression;\n  if (!call.arguments[0] || !ts.isObjectLiteralExpression(call.arguments[0])) return null;\n  const metadata = call.arguments[0];\n\n  for (const prop of metadata.properties) {\n    if (!ts.isPropertyAssignment(prop) || !ts.isIdentifier(prop.name)) continue;\n    if (prop.name.text === 'template') {\n      const init = prop.initializer;\n      if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) {\n        return init.text;\n      }\n    }\n    if (prop.name.text === 'templateUrl') {\n      if (ts.isStringLiteral(prop.initializer)) {\n        const dir = tsPath.substring(0, tsPath.lastIndexOf('/'));\n        const templateBuffer = tree.read(`${dir}/${prop.initializer.text}`);\n        if (templateBuffer) return templateBuffer.toString('utf-8');\n      }\n    }\n  }\n  return null;\n}\n\n// --- Component Decorator Detection ---\n\ninterface ComponentInfo {\n  decorator: ts.Decorator;\n  className: string;\n  isNonStandalone: boolean;\n}\n\nfunction findComponentDecorators(sourceFile: ts.SourceFile): ComponentInfo[] {\n  const results: ComponentInfo[] = [];\n  const visit = (node: ts.Node): void => {\n    if (ts.isClassDeclaration(node) && node.name) {\n      const decs = ts.getDecorators(node);\n      if (decs) {\n        for (const dec of decs) {\n          if (ts.isCallExpression(dec.expression) && ts.isIdentifier(dec.expression.expression) && dec.expression.expression.text === 'Component') {\n            const isNonStandalone = hasStandaloneFalse(dec);\n            results.push({ decorator: dec, className: node.name.text, isNonStandalone });\n          }\n        }\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n  visit(sourceFile);\n  return results;\n}\n\nfunction hasStandaloneFalse(decorator: ts.Decorator): boolean {\n  const call = decorator.expression as ts.CallExpression;\n  if (!call.arguments[0] || !ts.isObjectLiteralExpression(call.arguments[0])) return false;\n  for (const prop of call.arguments[0].properties) {\n    if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name) && prop.name.text === 'standalone') {\n      return prop.initializer.kind === ts.SyntaxKind.FalseKeyword;\n    }\n  }\n  return false;\n}\n\n// --- NgModule Index ---\n\ninterface NgModuleInfo {\n  path: string;\n  declarations: string[];\n  decoratorPos: number;\n}\n\nfunction buildNgModuleIndex(tree: Tree, dir: DirEntry): NgModuleInfo[] {\n  const modules: NgModuleInfo[] = [];\n\n  visitDir(dir, (path) => {\n    if (!path.endsWith('.ts') || path.endsWith('.spec.ts')) return;\n\n    const buffer = tree.read(path);\n    if (!buffer) return;\n    const source = buffer.toString('utf-8');\n    if (!source.includes('NgModule')) return;\n\n    const sf = ts.createSourceFile(path, source, ts.ScriptTarget.Latest, true);\n    const visit = (node: ts.Node): void => {\n      if (ts.isClassDeclaration(node)) {\n        const decs = ts.getDecorators(node);\n        if (decs) {\n          for (const dec of decs) {\n            if (ts.isCallExpression(dec.expression) && ts.isIdentifier(dec.expression.expression) && dec.expression.expression.text === 'NgModule') {\n              const declarations = extractArrayProperty(dec, 'declarations', source);\n              modules.push({ path, declarations, decoratorPos: dec.getStart() });\n            }\n          }\n        }\n      }\n      ts.forEachChild(node, visit);\n    };\n    visit(sf);\n  });\n\n  return modules;\n}\n\nfunction extractArrayProperty(decorator: ts.Decorator, propName: string, source: string): string[] {\n  const call = decorator.expression as ts.CallExpression;\n  if (!call.arguments[0] || !ts.isObjectLiteralExpression(call.arguments[0])) return [];\n  for (const prop of call.arguments[0].properties) {\n    if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name) && prop.name.text === propName) {\n      if (ts.isArrayLiteralExpression(prop.initializer)) {\n        return prop.initializer.elements\n          .filter(ts.isIdentifier)\n          .map(id => id.text);\n      }\n    }\n  }\n  return [];\n}\n\nfunction findDeclaringModule(modules: NgModuleInfo[], componentClassName: string): NgModuleInfo | undefined {\n  return modules.find(m => m.declarations.includes(componentClassName));\n}\n\n// --- Import Addition ---\n\nfunction addImportsToFile(source: string, filePath: string, decoratorStartHint: number, imports: ImportToAdd[], useClassArray: boolean): string {\n  const sf = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true);\n\n  // Find the imports array in the decorator closest to decoratorStartHint\n  const importsArrayInfo = findDecoratorImportsArray(sf, source, decoratorStartHint);\n  if (!importsArrayInfo) return source;\n\n  const { arrayNode, decoratorType } = importsArrayInfo;\n\n  // Determine what's already in the imports array\n  const existingSymbols = new Set<string>();\n  const existingSpreads = new Set<string>();\n  for (const el of arrayNode.elements) {\n    if (ts.isSpreadElement(el) && ts.isIdentifier(el.expression)) {\n      existingSpreads.add(el.expression.text);\n    } else if (ts.isIdentifier(el)) {\n      existingSymbols.add(el.text);\n    }\n  }\n\n  // Filter out already-present imports and compute what to add/remove\n  const toAdd: ImportToAdd[] = [];\n  const toRemoveFromArray: string[] = []; // individual class names to consolidate\n\n  for (const imp of imports) {\n    if (imp.isSpread) {\n      if (existingSpreads.has(imp.symbol)) continue; // Already has ...EUI_X\n      toAdd.push(imp);\n      // Consolidate: remove individual class names covered by this array\n      if (useClassArray) {\n        const coveredClasses = getClassNamesForArray(imp.symbol);\n        for (const cls of coveredClasses) {\n          if (existingSymbols.has(cls)) toRemoveFromArray.push(cls);\n        }\n      }\n    } else {\n      if (existingSymbols.has(imp.symbol)) continue;\n      // Also skip if a spread already covers this class\n      const coveringArray = imports.find(i => i.isSpread && getClassNamesForArray(i.symbol).includes(imp.symbol));\n      if (coveringArray && (existingSpreads.has(coveringArray.symbol) || toAdd.some(a => a.symbol === coveringArray.symbol))) continue;\n      toAdd.push(imp);\n    }\n  }\n\n  if (toAdd.length === 0 && toRemoveFromArray.length === 0) return source;\n\n  // Build new array content\n  let result = source;\n  result = updateDecoratorImportsArray(result, filePath, arrayNode, toAdd, toRemoveFromArray);\n\n  // Add ES imports\n  result = addEsImports(result, filePath, toAdd);\n\n  // Remove consolidated class names from ES imports\n  if (toRemoveFromArray.length > 0) {\n    result = removeFromEsImports(result, filePath, toRemoveFromArray);\n  }\n\n  return result;\n}\n\ninterface ImportsArrayInfo {\n  arrayNode: ts.ArrayLiteralExpression;\n  decoratorType: 'Component' | 'NgModule';\n}\n\nfunction findDecoratorImportsArray(sf: ts.SourceFile, source: string, decoratorStartHint: number): ImportsArrayInfo | null {\n  let found: ImportsArrayInfo | null = null;\n\n  const visit = (node: ts.Node): void => {\n    if (found) return;\n    if (ts.isClassDeclaration(node)) {\n      const decs = ts.getDecorators(node);\n      if (!decs) return;\n      for (const dec of decs) {\n        if (!ts.isCallExpression(dec.expression)) continue;\n        if (!ts.isIdentifier(dec.expression.expression)) continue;\n        const decName = dec.expression.expression.text;\n        if (decName !== 'Component' && decName !== 'NgModule') continue;\n        if (Math.abs(dec.getStart() - decoratorStartHint) > 5) continue; // Match by position\n\n        const metadata = dec.expression.arguments[0];\n        if (!ts.isObjectLiteralExpression(metadata)) continue;\n\n        for (const prop of metadata.properties) {\n          if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name) && prop.name.text === 'imports') {\n            if (ts.isArrayLiteralExpression(prop.initializer)) {\n              found = { arrayNode: prop.initializer, decoratorType: decName as 'Component' | 'NgModule' };\n              return;\n            }\n          }\n        }\n\n        // No imports array found — create one\n        if (!found && decName === 'Component') {\n          // We need to add `imports: []` to the decorator\n          // Insert after the last property\n          const lastProp = metadata.properties[metadata.properties.length - 1];\n          if (lastProp) {\n            const insertPos = lastProp.getEnd();\n            const indent = detectIndent(source, metadata.getStart());\n            const insertion = `,\\n${indent}  imports: []`;\n            const newSource = source.slice(0, insertPos) + insertion + source.slice(insertPos);\n            // Re-parse to get the array node\n            const newSf = ts.createSourceFile('', newSource, ts.ScriptTarget.Latest, true);\n            const newArray = findImportsArrayInSource(newSf);\n            if (newArray) {\n              // We can't return a node from a different source file in the general case.\n              // Instead, we'll handle the \"no imports array\" case by adding it inline.\n              found = null; // Will be handled separately\n            }\n          }\n        }\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n  visit(sf);\n  return found;\n}\n\nfunction findImportsArrayInSource(sf: ts.SourceFile): ts.ArrayLiteralExpression | null {\n  let found: ts.ArrayLiteralExpression | null = null;\n  const visit = (node: ts.Node): void => {\n    if (found) return;\n    if (ts.isPropertyAssignment(node) && ts.isIdentifier(node.name) && node.name.text === 'imports' && ts.isArrayLiteralExpression(node.initializer)) {\n      found = node.initializer;\n    }\n    ts.forEachChild(node, visit);\n  };\n  visit(sf);\n  return found;\n}\n\nfunction updateDecoratorImportsArray(source: string, filePath: string, arrayNode: ts.ArrayLiteralExpression, toAdd: ImportToAdd[], toRemove: string[]): string {\n  const sf = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true);\n\n  // Rebuild the array content\n  const existingElements: string[] = [];\n  for (const el of arrayNode.elements) {\n    const text = source.slice(el.getStart(sf), el.getEnd()).trim();\n    // Check if this element should be removed (consolidation)\n    if (ts.isIdentifier(el) && toRemove.includes(el.text)) continue;\n    existingElements.push(text);\n  }\n\n  // Add new entries\n  for (const imp of toAdd) {\n    const entry = imp.isSpread ? `...${imp.symbol}` : imp.symbol;\n    if (!existingElements.includes(entry)) {\n      existingElements.push(entry);\n    }\n  }\n\n  // Determine formatting\n  const arrayStart = arrayNode.getStart(sf);\n  const arrayEnd = arrayNode.getEnd();\n  const originalText = source.slice(arrayStart, arrayEnd);\n  const isMultiline = originalText.includes('\\n');\n\n  let newArrayText: string;\n  if (isMultiline || existingElements.length > 3) {\n    const indent = detectIndent(source, arrayStart);\n    const itemIndent = indent + '  ';\n    newArrayText = `[\\n${existingElements.map(e => `${itemIndent}${e},`).join('\\n')}\\n${indent}]`;\n  } else {\n    newArrayText = `[${existingElements.join(', ')}]`;\n  }\n\n  return source.slice(0, arrayStart) + newArrayText + source.slice(arrayEnd);\n}\n\nfunction addEsImports(source: string, filePath: string, imports: ImportToAdd[]): string {\n  let result = source;\n\n  // Group by import path\n  const byPath = new Map<string, string[]>();\n  for (const imp of imports) {\n    const existing = byPath.get(imp.importPath) || [];\n    existing.push(imp.symbol);\n    byPath.set(imp.importPath, existing);\n  }\n\n  for (const [importPath, symbols] of byPath) {\n    const sf = ts.createSourceFile(filePath, result, ts.ScriptTarget.Latest, true);\n\n    // Check if there's already an import from this path\n    const existingImport = sf.statements.find(\n      (s): s is ts.ImportDeclaration =>\n        ts.isImportDeclaration(s) && ts.isStringLiteral(s.moduleSpecifier) && s.moduleSpecifier.text === importPath,\n    );\n\n    if (existingImport?.importClause?.namedBindings && ts.isNamedImports(existingImport.importClause.namedBindings)) {\n      // Extend existing import\n      const namedBindings = existingImport.importClause.namedBindings;\n      const existingNames = namedBindings.elements.map(el => el.name.text);\n      const newNames = symbols.filter(s => !existingNames.includes(s));\n      if (newNames.length === 0) continue;\n\n      const allNames = [...existingNames, ...newNames].sort();\n      const newClause = `{ ${allNames.join(', ')} }`;\n      result = result.slice(0, namedBindings.getStart(sf)) + newClause + result.slice(namedBindings.getEnd());\n    } else {\n      // Add new import statement\n      const sortedSymbols = [...symbols].sort();\n      const newImport = `import { ${sortedSymbols.join(', ')} } from '${importPath}';\\n`;\n\n      // Insert after the last existing import\n      const lastImport = [...sf.statements].reverse().find(ts.isImportDeclaration);\n      if (lastImport) {\n        const pos = lastImport.getEnd();\n        result = result.slice(0, pos) + '\\n' + newImport.trimEnd() + result.slice(pos);\n      } else {\n        result = newImport + result;\n      }\n    }\n  }\n\n  return result;\n}\n\nfunction detectIndent(source: string, pos: number): string {\n  const lineStart = source.lastIndexOf('\\n', pos - 1) + 1;\n  const match = source.slice(lineStart, pos).match(/^(\\s*)/);\n  return match ? match[1] : '';\n}\n\nfunction removeFromEsImports(source: string, filePath: string, symbolsToRemove: string[]): string {\n  let result = source;\n  const sf = ts.createSourceFile(filePath, result, ts.ScriptTarget.Latest, true);\n\n  for (const stmt of sf.statements) {\n    if (!ts.isImportDeclaration(stmt) || !stmt.importClause?.namedBindings || !ts.isNamedImports(stmt.importClause.namedBindings)) continue;\n    const namedBindings = stmt.importClause.namedBindings;\n    const existingNames = namedBindings.elements.map(el => el.name.text);\n    const remaining = existingNames.filter(n => !symbolsToRemove.includes(n));\n\n    if (remaining.length === existingNames.length) continue; // Nothing to remove from this import\n\n    if (remaining.length === 0) {\n      // Remove the entire import statement\n      result = result.slice(0, stmt.getStart(sf)) + result.slice(stmt.getEnd()).replace(/^\\r?\\n/, '');\n    } else {\n      const newClause = `{ ${remaining.join(', ')} }`;\n      result = result.slice(0, namedBindings.getStart(sf)) + newClause + result.slice(namedBindings.getEnd());\n    }\n    break; // Only process the first matching import for the consolidated symbols\n  }\n\n  return result;\n}\n",
            "properties": [
                {
                    "name": "dryRun",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 9
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "useClassArray",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 10
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "Schema",
            "id": "interface-Schema-4fe31ff3e9f1d34845a6b865d605e215f33552094b88c3d0eab0b180187fe64ce4d68d687516cb3d62c57d2678a103969b2dacbb18a49b26060f78096678fcce-1",
            "file": "packages/core/schematics/fix-no-multiple-empty-lines/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\nconst MULTIPLE_EMPTY_LINES = /\\n{3,}/g;\n\nexport function fixNoMultipleEmptyLines(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    let count = 0;\n\n    const dir = tree.getDir(scanPath || '/');\n    visitDir(dir, (filePath) => {\n      const buffer = tree.read(filePath);\n      if (!buffer) return;\n\n      const original = buffer.toString('utf-8');\n      const result = original.replace(MULTIPLE_EMPTY_LINES, '\\n\\n');\n\n      if (result !== original) {\n        if (filePath.endsWith('.ts')) {\n          const sourceFile = ts.createSourceFile(filePath, result, ts.ScriptTarget.Latest, true);\n          // eslint-disable-next-line @typescript-eslint/no-explicit-any\n          if ((sourceFile as any).parseDiagnostics?.length) {\n            context.logger.warn(`Skipping ${filePath}: file would not parse after transformation.`);\n            return;\n          }\n        }\n        if (options.dryRun) {\n          logDryRun(context, `Would collapse multiple empty lines in ${filePath}`);\n        } else {\n          tree.overwrite(filePath, result);\n        }\n        count++;\n      }\n    });\n\n    context.logger.info(`Fixed multiple empty lines in ${count} file(s).`);\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n    return tree;\n  };\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.ts') && !file.endsWith('.html') && !file.endsWith('.scss') && !file.endsWith('.css')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n",
            "properties": [
                {
                    "name": "dryRun",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 7
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 6
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [],
            "isDuplicate": true,
            "duplicateId": 1,
            "duplicateName": "Schema-1"
        },
        {
            "name": "Schema",
            "id": "interface-Schema-5cd6db1920bd5b70a44c0b8a7f7e30f600bfd16a9950f218e6d451a1755ced95b462ef9a62ee87e39bcb8c392981b8d2597895bf0a272fd8aea71f03429ed976-2",
            "file": "packages/core/schematics/icon-migrate/schema.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface Schema {\n  /** The path to scan for files to migrate */\n  path?: string;\n  /** Whether to perform a dry run without making changes */\n  dryRun?: boolean;\n}\n",
            "properties": [
                {
                    "name": "dryRun",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>Whether to perform a dry run without making changes</p>\n",
                    "line": 5,
                    "rawdescription": "\nWhether to perform a dry run without making changes"
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>The path to scan for files to migrate</p>\n",
                    "line": 3,
                    "rawdescription": "\nThe path to scan for files to migrate"
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [],
            "isDuplicate": true,
            "duplicateId": 2,
            "duplicateName": "Schema-2"
        },
        {
            "name": "Schema",
            "id": "interface-Schema-56b9fe60701ca349dc90e152829b0a18bb7a8a9bb303c4bac05f9764cd2e933cce0879775ca17168b4c881e202d0258af3668a2a3a1b940e561f7e4b2349b5cc-3",
            "file": "packages/core/schematics/migrate/schema.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface Schema {\n  /** The path to scan for files to migrate */\n  path?: string;\n  /** Whether to apply MyWorkplace-specific replacements */\n  mwp?: boolean;\n  /** Whether to perform a dry run without making changes */\n  dryRun?: boolean;\n}\n",
            "properties": [
                {
                    "name": "dryRun",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>Whether to perform a dry run without making changes</p>\n",
                    "line": 7,
                    "rawdescription": "\nWhether to perform a dry run without making changes"
                },
                {
                    "name": "mwp",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>Whether to apply MyWorkplace-specific replacements</p>\n",
                    "line": 5,
                    "rawdescription": "\nWhether to apply MyWorkplace-specific replacements"
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>The path to scan for files to migrate</p>\n",
                    "line": 3,
                    "rawdescription": "\nThe path to scan for files to migrate"
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [],
            "isDuplicate": true,
            "duplicateId": 3,
            "duplicateName": "Schema-3"
        },
        {
            "name": "Schema",
            "id": "interface-Schema-e96d29c1785a16147de773cebe7ab5d4ed82aa23c6b1f7737113252a14d156e236f46f7a16340432dec900b664c8005be0aef5d0a628c2f5b8dd2ec7e41edf56-4",
            "file": "packages/core/schematics/migrate-eui-accent/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstElement, TmplAstNode } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\nconst OLD_NAME = 'euiAccent';\nconst NEW_NAME = 'euiPrimary';\nconst EUI_DIRECTIVES = ['euiButton', 'euiList', 'euiListItem'];\n\nexport function migrateEuiAccent(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    let count = 0;\n\n    const dir = tree.getDir(scanPath || '/');\n    visitDir(dir, (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) return;\n\n      const original = buffer.toString('utf-8');\n      if (!original.includes(OLD_NAME)) return;\n\n      let result: string;\n\n      if (path.endsWith('.html')) {\n        result = migrateTemplate(original);\n      } else {\n        result = migrateInlineTemplates(original);\n        result = renameTsPropertyAccesses(result);\n      }\n\n      if (result !== original) {\n        if (options.dryRun) {\n          logDryRun(context, `Would replace '${OLD_NAME}' → '${NEW_NAME}' in ${path}`);\n        } else {\n          tree.overwrite(path, result);\n        }\n        count++;\n      }\n    });\n\n    context.logger.info(`Renamed '${OLD_NAME}' → '${NEW_NAME}' on EUI components in ${count} file(s).`);\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n    return tree;\n  };\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n\nfunction isEuiElement(element: TmplAstElement): boolean {\n  if (element.name.startsWith('eui-')) return true;\n  return element.attributes.some((a) => EUI_DIRECTIVES.includes(a.name)) ||\n    element.inputs.some((i) => EUI_DIRECTIVES.includes(i.name));\n}\n\nfunction migrateTemplate(source: string): string {\n  const parsed = parseTemplate(source, '', { preserveWhitespaces: true });\n  const edits: { start: number; end: number; replacement: string }[] = [];\n\n  visitNodes(parsed.nodes, edits);\n\n  return applyEdits(source, edits);\n}\n\nfunction migrateInlineTemplates(source: string): string {\n  const sourceFile = ts.createSourceFile('', source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const changes: { start: number; end: number; text: string }[] = [];\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAssignment(node) && isTemplateProperty(node) && isComponentMetadataProperty(node)) {\n      const init = unwrapExpression(node.initializer);\n      if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) {\n        const start = init.getStart(sourceFile) + 1;\n        const end = init.getEnd() - 1;\n        const rawTemplate = source.slice(start, end);\n        if (!rawTemplate.includes(OLD_NAME)) {\n ts.forEachChild(node, visit); return; \n}\n        const migrated = migrateTemplate(rawTemplate);\n        if (migrated !== rawTemplate) changes.push({ start, end, text: migrated });\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n\n  let result = source;\n  for (const change of changes.sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, change.start) + change.text + result.slice(change.end);\n  }\n  return result;\n}\n\nfunction renameTsPropertyAccesses(source: string): string {\n  const sourceFile = ts.createSourceFile('', source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const edits: { start: number; end: number; replacement: string }[] = [];\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAccessExpression(node) && ts.isIdentifier(node.name) && node.name.text === OLD_NAME) {\n      edits.push({ start: node.name.getStart(sourceFile), end: node.name.getEnd(), replacement: NEW_NAME });\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n\n  return applyEdits(source, edits);\n}\n\nfunction isTemplateProperty(node: ts.PropertyAssignment): boolean {\n  const name = node.name;\n  return (ts.isIdentifier(name) && name.text === 'template') || (ts.isStringLiteral(name) && name.text === 'template');\n}\n\nfunction isComponentMetadataProperty(node: ts.PropertyAssignment): boolean {\n  const objectLiteral = node.parent;\n  if (!ts.isObjectLiteralExpression(objectLiteral)) return false;\n  const callExpression = objectLiteral.parent;\n  if (!ts.isCallExpression(callExpression) || callExpression.arguments[0] !== objectLiteral) return false;\n  return ts.isDecorator(callExpression.parent) && ts.isIdentifier(callExpression.expression) && callExpression.expression.text === 'Component';\n}\n\nfunction unwrapExpression(expression: ts.Expression): ts.Expression {\n  let current = expression;\n  while (ts.isParenthesizedExpression(current)) current = current.expression;\n  return current;\n}\n\nfunction visitNodes(nodes: TmplAstNode[], edits: { start: number; end: number; replacement: string }[]): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      if (isEuiElement(node)) collectRenames(node, edits);\n      visitNodes(node.children, edits);\n    }\n  }\n}\n\nfunction collectRenames(element: TmplAstElement, edits: { start: number; end: number; replacement: string }[]): void {\n  for (const attr of element.attributes) {\n    if (attr.name === OLD_NAME) {\n      edits.push({ start: attr.keySpan!.start.offset, end: attr.keySpan!.end.offset, replacement: NEW_NAME });\n    }\n  }\n  for (const input of element.inputs) {\n    if (input.name === OLD_NAME) {\n      edits.push({ start: input.keySpan!.start.offset, end: input.keySpan!.end.offset, replacement: NEW_NAME });\n    }\n  }\n}\n\nfunction applyEdits(source: string, edits: { start: number; end: number; replacement: string }[]): string {\n  let result = source;\n  for (const edit of edits.sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, edit.start) + edit.replacement + result.slice(edit.end);\n  }\n  return result;\n}\n",
            "properties": [
                {
                    "name": "dryRun",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 7
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [],
            "isDuplicate": true,
            "duplicateId": 4,
            "duplicateName": "Schema-4"
        },
        {
            "name": "Schema",
            "id": "interface-Schema-585b211d989563bbec5bd67bcdb58d5f264396adbe0ed2e51d0b4a0ecaf8b3ec36d821647c170d616bb409fc603c5a4c0e699eb7511e02c6add8d8670fc9cb9f-5",
            "file": "packages/core/schematics/migrate-eui-alert/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstBoundAttribute, TmplAstElement, TmplAstNode, TmplAstTextAttribute } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\nconst REMOVED_INPUTS = new Set(['alertIconType', 'alertIconFillColor', 'isMuted', 'isBordered']);\n\nexport function migrateEuiAlert(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    let count = 0;\n\n    const dir = tree.getDir(scanPath || '/');\n    visitDir(dir, (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) return;\n\n      const original = buffer.toString('utf-8');\n      if (!original.includes('eui-alert') && !original.includes('euiAlert')) return;\n\n      const result = path.endsWith('.html')\n        ? migrateTemplate(original)\n        : migrateInlineTemplates(original);\n\n      if (result !== original) {\n        if (options.dryRun) {\n          logDryRun(context, `Would remove deprecated inputs in ${path}`);\n        } else {\n          tree.overwrite(path, result);\n        }\n        count++;\n      }\n\n      // Warn about TS property access usages\n      if (path.endsWith('.ts') && !path.endsWith('.spec.ts')) {\n        if (![...REMOVED_INPUTS].some((input) => original.includes(input))) return;\n\n        const sourceFile = ts.createSourceFile(path, original, ts.ScriptTarget.Latest, true);\n\n        const visit = (node: ts.Node): void => {\n          if (ts.isPropertyAccessExpression(node) && ts.isIdentifier(node.name) && REMOVED_INPUTS.has(node.name.text)) {\n            const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());\n            context.logger.warn(\n              `${path}:${line + 1} - Manual action needed: \"${node.name.text}\" is no longer a valid input on eui-alert. Remove this assignment.`,\n            );\n          }\n          ts.forEachChild(node, visit);\n        };\n\n        visit(sourceFile);\n      }\n    });\n\n    context.logger.info(`Removed deprecated eui-alert inputs from ${count} file(s).`);\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n    return tree;\n  };\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n\nfunction migrateTemplate(source: string): string {\n  const parsed = parseTemplate(source, '', { preserveWhitespaces: true });\n  const removals: { start: number; end: number }[] = [];\n\n  visitNodes(parsed.nodes, removals);\n\n  // Apply removals in reverse order\n  let result = source;\n  for (const { start, end } of removals.sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, start) + result.slice(end);\n  }\n\n  return result;\n}\n\nfunction migrateInlineTemplates(source: string): string {\n  // Simple approach: find template strings containing eui-alert and process them\n  const templateRegex = /template\\s*:\\s*`([^`]*)`/gs;\n  return source.replace(templateRegex, (match, templateContent: string) => {\n    if (!templateContent.includes('eui-alert') && !templateContent.includes('euiAlert')) return match;\n    const migrated = migrateTemplate(templateContent);\n    if (migrated === templateContent) return match;\n    return match.replace(templateContent, migrated);\n  });\n}\n\nfunction visitNodes(nodes: TmplAstNode[], removals: { start: number; end: number }[]): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      if (node.name === 'eui-alert' || hasAttribute(node, 'euiAlert')) {\n        collectRemovals(node, removals);\n      }\n      visitNodes(node.children, removals);\n    }\n  }\n}\n\nfunction hasAttribute(element: TmplAstElement, name: string): boolean {\n  return element.attributes.some((a) => a.name === name);\n}\n\nfunction collectRemovals(element: TmplAstElement, removals: { start: number; end: number }[]): void {\n  for (const attr of element.attributes) {\n    if (REMOVED_INPUTS.has(attr.name)) {\n      removals.push(getAttributeSpan(attr));\n    }\n  }\n  for (const input of element.inputs) {\n    if (REMOVED_INPUTS.has(input.name)) {\n      removals.push(getAttributeSpan(input));\n    }\n  }\n}\n\nfunction getAttributeSpan(attr: TmplAstTextAttribute | TmplAstBoundAttribute): { start: number; end: number } {\n  return { start: attr.sourceSpan.start.offset, end: attr.sourceSpan.end.offset };\n}\n",
            "properties": [
                {
                    "name": "dryRun",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 7
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [],
            "isDuplicate": true,
            "duplicateId": 5,
            "duplicateName": "Schema-5"
        },
        {
            "name": "Schema",
            "id": "interface-Schema-c7e2cc0add09c97d83ec2675d59c86951681f8e2d49f133fb2f216ca98d0da1fdf892d45af31f19ecbbfd0d32f4ad70dd99e862f75725d3812f66a73ec34362c-6",
            "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstBoundAttribute, TmplAstElement, TmplAstNode, TmplAstTextAttribute } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\nconst REMOVED_INPUTS = new Set(['isFlat']);\n\nexport function migrateEuiAvatar(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    let count = 0;\n\n    const dir = tree.getDir(scanPath || '/');\n    visitDir(dir, (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) return;\n\n      const original = buffer.toString('utf-8');\n      if (!original.includes('eui-avatar') && !original.includes('euiAvatar')) return;\n\n      const result = path.endsWith('.html')\n        ? migrateTemplate(original)\n        : migrateInlineTemplates(original);\n\n      if (result !== original) {\n        if (options.dryRun) {\n          logDryRun(context, `Would remove 'isFlat' input in ${path}`);\n        } else {\n          tree.overwrite(path, result);\n        }\n        count++;\n      }\n\n      // Warn about TS property access usages\n      if (path.endsWith('.ts') && !path.endsWith('.spec.ts')) {\n        if (!original.includes('isFlat')) return;\n\n        const sourceFile = ts.createSourceFile(path, original, ts.ScriptTarget.Latest, true);\n\n        const visit = (node: ts.Node): void => {\n          if (ts.isPropertyAccessExpression(node) && ts.isIdentifier(node.name) && node.name.text === 'isFlat') {\n            const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());\n            context.logger.warn(`${path}:${line + 1} - \"isFlat\" is no longer a valid input on eui-avatar. Remove this assignment.`);\n          }\n          ts.forEachChild(node, visit);\n        };\n\n        visit(sourceFile);\n      }\n    });\n\n    context.logger.info(`Removed deprecated eui-avatar 'isFlat' input from ${count} file(s).`);\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n    return tree;\n  };\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n\nfunction migrateTemplate(source: string): string {\n  const parsed = parseTemplate(source, '', { preserveWhitespaces: true });\n  const removals: { start: number; end: number }[] = [];\n\n  visitNodes(parsed.nodes, removals);\n\n  let result = source;\n  for (const { start, end } of removals.sort((a, b) => b.start - a.start)) {\n    let adjustedStart = start;\n    while (adjustedStart > 0 && (result[adjustedStart - 1] === ' ' || result[adjustedStart - 1] === '\\t')) {\n      adjustedStart--;\n    }\n    result = result.slice(0, adjustedStart) + result.slice(end);\n  }\n\n  return result;\n}\n\nfunction migrateInlineTemplates(source: string): string {\n  const templateRegex = /template\\s*:\\s*`([^`]*)`/gs;\n  return source.replace(templateRegex, (match, templateContent: string) => {\n    if (!templateContent.includes('eui-avatar') && !templateContent.includes('euiAvatar')) return match;\n    const migrated = migrateTemplate(templateContent);\n    if (migrated === templateContent) return match;\n    return match.replace(templateContent, migrated);\n  });\n}\n\nfunction isAvatarElement(element: TmplAstElement): boolean {\n  if (element.name === 'eui-avatar') return true;\n  return element.attributes.some((a) => a.name === 'euiAvatar');\n}\n\nfunction visitNodes(nodes: TmplAstNode[], removals: { start: number; end: number }[]): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      if (isAvatarElement(node)) collectRemovals(node, removals);\n      visitNodes(node.children, removals);\n    }\n  }\n}\n\nfunction collectRemovals(element: TmplAstElement, removals: { start: number; end: number }[]): void {\n  for (const attr of element.attributes) {\n    if (REMOVED_INPUTS.has(attr.name)) {\n      removals.push(getAttributeSpan(attr));\n    }\n  }\n  for (const input of element.inputs) {\n    if (REMOVED_INPUTS.has(input.name)) {\n      removals.push(getAttributeSpan(input));\n    }\n  }\n}\n\nfunction getAttributeSpan(attr: TmplAstTextAttribute | TmplAstBoundAttribute): { start: number; end: number } {\n  return { start: attr.sourceSpan.start.offset, end: attr.sourceSpan.end.offset };\n}\n",
            "properties": [
                {
                    "name": "dryRun",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 7
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [],
            "isDuplicate": true,
            "duplicateId": 6,
            "duplicateName": "Schema-6"
        },
        {
            "name": "Schema",
            "id": "interface-Schema-c0c08f5e83da9afa13ce8375f982fb280b9bde854e00c914f41b04d44deecd531496c2cee264b50314e92a6260c26cebe35741a2cf5ec068d8b6da5c5267539e-7",
            "file": "packages/core/schematics/migrate-eui-button/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstElement, TmplAstNode } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\nconst OLD_NAME = 'euiButtonCall';\nconst NEW_NAME = 'euiCTAButton';\n\nexport function migrateEuiButton(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    let count = 0;\n\n    const dir = tree.getDir(scanPath || '/');\n    visitDir(dir, (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) return;\n\n      const original = buffer.toString('utf-8');\n      if (!original.includes(OLD_NAME)) return;\n\n      let result: string;\n\n      if (path.endsWith('.html')) {\n        result = migrateTemplate(original);\n      } else {\n        result = migrateInlineTemplates(original);\n      }\n\n      if (result !== original) {\n        if (options.dryRun) {\n          logDryRun(context, `Would rename '${OLD_NAME}' → '${NEW_NAME}' in ${path}`);\n        } else {\n          tree.overwrite(path, result);\n        }\n        count++;\n      }\n\n      // Warn about TS property access usages\n      if (path.endsWith('.ts') && !path.endsWith('.spec.ts')) {\n        if (!original.includes(OLD_NAME)) return;\n\n        const sourceFile = ts.createSourceFile(path, original, ts.ScriptTarget.Latest, true);\n\n        const visit = (node: ts.Node): void => {\n          if (ts.isPropertyAccessExpression(node) && ts.isIdentifier(node.name) && node.name.text === OLD_NAME) {\n            const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());\n            context.logger.warn(`${path}:${line + 1} - \"${OLD_NAME}\" has been renamed to \"${NEW_NAME}\". Update this reference manually.`);\n          }\n          ts.forEachChild(node, visit);\n        };\n\n        visit(sourceFile);\n      }\n    });\n\n    context.logger.info(`Renamed '${OLD_NAME}' → '${NEW_NAME}' on elements with euiButton in ${count} file(s).`);\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n    return tree;\n  };\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n\nfunction migrateTemplate(source: string): string {\n  const parsed = parseTemplate(source, '', { preserveWhitespaces: true });\n  const edits: { start: number; end: number; replacement: string }[] = [];\n\n  visitNodes(parsed.nodes, edits);\n\n  return applyEdits(source, edits);\n}\n\nfunction migrateInlineTemplates(source: string): string {\n  const sourceFile = ts.createSourceFile('', source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const changes: { start: number; end: number; text: string }[] = [];\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAssignment(node) && isTemplateProperty(node) && isComponentMetadataProperty(node)) {\n      const init = unwrapExpression(node.initializer);\n      if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) {\n        const start = init.getStart(sourceFile) + 1;\n        const end = init.getEnd() - 1;\n        const rawTemplate = source.slice(start, end);\n        if (!rawTemplate.includes(OLD_NAME)) {\n ts.forEachChild(node, visit); return; \n}\n        const migrated = migrateTemplate(rawTemplate);\n        if (migrated !== rawTemplate) changes.push({ start, end, text: migrated });\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n\n  let result = source;\n  for (const change of changes.sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, change.start) + change.text + result.slice(change.end);\n  }\n  return result;\n}\n\nfunction isTemplateProperty(node: ts.PropertyAssignment): boolean {\n  const name = node.name;\n  return (ts.isIdentifier(name) && name.text === 'template') || (ts.isStringLiteral(name) && name.text === 'template');\n}\n\nfunction isComponentMetadataProperty(node: ts.PropertyAssignment): boolean {\n  const objectLiteral = node.parent;\n  if (!ts.isObjectLiteralExpression(objectLiteral)) return false;\n  const callExpression = objectLiteral.parent;\n  if (!ts.isCallExpression(callExpression) || callExpression.arguments[0] !== objectLiteral) return false;\n  return ts.isDecorator(callExpression.parent) && ts.isIdentifier(callExpression.expression) && callExpression.expression.text === 'Component';\n}\n\nfunction unwrapExpression(expression: ts.Expression): ts.Expression {\n  let current = expression;\n  while (ts.isParenthesizedExpression(current)) current = current.expression;\n  return current;\n}\n\nfunction hasEuiButtonAttribute(element: TmplAstElement): boolean {\n  return element.attributes.some((a) => a.name === 'euiButton') ||\n    element.inputs.some((i) => i.name === 'euiButton');\n}\n\nfunction visitNodes(nodes: TmplAstNode[], edits: { start: number; end: number; replacement: string }[]): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      if (hasEuiButtonAttribute(node)) collectRenames(node, edits);\n      visitNodes(node.children, edits);\n    }\n  }\n}\n\nfunction collectRenames(element: TmplAstElement, edits: { start: number; end: number; replacement: string }[]): void {\n  for (const attr of element.attributes) {\n    if (attr.name === OLD_NAME) {\n      edits.push({ start: attr.keySpan!.start.offset, end: attr.keySpan!.end.offset, replacement: NEW_NAME });\n    }\n  }\n  for (const input of element.inputs) {\n    if (input.name === OLD_NAME) {\n      edits.push({ start: input.keySpan!.start.offset, end: input.keySpan!.end.offset, replacement: NEW_NAME });\n    }\n  }\n}\n\nfunction applyEdits(source: string, edits: { start: number; end: number; replacement: string }[]): string {\n  let result = source;\n  for (const edit of edits.sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, edit.start) + edit.replacement + result.slice(edit.end);\n  }\n  return result;\n}\n",
            "properties": [
                {
                    "name": "dryRun",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 7
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [],
            "isDuplicate": true,
            "duplicateId": 7,
            "duplicateName": "Schema-7"
        },
        {
            "name": "Schema",
            "id": "interface-Schema-311bef7d5e4b40b356b0fdb5e35dd89e48a5c5beec29eeb865c22c2ca1c4c4fb1fd0bb4391ed0b33825a6d1d744bc3a2e9822b347fbc686a537e15b170c279dd-8",
            "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstBoundAttribute, TmplAstBoundEvent, TmplAstElement, TmplAstNode, TmplAstTextAttribute } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\nconst CHIP_LIST_TAG = 'eui-chip-list';\nconst CHIP_LIST_ATTR = 'euiChipList';\nconst CHIP_TAG = 'eui-chip';\nconst CHIP_ATTR = 'euiChip';\n\nconst PROPAGATED_INPUTS = new Set([\n  'euiPrimary', 'euiSecondary', 'euiSuccess', 'euiInfo', 'euiWarning',\n  'euiDanger', 'euiAccent', 'euiVariant', 'euiSizeS', 'euiSizeVariant',\n  'euiOutline', 'euiDisabled',\n]);\n\nconst WARN_PROPERTIES = new Set([...PROPAGATED_INPUTS, 'chipRemove', 'isChipsRemovable', 'chipsLabelTruncateCount',\n  'maxVisibleChipsCount', 'isMaxVisibleChipsOpened', 'toggleLinkMoreLabel', 'toggleLinkLessLabel',\n  'isChipsSorted', 'chipsSortOrder']);\n\nconst REMOVED_INPUTS = new Set(['maxVisibleChipsCount', 'isMaxVisibleChipsOpened', 'toggleLinkMoreLabel', 'toggleLinkLessLabel', 'isChipsSorted', 'chipsSortOrder']);\n\nconst TRUNCATE_PIPE_IMPORT = 'EuiTruncatePipe';\nconst TRUNCATE_PIPE_PATH = '@eui/components/pipes';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\ninterface Edit {\n  start: number;\n  end: number;\n  replacement: string;\n}\n\nexport function migrateEuiChipList(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    let count = 0;\n    const filesNeedingTruncateImport = new Set<string>();\n\n    visitDir(tree.getDir(scanPath || '/'), (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) return;\n\n      const original = buffer.toString('utf-8');\n      if (!original.includes(CHIP_LIST_TAG) && !original.includes(CHIP_LIST_ATTR)) return;\n\n      let result: string;\n      let addedTruncate = false;\n\n      if (path.endsWith('.html')) {\n        result = migrateTemplate(original);\n        if (result !== original && result.includes('euiTruncate') && !original.includes('euiTruncate')) {\n          // Find the associated .ts file\n          const tsPath = path.replace(/\\.html$/, '.ts');\n          if (tree.exists(tsPath)) {\n            filesNeedingTruncateImport.add(tsPath);\n          } else {\n            // Try component naming convention\n            const componentTsPath = path.replace(/\\.html$/, '.component.ts');\n            if (tree.exists(componentTsPath)) {\n              filesNeedingTruncateImport.add(componentTsPath);\n            }\n          }\n        }\n      } else {\n        result = migrateInlineTemplates(original);\n        if (result !== original && result.includes('euiTruncate') && !original.includes('euiTruncate')) {\n          addedTruncate = true;\n        }\n      }\n\n      if (result !== original) {\n        if (options.dryRun) {\n          logDryRun(context, `Would move variant/size/outline inputs to child eui-chip in ${path}`);\n        } else {\n          tree.overwrite(path, result);\n        }\n        count++;\n      }\n\n      if (addedTruncate) {\n        filesNeedingTruncateImport.add(path);\n      }\n\n      // Warn about TS usages of removed properties\n      if (path.endsWith('.ts') && !path.endsWith('.spec.ts')) {\n        if ([...WARN_PROPERTIES].some((p) => original.includes(p))) {\n          const sourceFile = ts.createSourceFile(path, original, ts.ScriptTarget.Latest, true);\n\n          const visit = (node: ts.Node): void => {\n            if (ts.isPropertyAccessExpression(node) && ts.isIdentifier(node.name) && WARN_PROPERTIES.has(node.name.text)) {\n              const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());\n              context.logger.warn(\n                `${path}:${line + 1} - \"${node.name.text}\" has been removed from eui-chip-list. Move it to individual eui-chip elements.`,\n              );\n            }\n            ts.forEachChild(node, visit);\n          };\n\n          visit(sourceFile);\n        }\n      }\n    });\n\n    // Add EuiTruncatePipe import to component files that need it\n    for (const tsPath of filesNeedingTruncateImport) {\n      const buffer = tree.read(tsPath);\n      if (!buffer) continue;\n      const source = buffer.toString('utf-8');\n      if (source.includes(TRUNCATE_PIPE_IMPORT)) continue;\n      const result = addTruncatePipeImport(source, tsPath);\n      if (result !== source) {\n        if (!options.dryRun) {\n          tree.overwrite(tsPath, result);\n        }\n      }\n    }\n\n    context.logger.info(`Migrated eui-chip-list inputs/outputs to child eui-chip in ${count} file(s).`);\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n    return tree;\n  };\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n\nfunction addTruncatePipeImport(source: string, filePath: string): string {\n  const sourceFile = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true);\n  const edits: Edit[] = [];\n\n  // 1. Add ES import statement for EuiTruncatePipe\n  let hasEsImport = false;\n  let lastImportEnd = 0;\n\n  for (const stmt of sourceFile.statements) {\n    if (ts.isImportDeclaration(stmt)) {\n      lastImportEnd = stmt.getEnd();\n      const moduleSpec = (stmt.moduleSpecifier as ts.StringLiteral).text;\n      if (moduleSpec === TRUNCATE_PIPE_PATH) {\n        const namedBindings = stmt.importClause?.namedBindings;\n        if (namedBindings && ts.isNamedImports(namedBindings)) {\n          if (namedBindings.elements.some((el) => el.name.text === TRUNCATE_PIPE_IMPORT)) {\n            hasEsImport = true;\n          } else {\n            // Add to existing import from same path\n            const lastEl = namedBindings.elements[namedBindings.elements.length - 1];\n            edits.push({ start: lastEl.getEnd(), end: lastEl.getEnd(), replacement: `, ${TRUNCATE_PIPE_IMPORT}` });\n            hasEsImport = true;\n          }\n        }\n      }\n    }\n  }\n\n  if (!hasEsImport) {\n    const importStatement = `\\nimport { ${TRUNCATE_PIPE_IMPORT} } from '${TRUNCATE_PIPE_PATH}';`;\n    edits.push({ start: lastImportEnd, end: lastImportEnd, replacement: importStatement });\n  }\n\n  // 2. Add EuiTruncatePipe to @Component imports array\n  const visit = (node: ts.Node): void => {\n    if (ts.isClassDeclaration(node)) {\n      const decs = ts.getDecorators(node);\n      if (!decs) return;\n      for (const dec of decs) {\n        if (!ts.isCallExpression(dec.expression) || !ts.isIdentifier(dec.expression.expression) || dec.expression.expression.text !== 'Component') continue;\n        const metadata = dec.expression.arguments[0];\n        if (!ts.isObjectLiteralExpression(metadata)) continue;\n        for (const prop of metadata.properties) {\n          if (!ts.isPropertyAssignment(prop) || !ts.isIdentifier(prop.name) || prop.name.text !== 'imports') continue;\n          if (!ts.isArrayLiteralExpression(prop.initializer)) continue;\n          const arr = prop.initializer;\n          const arrText = source.slice(arr.getStart(sourceFile), arr.getEnd());\n          if (arrText.includes(TRUNCATE_PIPE_IMPORT)) continue;\n          if (arr.elements.length > 0) {\n            const lastElement = arr.elements[arr.elements.length - 1];\n            edits.push({ start: lastElement.getEnd(), end: lastElement.getEnd(), replacement: `,\\n    ${TRUNCATE_PIPE_IMPORT}` });\n          } else {\n            edits.push({ start: arr.getStart(sourceFile) + 1, end: arr.getEnd() - 1, replacement: TRUNCATE_PIPE_IMPORT });\n          }\n        }\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n  visit(sourceFile);\n\n  return applyEdits(source, edits);\n}\n\nfunction migrateTemplate(source: string): string {\n  const parsed = parseTemplate(source, '', { preserveWhitespaces: true });\n  const edits: Edit[] = [];\n\n  visitNodes(parsed.nodes, source, edits);\n\n  return applyEdits(source, edits);\n}\n\nfunction migrateInlineTemplates(source: string): string {\n  const sourceFile = ts.createSourceFile('', source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const changes: Edit[] = [];\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAssignment(node) && isTemplateProperty(node) && isComponentMetadataProperty(node)) {\n      const init = unwrapExpression(node.initializer);\n      if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) {\n        const start = init.getStart(sourceFile) + 1;\n        const end = init.getEnd() - 1;\n        const rawTemplate = source.slice(start, end);\n        if (!rawTemplate.includes(CHIP_LIST_TAG) && !rawTemplate.includes(CHIP_LIST_ATTR)) {\n          ts.forEachChild(node, visit);\n          return;\n        }\n        const migrated = migrateTemplate(rawTemplate);\n        if (migrated !== rawTemplate) changes.push({ start, end, replacement: migrated });\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n\n  return applyEdits(source, changes);\n}\n\nfunction visitNodes(nodes: TmplAstNode[], source: string, edits: Edit[]): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      if (isChipListElement(node)) {\n        migrateChipListElement(node, source, edits);\n      }\n      visitNodes(node.children, source, edits);\n    }\n  }\n}\n\nfunction isChipListElement(element: TmplAstElement): boolean {\n  if (element.name === CHIP_LIST_TAG) return true;\n  return element.attributes.some((a) => a.name === CHIP_LIST_ATTR);\n}\n\nfunction isChipElement(element: TmplAstElement): boolean {\n  if (element.name === CHIP_TAG) return true;\n  return element.attributes.some((a) => a.name === CHIP_ATTR);\n}\n\nfunction findChildChips(nodes: TmplAstNode[]): TmplAstElement[] {\n  const chips: TmplAstElement[] = [];\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      if (isChipElement(node)) {\n        chips.push(node);\n      } else {\n        chips.push(...findChildChips(node.children));\n      }\n    }\n  }\n  return chips;\n}\n\nfunction migrateChipListElement(element: TmplAstElement, source: string, edits: Edit[]): void {\n  const childChips = findChildChips(element.children);\n  const insertions: string[] = [];\n  let truncateValue: string | null = null;\n\n  // Collect and remove propagated static attributes\n  for (const attr of element.attributes) {\n    if (PROPAGATED_INPUTS.has(attr.name)) {\n      edits.push(removalEdit(attr, source));\n      insertions.push(attr.value ? `${attr.name}=\"${attr.value}\"` : attr.name);\n    }\n    if (attr.name === 'isChipsRemovable') {\n      edits.push(removalEdit(attr, source));\n      insertions.push('isChipRemovable');\n    }\n    if (attr.name === 'chipsLabelTruncateCount') {\n      edits.push(removalEdit(attr, source));\n      truncateValue = attr.value || null;\n    }\n    if (REMOVED_INPUTS.has(attr.name)) {\n      edits.push(removalEdit(attr, source));\n    }\n  }\n\n  // Collect and remove propagated bound inputs\n  for (const input of element.inputs) {\n    if (PROPAGATED_INPUTS.has(input.name)) {\n      edits.push(removalEdit(input, source));\n      const raw = source.slice(input.sourceSpan.start.offset, input.sourceSpan.end.offset);\n      insertions.push(raw);\n    }\n    if (input.name === 'isChipsRemovable') {\n      edits.push(removalEdit(input, source));\n      const valueText = extractBindingValue(input, source);\n      insertions.push(`[isChipRemovable]=\"${valueText}\"`);\n    }\n    if (input.name === 'chipsLabelTruncateCount') {\n      edits.push(removalEdit(input, source));\n      truncateValue = extractBindingValue(input, source);\n    }\n    if (REMOVED_INPUTS.has(input.name)) {\n      edits.push(removalEdit(input, source));\n    }\n  }\n\n  // Collect and remove (chipRemove) output\n  let chipRemoveHandler: string | null = null;\n  for (const output of element.outputs) {\n    if (output.name === 'chipRemove') {\n      edits.push(removalEdit(output, source));\n      chipRemoveHandler = extractHandlerExpression(output, source);\n    }\n  }\n\n  if (chipRemoveHandler) {\n    insertions.push(`(remove)=\"${chipRemoveHandler}\"`);\n  }\n\n  // Add collected attributes to each child eui-chip\n  if (insertions.length > 0) {\n    for (const chip of childChips) {\n      const existingNames = getExistingAttrNames(chip);\n      const toInsert = insertions.filter((ins) => {\n        const name = extractAttrName(ins);\n        return !existingNames.has(name);\n      });\n      if (toInsert.length > 0) {\n        const insertPos = chip.startSourceSpan.end.offset - 1;\n        edits.push({ start: insertPos, end: insertPos, replacement: ' ' + toInsert.join(' ') });\n      }\n    }\n  }\n\n  // Add euiTruncate pipe to chip label content\n  if (truncateValue) {\n    for (const chip of childChips) {\n      const labelEdit = buildTruncatePipeEdit(chip, source, truncateValue);\n      if (labelEdit) edits.push(labelEdit);\n    }\n  }\n}\n\nfunction buildTruncatePipeEdit(chip: TmplAstElement, source: string, truncateValue: string): Edit | null {\n  // Find <span euiLabel>...</span> inside the chip\n  const labelEl = findLabelElement(chip.children);\n  if (labelEl && labelEl.endSourceSpan) {\n    const contentStart = labelEl.startSourceSpan.end.offset;\n    const contentEnd = labelEl.endSourceSpan.start.offset;\n    const content = source.slice(contentStart, contentEnd);\n    if (content && !content.includes('euiTruncate')) {\n      const trimmed = content.trim();\n      const interpMatch = trimmed.match(/^\\{\\{\\s*(.+?)\\s*\\}\\}$/);\n      if (interpMatch) {\n        return { start: contentStart, end: contentEnd, replacement: `{{ ${interpMatch[1]} | euiTruncate: ${truncateValue} }}` };\n      }\n      return { start: contentStart, end: contentEnd, replacement: `{{ '${trimmed}' | euiTruncate: ${truncateValue} }}` };\n    }\n  }\n\n  // Check direct text content inside chip (no label element)\n  if (chip.endSourceSpan) {\n    const chipContentStart = chip.startSourceSpan.end.offset;\n    const chipContentEnd = chip.endSourceSpan.start.offset;\n    const chipContent = source.slice(chipContentStart, chipContentEnd);\n    const trimmed = chipContent.trim();\n    const interpMatch = trimmed.match(/^\\{\\{\\s*(.+?)\\s*\\}\\}$/);\n    if (interpMatch && !chipContent.includes('euiTruncate')) {\n      return { start: chipContentStart, end: chipContentEnd, replacement: `{{ ${interpMatch[1]} | euiTruncate: ${truncateValue} }}` };\n    }\n  }\n  return null;\n}\n\nfunction findLabelElement(nodes: TmplAstNode[]): TmplAstElement | null {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      if (node.attributes.some((a) => a.name === 'euiLabel')) return node;\n      const nested = findLabelElement(node.children);\n      if (nested) return nested;\n    }\n  }\n  return null;\n}\n\nfunction getExistingAttrNames(element: TmplAstElement): Set<string> {\n  const names = new Set<string>();\n  for (const attr of element.attributes) names.add(attr.name);\n  for (const input of element.inputs) names.add(input.name);\n  for (const output of element.outputs) names.add(output.name);\n  return names;\n}\n\nfunction extractAttrName(insertion: string): string {\n  const outputMatch = insertion.match(/^\\(([^)]+)\\)/);\n  if (outputMatch) return outputMatch[1];\n  const inputMatch = insertion.match(/^\\[([^\\]]+)\\]/);\n  if (inputMatch) return inputMatch[1];\n  return insertion.split('=')[0];\n}\n\nfunction removalEdit(node: TmplAstTextAttribute | TmplAstBoundAttribute | TmplAstBoundEvent, source: string): Edit {\n  let start = node.sourceSpan.start.offset;\n  while (start > 0 && (source[start - 1] === ' ' || source[start - 1] === '\\t')) {\n    start--;\n  }\n  return { start, end: node.sourceSpan.end.offset, replacement: '' };\n}\n\nfunction extractBindingValue(input: TmplAstBoundAttribute, source: string): string {\n  const raw = source.slice(input.sourceSpan.start.offset, input.sourceSpan.end.offset);\n  const match = raw.match(/=[\"']([^\"']*)[\"']/);\n  return match ? match[1] : 'true';\n}\n\nfunction extractHandlerExpression(output: TmplAstBoundEvent, source: string): string {\n  const raw = source.slice(output.sourceSpan.start.offset, output.sourceSpan.end.offset);\n  const match = raw.match(/=[\"']([^\"']*)[\"']/);\n  return match ? match[1] : '';\n}\n\nfunction isTemplateProperty(node: ts.PropertyAssignment): boolean {\n  const name = node.name;\n  return (ts.isIdentifier(name) && name.text === 'template') || (ts.isStringLiteral(name) && name.text === 'template');\n}\n\nfunction isComponentMetadataProperty(node: ts.PropertyAssignment): boolean {\n  const objectLiteral = node.parent;\n  if (!ts.isObjectLiteralExpression(objectLiteral)) return false;\n  const callExpression = objectLiteral.parent;\n  if (!ts.isCallExpression(callExpression) || callExpression.arguments[0] !== objectLiteral) return false;\n  return ts.isDecorator(callExpression.parent) && ts.isIdentifier(callExpression.expression) && callExpression.expression.text === 'Component';\n}\n\nfunction unwrapExpression(expression: ts.Expression): ts.Expression {\n  let current = expression;\n  while (ts.isParenthesizedExpression(current)) current = current.expression;\n  return current;\n}\n\nfunction applyEdits(source: string, edits: Edit[]): string {\n  const unique = deduplicateEdits(edits);\n  let result = source;\n  for (const edit of unique.sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, edit.start) + edit.replacement + result.slice(edit.end);\n  }\n  return result;\n}\n\nfunction deduplicateEdits(edits: Edit[]): Edit[] {\n  const seen = new Map<string, Edit>();\n  for (const edit of edits) {\n    seen.set(`${edit.start}:${edit.end}`, edit);\n  }\n  return Array.from(seen.values());\n}\n",
            "properties": [
                {
                    "name": "dryRun",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 28
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 27
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [],
            "isDuplicate": true,
            "duplicateId": 8,
            "duplicateName": "Schema-8"
        },
        {
            "name": "Schema",
            "id": "interface-Schema-39d3d52e788050bebc4e0b99ed0756f7e9727556cb090ae8796bd4261a56463fe1f479c322b23028cd4134d71e4d1dc44cd248ac62a9a148b5fc46a665466f7c-9",
            "file": "packages/core/schematics/migrate-eui-chip/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstBoundAttribute, TmplAstElement, TmplAstNode, TmplAstTextAttribute } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\nconst REMOVED_INPUTS = new Set(['isSquared']);\n\nexport function migrateEuiChip(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    let count = 0;\n\n    const dir = tree.getDir(scanPath || '/');\n    visitDir(dir, (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) return;\n\n      const original = buffer.toString('utf-8');\n      if (!original.includes('eui-chip') && !original.includes('euiChip')) return;\n\n      const result = path.endsWith('.html')\n        ? migrateTemplate(original)\n        : migrateInlineTemplates(original);\n\n      if (result !== original) {\n        if (options.dryRun) {\n          logDryRun(context, `Would remove 'isSquared' input in ${path}`);\n        } else {\n          tree.overwrite(path, result);\n        }\n        count++;\n      }\n\n      // Warn about TS usages inline\n      if (path.endsWith('.ts') && !path.endsWith('.spec.ts') && original.includes('isSquared')) {\n        const sourceFile = ts.createSourceFile(path, original, ts.ScriptTarget.Latest, true);\n\n        const visit = (node: ts.Node): void => {\n          if (ts.isPropertyAccessExpression(node) && ts.isIdentifier(node.name) && node.name.text === 'isSquared') {\n            const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());\n            context.logger.warn(`${path}:${line + 1} - \"isSquared\" is no longer a valid input on eui-chip. Remove this assignment.`);\n          }\n          ts.forEachChild(node, visit);\n        };\n\n        visit(sourceFile);\n      }\n    });\n\n    context.logger.info(`Removed deprecated eui-chip 'isSquared' input from ${count} file(s).`);\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n    return tree;\n  };\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n\nfunction migrateTemplate(source: string): string {\n  const parsed = parseTemplate(source, '', { preserveWhitespaces: true });\n  const removals: { start: number; end: number }[] = [];\n\n  visitNodes(parsed.nodes, removals);\n\n  let result = source;\n  for (const { start, end } of removals.sort((a, b) => b.start - a.start)) {\n    let adjustedStart = start;\n    while (adjustedStart > 0 && (result[adjustedStart - 1] === ' ' || result[adjustedStart - 1] === '\\t')) {\n      adjustedStart--;\n    }\n    result = result.slice(0, adjustedStart) + result.slice(end);\n  }\n\n  return result;\n}\n\nfunction migrateInlineTemplates(source: string): string {\n  const templateRegex = /template\\s*:\\s*`([^`]*)`/gs;\n  return source.replace(templateRegex, (match, templateContent: string) => {\n    if (!templateContent.includes('eui-chip') && !templateContent.includes('euiChip')) return match;\n    const migrated = migrateTemplate(templateContent);\n    if (migrated === templateContent) return match;\n    return match.replace(templateContent, migrated);\n  });\n}\n\nfunction isChipElement(element: TmplAstElement): boolean {\n  if (element.name === 'eui-chip') return true;\n  return element.attributes.some((a) => a.name === 'euiChip');\n}\n\nfunction visitNodes(nodes: TmplAstNode[], removals: { start: number; end: number }[]): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      if (isChipElement(node)) collectRemovals(node, removals);\n      visitNodes(node.children, removals);\n    }\n  }\n}\n\nfunction collectRemovals(element: TmplAstElement, removals: { start: number; end: number }[]): void {\n  for (const attr of element.attributes) {\n    if (REMOVED_INPUTS.has(attr.name)) {\n      removals.push(getAttributeSpan(attr));\n    }\n  }\n  for (const input of element.inputs) {\n    if (REMOVED_INPUTS.has(input.name)) {\n      removals.push(getAttributeSpan(input));\n    }\n  }\n}\n\nfunction getAttributeSpan(attr: TmplAstTextAttribute | TmplAstBoundAttribute): { start: number; end: number } {\n  return { start: attr.sourceSpan.start.offset, end: attr.sourceSpan.end.offset };\n}\n",
            "properties": [
                {
                    "name": "dryRun",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 7
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [],
            "isDuplicate": true,
            "duplicateId": 9,
            "duplicateName": "Schema-9"
        },
        {
            "name": "Schema",
            "id": "interface-Schema-869dfc324e9111966817cbebb3553eabfe200acfe33bb77efa71a6c46e1cba0ff5852de7b9ade3060f87264035b99591361331a9e0622daaac22b8d59146c761-10",
            "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstBoundAttribute, TmplAstElement, TmplAstNode } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\nconst COMPONENT_TAG = 'eui-discussion-thread';\n\nexport function migrateEuiDiscussionThread(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    let count = 0;\n\n    const dir = tree.getDir(scanPath || '/');\n    visitDir(dir, (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) return;\n\n      const original = buffer.toString('utf-8');\n      if (!original.includes(COMPONENT_TAG)) return;\n\n      const result = path.endsWith('.html')\n        ? migrateTemplate(original)\n        : migrateInlineTemplates(original);\n\n      if (result !== original) {\n        if (options.dryRun) {\n          logDryRun(context, `Would remove [trackBy] binding in ${path}`);\n        } else {\n          tree.overwrite(path, result);\n        }\n        count++;\n      }\n\n      // Warn about TS usages inline\n      if (path.endsWith('.ts') && !path.endsWith('.spec.ts') && original.includes('trackByFn')) {\n        const sourceFile = ts.createSourceFile(path, original, ts.ScriptTarget.Latest, true);\n\n        const visit = (node: ts.Node): void => {\n          if (ts.isPropertyAccessExpression(node) && ts.isIdentifier(node.name) && node.name.text === 'trackByFn') {\n            const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());\n            context.logger.warn(`${path}:${line + 1} - \"trackByFn\" has been removed from ${COMPONENT_TAG}. Remove this reference manually.`);\n          }\n          ts.forEachChild(node, visit);\n        };\n\n        visit(sourceFile);\n      }\n    });\n\n    context.logger.info(`Removed trackByFn-based [trackBy] bindings from ${COMPONENT_TAG} in ${count} file(s).`);\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n    return tree;\n  };\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n\nfunction migrateTemplate(source: string): string {\n  const parsed = parseTemplate(source, '', { preserveWhitespaces: true });\n  const removals: { start: number; end: number }[] = [];\n\n  visitNodes(parsed.nodes, source, removals);\n\n  let result = source;\n  for (const { start, end } of removals.sort((a, b) => b.start - a.start)) {\n    let adjustedStart = start;\n    while (adjustedStart > 0 && (result[adjustedStart - 1] === ' ' || result[adjustedStart - 1] === '\\t')) {\n      adjustedStart--;\n    }\n    result = result.slice(0, adjustedStart) + result.slice(end);\n  }\n\n  return result;\n}\n\nfunction migrateInlineTemplates(source: string): string {\n  const templateRegex = /template\\s*:\\s*`([^`]*)`/gs;\n  return source.replace(templateRegex, (match, templateContent: string) => {\n    if (!templateContent.includes(COMPONENT_TAG)) return match;\n    const migrated = migrateTemplate(templateContent);\n    if (migrated === templateContent) return match;\n    return match.replace(templateContent, migrated);\n  });\n}\n\nfunction visitNodes(nodes: TmplAstNode[], source: string, removals: { start: number; end: number }[]): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      if (node.name === COMPONENT_TAG) collectRemovals(node, source, removals);\n      visitNodes(node.children, source, removals);\n    }\n  }\n}\n\nfunction collectRemovals(element: TmplAstElement, source: string, removals: { start: number; end: number }[]): void {\n  for (const input of element.inputs) {\n    if (input.name === 'trackBy') {\n      const valueSource = source.slice(input.sourceSpan.start.offset, input.sourceSpan.end.offset);\n      if (valueSource.includes('trackByFn')) {\n        removals.push({ start: input.sourceSpan.start.offset, end: input.sourceSpan.end.offset });\n      }\n    }\n  }\n}\n",
            "properties": [
                {
                    "name": "dryRun",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 7
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [],
            "isDuplicate": true,
            "duplicateId": 10,
            "duplicateName": "Schema-10"
        },
        {
            "name": "Schema",
            "id": "interface-Schema-375dc0924084a2acbafe4a6a32577d59f631c9a386d151180d8fb1c89e7e7cd23da9fd459e597592ed823692adb6ad2633c50baf16621f003246e8c9bb1c6ce0-11",
            "file": "packages/core/schematics/migrate-eui-editor/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstElement, TmplAstNode } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\nconst COMPONENT_TAG = 'eui-editor';\nconst OLD_NAME = 'onEditorChanged';\nconst NEW_NAME = 'contentChange';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\nexport function migrateEuiEditor(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    let count = 0;\n\n    const dir = tree.getDir(scanPath || '/');\n    visitDir(dir, (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) return;\n\n      const original = buffer.toString('utf-8');\n\n      if (path.endsWith('.html')) {\n        if (!original.includes(COMPONENT_TAG)) return;\n        const result = migrateTemplate(original);\n        if (result !== original) {\n          if (options.dryRun) {\n            logDryRun(context, `Would rename '${OLD_NAME}' → '${NEW_NAME}' in ${path}`);\n          } else {\n            tree.overwrite(path, result);\n          }\n          count++;\n        }\n        return;\n      }\n\n      // .ts file — handle both migration and warnings in one pass\n      const hasTag = original.includes(COMPONENT_TAG);\n      const hasOldName = original.includes(OLD_NAME);\n      if (!hasTag && !hasOldName) return;\n\n      if (hasTag) {\n        const result = migrateInlineTemplates(original);\n        if (result !== original) {\n          if (options.dryRun) {\n            logDryRun(context, `Would rename '${OLD_NAME}' → '${NEW_NAME}' in ${path}`);\n          } else {\n            tree.overwrite(path, result);\n          }\n          count++;\n        }\n      }\n\n      // Warn about TS property access usages (skip spec files)\n      if (hasOldName && !path.endsWith('.spec.ts')) {\n        warnPropertyAccesses(path, original, context);\n      }\n    });\n\n    context.logger.info(`Renamed '(${OLD_NAME})' → '(${NEW_NAME})' on ${COMPONENT_TAG} in ${count} file(s).`);\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n    return tree;\n  };\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n\nfunction migrateTemplate(source: string): string {\n  const parsed = parseTemplate(source, '', { preserveWhitespaces: true });\n  const edits: { start: number; end: number; replacement: string }[] = [];\n\n  visitNodes(parsed.nodes, edits);\n\n  return applyEdits(source, edits);\n}\n\nfunction migrateInlineTemplates(source: string): string {\n  const sourceFile = ts.createSourceFile('', source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const changes: { start: number; end: number; text: string }[] = [];\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAssignment(node) && isTemplateProperty(node) && isComponentMetadataProperty(node)) {\n      const init = unwrapExpression(node.initializer);\n      if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) {\n        const start = init.getStart(sourceFile) + 1;\n        const end = init.getEnd() - 1;\n        const rawTemplate = source.slice(start, end);\n        if (!rawTemplate.includes(COMPONENT_TAG)) {\n ts.forEachChild(node, visit); return;\n}\n        const migrated = migrateTemplate(rawTemplate);\n        if (migrated !== rawTemplate) changes.push({ start, end, text: migrated });\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n\n  let result = source;\n  for (const change of changes.sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, change.start) + change.text + result.slice(change.end);\n  }\n  return result;\n}\n\nfunction warnPropertyAccesses(path: string, source: string, context: SchematicContext): void {\n  const sourceFile = ts.createSourceFile(path, source, ts.ScriptTarget.Latest, true);\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAccessExpression(node) && ts.isIdentifier(node.name) && node.name.text === OLD_NAME) {\n      const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());\n      context.logger.warn(`${path}:${line + 1} - \"${OLD_NAME}\" has been renamed to \"${NEW_NAME}\" on ${COMPONENT_TAG}. Update this reference manually.`);\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n}\n\nfunction isTemplateProperty(node: ts.PropertyAssignment): boolean {\n  const name = node.name;\n  return (ts.isIdentifier(name) && name.text === 'template') || (ts.isStringLiteral(name) && name.text === 'template');\n}\n\nfunction isComponentMetadataProperty(node: ts.PropertyAssignment): boolean {\n  const objectLiteral = node.parent;\n  if (!ts.isObjectLiteralExpression(objectLiteral)) return false;\n  const callExpression = objectLiteral.parent;\n  if (!ts.isCallExpression(callExpression) || callExpression.arguments[0] !== objectLiteral) return false;\n  return ts.isDecorator(callExpression.parent) && ts.isIdentifier(callExpression.expression) && callExpression.expression.text === 'Component';\n}\n\nfunction unwrapExpression(expression: ts.Expression): ts.Expression {\n  let current = expression;\n  while (ts.isParenthesizedExpression(current)) current = current.expression;\n  return current;\n}\n\nfunction visitNodes(nodes: TmplAstNode[], edits: { start: number; end: number; replacement: string }[]): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      if (node.name === COMPONENT_TAG) collectRenames(node, edits);\n      visitNodes(node.children, edits);\n    }\n  }\n}\n\nfunction collectRenames(element: TmplAstElement, edits: { start: number; end: number; replacement: string }[]): void {\n  for (const output of element.outputs) {\n    if (output.name === OLD_NAME) {\n      edits.push({ start: output.keySpan!.start.offset, end: output.keySpan!.end.offset, replacement: NEW_NAME });\n    }\n  }\n}\n\nfunction applyEdits(source: string, edits: { start: number; end: number; replacement: string }[]): string {\n  let result = source;\n  for (const edit of edits.sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, edit.start) + edit.replacement + result.slice(edit.end);\n  }\n  return result;\n}\n",
            "properties": [
                {
                    "name": "dryRun",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 12
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 11
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [],
            "isDuplicate": true,
            "duplicateId": 11,
            "duplicateName": "Schema-11"
        },
        {
            "name": "Schema",
            "id": "interface-Schema-0ee574e11dd651dd971057cb66220845e5b87b2949c69c623c8ddf7355af92a396c58c237a52a05f18c22a5332a2695b717bcfeb8ea840c4e7df8d0084c2b49c-12",
            "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstElement, TmplAstNode } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\nconst COMPONENT_TAG = 'eui-fieldset';\nconst OLD_NAME = 'iconSvgType';\nconst NEW_NAME = 'iconSvgName';\n\nexport function migrateEuiFieldset(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    let count = 0;\n\n    const dir = tree.getDir(scanPath || '/');\n    visitDir(dir, (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) return;\n\n      const original = buffer.toString('utf-8');\n      if (!original.includes(COMPONENT_TAG)) return;\n\n      let result: string;\n\n      if (path.endsWith('.html')) {\n        result = migrateTemplate(original);\n      } else {\n        result = migrateInlineTemplates(original);\n      }\n\n      if (result !== original) {\n        if (options.dryRun) {\n          logDryRun(context, `Would rename '${OLD_NAME}' → '${NEW_NAME}' in ${path}`);\n        } else {\n          tree.overwrite(path, result);\n        }\n        count++;\n      }\n\n      // Warn about TS property access usages (merged from warnTsUsages)\n      if (path.endsWith('.ts') && !path.endsWith('.spec.ts') && original.includes(OLD_NAME)) {\n        const sourceFile = ts.createSourceFile(path, original, ts.ScriptTarget.Latest, true);\n\n        const visit = (node: ts.Node): void => {\n          if (ts.isPropertyAccessExpression(node) && ts.isIdentifier(node.name) && node.name.text === OLD_NAME) {\n            const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());\n            context.logger.warn(`${path}:${line + 1} - \"${OLD_NAME}\" has been renamed to \"${NEW_NAME}\" on ${COMPONENT_TAG}. Update this reference manually.`);\n          }\n          ts.forEachChild(node, visit);\n        };\n\n        visit(sourceFile);\n      }\n    });\n\n    context.logger.info(`Renamed '${OLD_NAME}' → '${NEW_NAME}' on ${COMPONENT_TAG} in ${count} file(s).`);\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n    return tree;\n  };\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n\nfunction migrateTemplate(source: string): string {\n  const parsed = parseTemplate(source, '', { preserveWhitespaces: true });\n  const edits: { start: number; end: number; replacement: string }[] = [];\n\n  visitNodes(parsed.nodes, edits);\n\n  return applyEdits(source, edits);\n}\n\nfunction migrateInlineTemplates(source: string): string {\n  const sourceFile = ts.createSourceFile('', source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const changes: { start: number; end: number; text: string }[] = [];\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAssignment(node) && isTemplateProperty(node) && isComponentMetadataProperty(node)) {\n      const init = unwrapExpression(node.initializer);\n      if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) {\n        const start = init.getStart(sourceFile) + 1;\n        const end = init.getEnd() - 1;\n        const rawTemplate = source.slice(start, end);\n        if (!rawTemplate.includes(COMPONENT_TAG)) {\n ts.forEachChild(node, visit); return; \n}\n        const migrated = migrateTemplate(rawTemplate);\n        if (migrated !== rawTemplate) changes.push({ start, end, text: migrated });\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n\n  let result = source;\n  for (const change of changes.sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, change.start) + change.text + result.slice(change.end);\n  }\n  return result;\n}\n\nfunction isTemplateProperty(node: ts.PropertyAssignment): boolean {\n  const name = node.name;\n  return (ts.isIdentifier(name) && name.text === 'template') || (ts.isStringLiteral(name) && name.text === 'template');\n}\n\nfunction isComponentMetadataProperty(node: ts.PropertyAssignment): boolean {\n  const objectLiteral = node.parent;\n  if (!ts.isObjectLiteralExpression(objectLiteral)) return false;\n  const callExpression = objectLiteral.parent;\n  if (!ts.isCallExpression(callExpression) || callExpression.arguments[0] !== objectLiteral) return false;\n  return ts.isDecorator(callExpression.parent) && ts.isIdentifier(callExpression.expression) && callExpression.expression.text === 'Component';\n}\n\nfunction unwrapExpression(expression: ts.Expression): ts.Expression {\n  let current = expression;\n  while (ts.isParenthesizedExpression(current)) current = current.expression;\n  return current;\n}\n\nfunction visitNodes(nodes: TmplAstNode[], edits: { start: number; end: number; replacement: string }[]): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      if (node.name === COMPONENT_TAG) collectRenames(node, edits);\n      visitNodes(node.children, edits);\n    }\n  }\n}\n\nfunction collectRenames(element: TmplAstElement, edits: { start: number; end: number; replacement: string }[]): void {\n  for (const attr of element.attributes) {\n    if (attr.name === OLD_NAME) {\n      edits.push({ start: attr.keySpan!.start.offset, end: attr.keySpan!.end.offset, replacement: NEW_NAME });\n    }\n  }\n  for (const input of element.inputs) {\n    if (input.name === OLD_NAME) {\n      edits.push({ start: input.keySpan!.start.offset, end: input.keySpan!.end.offset, replacement: NEW_NAME });\n    }\n  }\n}\n\nfunction applyEdits(source: string, edits: { start: number; end: number; replacement: string }[]): string {\n  let result = source;\n  for (const edit of edits.sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, edit.start) + edit.replacement + result.slice(edit.end);\n  }\n  return result;\n}\n",
            "properties": [
                {
                    "name": "dryRun",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 7
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [],
            "isDuplicate": true,
            "duplicateId": 12,
            "duplicateName": "Schema-12"
        },
        {
            "name": "Schema",
            "id": "interface-Schema-b3ff4600c4a5ca1888c45e5baf3600fa6dc6477f1e473e5241ff6682e2929dc8950a5dfa8b1048a348dba7ad1f0ce8cc3681471933911b689e04713334ef4811-13",
            "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstElement, TmplAstNode } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\nconst COMPONENT_TAG = 'eui-icon-svg';\n\nconst INPUT_RENAMES = new Map([\n  ['variant', 'fillColor'],\n  ['aria-label', 'ariaLabel'],\n]);\n\nconst TS_PROPERTY_RENAMES = new Map([\n  ['variant', 'fillColor'],\n]);\n\nexport function migrateEuiIconSvg(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    let count = 0;\n\n    const dir = tree.getDir(scanPath || '/');\n    visitDir(dir, (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) return;\n\n      const original = buffer.toString('utf-8');\n      if (!original.includes(COMPONENT_TAG)) return;\n\n      let result: string;\n\n      if (path.endsWith('.html')) {\n        result = migrateTemplate(original);\n      } else {\n        result = migrateInlineTemplates(original);\n        result = renameTsPropertyAccesses(result);\n      }\n\n      if (result !== original) {\n        if (options.dryRun) {\n          logDryRun(context, `Would rename deprecated inputs in ${path}`);\n        } else {\n          tree.overwrite(path, result);\n        }\n        count++;\n      }\n    });\n\n    context.logger.info(`Migrated eui-icon-svg inputs in ${count} file(s).`);\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n    return tree;\n  };\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n\nfunction migrateTemplate(source: string): string {\n  const parsed = parseTemplate(source, '', { preserveWhitespaces: true });\n  const edits: { start: number; end: number; replacement: string }[] = [];\n\n  visitNodes(parsed.nodes, edits);\n\n  return applyEdits(source, edits);\n}\n\nfunction migrateInlineTemplates(source: string): string {\n  const sourceFile = ts.createSourceFile('', source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const changes: { start: number; end: number; text: string }[] = [];\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAssignment(node) && isTemplateProperty(node) && isComponentMetadataProperty(node)) {\n      const init = unwrapExpression(node.initializer);\n      if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) {\n        const start = init.getStart(sourceFile) + 1;\n        const end = init.getEnd() - 1;\n        const rawTemplate = source.slice(start, end);\n        if (!rawTemplate.includes(COMPONENT_TAG)) {\n          ts.forEachChild(node, visit);\n          return;\n        }\n        const migrated = migrateTemplate(rawTemplate);\n        if (migrated !== rawTemplate) {\n          changes.push({ start, end, text: migrated });\n        }\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n\n  let result = source;\n  for (const change of changes.sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, change.start) + change.text + result.slice(change.end);\n  }\n  return result;\n}\n\nfunction renameTsPropertyAccesses(source: string): string {\n  const sourceFile = ts.createSourceFile('', source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const edits: { start: number; end: number; replacement: string }[] = [];\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAccessExpression(node) && ts.isIdentifier(node.name) && TS_PROPERTY_RENAMES.has(node.name.text)) {\n      edits.push({ start: node.name.getStart(sourceFile), end: node.name.getEnd(), replacement: TS_PROPERTY_RENAMES.get(node.name.text)! });\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n\n  return applyEdits(source, edits);\n}\n\nfunction isTemplateProperty(node: ts.PropertyAssignment): boolean {\n  const name = node.name;\n  return (ts.isIdentifier(name) && name.text === 'template') || (ts.isStringLiteral(name) && name.text === 'template');\n}\n\nfunction isComponentMetadataProperty(node: ts.PropertyAssignment): boolean {\n  const objectLiteral = node.parent;\n  if (!ts.isObjectLiteralExpression(objectLiteral)) return false;\n  const callExpression = objectLiteral.parent;\n  if (!ts.isCallExpression(callExpression) || callExpression.arguments[0] !== objectLiteral) return false;\n  return ts.isDecorator(callExpression.parent) && ts.isIdentifier(callExpression.expression) && callExpression.expression.text === 'Component';\n}\n\nfunction unwrapExpression(expression: ts.Expression): ts.Expression {\n  let current = expression;\n  while (ts.isParenthesizedExpression(current)) {\n    current = current.expression;\n  }\n  return current;\n}\n\nfunction visitNodes(nodes: TmplAstNode[], edits: { start: number; end: number; replacement: string }[]): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      if (node.name === COMPONENT_TAG) {\n        collectRenames(node, edits);\n      }\n      visitNodes(node.children, edits);\n    }\n  }\n}\n\nfunction collectRenames(element: TmplAstElement, edits: { start: number; end: number; replacement: string }[]): void {\n  for (const attr of element.attributes) {\n    const newName = INPUT_RENAMES.get(attr.name);\n    if (newName) {\n      edits.push({ start: attr.keySpan!.start.offset, end: attr.keySpan!.end.offset, replacement: newName });\n    }\n  }\n  for (const input of element.inputs) {\n    const newName = INPUT_RENAMES.get(input.name);\n    if (newName) {\n      edits.push({ start: input.keySpan!.start.offset, end: input.keySpan!.end.offset, replacement: newName });\n    }\n  }\n}\n\nfunction applyEdits(source: string, edits: { start: number; end: number; replacement: string }[]): string {\n  let result = source;\n  for (const edit of edits.sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, edit.start) + edit.replacement + result.slice(edit.end);\n  }\n  return result;\n}\n",
            "properties": [
                {
                    "name": "dryRun",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 7
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [],
            "isDuplicate": true,
            "duplicateId": 13,
            "duplicateName": "Schema-13"
        },
        {
            "name": "Schema",
            "id": "interface-Schema-21147930d3fbc38fbb3052a2ed9e7aa2b7505e6ed8c88c28796ce7101bd2ad914726eb230dda5826647036190edec6dae7e7e1d172387cd3803aa00bcdf790be-14",
            "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstBoundAttribute, TmplAstElement, TmplAstNode, TmplAstTextAttribute } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\nconst OLD_NAME = 'iconSet';\nconst NEW_NAME = 'iconSvgName';\nconst COMPONENT_TAG = 'eui-icon-toggle';\n\nexport function migrateEuiIconToggle(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    let templateCount = 0;\n    let tsCount = 0;\n\n    const dir = tree.getDir(scanPath || '/');\n    visitDir(dir, (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) return;\n\n      const original = buffer.toString('utf-8');\n      if (!original.includes(COMPONENT_TAG)) return;\n\n      let result: string;\n\n      if (path.endsWith('.html')) {\n        result = migrateTemplate(original);\n      } else {\n        result = migrateInlineTemplates(original);\n        result = renameTsPropertyAccesses(result);\n      }\n\n      if (result !== original) {\n        if (options.dryRun) {\n          logDryRun(context, `Would rename '${OLD_NAME}' → '${NEW_NAME}' in ${path}`);\n        } else {\n          tree.overwrite(path, result);\n        }\n        if (path.endsWith('.html')) templateCount++;\n        else tsCount++;\n      }\n    });\n\n    context.logger.info(`Renamed '${OLD_NAME}' → '${NEW_NAME}' on ${COMPONENT_TAG} in ${templateCount + tsCount} file(s).`);\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n    return tree;\n  };\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n\nfunction migrateTemplate(source: string): string {\n  const parsed = parseTemplate(source, '', { preserveWhitespaces: true });\n  const edits: { start: number; end: number; replacement: string }[] = [];\n\n  visitNodes(parsed.nodes, edits);\n\n  return applyEdits(source, edits);\n}\n\nfunction migrateInlineTemplates(source: string): string {\n  const sourceFile = ts.createSourceFile('', source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const changes: { start: number; end: number; text: string }[] = [];\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAssignment(node) && isTemplateProperty(node) && isComponentMetadataProperty(node)) {\n      const init = unwrapExpression(node.initializer);\n      if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) {\n        const start = init.getStart(sourceFile) + 1;\n        const end = init.getEnd() - 1;\n        const rawTemplate = source.slice(start, end);\n        if (!rawTemplate.includes(COMPONENT_TAG)) {\n          ts.forEachChild(node, visit);\n          return;\n        }\n        const migrated = migrateTemplate(rawTemplate);\n        if (migrated !== rawTemplate) {\n          changes.push({ start, end, text: migrated });\n        }\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n\n  let result = source;\n  for (const change of changes.sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, change.start) + change.text + result.slice(change.end);\n  }\n  return result;\n}\n\nfunction renameTsPropertyAccesses(source: string): string {\n  const sourceFile = ts.createSourceFile('', source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const edits: { start: number; end: number; replacement: string }[] = [];\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAccessExpression(node) && ts.isIdentifier(node.name) && node.name.text === OLD_NAME) {\n      edits.push({ start: node.name.getStart(sourceFile), end: node.name.getEnd(), replacement: NEW_NAME });\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n\n  return applyEdits(source, edits);\n}\n\nfunction isTemplateProperty(node: ts.PropertyAssignment): boolean {\n  const name = node.name;\n  return (ts.isIdentifier(name) && name.text === 'template') || (ts.isStringLiteral(name) && name.text === 'template');\n}\n\nfunction isComponentMetadataProperty(node: ts.PropertyAssignment): boolean {\n  const objectLiteral = node.parent;\n  if (!ts.isObjectLiteralExpression(objectLiteral)) return false;\n  const callExpression = objectLiteral.parent;\n  if (!ts.isCallExpression(callExpression) || callExpression.arguments[0] !== objectLiteral) return false;\n  return ts.isDecorator(callExpression.parent) && ts.isIdentifier(callExpression.expression) && callExpression.expression.text === 'Component';\n}\n\nfunction unwrapExpression(expression: ts.Expression): ts.Expression {\n  let current = expression;\n  while (ts.isParenthesizedExpression(current)) {\n    current = current.expression;\n  }\n  return current;\n}\n\nfunction visitNodes(nodes: TmplAstNode[], edits: { start: number; end: number; replacement: string }[]): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      if (node.name === COMPONENT_TAG) {\n        collectRenames(node, edits);\n      }\n      visitNodes(node.children, edits);\n    }\n  }\n}\n\nfunction collectRenames(element: TmplAstElement, edits: { start: number; end: number; replacement: string }[]): void {\n  for (const attr of element.attributes) {\n    if (attr.name === OLD_NAME) {\n      edits.push({ start: attr.keySpan!.start.offset, end: attr.keySpan!.end.offset, replacement: NEW_NAME });\n    }\n  }\n  for (const input of element.inputs) {\n    if (input.name === OLD_NAME) {\n      edits.push({ start: input.keySpan!.start.offset, end: input.keySpan!.end.offset, replacement: NEW_NAME });\n    }\n  }\n}\n\nfunction applyEdits(source: string, edits: { start: number; end: number; replacement: string }[]): string {\n  let result = source;\n  for (const edit of edits.sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, edit.start) + edit.replacement + result.slice(edit.end);\n  }\n  return result;\n}\n",
            "properties": [
                {
                    "name": "dryRun",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 7
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [],
            "isDuplicate": true,
            "duplicateId": 14,
            "duplicateName": "Schema-14"
        },
        {
            "name": "Schema",
            "id": "interface-Schema-a806c1769fb526271565003a6a3ef9ab4c67e421d93ee0cb54e1f6de223807afc1f16ad294656ef614a77a91a38cc914ce41ac97ed3a8a4195a1e74a729c0c08-15",
            "file": "packages/core/schematics/migrate-eui-popover/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstBoundAttribute, TmplAstElement, TmplAstNode, TmplAstTextAttribute } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\nconst REMOVED_INPUTS = new Set(['type']);\n\nexport function migrateEuiPopover(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    let count = 0;\n\n    const dir = tree.getDir(scanPath || '/');\n    visitDir(dir, (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) return;\n\n      const original = buffer.toString('utf-8');\n      if (!original.includes('eui-popover')) return;\n\n      const result = path.endsWith('.html')\n        ? migrateTemplate(original)\n        : migrateInlineTemplates(original);\n\n      if (result !== original) {\n        if (options.dryRun) {\n          logDryRun(context, `Would remove 'type' input in ${path}`);\n        } else {\n          tree.overwrite(path, result);\n        }\n        count++;\n      }\n\n      // Warn about TS usages inline\n      if (path.endsWith('.ts') && !path.endsWith('.spec.ts') && (original.includes('eui-popover') || original.includes('euiPopover') || original.includes('EuiPopover'))) {\n        if (original.includes('type')) {\n          const sourceFile = ts.createSourceFile(path, original, ts.ScriptTarget.Latest, true);\n\n          const visit = (node: ts.Node): void => {\n            if (ts.isPropertyAccessExpression(node) && ts.isIdentifier(node.name) && node.name.text === 'type') {\n              const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());\n              context.logger.warn(\n                `${path}:${line + 1} - Manual action needed: \"type\" is no longer a valid input on eui-popover. Remove this assignment.`,\n              );\n            }\n            ts.forEachChild(node, visit);\n          };\n\n          visit(sourceFile);\n        }\n      }\n    });\n\n    context.logger.info(`Removed deprecated eui-popover 'type' input from ${count} file(s).`);\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n    return tree;\n  };\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n\nfunction migrateTemplate(source: string): string {\n  const parsed = parseTemplate(source, '', { preserveWhitespaces: true });\n  const removals: { start: number; end: number }[] = [];\n\n  visitNodes(parsed.nodes, removals);\n\n  let result = source;\n  for (const { start, end } of removals.sort((a, b) => b.start - a.start)) {\n    // Extend start backwards to consume leading whitespace\n    let adjustedStart = start;\n    while (adjustedStart > 0 && (result[adjustedStart - 1] === ' ' || result[adjustedStart - 1] === '\\t')) {\n      adjustedStart--;\n    }\n    result = result.slice(0, adjustedStart) + result.slice(end);\n  }\n\n  return result;\n}\n\nfunction migrateInlineTemplates(source: string): string {\n  const templateRegex = /template\\s*:\\s*`([^`]*)`/gs;\n  return source.replace(templateRegex, (match, templateContent: string) => {\n    if (!templateContent.includes('eui-popover')) return match;\n    const migrated = migrateTemplate(templateContent);\n    if (migrated === templateContent) return match;\n    return match.replace(templateContent, migrated);\n  });\n}\n\nfunction visitNodes(nodes: TmplAstNode[], removals: { start: number; end: number }[]): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      if (node.name === 'eui-popover') {\n        collectRemovals(node, removals);\n      }\n      visitNodes(node.children, removals);\n    }\n  }\n}\n\nfunction collectRemovals(element: TmplAstElement, removals: { start: number; end: number }[]): void {\n  for (const attr of element.attributes) {\n    if (REMOVED_INPUTS.has(attr.name)) {\n      removals.push(getAttributeSpan(attr));\n    }\n  }\n  for (const input of element.inputs) {\n    if (REMOVED_INPUTS.has(input.name)) {\n      removals.push(getAttributeSpan(input));\n    }\n  }\n}\n\nfunction getAttributeSpan(attr: TmplAstTextAttribute | TmplAstBoundAttribute): { start: number; end: number } {\n  return { start: attr.sourceSpan.start.offset, end: attr.sourceSpan.end.offset };\n}\n",
            "properties": [
                {
                    "name": "dryRun",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 7
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [],
            "isDuplicate": true,
            "duplicateId": 15,
            "duplicateName": "Schema-15"
        },
        {
            "name": "Schema",
            "id": "interface-Schema-90e62c16ce9ada881e8d434336bb633dae9745236106ddf60964afbd11de6aa579255a13d6036b384281860eb6ed2ee329194b519c51fdaf20f79bc511d0f64f-16",
            "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstBoundAttribute, TmplAstElement, TmplAstNode, TmplAstTextAttribute } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\nconst INPUT_RENAMES = new Map([\n  ['iconLabelClass', 'icon'],\n  ['iconLabelStyleClass', 'fillColor'],\n]);\n\nexport function migrateEuiProgressCircle(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    let count = 0;\n    const oldNames = [...INPUT_RENAMES.keys()];\n\n    const dir = tree.getDir(scanPath || '/');\n    visitDir(dir, (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) return;\n\n      const original = buffer.toString('utf-8');\n\n      if (original.includes('eui-progress-circle')) {\n        const result = path.endsWith('.html')\n          ? migrateTemplate(original)\n          : migrateInlineTemplates(original);\n\n        if (result !== original) {\n          if (options.dryRun) {\n            logDryRun(context, `Would rename deprecated inputs in ${path}`);\n          } else {\n            tree.overwrite(path, result);\n          }\n          count++;\n        }\n      }\n\n      // Warn about TS property access usages (merged from warnTsUsages)\n      if (path.endsWith('.ts') && !path.endsWith('.spec.ts')) {\n        if (oldNames.some((name) => original.includes(name))) {\n          const sourceFile = ts.createSourceFile(path, original, ts.ScriptTarget.Latest, true);\n\n          const visit = (node: ts.Node): void => {\n            if (ts.isPropertyAccessExpression(node) && ts.isIdentifier(node.name) && INPUT_RENAMES.has(node.name.text)) {\n              const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());\n              const newName = INPUT_RENAMES.get(node.name.text);\n              context.logger.warn(\n                `${path}:${line + 1} - \"${node.name.text}\" has been renamed to \"${newName}\" on eui-progress-circle. Update this reference manually.`,\n              );\n            }\n            ts.forEachChild(node, visit);\n          };\n\n          visit(sourceFile);\n        }\n      }\n    });\n\n    context.logger.info(`Renamed deprecated eui-progress-circle inputs in ${count} file(s).`);\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n    return tree;\n  };\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n\nfunction migrateTemplate(source: string): string {\n  const parsed = parseTemplate(source, '', { preserveWhitespaces: true });\n  const edits: { start: number; end: number; replacement: string }[] = [];\n\n  visitNodes(parsed.nodes, edits);\n\n  return applyEdits(source, edits);\n}\n\nfunction migrateInlineTemplates(source: string): string {\n  const sourceFile = ts.createSourceFile('', source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const changes: { start: number; end: number; text: string }[] = [];\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAssignment(node) && isTemplateProperty(node) && isComponentMetadataProperty(node)) {\n      const init = unwrapExpression(node.initializer);\n      if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) {\n        const start = init.getStart(sourceFile) + 1;\n        const end = init.getEnd() - 1;\n        const rawTemplate = source.slice(start, end);\n        if (!rawTemplate.includes('eui-progress-circle')) {\n          ts.forEachChild(node, visit);\n          return;\n        }\n        const migrated = migrateTemplate(rawTemplate);\n        if (migrated !== rawTemplate) {\n          changes.push({ start, end, text: migrated });\n        }\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n\n  let result = source;\n  for (const change of changes.sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, change.start) + change.text + result.slice(change.end);\n  }\n  return result;\n}\n\nfunction isTemplateProperty(node: ts.PropertyAssignment): boolean {\n  const name = node.name;\n  return (ts.isIdentifier(name) && name.text === 'template') || (ts.isStringLiteral(name) && name.text === 'template');\n}\n\nfunction isComponentMetadataProperty(node: ts.PropertyAssignment): boolean {\n  const objectLiteral = node.parent;\n  if (!ts.isObjectLiteralExpression(objectLiteral)) return false;\n  const callExpression = objectLiteral.parent;\n  if (!ts.isCallExpression(callExpression) || callExpression.arguments[0] !== objectLiteral) return false;\n  return ts.isDecorator(callExpression.parent) && ts.isIdentifier(callExpression.expression) && callExpression.expression.text === 'Component';\n}\n\nfunction unwrapExpression(expression: ts.Expression): ts.Expression {\n  let current = expression;\n  while (ts.isParenthesizedExpression(current)) {\n    current = current.expression;\n  }\n  return current;\n}\n\nfunction visitNodes(nodes: TmplAstNode[], edits: { start: number; end: number; replacement: string }[]): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      if (node.name === 'eui-progress-circle') {\n        collectRenames(node, edits);\n      }\n      visitNodes(node.children, edits);\n    }\n  }\n}\n\nfunction collectRenames(element: TmplAstElement, edits: { start: number; end: number; replacement: string }[]): void {\n  for (const attr of element.attributes) {\n    const newName = INPUT_RENAMES.get(attr.name);\n    if (newName) {\n      edits.push({ start: attr.keySpan!.start.offset, end: attr.keySpan!.end.offset, replacement: newName });\n    }\n  }\n  for (const input of element.inputs) {\n    const newName = INPUT_RENAMES.get(input.name);\n    if (newName) {\n      edits.push({ start: input.keySpan!.start.offset, end: input.keySpan!.end.offset, replacement: newName });\n    }\n  }\n}\n\nfunction applyEdits(source: string, edits: { start: number; end: number; replacement: string }[]): string {\n  let result = source;\n  for (const edit of edits.sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, edit.start) + edit.replacement + result.slice(edit.end);\n  }\n  return result;\n}\n",
            "properties": [
                {
                    "name": "dryRun",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 7
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [],
            "isDuplicate": true,
            "duplicateId": 16,
            "duplicateName": "Schema-16"
        },
        {
            "name": "Schema",
            "id": "interface-Schema-91c9f900bf3ebb82488fb65644938ef486ceaa447cff8bfd9d710df9595d82acb267b26f3c252173bc684353f362473120226426ed7ee5d98b33e30011dd9383-17",
            "file": "packages/core/schematics/migrate-eui-table/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { BindingPipe, parseTemplate, TmplAstBoundAttribute, TmplAstBoundEvent, TmplAstBoundText, TmplAstElement, TmplAstNode, TmplAstTemplate, TmplAstTextAttribute, AST, ASTWithSource, Interpolation } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\ninterface Edit { start: number; end: number; replacement: string; }\n\n// --- Table-level input renames (on elements with euiTable attribute) ---\nconst TABLE_INPUT_RENAMES = new Map([\n  ['rows', 'data'],\n  ['loading', 'isLoading'],\n  ['asyncTable', 'isAsync'],\n  ['euiTableResponsive', 'isTableResponsive'],\n  ['euiTableFixedLayout', 'isTableFixedLayout'],\n  ['euiTableCompact', 'isTableCompact'],\n  ['hasStickyColumns', 'hasStickyCols'],\n]);\n\n// --- Child element input renames (scoped to euiTable context) ---\nconst TH_TD_INPUT_RENAMES = new Map([\n  ['isStickyColumn', 'isStickyCol'],\n  ['sortable', 'isSortable'],\n]);\n\nconst TR_INPUT_RENAMES = new Map([\n  ['isSelectableHeader', 'isHeaderSelectable'],\n  ['isSelectable', 'isDataSelectable'],\n]);\n\n// --- Removed inputs ---\nconst REMOVED_INPUTS = new Set(['euiTableBordered', 'isHoverable', 'defaultMultiOrder', 'paginable']);\n\n// --- Output renames/removals ---\nconst OUTPUT_RENAMES = new Map([['selectedRows', 'rowsSelect']]);\nconst REMOVED_OUTPUTS = new Set(['multiSortChange']);\n\n// --- Pipe rename ---\nconst OLD_PIPE = 'euiTableHighlightFilter';\nconst NEW_PIPE = 'euiTableHighlight';\n\n// --- TS property renames ---\nconst TS_PROPERTY_RENAMES = new Map([['filteredRows', 'getFilteredData']]);\n\nconst PAGINATOR_IMPORT_PATH = '@eui/components/eui-paginator';\nconst PAGINATOR_COMPONENT = 'EuiPaginatorComponent';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\nexport function migrateEuiTable(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    let count = 0;\n    const paginatorHtmlFiles = new Set<string>();\n\n    visitDir(tree.getDir(scanPath || '/'), (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) return;\n\n      const original = buffer.toString('utf-8');\n      if (!original.includes('euiTable') && !original.includes(OLD_PIPE) && !original.includes('filteredRows') && !original.includes('setSort')) return;\n\n      let result: string;\n\n      if (path.endsWith('.html')) {\n        const { output, hasPaginator } = migrateTemplateWithPaginator(original, path, context);\n        result = output;\n        if (hasPaginator) paginatorHtmlFiles.add(path);\n      } else {\n        const { output, hasPaginator } = migrateTypeScript(original, path, context);\n        result = output;\n        if (hasPaginator) {\n          result = addPaginatorImport(result, path);\n        }\n      }\n\n      if (result !== original) {\n        if (options.dryRun) {\n          logDryRun(context, `Would migrate eui-table breaking changes in ${path}`);\n        } else {\n          tree.overwrite(path, result);\n        }\n        count++;\n      }\n    });\n\n    // Handle paginator imports for external templates\n    if (paginatorHtmlFiles.size > 0) {\n      visitDir(tree.getDir(scanPath || '/'), (path) => {\n        if (!path.endsWith('.ts')) return;\n\n        const buffer = tree.read(path);\n        if (!buffer) return;\n\n        const source = buffer.toString('utf-8');\n        if (!source.includes('templateUrl')) return;\n\n        for (const htmlFile of paginatorHtmlFiles) {\n          const htmlFileName = htmlFile.split('/').pop()!;\n          if (source.includes(htmlFileName)) {\n            const updated = addPaginatorImport(source, path);\n            if (updated !== source) {\n              if (options.dryRun) {\n                logDryRun(context, `Would add paginator import in ${path}`);\n              } else {\n                tree.overwrite(path, updated);\n              }\n              count++;\n            }\n            break;\n          }\n        }\n      });\n    }\n\n    context.logger.info(`Migrated eui-table in ${count} file(s).`);\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n    return tree;\n  };\n}\n\nfunction migrateTemplateWithPaginator(source: string, filePath: string, context: SchematicContext): { output: string; hasPaginator: boolean } {\n  const parsed = parseTemplate(source, '', { preserveWhitespaces: true });\n  const edits: Edit[] = [];\n  let hasPaginator = false;\n\n  const paginatorResult = visitNodesForTable(parsed.nodes, source, edits, false, filePath, context);\n  if (paginatorResult) hasPaginator = true;\n\n  collectPipeRenames(parsed.nodes, source, edits);\n\n  return { output: applyEdits(source, edits), hasPaginator };\n}\n\nfunction migrateTemplate(source: string, filePath: string, context: SchematicContext): string {\n  return migrateTemplateWithPaginator(source, filePath, context).output;\n}\n\nfunction migrateTypeScript(source: string, filePath: string, context: SchematicContext): { output: string; hasPaginator: boolean } {\n  let result = source;\n  let hasPaginator = false;\n\n  // Migrate inline templates\n  const sourceFile = ts.createSourceFile('', source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const changes: Edit[] = [];\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAssignment(node) && isTemplateProperty(node) && isComponentMetadataProperty(node)) {\n      const init = unwrapExpression(node.initializer);\n      if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) {\n        const start = init.getStart(sourceFile) + 1;\n        const end = init.getEnd() - 1;\n        const rawTemplate = result.slice(start, end);\n        if (!rawTemplate.includes('euiTable') && !rawTemplate.includes(OLD_PIPE)) {\n ts.forEachChild(node, visit); return;\n}\n        const { output: migrated, hasPaginator: pag } = migrateTemplateWithPaginator(rawTemplate, filePath, context);\n        if (pag) hasPaginator = true;\n        if (migrated !== rawTemplate) changes.push({ start, end, replacement: migrated });\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n  result = applyEdits(result, changes);\n\n  // Rename TS property accesses\n  result = renameTsProperties(result);\n\n  // Warn about setSort\n  warnSetSort(result, filePath, context);\n\n  return { output: result, hasPaginator };\n}\n\nfunction renameTsProperties(source: string): string {\n  const sourceFile = ts.createSourceFile('', source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const edits: Edit[] = [];\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAccessExpression(node) && ts.isIdentifier(node.name) && TS_PROPERTY_RENAMES.has(node.name.text)) {\n      edits.push({ start: node.name.getStart(sourceFile), end: node.name.getEnd(), replacement: TS_PROPERTY_RENAMES.get(node.name.text)! });\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n  return applyEdits(source, edits);\n}\n\nfunction warnSetSort(source: string, filePath: string, context: SchematicContext): void {\n  if (!source.includes('setSort')) return;\n\n  const sourceFile = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true);\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isCallExpression(node) && ts.isPropertyAccessExpression(node.expression) &&\n        ts.isIdentifier(node.expression.name) && node.expression.name.text === 'setSort') {\n      const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());\n      context.logger.warn(\n        `${filePath}:${line + 1} - \"setSort\" signature changed from setSort(sort: string, order: \"asc\" | \"desc\") to setSort(Sort[]). Update manually.`,\n      );\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n}\n\n// --- Template AST visitors ---\n\nfunction visitNodesForTable(\n  nodes: TmplAstNode[], source: string, edits: Edit[], insideEuiTable: boolean, filePath: string, context: SchematicContext,\n): boolean {\n  let hasPaginator = false;\n\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      const isEuiTable = hasEuiTableAttribute(node);\n\n      if (isEuiTable) {\n        collectTableInputRenames(node, edits);\n        collectInputRemovals(node, source, edits, filePath, context);\n        collectOutputChanges(node, source, edits, filePath, context);\n        if (collectPaginatorMigration(node, source, edits)) hasPaginator = true;\n      }\n\n      if (isEuiTable || insideEuiTable) {\n        collectChildElementRenames(node, edits);\n        collectChildInputRemovals(node, source, edits, filePath, context);\n        collectEmptyMessageRename(node, edits);\n      }\n\n      const childResult = visitNodesForTable(node.children, source, edits, isEuiTable || insideEuiTable, filePath, context);\n      if (childResult) hasPaginator = true;\n    }\n\n    if (node instanceof TmplAstTemplate) {\n      if (insideEuiTable) {\n        collectTemplateEmptyMessageRename(node, edits);\n      }\n      const childResult = visitNodesForTable(node.children, source, edits, insideEuiTable, filePath, context);\n      if (childResult) hasPaginator = true;\n    }\n  }\n\n  return hasPaginator;\n}\n\nfunction hasEuiTableAttribute(element: TmplAstElement): boolean {\n  return element.attributes.some((a) => a.name === 'euiTable') ||\n    element.inputs.some((i) => i.name === 'euiTable');\n}\n\nfunction collectTableInputRenames(element: TmplAstElement, edits: Edit[]): void {\n  for (const attr of element.attributes) {\n    const newName = TABLE_INPUT_RENAMES.get(attr.name);\n    if (newName) edits.push({ start: attr.keySpan!.start.offset, end: attr.keySpan!.end.offset, replacement: newName });\n  }\n  for (const input of element.inputs) {\n    const newName = TABLE_INPUT_RENAMES.get(input.name);\n    if (newName) edits.push({ start: input.keySpan!.start.offset, end: input.keySpan!.end.offset, replacement: newName });\n  }\n}\n\nfunction collectChildElementRenames(element: TmplAstElement, edits: Edit[]): void {\n  const renames = (element.name === 'th' || element.name === 'td') ? TH_TD_INPUT_RENAMES\n    : element.name === 'tr' ? TR_INPUT_RENAMES : null;\n  if (!renames) return;\n\n  for (const attr of element.attributes) {\n    const newName = renames.get(attr.name);\n    if (newName) edits.push({ start: attr.keySpan!.start.offset, end: attr.keySpan!.end.offset, replacement: newName });\n  }\n  for (const input of element.inputs) {\n    const newName = renames.get(input.name);\n    if (newName) edits.push({ start: input.keySpan!.start.offset, end: input.keySpan!.end.offset, replacement: newName });\n  }\n}\n\nfunction collectChildInputRemovals(element: TmplAstElement, source: string, edits: Edit[], filePath: string, context: SchematicContext): void {\n  const childRemovedInputs = new Set(['defaultMultiOrder']);\n\n  for (const attr of element.attributes) {\n    if (childRemovedInputs.has(attr.name)) {\n      removeAttribute(attr.sourceSpan.start.offset, attr.sourceSpan.end.offset, source, edits);\n      logRemovalWarning(attr.name, filePath, element, context);\n    }\n  }\n  for (const input of element.inputs) {\n    if (childRemovedInputs.has(input.name)) {\n      removeAttribute(input.sourceSpan.start.offset, input.sourceSpan.end.offset, source, edits);\n      logRemovalWarning(input.name, filePath, element, context);\n    }\n  }\n}\n\nfunction collectInputRemovals(element: TmplAstElement, source: string, edits: Edit[], filePath: string, context: SchematicContext): void {\n  for (const attr of element.attributes) {\n    if (REMOVED_INPUTS.has(attr.name) && attr.name !== 'paginable') {\n      removeAttribute(attr.sourceSpan.start.offset, attr.sourceSpan.end.offset, source, edits);\n      logRemovalWarning(attr.name, filePath, element, context);\n    }\n  }\n  for (const input of element.inputs) {\n    if (REMOVED_INPUTS.has(input.name) && input.name !== 'paginable') {\n      removeAttribute(input.sourceSpan.start.offset, input.sourceSpan.end.offset, source, edits);\n      logRemovalWarning(input.name, filePath, element, context);\n    }\n  }\n}\n\nfunction collectOutputChanges(element: TmplAstElement, source: string, edits: Edit[], filePath: string, context: SchematicContext): void {\n  for (const output of element.outputs) {\n    const newName = OUTPUT_RENAMES.get(output.name);\n    if (newName) {\n      edits.push({ start: output.keySpan!.start.offset, end: output.keySpan!.end.offset, replacement: newName });\n    }\n    if (REMOVED_OUTPUTS.has(output.name)) {\n      removeAttribute(output.sourceSpan.start.offset, output.sourceSpan.end.offset, source, edits);\n      const { line } = element.startSourceSpan.start;\n      context.logger.warn(\n        `${filePath}:${line + 1} - \"(${output.name})\" removed. Multi-sort is now supported by (sortChange) output.`,\n      );\n    }\n  }\n}\n\nfunction collectPaginatorMigration(element: TmplAstElement, source: string, edits: Edit[]): boolean {\n  let found = false;\n\n  for (const attr of element.attributes) {\n    if (attr.name === 'paginable') {\n      removeAttribute(attr.sourceSpan.start.offset, attr.sourceSpan.end.offset, source, edits);\n      found = true;\n    }\n  }\n  for (const input of element.inputs) {\n    if (input.name === 'paginable') {\n      removeAttribute(input.sourceSpan.start.offset, input.sourceSpan.end.offset, source, edits);\n      found = true;\n    }\n  }\n\n  if (found) {\n    // Add [paginator]=\"paginator\" before closing > of opening tag\n    const insertPos = element.startSourceSpan.end.offset - 1;\n    edits.push({ start: insertPos, end: insertPos, replacement: ' [paginator]=\"paginator\"' });\n\n    // Add eui-paginator after </table>\n    if (element.endSourceSpan) {\n      const afterTable = element.endSourceSpan.end.offset;\n      edits.push({\n        start: afterTable,\n        end: afterTable,\n        replacement: '\\n<!-- TODO: Configure paginator and implement onPageChange handler -->\\n<eui-paginator #paginator [pageSize]=\"10\" [pageSizeOptions]=\"[5, 10, 25, 50]\" />',\n      });\n    }\n  }\n\n  return found;\n}\n\nfunction collectEmptyMessageRename(element: TmplAstElement, edits: Edit[]): void {\n  // Handle direct attribute on elements (unlikely but handle)\n  for (const attr of element.attributes) {\n    if (attr.name === 'euiTemplate' && attr.value === 'emptyMessage' && attr.valueSpan) {\n      edits.push({ start: attr.valueSpan.start.offset, end: attr.valueSpan.end.offset, replacement: 'footer' });\n    }\n  }\n}\n\nfunction collectTemplateEmptyMessageRename(template: TmplAstTemplate, edits: Edit[]): void {\n  for (const attr of template.templateAttrs) {\n    if (attr instanceof TmplAstTextAttribute && attr.name === 'euiTemplate' && attr.value === 'emptyMessage' && attr.valueSpan) {\n      edits.push({ start: attr.valueSpan.start.offset, end: attr.valueSpan.end.offset, replacement: 'footer' });\n    }\n  }\n  for (const attr of template.attributes) {\n    if (attr.name === 'euiTemplate' && attr.value === 'emptyMessage' && attr.valueSpan) {\n      edits.push({ start: attr.valueSpan.start.offset, end: attr.valueSpan.end.offset, replacement: 'footer' });\n    }\n  }\n}\n\n// --- Pipe rename via AST ---\n\nfunction collectPipeRenames(nodes: TmplAstNode[], source: string, edits: Edit[]): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      for (const input of node.inputs) {\n        visitExpressionForPipes(input.value, edits);\n      }\n      for (const output of node.outputs) {\n        if (output.handler) visitExpressionForPipes(output.handler, edits);\n      }\n      collectPipeRenames(node.children, source, edits);\n    }\n    if (node instanceof TmplAstTemplate) {\n      for (const input of node.inputs) {\n        visitExpressionForPipes(input.value, edits);\n      }\n      collectPipeRenames(node.children, source, edits);\n    }\n    if (node instanceof TmplAstBoundText) {\n      visitExpressionForPipes(node.value, edits);\n    }\n  }\n}\n\nfunction visitExpressionForPipes(expr: AST, edits: Edit[]): void {\n  if (expr instanceof ASTWithSource && expr.ast) {\n    visitAstForPipes(expr.ast, edits);\n  } else {\n    visitAstForPipes(expr, edits);\n  }\n}\n\nfunction visitAstForPipes(ast: AST, edits: Edit[]): void {\n  if (ast instanceof BindingPipe) {\n    if (ast.name === OLD_PIPE && ast.nameSpan) {\n      edits.push({ start: ast.nameSpan.start, end: ast.nameSpan.end, replacement: NEW_PIPE });\n    }\n    visitAstForPipes(ast.exp, edits);\n    for (const arg of ast.args) {\n      visitAstForPipes(arg, edits);\n    }\n    return;\n  }\n\n  if (ast instanceof Interpolation) {\n    for (const expr of ast.expressions) {\n      visitAstForPipes(expr, edits);\n    }\n    return;\n  }\n\n  // Recursively visit all properties that could contain AST nodes\n  for (const key of Object.keys(ast)) {\n    // eslint-disable-next-line\n    const val = (ast as any)[key];\n    if (val instanceof AST) {\n      visitAstForPipes(val, edits);\n    } else if (Array.isArray(val)) {\n      for (const item of val) {\n        if (item instanceof AST) visitAstForPipes(item, edits);\n      }\n    }\n  }\n}\n\n// --- Import handling for paginator ---\n\nfunction addPaginatorImport(source: string, filePath: string): string {\n  if (source.includes(PAGINATOR_COMPONENT)) return source;\n\n  const sourceFile = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const edits: Edit[] = [];\n\n  // Add import statement after last import\n  let lastImportEnd = 0;\n  for (const stmt of sourceFile.statements) {\n    if (ts.isImportDeclaration(stmt)) {\n      lastImportEnd = stmt.getEnd();\n    }\n  }\n\n  if (lastImportEnd > 0) {\n    edits.push({\n      start: lastImportEnd,\n      end: lastImportEnd,\n      replacement: `\\nimport { ${PAGINATOR_COMPONENT} } from '${PAGINATOR_IMPORT_PATH}';`,\n    });\n  }\n\n  // Add to component imports array\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAssignment(node) && ts.isIdentifier(node.name) && node.name.text === 'imports' && isComponentMetadataProperty(node)) {\n      if (ts.isArrayLiteralExpression(node.initializer)) {\n        const arr = node.initializer;\n        const elements = arr.elements;\n        if (elements.length > 0) {\n          const lastElement = elements[elements.length - 1];\n          edits.push({\n            start: lastElement.getEnd(),\n            end: lastElement.getEnd(),\n            replacement: `, ${PAGINATOR_COMPONENT}`,\n          });\n        } else {\n          const insertPos = arr.getStart(sourceFile) + 1;\n          edits.push({ start: insertPos, end: insertPos, replacement: PAGINATOR_COMPONENT });\n        }\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n\n  return applyEdits(source, edits);\n}\n\n// --- Helpers ---\n\nfunction removeAttribute(start: number, end: number, source: string, edits: Edit[]): void {\n  let adjustedStart = start;\n  while (adjustedStart > 0 && (source[adjustedStart - 1] === ' ' || source[adjustedStart - 1] === '\\t')) {\n    adjustedStart--;\n  }\n  edits.push({ start: adjustedStart, end, replacement: '' });\n}\n\nfunction logRemovalWarning(name: string, filePath: string, element: TmplAstElement, context: SchematicContext): void {\n  const { line } = element.startSourceSpan.start;\n  if (name === 'defaultMultiOrder') {\n    context.logger.warn(`${filePath}:${line + 1} - \"[${name}]\" removed. Use setSort(Sort[]) to initialize sorting.`);\n  } else {\n    context.logger.warn(`${filePath}:${line + 1} - \"[${name}]\" removed to align to Design System.`);\n  }\n}\n\nfunction isTemplateProperty(node: ts.PropertyAssignment): boolean {\n  const name = node.name;\n  return (ts.isIdentifier(name) && name.text === 'template') || (ts.isStringLiteral(name) && name.text === 'template');\n}\n\nfunction isComponentMetadataProperty(node: ts.PropertyAssignment): boolean {\n  const objectLiteral = node.parent;\n  if (!ts.isObjectLiteralExpression(objectLiteral)) return false;\n  const callExpression = objectLiteral.parent;\n  if (!ts.isCallExpression(callExpression) || callExpression.arguments[0] !== objectLiteral) return false;\n  return ts.isDecorator(callExpression.parent) && ts.isIdentifier(callExpression.expression) && callExpression.expression.text === 'Component';\n}\n\nfunction unwrapExpression(expression: ts.Expression): ts.Expression {\n  let current = expression;\n  while (ts.isParenthesizedExpression(current)) current = current.expression;\n  return current;\n}\n\nfunction applyEdits(source: string, edits: Edit[]): string {\n  const unique = new Map<string, Edit>();\n  for (const edit of edits) {\n    const key = `${edit.start}:${edit.end}`;\n    unique.set(key, edit);\n  }\n  let result = source;\n  for (const edit of [...unique.values()].sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, edit.start) + edit.replacement + result.slice(edit.end);\n  }\n  return result;\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n",
            "properties": [
                {
                    "name": "dryRun",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 49
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 48
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [],
            "isDuplicate": true,
            "duplicateId": 17,
            "duplicateName": "Schema-17"
        },
        {
            "name": "Schema",
            "id": "interface-Schema-760dec88d3f709d5b38226e55f7cbfb1e5fabcea6c004fd46e611be1dd563b8b247e9e6c77667e5582fe7b443374ba2c4facd2b2db2985edb46c9a4a37a8a876-18",
            "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstElement, TmplAstNode } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\ninterface TextChange {\n  start: number;\n  end: number;\n  text: string;\n}\n\ninterface MigrationResult {\n  content: string;\n  migrated: number;\n  skipped: number;\n}\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\nconst OLD_LABEL = 'eui-tab-label';\nconst OLD_SUB_LABEL = 'euiTabSubLabel';\nconst OLD_CONTENT = 'eui-tab-content';\nconst NEW_HEADER = 'eui-tab-header';\nconst NEW_HEADER_LABEL = 'eui-tab-header-label';\nconst NEW_HEADER_SUB_LABEL = 'eui-tab-header-sub-label';\nconst NEW_BODY = 'eui-tab-body';\n\nexport function migrateEuiTabs(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    let migrated = 0;\n    let skipped = 0;\n\n    visitDir(tree.getDir(scanPath || '/'), (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) {\n        return;\n      }\n\n      const original = buffer.toString('utf-8');\n      const result = path.endsWith('.html')\n        ? migrateTemplate(original, path, context)\n        : migrateInlineTemplates(original, path, context);\n\n      migrated += result.migrated;\n      skipped += result.skipped;\n\n      if (result.content !== original) {\n        if (options.dryRun) {\n          logDryRun(context, `Would migrate ${result.migrated} tab block(s) in ${path}`);\n        } else {\n          tree.overwrite(path, result.content);\n        }\n      }\n    });\n\n    context.logger.info(`Migrated ${migrated} EUI tab template block(s).`);\n    if (skipped > 0) {\n      context.logger.warn(`Skipped ${skipped} malformed EUI tab template block(s).`);\n    }\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n\n    return tree;\n  };\n}\n\nfunction migrateInlineTemplates(source: string, filePath: string, context: SchematicContext): MigrationResult {\n  const sourceFile = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const changes: TextChange[] = [];\n  let migrated = 0;\n  let skipped = 0;\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAssignment(node) && isTemplateProperty(node) && isComponentMetadataProperty(node)) {\n      const initializer = unwrapExpression(node.initializer);\n\n      if (ts.isStringLiteral(initializer) || ts.isNoSubstitutionTemplateLiteral(initializer)) {\n        const start = initializer.getStart(sourceFile) + 1;\n        const end = initializer.getEnd() - 1;\n        const rawTemplate = source.slice(start, end);\n        const result = migrateTemplate(rawTemplate, `${filePath}@inline-template`, context);\n\n        migrated += result.migrated;\n        skipped += result.skipped;\n\n        if (result.content !== rawTemplate) {\n          changes.push({ start, end, text: result.content });\n        }\n      } else if (ts.isTemplateExpression(initializer)) {\n        context.logger.warn(`Skipping interpolated inline template in ${filePath}.`);\n        skipped++;\n      }\n    }\n\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n\n  return {\n    content: applyChanges(source, changes),\n    migrated,\n    skipped,\n  };\n}\n\nfunction isTemplateProperty(node: ts.PropertyAssignment): boolean {\n  const name = node.name;\n  return (\n    (ts.isIdentifier(name) && name.text === 'template') ||\n    (ts.isStringLiteral(name) && name.text === 'template')\n  );\n}\n\nfunction unwrapExpression(expression: ts.Expression): ts.Expression {\n  let current = expression;\n\n  while (ts.isParenthesizedExpression(current)) {\n    current = current.expression;\n  }\n\n  return current;\n}\n\nfunction isComponentMetadataProperty(node: ts.PropertyAssignment): boolean {\n  const objectLiteral = node.parent;\n  if (!ts.isObjectLiteralExpression(objectLiteral)) {\n    return false;\n  }\n\n  const callExpression = objectLiteral.parent;\n  if (!ts.isCallExpression(callExpression) || callExpression.arguments[0] !== objectLiteral) {\n    return false;\n  }\n\n  return (\n    ts.isDecorator(callExpression.parent) &&\n    ts.isIdentifier(callExpression.expression) &&\n    callExpression.expression.text === 'Component'\n  );\n}\n\nfunction migrateTemplate(source: string, filePath: string, context: SchematicContext): MigrationResult {\n  const parsed = parseTemplate(source, filePath, { preserveWhitespaces: true });\n  const changes: TextChange[] = [];\n  let migrated = 0;\n  let skipped = 0;\n\n  for (const error of parsed.errors ?? []) {\n    context.logger.warn(`Template parse warning in ${filePath}: ${error.msg}`);\n  }\n\n  for (const tab of findElements(parsed.nodes, 'eui-tab')) {\n    const label = findDirectChild(tab, OLD_LABEL);\n    const content = findDirectChild(tab, OLD_CONTENT);\n    const hasOldMarkup = Boolean(label || content);\n    const hasNewMarkup = Boolean(findDirectChild(tab, NEW_HEADER) || findDirectChild(tab, NEW_BODY));\n\n    if (!hasOldMarkup || hasNewMarkup) {\n      continue;\n    }\n\n    if (!label || !content) {\n      context.logger.warn(`Skipping malformed <eui-tab> in ${filePath}.`);\n      skipped++;\n      continue;\n    }\n\n    changes.push({\n      start: label.sourceSpan.start.offset,\n      end: label.sourceSpan.end.offset,\n      text: buildHeaderReplacement(source, label),\n    });\n    changes.push({\n      start: content.sourceSpan.start.offset,\n      end: content.sourceSpan.end.offset,\n      text: buildBodyReplacement(source, content),\n    });\n    migrated++;\n  }\n\n  return {\n    content: applyChanges(source, withoutOverlaps(changes)),\n    migrated,\n    skipped,\n  };\n}\n\nfunction findElements(nodes: readonly TmplAstNode[], name: string): TmplAstElement[] {\n  const matches: TmplAstElement[] = [];\n\n  for (const node of nodes) {\n    if (isElement(node)) {\n      if (node.name === name) {\n        matches.push(node);\n      }\n      matches.push(...findElements(node.children, name));\n    }\n  }\n\n  return matches;\n}\n\nfunction findDirectChild(element: TmplAstElement, name: string): TmplAstElement | undefined {\n  return element.children.find((child): child is TmplAstElement => isElement(child) && child.name === name);\n}\n\nfunction isElement(node: TmplAstNode): node is TmplAstElement {\n  return node instanceof TmplAstElement;\n}\n\nfunction buildHeaderReplacement(source: string, label: TmplAstElement): string {\n  const indent = getIndent(source, label.sourceSpan.start.offset);\n  const labelAttributes = getAttributeText(source, label, OLD_LABEL);\n  const subLabels = findElements(label.children, OLD_SUB_LABEL);\n  const mainLabelContent = removeElementRanges(getInnerText(source, label), label, subLabels);\n  const lines = [\n    `<${NEW_HEADER}>`,\n    `${indent}    <${NEW_HEADER_LABEL}${labelAttributes}>`,\n    ...formatInnerLines(mainLabelContent, `${indent}        `),\n    `${indent}    </${NEW_HEADER_LABEL}>`,\n  ];\n\n  for (const subLabel of subLabels) {\n    const subLabelAttributes = getAttributeText(source, subLabel, OLD_SUB_LABEL);\n    lines.push(\n      `${indent}    <${NEW_HEADER_SUB_LABEL}${subLabelAttributes}>`,\n      ...formatInnerLines(getInnerText(source, subLabel), `${indent}        `),\n      `${indent}    </${NEW_HEADER_SUB_LABEL}>`,\n    );\n  }\n\n  lines.push(`${indent}</${NEW_HEADER}>`);\n\n  return lines.join('\\n');\n}\n\nfunction buildBodyReplacement(source: string, content: TmplAstElement): string {\n  const indent = getIndent(source, content.sourceSpan.start.offset);\n  const attributes = getAttributeText(source, content, OLD_CONTENT);\n  const innerText = getInnerText(source, content);\n  const trimmed = innerText.trim();\n\n  if (trimmed && !trimmed.includes('\\n')) {\n    return `<${NEW_BODY}${attributes}>${trimmed}</${NEW_BODY}>`;\n  }\n\n  return [\n    `<${NEW_BODY}${attributes}>`,\n    ...formatInnerLines(innerText, `${indent}    `),\n    `${indent}</${NEW_BODY}>`,\n  ].join('\\n');\n}\n\nfunction getInnerText(source: string, element: TmplAstElement): string {\n  if (!element.endSourceSpan) {\n    return '';\n  }\n\n  return source.slice(element.startSourceSpan.end.offset, element.endSourceSpan.start.offset);\n}\n\nfunction removeElementRanges(source: string, parent: TmplAstElement, elements: readonly TmplAstElement[]): string {\n  const parentContentStart = parent.startSourceSpan.end.offset;\n  let result = source;\n\n  for (const element of [...elements].sort((a, b) => b.sourceSpan.start.offset - a.sourceSpan.start.offset)) {\n    const start = element.sourceSpan.start.offset - parentContentStart;\n    const end = element.sourceSpan.end.offset - parentContentStart;\n    result = result.slice(0, start) + result.slice(end);\n  }\n\n  return result;\n}\n\nfunction getAttributeText(source: string, element: TmplAstElement, tagName: string): string {\n  const startTag = source.slice(element.startSourceSpan.start.offset, element.startSourceSpan.end.offset);\n  const tagStart = startTag.indexOf(tagName);\n\n  if (tagStart === -1) {\n    return '';\n  }\n\n  const contentEnd = startTag.endsWith('/>') ? startTag.length - 2 : startTag.length - 1;\n  return startTag.slice(tagStart + tagName.length, contentEnd).trimEnd();\n}\n\nfunction getIndent(source: string, offset: number): string {\n  const lineStart = source.lastIndexOf('\\n', offset - 1) + 1;\n  const prefix = source.slice(lineStart, offset);\n  return prefix.match(/^\\s*/)?.[0] ?? '';\n}\n\nfunction formatInnerLines(source: string, indent: string): string[] {\n  const trimmed = source.trim();\n\n  if (!trimmed) {\n    return [];\n  }\n\n  return trimmed.split(/\\r?\\n/).map((line) => `${indent}${line.trim()}`);\n}\n\nfunction withoutOverlaps(changes: TextChange[]): TextChange[] {\n  const accepted: TextChange[] = [];\n\n  for (const change of [...changes].sort((a, b) => a.start - b.start || b.end - a.end)) {\n    if (!accepted.some((current) => change.start < current.end && current.start < change.end)) {\n      accepted.push(change);\n    }\n  }\n\n  return accepted;\n}\n\nfunction applyChanges(source: string, changes: readonly TextChange[]): string {\n  let result = source;\n\n  for (const change of [...changes].sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, change.start) + change.text + result.slice(change.end);\n  }\n\n  return result;\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n",
            "properties": [
                {
                    "name": "dryRun",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 20
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 19
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [],
            "isDuplicate": true,
            "duplicateId": 18,
            "duplicateName": "Schema-18"
        },
        {
            "name": "Schema",
            "id": "interface-Schema-e1cd02924eb82a618c71a0b26c081bdd020519d2699aa0e2dc98640c4e0f347c3649b967c5fc87543e41bbbfabd1304835850ccc38f40684d6521c242b2030ed-19",
            "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstElement, TmplAstNode } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\nconst OLD_TAG = 'eui-toolbar-menu';\nconst NEW_TAG = 'eui-toolbar-mega-menu';\nconst OLD_COMPONENT = 'EuiToolbarMenuComponent';\nconst NEW_COMPONENT = 'EuiToolbarMegaMenuComponent';\nconst OLD_INTERFACE = 'ToolbarItem';\nconst NEW_INTERFACE = 'EuiMenuItem';\nconst NEW_COMPONENT_PATH = '@eui/components/layout';\nconst NEW_INTERFACE_PATH = '@eui/core';\nconst REMOVED_OUTPUT = 'menuItemClick';\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\ninterface Edit {\n  start: number;\n  end: number;\n  replacement: string;\n}\n\nexport function migrateEuiToolbarMenu(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    let fileCount = 0;\n\n    visitDir(tree.getDir(scanPath || '/'), (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) return;\n\n      const original = buffer.toString('utf-8');\n      if (!original.includes(OLD_TAG) && !original.includes(OLD_COMPONENT) && !original.includes(OLD_INTERFACE)) return;\n\n      let result: string;\n\n      if (path.endsWith('.html')) {\n        result = migrateTemplate(original, path, context);\n      } else {\n        result = migrateTypeScript(original, path, context);\n      }\n\n      if (result !== original) {\n        if (options.dryRun) {\n          logDryRun(context, `Would migrate eui-toolbar-menu → eui-toolbar-mega-menu in ${path}`);\n        } else {\n          tree.overwrite(path, result);\n        }\n        fileCount++;\n      }\n    });\n\n    context.logger.info(`Migrated eui-toolbar-menu → eui-toolbar-mega-menu in ${fileCount} file(s).`);\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n    return tree;\n  };\n}\n\nfunction migrateTemplate(source: string, filePath: string, context: SchematicContext): string {\n  const parsed = parseTemplate(source, '', { preserveWhitespaces: true });\n  const edits: Edit[] = [];\n\n  visitNodes(parsed.nodes, source, edits, filePath, context);\n\n  return applyEdits(source, edits);\n}\n\nfunction migrateTypeScript(source: string, filePath: string, context: SchematicContext): string {\n  let result = migrateInlineTemplates(source, filePath, context);\n  result = migrateImportsAndTypes(result, filePath, context);\n  return result;\n}\n\nfunction migrateInlineTemplates(source: string, filePath: string, context: SchematicContext): string {\n  const sourceFile = ts.createSourceFile('', source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const changes: Edit[] = [];\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAssignment(node) && isTemplateProperty(node) && isComponentMetadataProperty(node)) {\n      const init = unwrapExpression(node.initializer);\n      if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) {\n        const start = init.getStart(sourceFile) + 1;\n        const end = init.getEnd() - 1;\n        const rawTemplate = source.slice(start, end);\n        if (!rawTemplate.includes(OLD_TAG)) {\n ts.forEachChild(node, visit); return; \n}\n        const migrated = migrateTemplate(rawTemplate, filePath, context);\n        if (migrated !== rawTemplate) changes.push({ start, end, replacement: migrated });\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n  return applyEdits(source, changes);\n}\n\nfunction migrateImportsAndTypes(source: string, filePath: string, context: SchematicContext): string {\n  if (!source.includes(OLD_COMPONENT) && !source.includes(OLD_INTERFACE)) return source;\n\n  const sourceFile = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const edits: Edit[] = [];\n\n  // Track if EuiMenuItem is already imported from @eui/core\n  let hasEuiMenuItemImport = false;\n\n  // First pass: analyze imports\n  for (const stmt of sourceFile.statements) {\n    if (!ts.isImportDeclaration(stmt)) continue;\n    const moduleSpec = (stmt.moduleSpecifier as ts.StringLiteral).text;\n    const namedBindings = stmt.importClause?.namedBindings;\n    if (!namedBindings || !ts.isNamedImports(namedBindings)) continue;\n\n    for (const specifier of namedBindings.elements) {\n      if (specifier.name.text === NEW_INTERFACE && moduleSpec === NEW_INTERFACE_PATH) {\n        hasEuiMenuItemImport = true;\n      }\n    }\n  }\n\n  // Second pass: collect edits for import declarations\n  for (const stmt of sourceFile.statements) {\n    if (!ts.isImportDeclaration(stmt)) continue;\n    const namedBindings = stmt.importClause?.namedBindings;\n    if (!namedBindings || !ts.isNamedImports(namedBindings)) continue;\n\n    const moduleSpec = stmt.moduleSpecifier as ts.StringLiteral;\n    const specifiers = namedBindings.elements;\n    const hasComponent = specifiers.some((s) => s.name.text === OLD_COMPONENT);\n    const hasInterface = specifiers.some((s) => s.name.text === OLD_INTERFACE);\n\n    if (hasComponent && hasInterface) {\n      // Both are in the same import → must split into two different paths\n      const others = specifiers.filter((s) => s.name.text !== OLD_COMPONENT && s.name.text !== OLD_INTERFACE);\n      const lines: string[] = [];\n      lines.push(`import { ${NEW_COMPONENT} } from '${NEW_COMPONENT_PATH}';`);\n      if (!hasEuiMenuItemImport) {\n        lines.push(`import { ${NEW_INTERFACE} } from '${NEW_INTERFACE_PATH}';`);\n      }\n      if (others.length > 0) {\n        const otherNames = others.map((s) => s.name.text).join(', ');\n        lines.push(`import { ${otherNames} } from '${moduleSpec.text}';`);\n      }\n      edits.push({\n        start: stmt.getStart(sourceFile),\n        end: stmt.getEnd(),\n        replacement: lines.join('\\n'),\n      });\n    } else if (hasComponent) {\n      edits.push({\n        start: moduleSpec.getStart(sourceFile) + 1,\n        end: moduleSpec.getEnd() - 1,\n        replacement: NEW_COMPONENT_PATH,\n      });\n      for (const specifier of specifiers) {\n        if (specifier.name.text === OLD_COMPONENT) {\n          edits.push({\n            start: specifier.name.getStart(sourceFile),\n            end: specifier.name.getEnd(),\n            replacement: NEW_COMPONENT,\n          });\n        }\n      }\n    } else if (hasInterface) {\n      if (hasEuiMenuItemImport) {\n        removeImportSpecifier(namedBindings, specifiers.find((s) => s.name.text === OLD_INTERFACE)!, sourceFile, edits);\n      } else {\n        edits.push({\n          start: moduleSpec.getStart(sourceFile) + 1,\n          end: moduleSpec.getEnd() - 1,\n          replacement: NEW_INTERFACE_PATH,\n        });\n        for (const specifier of specifiers) {\n          if (specifier.name.text === OLD_INTERFACE) {\n            edits.push({\n              start: specifier.name.getStart(sourceFile),\n              end: specifier.name.getEnd(),\n              replacement: NEW_INTERFACE,\n            });\n          }\n        }\n      }\n    }\n  }\n\n  // Third pass: rename identifier references in non-import positions\n  const visitRefs = (node: ts.Node): void => {\n    if (ts.isImportDeclaration(node)) return; // skip imports (already handled)\n    if (ts.isIdentifier(node)) {\n      if (node.text === OLD_COMPONENT) {\n        edits.push({ start: node.getStart(sourceFile), end: node.getEnd(), replacement: NEW_COMPONENT });\n      }\n      if (node.text === OLD_INTERFACE) {\n        edits.push({ start: node.getStart(sourceFile), end: node.getEnd(), replacement: NEW_INTERFACE });\n      }\n    }\n    ts.forEachChild(node, visitRefs);\n  };\n\n  for (const stmt of sourceFile.statements) {\n    if (!ts.isImportDeclaration(stmt)) {\n      visitRefs(stmt);\n    }\n  }\n\n  // Warn about ToolbarItem-specific properties\n  warnRemovedProperties(sourceFile, filePath, context);\n\n  return applyEdits(source, edits);\n}\n\nfunction removeImportSpecifier(\n  namedImports: ts.NamedImports,\n  specifier: ts.ImportSpecifier,\n  sourceFile: ts.SourceFile,\n  edits: Edit[],\n): void {\n  const elements = namedImports.elements;\n  if (elements.length === 1) {\n    // Remove the entire import declaration\n    const importDecl = namedImports.parent.parent;\n    edits.push({\n      start: importDecl.getStart(sourceFile),\n      end: importDecl.getEnd(),\n      replacement: '',\n    });\n  } else {\n    // Remove just this specifier with surrounding comma/whitespace\n    const idx = elements.indexOf(specifier);\n    let start: number;\n    let end: number;\n    if (idx < elements.length - 1) {\n      start = specifier.getStart(sourceFile);\n      end = elements[idx + 1].getStart(sourceFile);\n    } else {\n      start = elements[idx - 1].getEnd();\n      end = specifier.getEnd();\n    }\n    edits.push({ start, end, replacement: '' });\n  }\n}\n\nfunction warnRemovedProperties(sourceFile: ts.SourceFile, filePath: string, context: SchematicContext): void {\n  const deprecated = ['isHome', 'isSeparator'];\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAccessExpression(node) && ts.isIdentifier(node.name) && deprecated.includes(node.name.text)) {\n      const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());\n      context.logger.warn(\n        `${filePath}:${line + 1} - \"${node.name.text}\" was part of ToolbarItem but does not exist on EuiMenuItem. Review manually.`,\n      );\n    }\n    if (ts.isPropertyAssignment(node) && ts.isIdentifier(node.name) && deprecated.includes(node.name.text)) {\n      const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());\n      context.logger.warn(\n        `${filePath}:${line + 1} - \"${node.name.text}\" was part of ToolbarItem but does not exist on EuiMenuItem. Review manually.`,\n      );\n    }\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n}\n\nfunction visitNodes(nodes: TmplAstNode[], source: string, edits: Edit[], filePath: string, context: SchematicContext): void {\n  for (const node of nodes) {\n    if (node instanceof TmplAstElement) {\n      if (node.name === OLD_TAG) {\n        collectTagRenames(node, source, edits);\n        collectOutputRemovals(node, source, edits, filePath, context);\n      }\n      visitNodes(node.children, source, edits, filePath, context);\n    }\n  }\n}\n\nfunction collectTagRenames(element: TmplAstElement, source: string, edits: Edit[]): void {\n  // Rename opening tag\n  const openStart = element.startSourceSpan.start.offset + 1; // skip '<'\n  edits.push({ start: openStart, end: openStart + OLD_TAG.length, replacement: NEW_TAG });\n\n  // Rename closing tag\n  if (element.endSourceSpan) {\n    const closeStart = element.endSourceSpan.start.offset + 2; // skip '</'\n    edits.push({ start: closeStart, end: closeStart + OLD_TAG.length, replacement: NEW_TAG });\n  }\n}\n\nfunction collectOutputRemovals(\n  element: TmplAstElement,\n  source: string,\n  edits: Edit[],\n  filePath: string,\n  context: SchematicContext,\n): void {\n  for (const output of element.outputs) {\n    if (output.name === REMOVED_OUTPUT) {\n      let start = output.sourceSpan.start.offset;\n      // Remove leading whitespace\n      while (start > 0 && (source[start - 1] === ' ' || source[start - 1] === '\\t')) {\n        start--;\n      }\n      edits.push({ start, end: output.sourceSpan.end.offset, replacement: '' });\n\n      const { line } = element.startSourceSpan.start;\n      context.logger.warn(\n        `${filePath}:${line + 1} - \"(menuItemClick)\" has been removed. There is no equivalent on eui-toolbar-mega-menu.`,\n      );\n    }\n  }\n}\n\nfunction isTemplateProperty(node: ts.PropertyAssignment): boolean {\n  const name = node.name;\n  return (ts.isIdentifier(name) && name.text === 'template') || (ts.isStringLiteral(name) && name.text === 'template');\n}\n\nfunction isComponentMetadataProperty(node: ts.PropertyAssignment): boolean {\n  const objectLiteral = node.parent;\n  if (!ts.isObjectLiteralExpression(objectLiteral)) return false;\n  const callExpression = objectLiteral.parent;\n  if (!ts.isCallExpression(callExpression) || callExpression.arguments[0] !== objectLiteral) return false;\n  return ts.isDecorator(callExpression.parent) && ts.isIdentifier(callExpression.expression) && callExpression.expression.text === 'Component';\n}\n\nfunction unwrapExpression(expression: ts.Expression): ts.Expression {\n  let current = expression;\n  while (ts.isParenthesizedExpression(current)) current = current.expression;\n  return current;\n}\n\nfunction applyEdits(source: string, edits: Edit[]): string {\n  // Deduplicate edits at same position (e.g. module path edits when both Component and ToolbarItem are from same source)\n  const unique = deduplicateEdits(edits);\n  let result = source;\n  for (const edit of unique.sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, edit.start) + edit.replacement + result.slice(edit.end);\n  }\n  return result;\n}\n\nfunction deduplicateEdits(edits: Edit[]): Edit[] {\n  const seen = new Map<string, Edit>();\n  for (const edit of edits) {\n    const key = `${edit.start}:${edit.end}`;\n    // Last wins for same range\n    seen.set(key, edit);\n  }\n  return Array.from(seen.values());\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n",
            "properties": [
                {
                    "name": "dryRun",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 18
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 17
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [],
            "isDuplicate": true,
            "duplicateId": 19,
            "duplicateName": "Schema-19"
        },
        {
            "name": "Schema",
            "id": "interface-Schema-817c4b549cc3eab9fcf4936acab2e71182d90a4480369f5c003cbbda10792efa587ad99d65acf049f64e7030e32589e4fabc4a6d7a5621e4fe54725ef91dc9e8-20",
            "file": "packages/core/schematics/migrate-to-standalone/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstElement, TmplAstNode } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\ninterface ModuleMapping {\n  importPath: string;\n  selectors: Record<string, string>;\n}\n\nconst MODULE_MAPPINGS: Record<string, ModuleMapping> = {\n  EuiAccordionModule: {\n    importPath: '@eui/components/eui-accordion',\n    selectors: {\n      'eui-accordion': 'EuiAccordionComponent',\n      'eui-accordion-item': 'EuiAccordionItemComponent',\n      euiAccordionItemHeader: 'EuiAccordionItemHeaderDirective',\n    },\n  },\n  EuiAlertModule: {\n    importPath: '@eui/components/eui-alert',\n    selectors: {\n      'eui-alert': 'EuiAlertComponent',\n      euiAlert: 'EuiAlertComponent',\n      'eui-alert-title': 'EuiAlertTitleComponent',\n    },\n  },\n  EuiAutocompleteModule: {\n    importPath: '@eui/components/eui-autocomplete',\n    selectors: {\n      'eui-autocomplete': 'EuiAutocompleteComponent',\n      euiAutocomplete: 'EuiAutocompleteComponent',\n      'eui-autocomplete-option': 'EuiAutocompleteOptionComponent',\n      'eui-autocomplete-option-group': 'EuiAutocompleteOptionGroupComponent',\n      'eui-autocomplete-panel': 'EuiAutocompletePanelComponent',\n    },\n  },\n  EuiAvatarModule: {\n    importPath: '@eui/components/eui-avatar',\n    selectors: {\n      'eui-avatar': 'EuiAvatarComponent',\n      euiAvatar: 'EuiAvatarComponent',\n    },\n  },\n  EuiBadgeModule: {\n    importPath: '@eui/components/eui-badge',\n    selectors: {\n      'eui-badge': 'EuiBadgeComponent',\n      euiBadge: 'EuiBadgeComponent',\n    },\n  },\n  EuiBlockContentModule: {\n    importPath: '@eui/components/eui-block-content',\n    selectors: {\n      'eui-block-content': 'EuiBlockContentComponent',\n    },\n  },\n  EuiBreadcrumbModule: {\n    importPath: '@eui/components/eui-breadcrumb',\n    selectors: {\n      'eui-breadcrumb': 'EuiBreadcrumbComponent',\n    },\n  },\n  EuiButtonModule: {\n    importPath: '@eui/components/eui-button',\n    selectors: {\n      euiButton: 'EuiButtonComponent',\n    },\n  },\n  EuiButtonGroupModule: {\n    importPath: '@eui/components/eui-button-group',\n    selectors: {\n      'eui-button-group': 'EuiButtonGroupComponent',\n    },\n  },\n  EuiCardModule: {\n    importPath: '@eui/components/eui-card',\n    selectors: {\n      'eui-card': 'EuiCardComponent',\n      'eui-card-header': 'EuiCardHeaderComponent',\n      'eui-card-header-title': 'EuiCardHeaderTitleComponent',\n      'eui-card-content': 'EuiCardContentComponent',\n      'eui-card-footer': 'EuiCardFooterComponent',\n      'eui-card-media': 'EuiCardMediaComponent',\n    },\n  },\n  EuiChipModule: {\n    importPath: '@eui/components/eui-chip',\n    selectors: {\n      'eui-chip': 'EuiChipComponent',\n      euiChip: 'EuiChipComponent',\n    },\n  },\n  EuiChipListModule: {\n    importPath: '@eui/components/eui-chip-list',\n    selectors: {\n      'eui-chip-list': 'EuiChipListComponent',\n    },\n  },\n  EuiChipGroupModule: {\n    importPath: '@eui/components/eui-chip-group',\n    selectors: {\n      'eui-chip-group': 'EuiChipGroupComponent',\n    },\n  },\n  EuiDashboardCardModule: {\n    importPath: '@eui/components/eui-dashboard-card',\n    selectors: {\n      'eui-dashboard-card': 'EuiDashboardCardComponent',\n      'eui-dashboard-card-content': 'EuiDashboardCardContentComponent',\n      'eui-dashboard-card-content-header': 'EuiDashboardCardContentHeaderComponent',\n      'eui-dashboard-card-content-body': 'EuiDashboardCardContentBodyComponent',\n      'eui-dashboard-card-content-footer': 'EuiDashboardCardContentFooterComponent',\n    },\n  },\n  EuiDashboardButtonModule: {\n    importPath: '@eui/components/eui-dashboard-card',\n    selectors: {\n      'eui-dashboard-card': 'EuiDashboardCardComponent',\n      'eui-dashboard-card-content': 'EuiDashboardCardContentComponent',\n      'eui-dashboard-card-content-header': 'EuiDashboardCardContentHeaderComponent',\n      'eui-dashboard-card-content-body': 'EuiDashboardCardContentBodyComponent',\n      'eui-dashboard-card-content-footer': 'EuiDashboardCardContentFooterComponent',\n    },\n  },\n  EuiDatepickerModule: {\n    importPath: '@eui/components/eui-datepicker',\n    selectors: {\n      'eui-datepicker': 'EuiDatepickerComponent',\n    },\n  },\n  EuiDateRangeSelectorModule: {\n    importPath: '@eui/components/eui-date-range-selector',\n    selectors: {\n      'eui-date-range-selector': 'EuiDateRangeSelectorComponent',\n    },\n  },\n  EuiDialogModule: {\n    importPath: '@eui/components/eui-dialog',\n    selectors: {\n      'eui-dialog': 'EuiDialogComponent',\n      'eui-dialog-header': 'EuiDialogHeaderDirective',\n      'eui-dialog-footer': 'EuiDialogFooterDirective',\n      'eui-dialog-container': 'EuiDialogContainerComponent',\n    },\n  },\n  EuiDisableContentModule: {\n    importPath: '@eui/components/eui-disable-content',\n    selectors: {\n      'eui-disable-content': 'EuiDisableContentComponent',\n    },\n  },\n  EuiDiscussionThreadModule: {\n    importPath: '@eui/components/eui-discussion-thread',\n    selectors: {\n      'eui-discussion-thread': 'EuiDiscussionThreadComponent',\n      'eui-discussion-thread-item': 'EuiDiscussionThreadItemComponent',\n    },\n  },\n  EuiDropdownModule: {\n    importPath: '@eui/components/eui-dropdown',\n    selectors: {\n      'eui-dropdown': 'EuiDropdownComponent',\n    },\n  },\n  EuiFeedbackMessageModule: {\n    importPath: '@eui/components/eui-feedback-message',\n    selectors: {\n      'eui-feedback-message': 'EuiFeedbackMessageComponent',\n    },\n  },\n  EuiFieldsetModule: {\n    importPath: '@eui/components/eui-fieldset',\n    selectors: {\n      'eui-fieldset': 'EuiFieldsetComponent',\n      euiFieldsetLabelRightContent: 'EuiFieldsetLabelRightContentTagDirective',\n      euiFieldsetLabelExtraContent: 'EuiFieldsetLabelExtraContentTagDirective',\n    },\n  },\n  EuiFileUploadModule: {\n    importPath: '@eui/components/eui-file-upload',\n    selectors: {\n      'eui-file-upload': 'EuiFileUploadComponent',\n    },\n  },\n  EuiGrowlModule: {\n    importPath: '@eui/components/eui-growl',\n    selectors: {\n      'eui-growl': 'EuiGrowlComponent',\n    },\n  },\n  EuiIconModule: {\n    importPath: '@eui/components/eui-icon',\n    selectors: {\n      'eui-icon-svg': 'EuiIconSvgComponent',\n      euiIconSvg: 'EuiIconSvgComponent',\n    },\n  },\n  EuiIconButtonModule: {\n    importPath: '@eui/components/eui-icon-button',\n    selectors: {\n      'eui-icon-button': 'EuiIconButtonComponent',\n    },\n  },\n  EuiIconToggleModule: {\n    importPath: '@eui/components/eui-icon-toggle',\n    selectors: {\n      'eui-icon-toggle': 'EuiIconToggleComponent',\n    },\n  },\n  EuiInputCheckboxModule: {\n    importPath: '@eui/components/eui-input-checkbox',\n    selectors: {\n      euiInputCheckBox: 'EuiInputCheckboxComponent',\n    },\n  },\n  EuiInputGroupModule: {\n    importPath: '@eui/components/eui-input-group',\n    selectors: {\n      euiInputGroup: 'EuiInputGroupComponent',\n      'eui-input-group-addon': 'EuiInputGroupAddOnComponent',\n      euiInputGroupAddOn: 'EuiInputGroupAddOnComponent',\n      'eui-input-group-addon-item': 'EuiInputGroupAddOnItemComponent',\n      euiInputGroupAddOnItem: 'EuiInputGroupAddOnItemComponent',\n    },\n  },\n  EuiInputNumberModule: {\n    importPath: '@eui/components/eui-input-number',\n    selectors: {\n      euiInputNumber: 'EuiInputNumberComponent',\n    },\n  },\n  EuiInputRadioModule: {\n    importPath: '@eui/components/eui-input-radio',\n    selectors: {\n      euiInputRadio: 'EuiInputRadioComponent',\n    },\n  },\n  EuiInputTextModule: {\n    importPath: '@eui/components/eui-input-text',\n    selectors: {\n      euiInputText: 'EuiInputTextComponent',\n    },\n  },\n  EuiLabelModule: {\n    importPath: '@eui/components/eui-label',\n    selectors: {\n      'eui-label': 'EuiLabelComponent',\n      euiLabel: 'EuiLabelComponent',\n    },\n  },\n  EuiListModule: {\n    importPath: '@eui/components/eui-list',\n    selectors: {\n      'eui-list': 'EuiListComponent',\n      euiList: 'EuiListComponent',\n      'eui-list-item': 'EuiListItemComponent',\n      euiListItem: 'EuiListItemComponent',\n    },\n  },\n  EuiMenuModule: {\n    importPath: '@eui/components/eui-menu',\n    selectors: {\n      'eui-menu': 'EuiMenuComponent',\n      'eui-menu-item': 'EuiMenuItemComponent',\n    },\n  },\n  EuiMessageBoxModule: {\n    importPath: '@eui/components/eui-message-box',\n    selectors: {\n      'eui-message-box': 'EuiMessageBoxComponent',\n      'eui-message-box-footer': 'EuiMessageBoxFooterDirective',\n    },\n  },\n  EuiOverlayModule: {\n    importPath: '@eui/components/eui-overlay',\n    selectors: {\n      'eui-overlay': 'EuiOverlayComponent',\n    },\n  },\n  EuiPageModule: {\n    importPath: '@eui/components/eui-page',\n    selectors: {\n      'eui-page': 'EuiPageComponent',\n    },\n  },\n  EuiPaginatorModule: {\n    importPath: '@eui/components/eui-paginator',\n    selectors: {\n      'eui-paginator': 'EuiPaginatorComponent',\n    },\n  },\n  EuiPopoverModule: {\n    importPath: '@eui/components/eui-popover',\n    selectors: {\n      'eui-popover': 'EuiPopoverComponent',\n    },\n  },\n  EuiProgressBarModule: {\n    importPath: '@eui/components/eui-progress-bar',\n    selectors: {\n      'eui-progress-bar': 'EuiProgressBarComponent',\n    },\n  },\n  EuiProgressCircleModule: {\n    importPath: '@eui/components/eui-progress-circle',\n    selectors: {\n      'eui-progress-circle': 'EuiProgressCircleComponent',\n    },\n  },\n  EuiSelectModule: {\n    importPath: '@eui/components/eui-select',\n    selectors: {\n      euiSelect: 'EuiSelectComponent',\n    },\n  },\n  EuiSidebarMenuModule: {\n    importPath: '@eui/components/eui-sidebar-menu',\n    selectors: {\n      'eui-sidebar-menu': 'EuiSidebarMenuComponent',\n    },\n  },\n  EuiSkeletonModule: {\n    importPath: '@eui/components/eui-skeleton',\n    selectors: {\n      'eui-skeleton': 'EuiSkeletonComponent',\n    },\n  },\n  EuiSlideToggleModule: {\n    importPath: '@eui/components/eui-slide-toggle',\n    selectors: {\n      'eui-slide-toggle': 'EuiSlideToggleComponent',\n    },\n  },\n  EuiTableModule: {\n    importPath: '@eui/components/eui-table',\n    selectors: {\n      'eui-table': 'EuiTableComponent',\n      euiTable: 'EuiTableComponent',\n      'eui-table-filter': 'EuiTableFilterComponent',\n      isSortable: 'EuiTableSortableColComponent',\n      isStickyCol: 'EuiTableStickyColDirective',\n      isHeaderSelectable: 'EuiTableSelectableHeaderComponent',\n      isDataSelectable: 'EuiTableSelectableRowComponent',\n      isExpandableRow: 'EuiTableExpandableRowDirective',\n    },\n  },\n  EuiTableV2Module: {\n      importPath: '@eui/components/eui-table',\n      selectors: {\n          'eui-table': 'EuiTableComponent',\n          euiTable: 'EuiTableComponent',\n          'eui-table-filter': 'EuiTableFilterComponent',\n          isSortable: 'EuiTableSortableColComponent',\n          isStickyCol: 'EuiTableStickyColDirective',\n          isHeaderSelectable: 'EuiTableSelectableHeaderComponent',\n          isDataSelectable: 'EuiTableSelectableRowComponent',\n          isExpandableRow: 'EuiTableExpandableRowDirective',\n      },\n  },\n  EuiTabsModule: {\n    importPath: '@eui/components/eui-tabs',\n    selectors: {\n      'eui-tabs': 'EuiTabsComponent',\n      'eui-tab': 'EuiTabComponent',\n      'eui-tab-header': 'EuiTabHeaderComponent',\n      'eui-tab-body': 'EuiTabBodyComponent',\n    },\n  },\n  EuiTextAreaModule: {\n    importPath: '@eui/components/eui-textarea',\n    selectors: {\n      euiTextArea: 'EuiTextareaComponent',\n    },\n  },\n  EuiTimelineModule: {\n    importPath: '@eui/components/eui-timeline',\n    selectors: {\n      'eui-timeline': 'EuiTimelineComponent',\n      'eui-timeline-item': 'EuiTimelineItemComponent',\n    },\n  },\n  EuiTimepickerModule: {\n    importPath: '@eui/components/eui-timepicker',\n    selectors: {\n      'eui-timepicker': 'EuiTimepickerComponent',\n    },\n  },\n  EuiTreeModule: {\n    importPath: '@eui/components/eui-tree',\n    selectors: {\n      'eui-tree': 'EuiTreeComponent',\n    },\n  },\n  EuiTreeListModule: {\n    importPath: '@eui/components/eui-tree-list',\n    selectors: {\n      'eui-tree-list': 'EuiTreeListComponent',\n      'eui-tree-list-item': 'EuiTreeListItemComponent',\n    },\n  },\n  EuiUserProfileModule: {\n    importPath: '@eui/components/eui-user-profile',\n    selectors: {\n      'eui-user-profile': 'EuiUserProfileComponent',\n    },\n  },\n  EuiWizardModule: {\n    importPath: '@eui/components/eui-wizard',\n    selectors: {\n      'eui-wizard': 'EuiWizardComponent',\n      'eui-wizard-step': 'EuiWizardStepComponent',\n    },\n  },\n  EuiTooltipDirectiveModule: {\n    importPath: '@eui/components/directives',\n    selectors: {\n      euiTooltip: 'EuiTooltipDirective',\n    },\n  },\n  EuiTemplateDirectiveModule: {\n    importPath: '@eui/components/directives',\n    selectors: {\n      euiTemplate: 'EuiTemplateDirective',\n    },\n  },\n  EuiResizableDirectiveModule: {\n    importPath: '@eui/components/directives',\n    selectors: {\n      euiResizable: 'EuiResizableDirective',\n      'eui-resizable': 'EuiResizableComponent',\n    },\n  },\n  EuiMaxLengthDirectiveModule: {\n    importPath: '@eui/components/directives',\n    selectors: {\n      euiEditorMaxlength: 'EuiMaxLengthDirective',\n    },\n  },\n  EuiTruncatePipeModule: {\n    importPath: '@eui/components/pipes',\n    selectors: {\n      euiTruncate: 'EuiTruncatePipe',\n    },\n  },\n  EuiLayoutModule: {\n    importPath: '@eui/components/layout',\n    selectors: {\n      'eui-app': 'EuiAppComponent',\n      'eui-header': 'EuiHeaderComponent',\n      'eui-footer': 'EuiFooterComponent',\n      'eui-toolbar': 'EuiToolbarComponent',\n      'eui-sidebar-toggle': 'EuiSidebarToggleComponent',\n    },\n  },\n};\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\nexport function migrateToStandalone(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    const allModuleNames = Object.keys(MODULE_MAPPINGS);\n\n    visitDir(tree.getDir(scanPath || '/'), (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) return;\n\n      const source = buffer.toString('utf-8');\n      if (!allModuleNames.some((m) => source.includes(m))) return;\n\n      const sourceFile = ts.createSourceFile(path, source, ts.ScriptTarget.Latest, true);\n      const componentDecorators = findComponentDecorators(sourceFile);\n\n      for (const decorator of componentDecorators) {\n        const importsNode = findImportsArrayNode(decorator);\n        if (!importsNode) continue;\n\n        const currentSource = tree.read(path)!.toString('utf-8');\n        const modulesInArray = allModuleNames.filter((m) => hasModuleInArray(importsNode, m, source));\n        if (modulesInArray.length === 0) continue;\n\n        const templateSelectors = getTemplateSelectors(tree, path, decorator, source);\n        const replacements = buildReplacements(modulesInArray, templateSelectors);\n        if (replacements.size === 0) continue;\n\n        const result = applyReplacements(currentSource, path, replacements);\n        if (options.dryRun) {\n          logDryRun(context, `Would replace module imports with standalone imports in ${path}`);\n        } else {\n          tree.overwrite(path, result);\n        }\n      }\n    });\n\n    context.logger.info('Migration to standalone imports complete.');\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n    return tree;\n  };\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n\nfunction buildReplacements(moduleNames: string[], templateSelectors: Set<string>): Map<string, { components: string[]; importPath: string }> {\n  const map = new Map<string, { components: string[]; importPath: string }>();\n\n  for (const moduleName of moduleNames) {\n    const mapping = MODULE_MAPPINGS[moduleName];\n    const components: string[] = [];\n\n    for (const [selector, component] of Object.entries(mapping.selectors)) {\n      if (templateSelectors.has(selector)) {\n        components.push(component);\n      }\n    }\n\n    if (components.length > 0) {\n      map.set(moduleName, { components: [...new Set(components)].sort(), importPath: mapping.importPath });\n    }\n  }\n\n  return map;\n}\n\nfunction findComponentDecorators(sourceFile: ts.SourceFile): ts.Decorator[] {\n  const decorators: ts.Decorator[] = [];\n  const visit = (node: ts.Node): void => {\n    if (ts.isClassDeclaration(node)) {\n      const decs = ts.getDecorators(node);\n      if (decs) {\n        for (const dec of decs) {\n          if (ts.isCallExpression(dec.expression) && ts.isIdentifier(dec.expression.expression) && dec.expression.expression.text === 'Component') {\n            decorators.push(dec);\n          }\n        }\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n  visit(sourceFile);\n  return decorators;\n}\n\nfunction findImportsArrayNode(decorator: ts.Decorator): ts.ArrayLiteralExpression | undefined {\n  const call = decorator.expression as ts.CallExpression;\n  const metadata = call.arguments[0];\n  if (!ts.isObjectLiteralExpression(metadata)) return undefined;\n\n  for (const prop of metadata.properties) {\n    if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name) && prop.name.text === 'imports') {\n      if (ts.isArrayLiteralExpression(prop.initializer)) {\n        return prop.initializer;\n      }\n    }\n  }\n  return undefined;\n}\n\nfunction hasModuleInArray(array: ts.ArrayLiteralExpression, moduleName: string, source: string): boolean {\n  return array.elements.some((el) => source.slice(el.getStart(), el.getEnd()).trim() === moduleName);\n}\n\nfunction getTemplateSelectors(tree: Tree, tsPath: string, decorator: ts.Decorator, source: string): Set<string> {\n  const call = decorator.expression as ts.CallExpression;\n  const metadata = call.arguments[0] as ts.ObjectLiteralExpression;\n  const allSelectors = Object.values(MODULE_MAPPINGS).flatMap((m) => Object.keys(m.selectors));\n\n  for (const prop of metadata.properties) {\n    if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name) && prop.name.text === 'template') {\n      const init = prop.initializer;\n      if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) {\n        return findSelectorsInTemplate(init.text, allSelectors);\n      }\n    }\n  }\n\n  for (const prop of metadata.properties) {\n    if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name) && prop.name.text === 'templateUrl') {\n      if (ts.isStringLiteral(prop.initializer)) {\n        const dir = tsPath.substring(0, tsPath.lastIndexOf('/'));\n        const templateBuffer = tree.read(`${dir}/${prop.initializer.text}`);\n        if (templateBuffer) {\n          return findSelectorsInTemplate(templateBuffer.toString('utf-8'), allSelectors);\n        }\n      }\n    }\n  }\n\n  return new Set();\n}\n\nfunction findSelectorsInTemplate(html: string, knownSelectors: string[]): Set<string> {\n  const selectors = new Set<string>();\n  const parsed = parseTemplate(html, '', { preserveWhitespaces: true });\n\n  const visit = (nodes: TmplAstNode[]): void => {\n    for (const node of nodes) {\n      if (node instanceof TmplAstElement) {\n        if (knownSelectors.includes(node.name)) selectors.add(node.name);\n        for (const attr of node.attributes) {\n          if (knownSelectors.includes(attr.name)) selectors.add(attr.name);\n        }\n        visit(node.children);\n      }\n    }\n  };\n  visit(parsed.nodes);\n  return selectors;\n}\n\nfunction applyReplacements(source: string, filePath: string, replacements: Map<string, { components: string[]; importPath: string }>): string {\n  const sourceFile = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true);\n  let result = replaceInImportsArray(source, sourceFile, replacements);\n  result = updateEsImports(result, filePath, replacements);\n  return result;\n}\n\nfunction replaceInImportsArray(source: string, sourceFile: ts.SourceFile, replacements: Map<string, { components: string[]; importPath: string }>): string {\n  let result = source;\n  const visit = (node: ts.Node): void => {\n    if (ts.isClassDeclaration(node)) {\n      const decs = ts.getDecorators(node);\n      if (!decs) return;\n      for (const dec of decs) {\n        if (!ts.isCallExpression(dec.expression) || !ts.isIdentifier(dec.expression.expression) || dec.expression.expression.text !== 'Component') continue;\n        const metadata = dec.expression.arguments[0];\n        if (!ts.isObjectLiteralExpression(metadata)) continue;\n        for (const prop of metadata.properties) {\n          if (!ts.isPropertyAssignment(prop) || !ts.isIdentifier(prop.name) || prop.name.text !== 'imports') continue;\n          if (!ts.isArrayLiteralExpression(prop.initializer)) continue;\n          const newElements = prop.initializer.elements\n            .map((el) => {\n              const text = result.slice(el.getStart(sourceFile), el.getEnd()).trim();\n              const replacement = replacements.get(text);\n              return replacement ? replacement.components.join(', ') : text;\n            })\n            .join(', ');\n          result = result.slice(0, prop.initializer.getStart(sourceFile) + 1) + newElements + result.slice(prop.initializer.getEnd() - 1);\n        }\n      }\n    }\n    ts.forEachChild(node, visit);\n  };\n  visit(sourceFile);\n  return result;\n}\n\nfunction updateEsImports(source: string, filePath: string, replacements: Map<string, { components: string[]; importPath: string }>): string {\n  let result = source;\n\n  for (const [moduleName, { components, importPath }] of replacements) {\n    const sf = ts.createSourceFile(filePath, result, ts.ScriptTarget.Latest, true);\n\n    for (const stmt of sf.statements) {\n      if (!ts.isImportDeclaration(stmt) || !stmt.importClause?.namedBindings || !ts.isNamedImports(stmt.importClause.namedBindings)) continue;\n      const namedBindings = stmt.importClause.namedBindings;\n      const importNames = namedBindings.elements.map((el) => el.name.text);\n      if (!importNames.includes(moduleName)) continue;\n\n      const moduleSpecifier = (stmt.moduleSpecifier as ts.StringLiteral).text;\n      const remaining = importNames.filter((n) => n !== moduleName);\n      const toAdd = components.filter((c) => !importNames.includes(c));\n\n      if (moduleSpecifier === importPath) {\n        const newNames = [...remaining, ...toAdd].sort();\n        const newClause = `{ ${newNames.join(', ')} }`;\n        result = result.slice(0, namedBindings.getStart(sf)) + newClause + result.slice(namedBindings.getEnd());\n      } else {\n        if (remaining.length > 0) {\n          const newClause = `{ ${remaining.join(', ')} }`;\n          result = result.slice(0, namedBindings.getStart(sf)) + newClause + result.slice(namedBindings.getEnd());\n        } else {\n          result = result.slice(0, stmt.getStart(sf)) + result.slice(stmt.getEnd()).replace(/^\\r?\\n/, '');\n        }\n\n        if (toAdd.length > 0) {\n          const updatedSf = ts.createSourceFile(filePath, result, ts.ScriptTarget.Latest, true);\n          const existing = updatedSf.statements.find(\n            (s) => ts.isImportDeclaration(s) && ts.isStringLiteral(s.moduleSpecifier) && s.moduleSpecifier.text === importPath,\n          ) as ts.ImportDeclaration | undefined;\n\n          if (existing?.importClause?.namedBindings && ts.isNamedImports(existing.importClause.namedBindings)) {\n            const existingNames = existing.importClause.namedBindings.elements.map((el) => el.name.text);\n            const allNames = [...new Set([...existingNames, ...toAdd])].sort();\n            const newClause = `{ ${allNames.join(', ')} }`;\n            result = result.slice(0, existing.importClause.namedBindings.getStart(updatedSf)) + newClause + result.slice(existing.importClause.namedBindings.getEnd());\n          } else {\n            const newImport = `import { ${toAdd.join(', ')} } from '${importPath}';\\n`;\n            result = newImport + result;\n          }\n        }\n      }\n      break;\n    }\n  }\n\n  return result;\n}\n",
            "properties": [
                {
                    "name": "dryRun",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 460
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 459
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [],
            "isDuplicate": true,
            "duplicateId": 20,
            "duplicateName": "Schema-20"
        },
        {
            "name": "SelectorEntry",
            "id": "interface-SelectorEntry-467f1c85aa5f4f6713415ed73430d4d0b04537b3c37cfe5f2803754a6e6d3095edcf5c0c4c221320627f9ba2a32ca444704ca2ea0f7aafe20b54dcb0eafc02b6",
            "file": "packages/core/schematics/add-eui-imports/selector-map.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface SelectorEntry {\n  /** Element tag required (null = any element) */\n  element: string | null;\n  /** Attribute selectors that must ALL be present */\n  attributes: string[];\n  /** The Angular class name */\n  className: string;\n  /** The CLASS array constant name (null if none exists) */\n  classArray: string | null;\n  /** The ES import path */\n  importPath: string;\n}\n\n/**\n * Parses a raw CSS-like selector string into element + attributes.\n * Examples:\n *   \"button[euiButton]\" → { element: \"button\", attributes: [\"euiButton\"] }\n *   \"[euiTooltip]\" → { element: null, attributes: [\"euiTooltip\"] }\n *   \"eui-tabs\" → { element: \"eui-tabs\", attributes: [] }\n *   \"input[euiInputNumber][formControlName]\" → { element: \"input\", attributes: [\"euiInputNumber\", \"formControlName\"] }\n */\nexport function parseSelector(raw: string): { element: string | null; attributes: string[] } {\n  const attrs: string[] = [];\n  let element: string | null = null;\n\n  const attrRegex = /\\[([^\\]]+)\\]/g;\n  let match: RegExpExecArray | null;\n  while ((match = attrRegex.exec(raw)) !== null) {\n    attrs.push(match[1]);\n  }\n\n  const elementPart = raw.replace(/\\[([^\\]]+)\\]/g, '').trim();\n  if (elementPart) {\n    element = elementPart;\n  }\n\n  return { element, attributes: attrs };\n}\n\n/** All known EUI selectors with their import metadata */\nexport const SELECTOR_MAP: SelectorEntry[] = buildSelectorMap();\n\nfunction buildSelectorMap(): SelectorEntry[] {\n  const raw: { selector: string; className: string; classArray: string | null; importPath: string }[] = [\n    { selector: '[euiArrowKeyNavigable]', className: 'EuiArrowKeyNavigableDirective', classArray: null, importPath: '@eui/components/directives' },\n    { selector: '[euiBase]', className: 'BaseStatesDirective', classArray: null, importPath: '@eui/components/shared' },\n    { selector: '[euiDropdownItem]', className: 'EuiDropdownItemComponent', classArray: 'EUI_DROPDOWN', importPath: '@eui/components/eui-dropdown' },\n    { selector: '[euiHasPermission]', className: 'EuiHasPermissionDirective', classArray: null, importPath: '@eui/components/directives' },\n    { selector: '[euiIconColored]', className: 'EuiIconColorComponent', classArray: 'EUI_ICON_COLOR', importPath: '@eui/components/eui-icon-color' },\n    { selector: '[euiList]', className: 'EuiListComponent', classArray: 'EUI_LIST', importPath: '@eui/components/eui-list' },\n    { selector: '[euiListItem]', className: 'EuiListItemComponent', classArray: 'EUI_LIST', importPath: '@eui/components/eui-list' },\n    { selector: '[euiLoading]', className: 'EuiLoadingDirective', classArray: null, importPath: '@eui/components/directives' },\n    { selector: '[euiPopoverArrowPosition]', className: 'EuiPopoverArrowPositionDirective', classArray: null, importPath: '@eui/components/eui-popover' },\n    { selector: '[euiResizable]', className: 'EuiResizableDirective', classArray: null, importPath: '@eui/components/directives' },\n    { selector: '[euiScrollHandler]', className: 'EuiScrollHandlerDirective', classArray: null, importPath: '@eui/components/directives' },\n    { selector: '[euiScrollTo]', className: 'EuiSmoothScrollToDirective', classArray: null, importPath: '@eui/components/directives' },\n    { selector: '[euiTemplate]', className: 'EuiTemplateDirective', classArray: 'EUI_TABLE', importPath: '@eui/components/eui-table' },\n    { selector: '[euiTooltip]', className: 'EuiTooltipDirective', classArray: null, importPath: '@eui/components/directives' },\n    { selector: '[formControlName][euiEditorMaxlength]', className: 'EuiEditorMaxlengthDirective', classArray: null, importPath: '@eui/components/externals' },\n    { selector: '[formControlName][euiMaxlength]', className: 'EuiMaxLengthDirective', classArray: null, importPath: '@eui/components/directives' },\n    { selector: '[ngModel][euiMaxlength]', className: 'EuiMaxLengthDirective', classArray: null, importPath: '@eui/components/directives' },\n    { selector: 'a[euiButton]', className: 'EuiButtonComponent', classArray: 'EUI_BUTTON', importPath: '@eui/components/eui-button' },\n    { selector: 'a[euiLabel]', className: 'EuiLabelComponent', classArray: 'EUI_LABEL', importPath: '@eui/components/eui-label' },\n    { selector: 'a[euiSublabel]', className: 'EuiLabelComponent', classArray: 'EUI_LABEL', importPath: '@eui/components/eui-label' },\n    { selector: 'button[euiButton]', className: 'EuiButtonComponent', classArray: 'EUI_BUTTON', importPath: '@eui/components/eui-button' },\n    { selector: 'div[euiAlert]', className: 'EuiAlertComponent', classArray: 'EUI_ALERT', importPath: '@eui/components/eui-alert' },\n    { selector: 'div[euiAvatar]', className: 'EuiAvatarComponent', classArray: 'EUI_AVATAR', importPath: '@eui/components/eui-avatar' },\n    { selector: 'div[euiBadge]', className: 'EuiBadgeComponent', classArray: 'EUI_BADGE', importPath: '@eui/components/eui-badge' },\n    { selector: 'div[euiInputGroup]', className: 'EuiInputGroupComponent', classArray: 'EUI_INPUT_GROUP', importPath: '@eui/components/eui-input-group' },\n    { selector: 'div[euiInputGroupAddOn]', className: 'EuiInputGroupAddOnComponent', classArray: 'EUI_INPUT_GROUP', importPath: '@eui/components/eui-input-group' },\n    { selector: 'div[euiInputGroupAddOnItem]', className: 'EuiInputGroupAddOnItemComponent', classArray: 'EUI_INPUT_GROUP', importPath: '@eui/components/eui-input-group' },\n    { selector: 'div[euiLabel]', className: 'EuiLabelComponent', classArray: 'EUI_LABEL', importPath: '@eui/components/eui-label' },\n    { selector: 'div[euiStatusBadge]', className: 'EuiStatusBadgeComponent', classArray: 'EUI_STATUS_BADGE', importPath: '@eui/components/eui-status-badge' },\n    { selector: 'div[euiSublabel]', className: 'EuiLabelComponent', classArray: 'EUI_LABEL', importPath: '@eui/components/eui-label' },\n    { selector: 'eui-accordion', className: 'EuiAccordionComponent', classArray: 'EUI_ACCORDION', importPath: '@eui/components/eui-accordion' },\n    { selector: 'eui-accordion-item', className: 'EuiAccordionItemComponent', classArray: 'EUI_ACCORDION', importPath: '@eui/components/eui-accordion' },\n    { selector: 'eui-alert', className: 'EuiAlertComponent', classArray: 'EUI_ALERT', importPath: '@eui/components/eui-alert' },\n    { selector: 'eui-alert-title', className: 'EuiAlertTitleComponent', classArray: 'EUI_ALERT', importPath: '@eui/components/eui-alert' },\n    { selector: 'eui-apex-chart', className: 'EuiApexChartComponent', classArray: 'EUI_CHARTS', importPath: '@eui/components/externals/charts' },\n    { selector: 'eui-app', className: 'AppComponent', classArray: null, importPath: '@eui/components/layout' },\n    { selector: 'eui-app-breadcrumb', className: 'EuiAppBreadcrumbComponent', classArray: 'EUI_LAYOUT', importPath: '@eui/components/layout' },\n    { selector: 'eui-app-footer', className: 'EuiAppFooterComponent', classArray: 'EUI_LAYOUT', importPath: '@eui/components/layout' },\n    { selector: 'eui-app-header', className: 'EuiAppHeaderComponent', classArray: 'EUI_LAYOUT', importPath: '@eui/components/layout' },\n    { selector: 'eui-app-side-container', className: 'EuiAppSideContainerComponent', classArray: 'EUI_LAYOUT', importPath: '@eui/components/layout' },\n    { selector: 'eui-app-sidebar', className: 'EuiAppSidebarComponent', classArray: 'EUI_LAYOUT', importPath: '@eui/components/layout' },\n    { selector: 'eui-app-sidebar-body', className: 'EuiAppSidebarBodyComponent', classArray: 'EUI_LAYOUT', importPath: '@eui/components/layout' },\n    { selector: 'eui-app-sidebar-drawer', className: 'EuiAppSidebarDrawerComponent', classArray: 'EUI_LAYOUT', importPath: '@eui/components/layout' },\n    { selector: 'eui-app-sidebar-footer', className: 'EuiAppSidebarFooterComponent', classArray: 'EUI_LAYOUT', importPath: '@eui/components/layout' },\n    { selector: 'eui-app-sidebar-header', className: 'EuiAppSidebarHeaderComponent', classArray: 'EUI_LAYOUT', importPath: '@eui/components/layout' },\n    { selector: 'eui-app-sidebar-header-user-profile', className: 'EuiAppSidebarHeaderUserProfileComponent', classArray: 'EUI_LAYOUT', importPath: '@eui/components/layout' },\n    { selector: 'eui-app-sidebar-menu', className: 'EuiAppSidebarMenuComponent', classArray: 'EUI_LAYOUT', importPath: '@eui/components/layout' },\n    { selector: 'eui-app-toolbar', className: 'EuiAppToolbarComponent', classArray: 'EUI_LAYOUT', importPath: '@eui/components/layout' },\n    { selector: 'eui-app-toolbar-items-mobile', className: 'EuiAppToolbarItemsMobileComponent', classArray: 'EUI_LAYOUT', importPath: '@eui/components/layout' },\n    { selector: 'eui-app-top-message', className: 'EuiAppTopMessageComponent', classArray: 'EUI_LAYOUT', importPath: '@eui/components/layout' },\n    { selector: 'eui-autocomplete', className: 'EuiAutocompleteComponent', classArray: 'EUI_AUTOCOMPLETE', importPath: '@eui/components/eui-autocomplete' },\n    { selector: 'eui-autocomplete-option', className: 'EuiAutocompleteOptionComponent', classArray: 'EUI_AUTOCOMPLETE', importPath: '@eui/components/eui-autocomplete' },\n    { selector: 'eui-autocomplete-option-group', className: 'EuiAutocompleteOptionGroupComponent', classArray: 'EUI_AUTOCOMPLETE', importPath: '@eui/components/eui-autocomplete' },\n    { selector: 'eui-autocomplete-panel', className: 'EuiAutocompletePanelComponent', classArray: null, importPath: '@eui/components/eui-autocomplete' },\n    { selector: 'eui-avatar', className: 'EuiAvatarComponent', classArray: 'EUI_AVATAR', importPath: '@eui/components/eui-avatar' },\n    { selector: 'eui-avatar-badge', className: 'EuiAvatarBadgeComponent', classArray: 'EUI_AVATAR', importPath: '@eui/components/eui-avatar' },\n    { selector: 'eui-avatar-content', className: 'EuiAvatarContentComponent', classArray: 'EUI_AVATAR', importPath: '@eui/components/eui-avatar' },\n    { selector: 'eui-avatar-content-label', className: 'EuiAvatarContentLabelComponent', classArray: 'EUI_AVATAR', importPath: '@eui/components/eui-avatar' },\n    { selector: 'eui-avatar-content-sublabel', className: 'EuiAvatarContentSublabelComponent', classArray: 'EUI_AVATAR', importPath: '@eui/components/eui-avatar' },\n    { selector: 'eui-avatar-icon', className: 'EuiAvatarIconComponent', classArray: 'EUI_AVATAR', importPath: '@eui/components/eui-avatar' },\n    { selector: 'eui-avatar-image', className: 'EuiAvatarImageComponent', classArray: 'EUI_AVATAR', importPath: '@eui/components/eui-avatar' },\n    { selector: 'eui-avatar-list', className: 'EuiAvatarListComponent', classArray: 'EUI_AVATAR', importPath: '@eui/components/eui-avatar' },\n    { selector: 'eui-avatar-text', className: 'EuiAvatarTextComponent', classArray: 'EUI_AVATAR', importPath: '@eui/components/eui-avatar' },\n    { selector: 'eui-badge', className: 'EuiBadgeComponent', classArray: 'EUI_BADGE', importPath: '@eui/components/eui-badge' },\n    { selector: 'eui-banner', className: 'EuiBannerComponent', classArray: 'EUI_BANNER', importPath: '@eui/components/eui-banner' },\n    { selector: 'eui-banner-cta', className: 'EuiBannerCtaComponent', classArray: 'EUI_BANNER', importPath: '@eui/components/eui-banner' },\n    { selector: 'eui-banner-description', className: 'EuiBannerDescriptionComponent', classArray: 'EUI_BANNER', importPath: '@eui/components/eui-banner' },\n    { selector: 'eui-banner-title', className: 'EuiBannerTitleComponent', classArray: 'EUI_BANNER', importPath: '@eui/components/eui-banner' },\n    { selector: 'eui-banner-video', className: 'EuiBannerVideoComponent', classArray: 'EUI_BANNER', importPath: '@eui/components/eui-banner' },\n    { selector: 'eui-block-content', className: 'EuiBlockContentComponent', classArray: 'EUI_BLOCK_CONTENT', importPath: '@eui/components/eui-block-content' },\n    { selector: 'eui-block-document', className: 'EuiBlockDocumentComponent', classArray: 'EUI_BLOCK_DOCUMENT', importPath: '@eui/components/eui-block-document' },\n    { selector: 'eui-breadcrumb', className: 'EuiBreadcrumbComponent', classArray: 'EUI_BREADCRUMB', importPath: '@eui/components/eui-breadcrumb' },\n    { selector: 'eui-breadcrumb-item', className: 'EuiBreadcrumbItemComponent', classArray: 'EUI_BREADCRUMB', importPath: '@eui/components/eui-breadcrumb' },\n    { selector: 'eui-button-group', className: 'EuiButtonGroupComponent', classArray: 'EUI_BUTTON_GROUP', importPath: '@eui/components/eui-button-group' },\n    { selector: 'eui-calendar', className: 'EuiCalendarComponent', classArray: 'EUI_CALENDAR', importPath: '@eui/components/eui-calendar' },\n    { selector: 'eui-card', className: 'EuiCardComponent', classArray: 'EUI_CARD', importPath: '@eui/components/eui-card' },\n    { selector: 'eui-card-content', className: 'EuiCardContentComponent', classArray: 'EUI_CARD', importPath: '@eui/components/eui-card' },\n    { selector: 'eui-card-footer', className: 'EuiCardFooterComponent', classArray: 'EUI_CARD', importPath: '@eui/components/eui-card' },\n    { selector: 'eui-card-header', className: 'EuiCardHeaderComponent', classArray: 'EUI_CARD', importPath: '@eui/components/eui-card' },\n    { selector: 'eui-card-header-title', className: 'EuiCardHeaderTitleComponent', classArray: 'EUI_CARD', importPath: '@eui/components/eui-card' },\n    { selector: 'eui-card-media', className: 'EuiCardMediaComponent', classArray: 'EUI_CARD', importPath: '@eui/components/eui-card' },\n    { selector: 'eui-chip', className: 'EuiChipComponent', classArray: 'EUI_CHIP', importPath: '@eui/components/eui-chip' },\n    { selector: 'eui-chip-button', className: 'EuiChipButtonComponent', classArray: 'EUI_CHIP_BUTTON', importPath: '@eui/components/eui-chip-button' },\n    { selector: 'eui-chip-group', className: 'EuiChipGroupComponent', classArray: 'EUI_CHIP_GROUP', importPath: '@eui/components/eui-chip-group' },\n    { selector: 'eui-comment-item', className: 'EuiCommentItemComponent', classArray: 'EUI_COMMENT_THREAD', importPath: '@eui/components/eui-comment-thread' },\n    { selector: 'eui-comment-textarea', className: 'EuiCommentTextareaComponent', classArray: 'EUI_COMMENT_THREAD', importPath: '@eui/components/eui-comment-thread' },\n    { selector: 'eui-comment-thread', className: 'EuiCommentThreadComponent', classArray: 'EUI_COMMENT_THREAD', importPath: '@eui/components/eui-comment-thread' },\n    { selector: 'eui-content-card', className: 'EuiContentCardComponent', classArray: 'EUI_CONTENT_CARD', importPath: '@eui/components/eui-content-card' },\n    { selector: 'eui-dashboard-card', className: 'EuiDashboardCardComponent', classArray: 'EUI_DASHBOARD_CARD', importPath: '@eui/components/eui-dashboard-card' },\n    { selector: 'eui-date-block', className: 'EuiDateBlockComponent', classArray: 'EUI_DATE_BLOCK', importPath: '@eui/components/eui-date-block' },\n    { selector: 'eui-date-range-selector', className: 'EuiDateRangeSelectorComponent', classArray: 'EUI_DATE_RANGE_SELECTOR', importPath: '@eui/components/eui-date-range-selector' },\n    { selector: 'eui-datepicker', className: 'EuiDatepickerComponent', classArray: 'EUI_DATEPICKER', importPath: '@eui/components/eui-datepicker' },\n    { selector: 'eui-dialog', className: 'EuiDialogComponent', classArray: 'EUI_DIALOG', importPath: '@eui/components/eui-dialog' },\n    { selector: 'eui-dialog-container', className: 'EuiDialogContainerComponent', classArray: 'EUI_DIALOG', importPath: '@eui/components/eui-dialog' },\n    { selector: 'eui-dimmer', className: 'EuiDimmerComponent', classArray: 'EUI_DIMMER', importPath: '@eui/components/eui-dimmer' },\n    { selector: 'eui-disable-content', className: 'EuiDisableContentComponent', classArray: 'EUI_DISABLE_CONTENT', importPath: '@eui/components/eui-disable-content' },\n    { selector: 'eui-discussion-thread', className: 'EuiDiscussionThreadComponent', classArray: 'EUI_DISCUSSION_THREAD', importPath: '@eui/components/eui-discussion-thread' },\n    { selector: 'eui-discussion-thread-item', className: 'EuiDiscussionThreadItemComponent', classArray: 'EUI_DISCUSSION_THREAD', importPath: '@eui/components/eui-discussion-thread' },\n    { selector: 'eui-dropdown', className: 'EuiDropdownComponent', classArray: 'EUI_DROPDOWN', importPath: '@eui/components/eui-dropdown' },\n    { selector: 'eui-dropdown-item', className: 'EuiDropdownItemComponent', classArray: 'EUI_DROPDOWN', importPath: '@eui/components/eui-dropdown' },\n    { selector: 'eui-editor', className: 'EuiEditorComponent', classArray: null, importPath: '@eui/components/externals' },\n    { selector: 'eui-feedback-message', className: 'EuiFeedbackMessageComponent', classArray: 'EUI_FEEDBACK_MESSAGE', importPath: '@eui/components/eui-feedback-message' },\n    { selector: 'eui-file-preview', className: 'EuiFilePreviewComponent', classArray: 'EUI_FILE_UPLOAD', importPath: '@eui/components/eui-file-upload' },\n    { selector: 'eui-file-upload', className: 'EuiFileUploadComponent', classArray: 'EUI_FILE_UPLOAD', importPath: '@eui/components/eui-file-upload' },\n    { selector: 'eui-file-upload-progress', className: 'EuiFileUploadProgressComponent', classArray: 'EUI_FILE_UPLOAD', importPath: '@eui/components/eui-file-upload' },\n    { selector: 'eui-footer', className: 'EuiFooterComponent', classArray: 'EUI_LAYOUT', importPath: '@eui/components/layout' },\n    { selector: 'eui-growl', className: 'EuiGrowlComponent', classArray: 'EUI_GROWL', importPath: '@eui/components/eui-growl' },\n    { selector: 'eui-header', className: 'EuiHeaderComponent', classArray: 'EUI_LAYOUT', importPath: '@eui/components/layout' },\n    { selector: 'eui-helper-text', className: 'EuiHelperTextComponent', classArray: 'EUI_HELPER_TEXT', importPath: '@eui/components/eui-helper-text' },\n    { selector: 'eui-icon-button', className: 'EuiIconButtonComponent', classArray: 'EUI_ICON_BUTTON', importPath: '@eui/components/eui-icon-button' },\n    { selector: 'eui-icon-button-expander', className: 'EuiIconButtonExpanderComponent', classArray: 'EUI_ICON_BUTTON_EXPANDER', importPath: '@eui/components/eui-icon-button-expander' },\n    { selector: 'eui-icon-colored', className: 'EuiIconColorComponent', classArray: 'EUI_ICON_COLOR', importPath: '@eui/components/eui-icon-color' },\n    { selector: 'eui-icon-input', className: 'EuiIconInputComponent', classArray: 'EUI_ICON_INPUT', importPath: '@eui/components/eui-icon-input' },\n    { selector: 'eui-icon-state', className: 'EuiIconStateComponent', classArray: 'EUI_ICON_STATE', importPath: '@eui/components/eui-icon-state' },\n    { selector: 'eui-icon-svg', className: 'EuiIconSvgComponent', classArray: 'EUI_ICON', importPath: '@eui/components/eui-icon' },\n    { selector: 'eui-icon-toggle', className: 'EuiIconToggleComponent', classArray: 'EUI_ICON_TOGGLE', importPath: '@eui/components/eui-icon-toggle' },\n    { selector: 'eui-input-button', className: 'EuiInputButtonComponent', classArray: 'EUI_INPUT_BUTTON', importPath: '@eui/components/eui-input-button' },\n    { selector: 'eui-label', className: 'EuiLabelComponent', classArray: 'EUI_LABEL', importPath: '@eui/components/eui-label' },\n    { selector: 'eui-language-selector', className: 'EuiLanguageSelectorComponent', classArray: 'EUI_LANGUAGE_SELECTOR', importPath: '@eui/components/eui-language-selector' },\n    { selector: 'eui-list', className: 'EuiListComponent', classArray: 'EUI_LIST', importPath: '@eui/components/eui-list' },\n    { selector: 'eui-list-item', className: 'EuiListItemComponent', classArray: 'EUI_LIST', importPath: '@eui/components/eui-list' },\n    { selector: 'eui-menu', className: 'EuiMenuComponent', classArray: 'EUI_MENU', importPath: '@eui/components/eui-menu' },\n    { selector: 'eui-menu-item', className: 'EuiMenuItemComponent', classArray: 'EUI_MENU', importPath: '@eui/components/eui-menu' },\n    { selector: 'eui-message-box', className: 'EuiMessageBoxComponent', classArray: 'EUI_MESSAGE_BOX', importPath: '@eui/components/eui-message-box' },\n    { selector: 'eui-navbar', className: 'EuiNavbarComponent', classArray: 'EUI_NAVBAR', importPath: '@eui/components/eui-navbar' },\n    { selector: 'eui-navbar-item', className: 'EuiNavbarItemComponent', classArray: 'EUI_NAVBAR', importPath: '@eui/components/eui-navbar' },\n    { selector: 'eui-overlay', className: 'EuiOverlayComponent', classArray: 'EUI_OVERLAY', importPath: '@eui/components/eui-overlay' },\n    { selector: 'eui-overlay-body', className: 'EuiOverlayBodyComponent', classArray: 'EUI_OVERLAY', importPath: '@eui/components/eui-overlay' },\n    { selector: 'eui-overlay-content', className: 'EuiOverlayContentComponent', classArray: 'EUI_OVERLAY', importPath: '@eui/components/eui-overlay' },\n    { selector: 'eui-overlay-footer', className: 'EuiOverlayFooterComponent', classArray: 'EUI_OVERLAY', importPath: '@eui/components/eui-overlay' },\n    { selector: 'eui-overlay-header', className: 'EuiOverlayHeaderComponent', classArray: 'EUI_OVERLAY', importPath: '@eui/components/eui-overlay' },\n    { selector: 'eui-page', className: 'EuiPageComponent', classArray: 'EUI_PAGE', importPath: '@eui/components/eui-page' },\n    { selector: 'eui-page-content', className: 'EuiPageContentComponent', classArray: 'EUI_PAGE', importPath: '@eui/components/eui-page' },\n    { selector: 'eui-page-header', className: 'EuiPageHeaderComponent', classArray: 'EUI_PAGE', importPath: '@eui/components/eui-page' },\n    { selector: 'eui-paginator', className: 'EuiPaginatorComponent', classArray: 'EUI_PAGINATOR', importPath: '@eui/components/eui-paginator' },\n    { selector: 'eui-popover', className: 'EuiPopoverComponent', classArray: 'EUI_POPOVER', importPath: '@eui/components/eui-popover' },\n    { selector: 'eui-progress-bar', className: 'EuiProgressBarComponent', classArray: 'EUI_PROGRESS_BAR', importPath: '@eui/components/eui-progress-bar' },\n    { selector: 'eui-progress-circle', className: 'EuiProgressCircleComponent', classArray: 'EUI_PROGRESS_CIRCLE', importPath: '@eui/components/eui-progress-circle' },\n    { selector: 'eui-rating', className: 'EuiRatingComponent', classArray: 'EUI_RATING', importPath: '@eui/components/eui-rating' },\n    { selector: 'eui-section-header', className: 'EuiSectionHeaderComponent', classArray: 'EUI_SECTION_HEADER', importPath: '@eui/components/eui-section-header' },\n    { selector: 'eui-sidebar-menu', className: 'EuiSidebarMenuComponent', classArray: 'EUI_SIDEBAR_MENU', importPath: '@eui/components/eui-sidebar-menu' },\n    { selector: 'eui-skeleton', className: 'EuiSkeletonComponent', classArray: 'EUI_SKELETON', importPath: '@eui/components/eui-skeleton' },\n    { selector: 'eui-slide-toggle', className: 'EuiSlideToggleComponent', classArray: 'EUI_SLIDE_TOGGLE', importPath: '@eui/components/eui-slide-toggle' },\n    { selector: 'eui-slider', className: 'EuiSliderComponent', classArray: 'EUI_SLIDER', importPath: '@eui/components/eui-slider' },\n    { selector: 'eui-snc', className: 'EuiSncComponent', classArray: 'EUI_SNC', importPath: '@eui/components/eui-snc' },\n    { selector: 'eui-split-button', className: 'EuiSplitButtonComponent', classArray: 'EUI_SPLIT_BUTTON', importPath: '@eui/components/eui-split-button' },\n    { selector: 'eui-status-badge', className: 'EuiStatusBadgeComponent', classArray: 'EUI_STATUS_BADGE', importPath: '@eui/components/eui-status-badge' },\n    { selector: 'eui-tab', className: 'EuiTabComponent', classArray: 'EUI_TABS', importPath: '@eui/components/eui-tabs' },\n    { selector: 'eui-tab-body', className: 'EuiTabBodyComponent', classArray: 'EUI_TABS', importPath: '@eui/components/eui-tabs' },\n    { selector: 'eui-tab-header', className: 'EuiTabHeaderComponent', classArray: 'EUI_TABS', importPath: '@eui/components/eui-tabs' },\n    { selector: 'eui-table', className: 'EuiTableComponent', classArray: 'EUI_TABLE', importPath: '@eui/components/eui-table' },\n    { selector: 'eui-table-filter', className: 'EuiTableFilterComponent', classArray: 'EUI_TABLE', importPath: '@eui/components/eui-table' },\n    { selector: 'eui-tabs', className: 'EuiTabsComponent', classArray: 'EUI_TABS', importPath: '@eui/components/eui-tabs' },\n    { selector: 'eui-timeline', className: 'EuiTimelineComponent', classArray: 'EUI_TIMELINE', importPath: '@eui/components/eui-timeline' },\n    { selector: 'eui-timeline-item', className: 'EuiTimelineItemComponent', classArray: 'EUI_TIMELINE', importPath: '@eui/components/eui-timeline' },\n    { selector: 'eui-timepicker', className: 'EuiTimepickerComponent', classArray: 'EUI_TIMEPICKER', importPath: '@eui/components/eui-timepicker' },\n    { selector: 'eui-toggle-group', className: 'EuiToggleGroupComponent', classArray: 'EUI_TOGGLE_GROUP', importPath: '@eui/components/eui-toggle-group' },\n    { selector: 'eui-toggle-group-item', className: 'EuiToggleGroupItemComponent', classArray: 'EUI_TOGGLE_GROUP', importPath: '@eui/components/eui-toggle-group' },\n    { selector: 'eui-tree', className: 'EuiTreeComponent', classArray: 'EUI_TREE', importPath: '@eui/components/eui-tree' },\n    { selector: 'eui-tree-list', className: 'EuiTreeListComponent', classArray: 'EUI_TREE_LIST', importPath: '@eui/components/eui-tree-list' },\n    { selector: 'eui-tree-list-item', className: 'EuiTreeListItemComponent', classArray: 'EUI_TREE_LIST', importPath: '@eui/components/eui-tree-list' },\n    { selector: 'eui-user-profile', className: 'EuiUserProfileComponent', classArray: 'EUI_USER_PROFILE', importPath: '@eui/components/eui-user-profile' },\n    { selector: 'eui-wizard', className: 'EuiWizardComponent', classArray: 'EUI_WIZARD_V2', importPath: '@eui/components/eui-wizard-v2' },\n    { selector: 'eui-wizard-step', className: 'EuiWizardStepComponent', classArray: 'EUI_WIZARD_V2', importPath: '@eui/components/eui-wizard-v2' },\n    { selector: 'i[euiIconSvg]', className: 'EuiIconSvgComponent', classArray: 'EUI_ICON', importPath: '@eui/components/eui-icon' },\n    { selector: 'input[euiAutocomplete]', className: 'EuiAutocompleteComponent', classArray: 'EUI_AUTOCOMPLETE', importPath: '@eui/components/eui-autocomplete' },\n    { selector: 'input[euiClearable]', className: 'EuiClearableDirective', classArray: null, importPath: '@eui/components/directives' },\n    { selector: 'input[euiInputCheckBox]', className: 'EuiInputCheckboxComponent', classArray: 'EUI_INPUT_CHECKBOX', importPath: '@eui/components/eui-input-checkbox' },\n    { selector: 'input[euiInputNumber]', className: 'EuiInputNumberComponent', classArray: 'EUI_INPUT_NUMBER', importPath: '@eui/components/eui-input-number' },\n    { selector: 'input[euiInputRadio]', className: 'EuiInputRadioComponent', classArray: 'EUI_INPUT_RADIO', importPath: '@eui/components/eui-input-radio' },\n    { selector: 'input[euiInputText]', className: 'EuiInputTextComponent', classArray: 'EUI_INPUT_TEXT', importPath: '@eui/components/eui-input-text' },\n    { selector: 'input[euiMaxlength]', className: 'EuiMaxLengthDirective', classArray: null, importPath: '@eui/components/directives' },\n    { selector: 'label[euiLabel]', className: 'EuiLabelComponent', classArray: 'EUI_LABEL', importPath: '@eui/components/eui-label' },\n    { selector: 'label[euiSublabel]', className: 'EuiLabelComponent', classArray: 'EUI_LABEL', importPath: '@eui/components/eui-label' },\n    { selector: 'li[euiChip]', className: 'EuiChipComponent', classArray: 'EUI_CHIP', importPath: '@eui/components/eui-chip' },\n    { selector: 'li[euiChipButton]', className: 'EuiChipButtonComponent', classArray: 'EUI_CHIP_BUTTON', importPath: '@eui/components/eui-chip-button' },\n    { selector: 'select[euiSelect]', className: 'EuiSelectComponent', classArray: 'EUI_SELECT', importPath: '@eui/components/eui-select' },\n    { selector: 'span[euiAvatar]', className: 'EuiAvatarComponent', classArray: 'EUI_AVATAR', importPath: '@eui/components/eui-avatar' },\n    { selector: 'span[euiBadge]', className: 'EuiBadgeComponent', classArray: 'EUI_BADGE', importPath: '@eui/components/eui-badge' },\n    { selector: 'span[euiChip]', className: 'EuiChipComponent', classArray: 'EUI_CHIP', importPath: '@eui/components/eui-chip' },\n    { selector: 'span[euiChipButton]', className: 'EuiChipButtonComponent', classArray: 'EUI_CHIP_BUTTON', importPath: '@eui/components/eui-chip-button' },\n    { selector: 'span[euiIconColored]', className: 'EuiIconColorComponent', classArray: 'EUI_ICON_COLOR', importPath: '@eui/components/eui-icon-color' },\n    { selector: 'span[euiIconSvg]', className: 'EuiIconSvgComponent', classArray: 'EUI_ICON', importPath: '@eui/components/eui-icon' },\n    { selector: 'span[euiLabel]', className: 'EuiLabelComponent', classArray: 'EUI_LABEL', importPath: '@eui/components/eui-label' },\n    { selector: 'span[euiStatusBadge]', className: 'EuiStatusBadgeComponent', classArray: 'EUI_STATUS_BADGE', importPath: '@eui/components/eui-status-badge' },\n    { selector: 'span[euiSublabel]', className: 'EuiLabelComponent', classArray: 'EUI_LABEL', importPath: '@eui/components/eui-label' },\n    { selector: 'table[euiTable]', className: 'EuiTableComponent', classArray: 'EUI_TABLE', importPath: '@eui/components/eui-table' },\n    { selector: 'textarea[euiTextArea]', className: 'EuiTextareaComponent', classArray: 'EUI_TEXTAREA', importPath: '@eui/components/eui-textarea' },\n    { selector: 'textarea[euiMaxlength]', className: 'EuiMaxLengthDirective', classArray: null, importPath: '@eui/components/directives' },\n    { selector: 'th[isSortable]', className: 'EuiTableSortableColComponent', classArray: 'EUI_TABLE', importPath: '@eui/components/eui-table' },\n    { selector: 'th[isStickyCol]', className: 'EuiTableStickyColDirective', classArray: 'EUI_TABLE', importPath: '@eui/components/eui-table' },\n    { selector: 'td[isStickyCol]', className: 'EuiTableStickyColDirective', classArray: 'EUI_TABLE', importPath: '@eui/components/eui-table' },\n    { selector: 'tr[isDataSelectable]', className: 'EuiTableSelectableRowComponent', classArray: 'EUI_TABLE', importPath: '@eui/components/eui-table' },\n    { selector: 'tr[isExpandableRow]', className: 'EuiTableExpandableRowDirective', classArray: 'EUI_TABLE', importPath: '@eui/components/eui-table' },\n    { selector: 'tr[isHeaderSelectable]', className: 'EuiTableSelectableHeaderComponent', classArray: 'EUI_TABLE', importPath: '@eui/components/eui-table' },\n    { selector: 'eui-resizable', className: 'EuiResizableComponent', classArray: null, importPath: '@eui/components/directives' },\n    { selector: 'euiFieldsetLabelRightContent', className: 'EuiFieldsetLabelRightContentTagDirective', classArray: 'EUI_FIELDSET', importPath: '@eui/components/eui-fieldset' },\n  ];\n\n  return raw.map(entry => {\n    const { element, attributes } = parseSelector(entry.selector);\n    return { element, attributes, className: entry.className, classArray: entry.classArray, importPath: entry.importPath };\n  });\n}\n\n/**\n * Given a classArray name, returns all class names that belong to that array.\n * Used to detect when individual class names can be consolidated into a spread.\n */\nexport function getClassNamesForArray(arrayName: string): string[] {\n  return SELECTOR_MAP.filter(e => e.classArray === arrayName).map(e => e.className);\n}\n",
            "properties": [
                {
                    "name": "attributes",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Attribute selectors that must ALL be present</p>\n",
                    "line": 10,
                    "rawdescription": "\nAttribute selectors that must ALL be present"
                },
                {
                    "name": "classArray",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string | null",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The CLASS array constant name (null if none exists)</p>\n",
                    "line": 14,
                    "rawdescription": "\nThe CLASS array constant name (null if none exists)"
                },
                {
                    "name": "className",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The Angular class name</p>\n",
                    "line": 12,
                    "rawdescription": "\nThe Angular class name"
                },
                {
                    "name": "element",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string | null",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Element tag required (null = any element)</p>\n",
                    "line": 8,
                    "rawdescription": "\nElement tag required (null = any element)"
                },
                {
                    "name": "importPath",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The ES import path</p>\n",
                    "line": 16,
                    "rawdescription": "\nThe ES import path"
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Hardcoded EUI selector map derived from selector-map.md.\nEach entry contains a parsed compound selector and the corresponding import metadata.</p>\n",
            "rawdescription": "\n\nHardcoded EUI selector map derived from selector-map.md.\nEach entry contains a parsed compound selector and the corresponding import metadata.\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "Session",
            "id": "interface-Session-adc0097964f185f2079637fe50fb71cc9bfa4e1abd1a0de21565f9554688ae342f997cbff2cc1ffb32d52a0d45c76482a9d8c59ad2d031250418b7e4304a527c",
            "file": "packages/core/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": "Template",
            "id": "interface-Template-adc0097964f185f2079637fe50fb71cc9bfa4e1abd1a0de21565f9554688ae342f997cbff2cc1ffb32d52a0d45c76482a9d8c59ad2d031250418b7e4304a527c",
            "file": "packages/core/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": "TextChange",
            "id": "interface-TextChange-760dec88d3f709d5b38226e55f7cbfb1e5fabcea6c004fd46e611be1dd563b8b247e9e6c77667e5582fe7b443374ba2c4facd2b2db2985edb46c9a4a37a8a876",
            "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { parseTemplate, TmplAstElement, TmplAstNode } from '@angular/compiler';\nimport { DirEntry, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { logDryRun, logDryRunNote } from '../utils/dry-run';\n\ninterface TextChange {\n  start: number;\n  end: number;\n  text: string;\n}\n\ninterface MigrationResult {\n  content: string;\n  migrated: number;\n  skipped: number;\n}\n\ninterface Schema {\n  path?: string;\n  dryRun?: boolean;\n}\n\nconst OLD_LABEL = 'eui-tab-label';\nconst OLD_SUB_LABEL = 'euiTabSubLabel';\nconst OLD_CONTENT = 'eui-tab-content';\nconst NEW_HEADER = 'eui-tab-header';\nconst NEW_HEADER_LABEL = 'eui-tab-header-label';\nconst NEW_HEADER_SUB_LABEL = 'eui-tab-header-sub-label';\nconst NEW_BODY = 'eui-tab-body';\n\nexport function migrateEuiTabs(options: Schema = {}): Rule {\n  return (tree: Tree, context: SchematicContext) => {\n    const scanPath = options.path ? '/' + options.path.replace(/^\\.?\\//, '').replace(/\\/$/, '') : '';\n    let migrated = 0;\n    let skipped = 0;\n\n    visitDir(tree.getDir(scanPath || '/'), (path) => {\n      const buffer = tree.read(path);\n      if (!buffer) {\n        return;\n      }\n\n      const original = buffer.toString('utf-8');\n      const result = path.endsWith('.html')\n        ? migrateTemplate(original, path, context)\n        : migrateInlineTemplates(original, path, context);\n\n      migrated += result.migrated;\n      skipped += result.skipped;\n\n      if (result.content !== original) {\n        if (options.dryRun) {\n          logDryRun(context, `Would migrate ${result.migrated} tab block(s) in ${path}`);\n        } else {\n          tree.overwrite(path, result.content);\n        }\n      }\n    });\n\n    context.logger.info(`Migrated ${migrated} EUI tab template block(s).`);\n    if (skipped > 0) {\n      context.logger.warn(`Skipped ${skipped} malformed EUI tab template block(s).`);\n    }\n    if (options.dryRun) {\n      logDryRunNote(context);\n    }\n\n    return tree;\n  };\n}\n\nfunction migrateInlineTemplates(source: string, filePath: string, context: SchematicContext): MigrationResult {\n  const sourceFile = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n  const changes: TextChange[] = [];\n  let migrated = 0;\n  let skipped = 0;\n\n  const visit = (node: ts.Node): void => {\n    if (ts.isPropertyAssignment(node) && isTemplateProperty(node) && isComponentMetadataProperty(node)) {\n      const initializer = unwrapExpression(node.initializer);\n\n      if (ts.isStringLiteral(initializer) || ts.isNoSubstitutionTemplateLiteral(initializer)) {\n        const start = initializer.getStart(sourceFile) + 1;\n        const end = initializer.getEnd() - 1;\n        const rawTemplate = source.slice(start, end);\n        const result = migrateTemplate(rawTemplate, `${filePath}@inline-template`, context);\n\n        migrated += result.migrated;\n        skipped += result.skipped;\n\n        if (result.content !== rawTemplate) {\n          changes.push({ start, end, text: result.content });\n        }\n      } else if (ts.isTemplateExpression(initializer)) {\n        context.logger.warn(`Skipping interpolated inline template in ${filePath}.`);\n        skipped++;\n      }\n    }\n\n    ts.forEachChild(node, visit);\n  };\n\n  visit(sourceFile);\n\n  return {\n    content: applyChanges(source, changes),\n    migrated,\n    skipped,\n  };\n}\n\nfunction isTemplateProperty(node: ts.PropertyAssignment): boolean {\n  const name = node.name;\n  return (\n    (ts.isIdentifier(name) && name.text === 'template') ||\n    (ts.isStringLiteral(name) && name.text === 'template')\n  );\n}\n\nfunction unwrapExpression(expression: ts.Expression): ts.Expression {\n  let current = expression;\n\n  while (ts.isParenthesizedExpression(current)) {\n    current = current.expression;\n  }\n\n  return current;\n}\n\nfunction isComponentMetadataProperty(node: ts.PropertyAssignment): boolean {\n  const objectLiteral = node.parent;\n  if (!ts.isObjectLiteralExpression(objectLiteral)) {\n    return false;\n  }\n\n  const callExpression = objectLiteral.parent;\n  if (!ts.isCallExpression(callExpression) || callExpression.arguments[0] !== objectLiteral) {\n    return false;\n  }\n\n  return (\n    ts.isDecorator(callExpression.parent) &&\n    ts.isIdentifier(callExpression.expression) &&\n    callExpression.expression.text === 'Component'\n  );\n}\n\nfunction migrateTemplate(source: string, filePath: string, context: SchematicContext): MigrationResult {\n  const parsed = parseTemplate(source, filePath, { preserveWhitespaces: true });\n  const changes: TextChange[] = [];\n  let migrated = 0;\n  let skipped = 0;\n\n  for (const error of parsed.errors ?? []) {\n    context.logger.warn(`Template parse warning in ${filePath}: ${error.msg}`);\n  }\n\n  for (const tab of findElements(parsed.nodes, 'eui-tab')) {\n    const label = findDirectChild(tab, OLD_LABEL);\n    const content = findDirectChild(tab, OLD_CONTENT);\n    const hasOldMarkup = Boolean(label || content);\n    const hasNewMarkup = Boolean(findDirectChild(tab, NEW_HEADER) || findDirectChild(tab, NEW_BODY));\n\n    if (!hasOldMarkup || hasNewMarkup) {\n      continue;\n    }\n\n    if (!label || !content) {\n      context.logger.warn(`Skipping malformed <eui-tab> in ${filePath}.`);\n      skipped++;\n      continue;\n    }\n\n    changes.push({\n      start: label.sourceSpan.start.offset,\n      end: label.sourceSpan.end.offset,\n      text: buildHeaderReplacement(source, label),\n    });\n    changes.push({\n      start: content.sourceSpan.start.offset,\n      end: content.sourceSpan.end.offset,\n      text: buildBodyReplacement(source, content),\n    });\n    migrated++;\n  }\n\n  return {\n    content: applyChanges(source, withoutOverlaps(changes)),\n    migrated,\n    skipped,\n  };\n}\n\nfunction findElements(nodes: readonly TmplAstNode[], name: string): TmplAstElement[] {\n  const matches: TmplAstElement[] = [];\n\n  for (const node of nodes) {\n    if (isElement(node)) {\n      if (node.name === name) {\n        matches.push(node);\n      }\n      matches.push(...findElements(node.children, name));\n    }\n  }\n\n  return matches;\n}\n\nfunction findDirectChild(element: TmplAstElement, name: string): TmplAstElement | undefined {\n  return element.children.find((child): child is TmplAstElement => isElement(child) && child.name === name);\n}\n\nfunction isElement(node: TmplAstNode): node is TmplAstElement {\n  return node instanceof TmplAstElement;\n}\n\nfunction buildHeaderReplacement(source: string, label: TmplAstElement): string {\n  const indent = getIndent(source, label.sourceSpan.start.offset);\n  const labelAttributes = getAttributeText(source, label, OLD_LABEL);\n  const subLabels = findElements(label.children, OLD_SUB_LABEL);\n  const mainLabelContent = removeElementRanges(getInnerText(source, label), label, subLabels);\n  const lines = [\n    `<${NEW_HEADER}>`,\n    `${indent}    <${NEW_HEADER_LABEL}${labelAttributes}>`,\n    ...formatInnerLines(mainLabelContent, `${indent}        `),\n    `${indent}    </${NEW_HEADER_LABEL}>`,\n  ];\n\n  for (const subLabel of subLabels) {\n    const subLabelAttributes = getAttributeText(source, subLabel, OLD_SUB_LABEL);\n    lines.push(\n      `${indent}    <${NEW_HEADER_SUB_LABEL}${subLabelAttributes}>`,\n      ...formatInnerLines(getInnerText(source, subLabel), `${indent}        `),\n      `${indent}    </${NEW_HEADER_SUB_LABEL}>`,\n    );\n  }\n\n  lines.push(`${indent}</${NEW_HEADER}>`);\n\n  return lines.join('\\n');\n}\n\nfunction buildBodyReplacement(source: string, content: TmplAstElement): string {\n  const indent = getIndent(source, content.sourceSpan.start.offset);\n  const attributes = getAttributeText(source, content, OLD_CONTENT);\n  const innerText = getInnerText(source, content);\n  const trimmed = innerText.trim();\n\n  if (trimmed && !trimmed.includes('\\n')) {\n    return `<${NEW_BODY}${attributes}>${trimmed}</${NEW_BODY}>`;\n  }\n\n  return [\n    `<${NEW_BODY}${attributes}>`,\n    ...formatInnerLines(innerText, `${indent}    `),\n    `${indent}</${NEW_BODY}>`,\n  ].join('\\n');\n}\n\nfunction getInnerText(source: string, element: TmplAstElement): string {\n  if (!element.endSourceSpan) {\n    return '';\n  }\n\n  return source.slice(element.startSourceSpan.end.offset, element.endSourceSpan.start.offset);\n}\n\nfunction removeElementRanges(source: string, parent: TmplAstElement, elements: readonly TmplAstElement[]): string {\n  const parentContentStart = parent.startSourceSpan.end.offset;\n  let result = source;\n\n  for (const element of [...elements].sort((a, b) => b.sourceSpan.start.offset - a.sourceSpan.start.offset)) {\n    const start = element.sourceSpan.start.offset - parentContentStart;\n    const end = element.sourceSpan.end.offset - parentContentStart;\n    result = result.slice(0, start) + result.slice(end);\n  }\n\n  return result;\n}\n\nfunction getAttributeText(source: string, element: TmplAstElement, tagName: string): string {\n  const startTag = source.slice(element.startSourceSpan.start.offset, element.startSourceSpan.end.offset);\n  const tagStart = startTag.indexOf(tagName);\n\n  if (tagStart === -1) {\n    return '';\n  }\n\n  const contentEnd = startTag.endsWith('/>') ? startTag.length - 2 : startTag.length - 1;\n  return startTag.slice(tagStart + tagName.length, contentEnd).trimEnd();\n}\n\nfunction getIndent(source: string, offset: number): string {\n  const lineStart = source.lastIndexOf('\\n', offset - 1) + 1;\n  const prefix = source.slice(lineStart, offset);\n  return prefix.match(/^\\s*/)?.[0] ?? '';\n}\n\nfunction formatInnerLines(source: string, indent: string): string[] {\n  const trimmed = source.trim();\n\n  if (!trimmed) {\n    return [];\n  }\n\n  return trimmed.split(/\\r?\\n/).map((line) => `${indent}${line.trim()}`);\n}\n\nfunction withoutOverlaps(changes: TextChange[]): TextChange[] {\n  const accepted: TextChange[] = [];\n\n  for (const change of [...changes].sort((a, b) => a.start - b.start || b.end - a.end)) {\n    if (!accepted.some((current) => change.start < current.end && current.start < change.end)) {\n      accepted.push(change);\n    }\n  }\n\n  return accepted;\n}\n\nfunction applyChanges(source: string, changes: readonly TextChange[]): string {\n  let result = source;\n\n  for (const change of [...changes].sort((a, b) => b.start - a.start)) {\n    result = result.slice(0, change.start) + change.text + result.slice(change.end);\n  }\n\n  return result;\n}\n\nfunction visitDir(dir: DirEntry, callback: (path: string) => void): void {\n  for (const file of dir.subfiles) {\n    if (file.endsWith('.d.ts')) continue;\n    if (!file.endsWith('.html') && !file.endsWith('.ts')) continue;\n    callback(`${dir.path}/${file}`);\n  }\n  for (const sub of dir.subdirs) {\n    if (sub === 'node_modules' || sub === 'dist') continue;\n    visitDir(dir.dir(sub), callback);\n  }\n}\n",
            "properties": [
                {
                    "name": "end",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "start",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 7
                },
                {
                    "name": "text",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 9
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "ThemeState",
            "id": "interface-ThemeState-9f1a937bcff1a4d283db7ae5e6dd8d821f165e0cf457352df623b99307c05df1b115d8ae49b7a00b3f35c0d70be9a87d15b3f2b116a3669079ef5ceffd9d6514",
            "file": "packages/core/src/lib/services/eui-theme.service.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Injectable, inject } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { GLOBAL_CONFIG_TOKEN } from './config/tokens';\nimport { GlobalConfig } from '@eui/base';\nimport { EuiAppShellService } from './eui-app-shell.service';\nimport { DOCUMENT } from '@angular/common';\n\nexport enum EuiTheme {\n    DEFAULT = 'default',\n    ECL_EC = 'ecl-ec',\n    ECL_EC_RTL = 'ecl-ec-rtl',\n    ECL_EU = 'ecl-eu',\n    ECL_EU_RTL = 'ecl-eu-rtl',\n    DARK = 'dark',\n    HIGH_CONTRAST = 'high-contrast',\n    COMPACT = 'compact'\n};\n\ninterface IEuiTheme {\n    name: EuiTheme,\n    isActive: boolean,\n    styleSheet: string,\n    cssClass: string,\n};\n\nexport interface ThemeState {\n    themes: IEuiTheme[];\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    theme: any;\n}\n\nconst initialState: ThemeState = {\n    themes: [\n        { name: EuiTheme.DEFAULT, isActive: false, styleSheet: null, cssClass: null },\n        { name: EuiTheme.ECL_EC, isActive: false, styleSheet: 'eui-ecl-ec.css', cssClass: null },\n        { name: EuiTheme.ECL_EC_RTL, isActive: false, styleSheet: 'eui-ecl-ec.css', cssClass: null },\n        { name: EuiTheme.ECL_EU, isActive: false, styleSheet: 'eui-ecl-eu.css', cssClass: null },\n        { name: EuiTheme.ECL_EU_RTL, isActive: false, styleSheet: 'eui-ecl-eu.css', cssClass: null },\n        { name: EuiTheme.DARK, isActive: false, styleSheet: null, cssClass: 'eui-t-dark' },\n        { name: EuiTheme.HIGH_CONTRAST, isActive: false, styleSheet: null, cssClass: 'eui-t-high-contrast' },\n        { name: EuiTheme.COMPACT, isActive: false, styleSheet: null, cssClass: 'eui-t-compact' },\n    ],\n    theme: {\n        isDefault: false,\n        isEclEc: false,\n        isEclEcRtl: false,\n        isEclEu: false,\n        isEclEuRtl: false,\n        isDark: false,\n        isHighContrast: false,\n        isCompact: false,\n    },\n};\n\n@Injectable({\n    providedIn: 'root',\n})\nexport class EuiThemeService {\n    private document = inject<Document>(DOCUMENT);\n    protected config = inject<GlobalConfig>(GLOBAL_CONFIG_TOKEN, { optional: true });\n    private asService = inject(EuiAppShellService);\n\n    private _state$: BehaviorSubject<ThemeState>;\n\n    constructor() {\n        this._state$ = new BehaviorSubject(initialState);\n        const themeName = (this.config?.eui?.theme as EuiTheme) || EuiTheme.DEFAULT;\n        this.setActiveTheme(themeName, true);\n    }\n\n    get state$(): Observable<ThemeState> {\n        return this._state$.asObservable();\n    }\n\n    get state(): ThemeState {\n        return this._state$.getValue();\n    }\n\n    isDefault(): boolean {\n        return this.state.theme.isDefault;\n    }\n    isEclEc(): boolean {\n        return this.state.theme.isEclEc;\n    }\n    isEclEcRtl(): boolean {\n        return this.state.theme.isEclEcRtl;\n    }\n    isEclEu(): boolean {\n        return this.state.theme.isEclEu;\n    }\n    isEclEuRtl(): boolean {\n        return this.state.theme.isEclEuRtl;\n    }\n    isDark(): boolean {\n        return this.state.theme.isDark;\n    }\n    isHighContrast(): boolean {\n        return this.state.theme.isHighContrast;\n    }\n    isCompact(): boolean {\n        return this.state.theme.isCompact;\n    }\n\n    setActiveTheme(theme: EuiTheme, isActive: boolean): void {\n        const themes = this.state.themes;\n        const themeIdx = themes.findIndex(t => t.name === theme);\n\n        if (themeIdx < 0) {\n            throw new Error('NO_THEME_FOUND');\n\n        } else {\n            themes[themeIdx].isActive = isActive;\n\n            const themeFound: IEuiTheme = themes[themeIdx];\n\n            const status = initialState.theme;\n\n            switch(theme) {\n                case EuiTheme.DEFAULT: { status.isDefault = isActive; break; }\n                case EuiTheme.ECL_EC: { status.isEclEc = isActive; break; }\n                case EuiTheme.ECL_EC_RTL: { status.isEclEcRtl = isActive; break; }\n                case EuiTheme.ECL_EU: { status.isEclEu = isActive; break; }\n                case EuiTheme.ECL_EU_RTL: { status.isEclEuRtl = isActive; break; }\n                case EuiTheme.DARK: { status.isDark = isActive; break; }\n                case EuiTheme.HIGH_CONTRAST: { status.isHighContrast = isActive; break; }\n                case EuiTheme.COMPACT: { status.isCompact = isActive; break; }\n            }\n\n            this._state$.next({\n                themes,\n                theme: status,\n            });\n\n            this._renderTheme(themeFound, isActive);\n        }\n    }\n\n    private _renderTheme(themeFound: IEuiTheme, isActive: boolean): void {\n        if (themeFound.name === EuiTheme.COMPACT) {\n            if (isActive) {\n                this.asService.setBaseFontSize('14px');\n            } else {\n                this.asService.setBaseFontSize('16px');\n            }\n            const compactLink = this.document.getElementById('eui-theme') as HTMLLinkElement;\n            this._renderThemeCss(themeFound, isActive, compactLink);\n\n        } else if (themeFound.name === EuiTheme.ECL_EC_RTL || themeFound.name === EuiTheme.ECL_EU_RTL) {\n            return;\n\n        } else if (themeFound.name === EuiTheme.ECL_EC || themeFound.name === EuiTheme.ECL_EU) {\n            const rtlLink = this.document.getElementById('eui-theme') as HTMLLinkElement;\n            this._renderThemeCss(themeFound, isActive, rtlLink);\n\n        }else {\n            this._renderThemeCss(themeFound, isActive, null);\n        }\n    }\n\n    private _renderThemeCss(themeFound: IEuiTheme, isActive: boolean, link: HTMLLinkElement): void {\n        const head = this.document.getElementsByTagName('head')[0];\n\n        if (isActive) {\n            if (themeFound.cssClass) {\n                document.querySelector('html').classList.add(themeFound.cssClass);\n            }\n            if (themeFound.styleSheet) {\n                if (link) {\n                    link.href = `assets/${themeFound.styleSheet}`;\n                } else {\n                    const style = this.document.createElement('link');\n                    style.id = 'eui-theme';\n                    style.rel = 'stylesheet';\n                    style.href = `assets/${themeFound.styleSheet}`;\n                    head.appendChild(style);\n                }\n            }\n        } else {\n            if (themeFound.cssClass) {\n                document.querySelector('html').classList.remove(themeFound.cssClass);\n            }\n\n            if (themeFound.styleSheet) {\n                if (link) {\n                    link.media = '';\n                }\n            }\n        }\n    }\n}\n",
            "properties": [
                {
                    "name": "theme",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 29
                },
                {
                    "name": "themes",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "IEuiTheme[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 27
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "TranslationKeys",
            "id": "interface-TranslationKeys-13449e882c84e7a5fbea186f03a18d17bec34c75962ab83b8fa1a7274d6f0661744b43a4ca4c96a7d5f90da13d4c4a5ff2190b4e243d681266632e1a73464b4c",
            "file": "packages/core/src/lib/services/i18n/i18n.loader.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Injectable, inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { TranslateLoader, TranslationObject } from '@ngx-translate/core';\nimport { forkJoin, Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\nimport {\n    getI18nLoaderConfig,\n    I18nResource,\n    type EuiAppConfig,\n    mergeAll,\n    Logger,\n    I18nLoaderConfig,\n    I18nConfig,\n    TranslationsCompiler,\n} from '@eui/base';\nimport { I18nResourceImpl } from './i18n.resource';\nimport { CONFIG_TOKEN } from '../config/tokens';\nimport { LogService } from '../log/log.service';\nimport { transformTranslations } from './i18n-utils';\n\ninterface ResourceError {\n    isError: boolean;\n    error?: string;\n    resource?: I18nResourceImpl;\n}\n\nexport interface LoadedResources {\n    translations: TranslationObject;\n    hasError: boolean;\n    errors?: Array<LoadedResourcesError>;\n}\n\nexport interface LoadedResourcesError {\n    resource: I18nResourceImpl;\n    error: string;\n}\n\nexport interface TranslationKeys {\n    [key: string]: string\n}\n\n@Injectable()\nexport class I18nLoader implements TranslateLoader {\n    protected http = inject(HttpClient);\n    protected logService = inject(LogService, { optional: true });\n    protected euiAppConfig = inject<EuiAppConfig>(CONFIG_TOKEN);\n\n    protected resources: I18nResourceImpl[] = [];\n    protected failedResources: Array<LoadedResourcesError> = [];\n    private logger: Logger;\n    private icuEnabled: boolean;\n\n    constructor() {\n        const logService = this.logService;\n\n        if (logService) {\n            this.logger = this.logService.getLogger('core.I18nLoader')\n        }\n\n        // create the resources from the config object\n        const i18nConfig: I18nConfig = this.euiAppConfig.global && this.euiAppConfig.global.i18n;\n        const i18nLoaderConfig: I18nLoaderConfig = i18nConfig && i18nConfig.i18nLoader;\n        this.resources.push(...this.createResources(i18nLoaderConfig));\n\n        // Auto-detect ICU mode from config\n        this.icuEnabled = !!(i18nConfig && i18nConfig.icuEnabled);\n    }\n\n    /**\n     * Gets the translations from the server\n     *\n     * @param lang\n     * @returns Observable<object>\n     */\n    public getTranslation(lang: string): Observable<TranslationObject> {\n        return this.loadResources(this.resources, lang).pipe(\n            map((loadedResources: LoadedResources) => {\n                this.failedResources = loadedResources.hasError ? loadedResources.errors : [];\n                const translations = loadedResources.translations;\n                return this.icuEnabled ? transformTranslations(translations) : translations;\n            }),\n        );\n    }\n\n    /**\n     * Adds resources\n     *\n     * @param config loader configuration\n     * @returns Observable<any> | false\n     */\n    public addResources(config: I18nLoaderConfig): I18nResourceImpl[] {\n        // create the resources\n        let resources = this.createResources(config);\n\n        // filter the resources first, to avoid duplicates\n        resources = resources.filter((resource) => !this.resources.some((res) => res.equals(resource)));\n\n        // add the new resources to the list of existing resources\n        this.resources.push(...resources);\n\n        // return the filtered resources\n        return resources;\n    }\n\n    /**\n     * Removes resources from the loader instance\n     */\n    public removeResources(removedResources: I18nResourceImpl[]): void {\n        this.resources = this.resources.filter((res) => !removedResources.some((removedResource) => removedResource.equals(res)));\n    }\n\n    /**\n     * Loads an array of resources, by language\n     *\n     * @param resources the definition of the resources\n     * @param lang the resource language to load\n     * @returns Observable<any>\n     */\n    public loadResources(resources: I18nResourceImpl[], lang: string): Observable<{ hasError: boolean; translations: TranslationObject; errors?: LoadedResourcesError[] }> {\n        // if there are resources to load\n        if (Array.isArray(resources) && resources.length > 0) {\n            // load all the resources in an array of Observable\n            const requests = resources.map((resource) => this.loadResource(resource, lang));\n            // group all the observables with forkJoin and deep merge them\n            return forkJoin(requests).pipe(\n                map((response) => {\n                    const successResp = [];\n                    const errResp: Array<LoadedResourcesError> = [];\n                    response.forEach((item) => {\n                        if ((<ResourceError>item).isError) {\n                            errResp.push({ resource: (<ResourceError>item).resource, error: (<ResourceError>item).error });\n                        } else {\n                            successResp.push(item);\n                        }\n                    });\n                    if (successResp.length === response.length) {\n                        return { hasError: false, translations: mergeAll(successResp) };\n                    } else {\n                        return { hasError: true, translations: mergeAll(successResp), errors: errResp };\n                    }\n                }),\n            );\n        } else {\n            // no resources to load\n            return of({ hasError: false, translations: {} });\n        }\n    }\n\n    /**\n     * Returns resources that failed\n     */\n    public getFailedResources(): Array<LoadedResourcesError> {\n        return this.failedResources;\n    }\n\n    /**\n     * Create resources from a config file\n     *\n     * @param config loader configuration\n     * @returns I18nResourceImpl[] resources\n     */\n    protected createResources(config: I18nLoaderConfig): I18nResourceImpl[] {\n        // use the default config as a reference base\n        config = getI18nLoaderConfig(config);\n\n        const resources = [];\n\n        // extract the i18n folders from config\n        const i18nFolders: string[] = Array.isArray(config.i18nFolders)\n            ? config.i18nFolders\n            : config.i18nFolders\n            ? [config.i18nFolders]\n            : [];\n        if (i18nFolders) {\n            // add the i18n folders to resources\n            resources.push(...i18nFolders.map((folder) => new I18nResourceImpl(`assets/${folder}/`, '.json')));\n        }\n\n        // extract the i18n services from config\n        const i18nServices: string[] = Array.isArray(config.i18nServices)\n            ? config.i18nServices\n            : config.i18nServices\n            ? [config.i18nServices]\n            : [];\n        if (i18nServices) {\n            // add the i18n services to resources\n            resources.push(...i18nServices.map((service) => new I18nResourceImpl(service)));\n        }\n\n        // extract the i18n resources from config\n        const i18nResources: I18nResource[] = Array.isArray(config.i18nResources)\n            ? config.i18nResources\n            : config.i18nResources\n            ? [config.i18nResources]\n            : [];\n        if (i18nResources) {\n            // add the i18n resources to resources\n            resources.push(\n                ...i18nResources.map(\n                    (resource) =>\n                        new I18nResourceImpl(\n                            resource.prefix,\n                            resource.suffix,\n                            this.getResourceCompileFunction(resource.compileTranslations),\n                        ),\n                ),\n            );\n        }\n\n        return resources;\n    }\n\n    /**\n     * Loads a resource, by language\n     *\n     * @param resource the definition of the resource\n     * @param lang the resource language to load\n     * @returns Observable<any>\n     */\n    protected loadResource(resource: I18nResourceImpl, lang: string): Observable<TranslationKeys | ResourceError> {\n        // the path to the resource\n        const path = resource.getPath(lang);\n\n        // load the translations from the path\n        return this.http.get(path).pipe(\n            // preprocess the translations using the resource compiler\n            map((translations: unknown) => resource.compileTranslations(translations, lang)),\n            map((translations: TranslationKeys) => {\n                // resource loaded properly, send a info message\n                this.logger?.info(`I18n resource loaded from path ${path}`);\n                // return the translations\n                return translations;\n            }),\n            catchError((err) => {\n                // remove failed resource from loaded resource array\n                // this.removeResources([resource]);\n                // resource not loaded properly, send a warning message\n                this.logger?.warn(`I18n resource NOT loaded from path ${path}`, err);\n                const resourceError: ResourceError = { error: `I18n resource NOT loaded from path ${path}`, resource, isError: true };\n                return of(resourceError);\n            }),\n        );\n    }\n\n    private getResourceCompileFunction(id: string): TranslationsCompiler {\n        const customHandlers = this.euiAppConfig.customHandler;\n        if (customHandlers && typeof customHandlers[id] === 'function') {\n            return customHandlers[id];\n        }\n        return undefined;\n    }\n}\n\nexport const translateConfig = {\n    loader: {\n        provide: TranslateLoader,\n        useClass: I18nLoader,\n    },\n};\n",
            "properties": [],
            "indexSignatures": [
                {
                    "id": "index-declaration-13449e882c84e7a5fbea186f03a18d17bec34c75962ab83b8fa1a7274d6f0661744b43a4ca4c96a7d5f90da13d4c4a5ff2190b4e243d681266632e1a73464b4c",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "line": 39,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "kind": 182,
            "methods": [],
            "extends": []
        },
        {
            "name": "UIState",
            "id": "interface-UIState-bfaa9f6270d915c4863163b9e4ecefb08375cb6aa213f37d6112501a800ecb988315566a096e4f16f380bf9ca862b10c87dcf84348591cf9fabd6814ab659923",
            "file": "packages/core/src/lib/services/eui-app-shell.service.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Injectable, PLATFORM_ID, inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { BehaviorSubject, defer, firstValueFrom, Observable } from 'rxjs';\nimport { EuiEuLanguages, GlobalConfig, getActiveLang, EuiLanguage, EuiMenuItem } from '@eui/base';\nimport { GLOBAL_CONFIG_TOKEN } from './config/tokens';\nimport { I18nService } from './i18n';\nimport { Router, NavigationEnd } from '@angular/router';\nimport { StoreService } from './store/store.service';\nimport { distinctUntilChanged, filter, map } from 'rxjs/operators';\nimport { isEqual, get } from 'lodash-es';\nimport { CssUtils } from '../helpers/css-utils';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface UIState<BP = any, DI = any, AMD =any, BPV = any> {\n    // app state\n    appName?: string;\n    appShortName?: string;\n    appSubTitle?: string;\n    appBaseFontSize?: string;\n\n    // Sidebar state\n    isSidebarOpen?: boolean;\n    isSidebarActive?: boolean;\n    hasSidebar?: boolean;\n    hasSideContainer?: boolean;\n    hasBreadcrumb?: boolean;\n    hasHeader?: boolean;\n    hasHeaderLogo?: boolean;\n    hasHeaderEnvironment?: boolean;\n    hasToolbar?: boolean;\n    hasToolbarMegaMenu?: boolean;\n    hasToolbarMenu?: boolean;\n    environmentValue?: string;\n    isSidebarHidden?: boolean;\n    isSidebarFocused?: boolean;\n    hasSidebarCollapsedVariant?: boolean;\n    hasTopMessage?: boolean;\n\n    // window state\n    windowWidth?: number;\n    windowHeight?: number;\n    mainContentHeight?: number;\n    pageHeaderHeight?: number;\n    breakpoint?: string;\n    wrapperClasses?: string;\n    breakpoints?: BP;\n    breakpointValues?: BPV;\n\n    // navigation state\n    menuLinks?: EuiMenuItem[];\n    sidebarLinks?: EuiMenuItem[];\n    combinedLinks?: EuiMenuItem[];\n\n    // other states\n    isBlockDocumentActive?: boolean;\n\n    // device info\n    deviceInfo: DI;\n\n    // language infos\n    activeLanguage: string;\n    languages: (string | EuiLanguage)[];\n\n    // app metadata\n    appMetadata: AMD;\n\n    // various dynamic state\n    hasModalActive?: boolean;\n    isDimmerActive?: boolean; // Usage: map to eui base directive input coerce euiHighlighted\n}\n\nconst initialState: UIState = {\n    appName: '',\n    appShortName: '',\n    appSubTitle: '',\n    appBaseFontSize: '',\n\n    isSidebarOpen: true,\n    isSidebarActive: false,\n    hasSidebar: false,\n    hasSideContainer: false,\n    hasHeader: false,\n    hasBreadcrumb: false,\n    hasHeaderLogo: false,\n    hasHeaderEnvironment: false,\n    hasToolbar: false,\n    hasToolbarMegaMenu: false,\n    hasToolbarMenu: false,\n    environmentValue: '',\n    isSidebarHidden: false,\n    isSidebarFocused: false,\n    hasSidebarCollapsedVariant: false,\n    hasTopMessage: false,\n    windowWidth: 0,\n    windowHeight: 0,\n    mainContentHeight: 0,\n    pageHeaderHeight: 0,\n    wrapperClasses: '',\n    breakpoint: '',\n    breakpoints: {\n        isMobile: false,\n        isTablet: false,\n        isLtLargeTablet: false,\n        isLtDesktop: false,\n        isDesktop: false,\n        isXL: false,\n        isXXL: false,\n        isFHD: false,\n        is2K: false,\n        is4K: false,\n    },\n    breakpointValues: [],\n    menuLinks: [],\n    sidebarLinks: [],\n    combinedLinks: [],\n    isBlockDocumentActive: false,\n    deviceInfo: null,\n    activeLanguage: 'en',\n    languages: EuiEuLanguages.getLanguages(),\n    appMetadata: null,\n    hasModalActive: false,\n    isDimmerActive: false,\n};\n\n@Injectable({\n    providedIn: 'root',\n})\nexport class EuiAppShellService {\n    navigationStartCustomHandler: () => void;\n    navigationEndCustomHandler: () => void;\n    protected config = inject<GlobalConfig>(GLOBAL_CONFIG_TOKEN, { optional: true });\n    private http = inject(HttpClient);\n    private platformId = inject(PLATFORM_ID);\n    private document = inject<Document>(DOCUMENT);\n    private router = inject(Router);\n    private storeService = inject(StoreService);\n    private i18nService = inject(I18nService, { optional: true });\n\n    // -------------------\n    get state$(): Observable<UIState> {\n        return this._state$.asObservable();\n    }\n\n    // -------------------\n    // exposed observables\n\n    get breakpoint$(): Observable<string> {\n        return this._breakpoint$.asObservable();\n    }\n\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    get breakpoints$(): Observable<any> {\n        return this._breakpoints$.asObservable();\n    }\n\n    // ----------------\n    // state operations\n    // ----------------\n    get state(): UIState {\n        return this._state$.getValue();\n    }\n\n    // ----------------------------\n    // public setters and functions\n    // ----------------------------\n    set isSidebarOpen(isOpen: boolean) {\n        this.setState({\n            ...this.state,\n            isSidebarOpen: isOpen,\n        });\n    }\n\n    get isSidebarOpen(): boolean {\n        return this.state.isSidebarOpen;\n    }\n\n    set isSidebarActive(isActive: boolean) {\n        this.setState({\n            ...this.state,\n            isSidebarActive: isActive,\n        });\n    }\n\n    set sidebarLinks(links: EuiMenuItem[]) {\n        this.setState({\n            ...this.state,\n            sidebarLinks: links,\n        });\n    }\n\n    set hasSidebarCollapsedVariant(isActive: boolean) {\n        this.setState({\n            ...this.state,\n            hasSidebarCollapsedVariant: isActive,\n        });\n        CssUtils.activateSidebarCssVars(this.document, this.platformId, isActive);\n    }\n\n    set menuLinks(links: EuiMenuItem[]) {\n        this.setState({\n            ...this.state,\n            menuLinks: links,\n        });\n    }\n\n    set isBlockDocumentActive(isActive: boolean) {\n        this.setState({\n            ...this.state,\n            isBlockDocumentActive: isActive,\n        });\n    }\n\n    get hasHeader(): boolean {\n        return this.state.hasHeader;\n    }\n\n    // Edit mode\n    get isDimmerActive(): boolean {\n        return this.state.isDimmerActive;\n    }\n\n    set isDimmerActive(isActive: boolean) {\n        this.setState({\n            ...this.state,\n            isDimmerActive: isActive,\n        });\n    }\n\n    private _state$: BehaviorSubject<UIState>;\n    private _breakpoint$: BehaviorSubject<string>;\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    private _breakpoints$: BehaviorSubject<any>;\n\n    constructor() {\n        const config = this.config;\n\n        let stateWithConfig = initialState;\n        const languages = config?.i18n?.i18nService?.languages || initialState.languages;\n        const defaultLanguage = config?.i18n?.i18nService?.defaultLanguage || initialState.activeLanguage;\n        stateWithConfig = {\n            ...stateWithConfig,\n            ...{\n                languages,\n                activeLanguage: defaultLanguage,\n            },\n        };\n        this._state$ = new BehaviorSubject(stateWithConfig);\n        this._breakpoint$ = new BehaviorSubject('');\n        this._breakpoints$ = new BehaviorSubject({});\n        this.bindActiveLanguageToAppShellState();\n    }\n\n    setState(nextState: UIState, updateI18 = true): void {\n        let breakpoint, breakpoints;\n        let combinedLinks;\n\n        const state = this.state;\n\n        // check if window width has been updated from previous state\n        if (this.state.windowWidth !== nextState.windowWidth) {\n            breakpoint = this.getBreakpoint(nextState.windowWidth);\n            breakpoints = this.getBreakpoints(breakpoint);\n\n            this._breakpoint$.next(breakpoint);\n            this._breakpoints$.next(breakpoints);\n\n            // if not propagate the old ones without doing any calculations\n        } else {\n            breakpoint = state.breakpoint;\n            breakpoints = state.breakpoints;\n        }\n\n        // finally get the wrapper classes when both the state and breakpoint are known\n        const wrapperClasses = this.getWrapperClasses(nextState, breakpoint);\n\n        // check if the menuLinks or sidebarLinks have changed from previous state\n        if (this.state.menuLinks !== nextState.menuLinks || this.state.sidebarLinks !== nextState.sidebarLinks) {\n            combinedLinks = [...nextState.menuLinks, ...nextState.sidebarLinks];\n        } else {\n            combinedLinks = this.state.combinedLinks;\n        }\n\n        const stateBeforeUpdate = { ...this.state };\n\n        // we put it all together with the calculated properties\n        this._state$.next({\n            ...nextState,\n            wrapperClasses,\n            breakpoint,\n            breakpoints,\n            combinedLinks,\n        });\n\n        // update the Store Language\n        if (updateI18 && nextState.activeLanguage !== stateBeforeUpdate.activeLanguage) {\n            this.i18nService.updateState({ activeLang: nextState.activeLanguage });\n        }\n    }\n\n    /**\n     * Emits a slice from the state whether that changes\n     *\n     * @param key can be 'key' or 'key.sub.sub'\n     */\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    getState<T = any>(key?: string): Observable<T> {\n        return defer(() =>\n            // check if key exists\n            key\n                ? this.state$.pipe(\n                      map((state) => get(state, key)),\n                      // filter((state) => state),\n                      distinctUntilChanged((x, y) => isEqual(x, y)),\n                  )\n                : this.state$,\n        );\n    }\n\n    public sidebarToggle(): void {\n        this.isSidebarOpen = !this.state.isSidebarOpen;\n    }\n\n    // Edit mode\n    public dimmerActiveToggle(): void {\n        const isActive = this.isDimmerActive;\n        this.setState({\n            ...this.state,\n            isDimmerActive: !isActive,\n        });\n        CssUtils.activateEditModeCssVars(!isActive, this.document);\n    }\n\n    public setDimmerActiveState(activeState: boolean): void {\n        this.setState({\n            ...this.state,\n            isDimmerActive: activeState,\n        });\n        CssUtils.activateEditModeCssVars(activeState, this.document);\n    }\n\n    // --------------\n    // public methods\n    // --------------\n    public fetchAppMetadata(metadataFilePath = 'assets/app-metadata.json'): void {\n        this.getJson(metadataFilePath).then((data) => {\n            this.setState({\n                ...this.state,\n                appMetadata: data,\n            });\n        });\n    }\n\n    public activateSidebar(): void {\n        this.setState({\n            ...this.state,\n            hasSidebar: true,\n        });\n\n        if (!this.state.isSidebarHidden) {\n            CssUtils.activateSidebarCssVars(this.document, this.platformId, this.state.hasSidebarCollapsedVariant);\n        }\n    }\n\n    public activateSideContainer(): void {\n        this.setState({\n            ...this.state,\n            hasSideContainer: true,\n        });\n\n        CssUtils.activateSideContainerCssVars(this.document, this.platformId);\n    }    \n\n    public deactivateSideContainer(): void {\n        this.setState({\n            ...this.state,\n            hasSideContainer: false,\n        });\n\n        CssUtils.deactivateSideContainerCssVars(this.document, this.platformId);\n    }    \n\n    public activateSidebarHeader(): void {\n        CssUtils.activateSidebarHeaderCssVars(this.document, this.platformId);\n    }\n\n    public activateSidebarFooter(): void {\n        CssUtils.activateSidebarFooterCssVars(this.document, this.platformId);\n    }\n\n    public activateHeader(): void {\n        this.setState({\n            ...this.state,\n            hasHeader: true,\n        });\n        CssUtils.activateHeaderCssVars(this.document, this.platformId);\n    }\n\n    public activateBreadcrumb(): void {\n        this.setState({\n            ...this.state,\n            hasBreadcrumb: true,\n        });\n        CssUtils.activateBreadcrumbCssVars(this.document, this.platformId);\n    }\n\n    public activateTopMessage(height: number): void {\n        this.setState({\n            ...this.state,\n            hasTopMessage: true,\n        });\n        CssUtils.activateTopMessageCssVars(height, this.document);\n    }\n\n    public activateToolbar(): void {\n        this.setState({\n            ...this.state,\n            hasToolbar: true,\n        });\n        CssUtils.activateToolbarCssVars(this.document, this.platformId);\n    }\n\n    public activateToolbarMegaMenu(): void {\n        this.setState({\n            ...this.state,\n            hasToolbarMegaMenu: true,\n        });\n        CssUtils.activateToolbarMegaMenuCssVars(this.document, this.platformId);\n    }\n\n    public activateToolbarMenu(): void {\n        this.setState({\n            ...this.state,\n            hasToolbarMenu: true,\n        });\n    }\n\n    /**\n     * Returns the current value of --eui-f-size-base CSS variable\n     */\n    public getBaseFontSize(): string {\n        return this.state.appBaseFontSize || CssUtils.getCssVarValue('--eui-f-size-base', this.document, this.platformId);\n    }\n\n    /**\n     * Updates the current value of --eui-f-size-base CSS variable and the UIState appBaseFontSize\n     */\n    public setBaseFontSize(newsize: string): void {\n        this.setState(\n            {\n                ...this.state,\n                appBaseFontSize: newsize,\n            },\n            false,\n        );\n        CssUtils.setCssVarValue('--eui-f-size-base', newsize, this.document);\n    }\n\n    // ---------------\n    // private getters\n    // ---------------\n    private getWrapperClasses(state: UIState, breakpoint: string): string {\n        const classes: string[] = [];\n\n        classes.push(breakpoint);\n\n        if (state.hasSidebar) {\n            if (state.isSidebarHidden) {\n                classes.push('sidebar--hidden');\n            }\n            if (state.isSidebarOpen) {\n                classes.push('sidebar--open');\n            } else {\n                classes.push('sidebar--close');\n            }\n        }\n        if (state.deviceInfo?.isFF) {\n            classes.push('ff');\n        }\n        if (state.deviceInfo?.isIE) {\n            classes.push('ie');\n        }\n        if (state.deviceInfo?.isChrome) {\n            classes.push('chrome');\n        }\n        return classes.join(' ');\n    }\n\n    private getBreakpoint(windowWidth: number): string {\n        let bkp = '';\n\n        if (this.state.breakpointValues.length === 0) {\n            this.setState({\n                ...this.state,\n                breakpointValues: CssUtils.getBreakpointValues(this.document, this.platformId),\n            });\n        }\n\n        this.state.breakpointValues.forEach((b, i) => {\n            if (i < this.state.breakpointValues.length) {\n                if (windowWidth >= b.value && windowWidth < this.state.breakpointValues[i+1]?.value) {\n                    bkp = b.bkp;\n                }\n            } else if(windowWidth >= b.value) {\n                bkp = b.bkp;\n            }\n        });\n\n        return bkp;\n    }\n\n    private getBreakpoints(bkp: string): object {\n        return {\n            isMobile: bkp === 'xs' || bkp === 'sm',\n            isTablet: bkp === 'md',\n            isLtLargeTablet: bkp === 'xs' || bkp === 'sm' || bkp === 'md' || bkp === 'lg',\n            isLtDesktop: bkp === 'xs' || bkp === 'sm' || bkp === 'md' || bkp === 'lg' || bkp === 'xl',\n            isDesktop: bkp === 'xxl',\n            isXL: bkp === 'xl',\n            isXXL: bkp === 'xxl',\n            isFHD: bkp === 'fhd',\n            is2K: bkp === '2k',\n            is4K: bkp === '4k',\n        };\n    }\n\n    private getJson(url: string): Promise<object> {\n        return firstValueFrom(this.http.get(url)).then(this.extractData).catch(this.handleError);\n    }\n\n    private extractData(res: Response): object {\n        const body = res;\n        return body || {};\n    }\n\n    private handleError<T extends Error>(error: T): Promise<T> {\n        console.error('An error occurred', error);\n        return Promise.reject(error.message || error);\n    }\n\n    private bindActiveLanguageToAppShellState(): void {\n        this.i18nService.getState((s) => s.activeLang).subscribe((activeLang) => {\n            if (activeLang !== this.state.activeLanguage) {\n                this.setState(\n                    {\n                        ...this.state,\n                        activeLanguage: activeLang,\n                    },\n                    false,\n                );\n            }\n        });\n    }\n}\n",
            "properties": [
                {
                    "name": "activeLanguage",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 62
                },
                {
                    "name": "appBaseFontSize",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 20
                },
                {
                    "name": "appMetadata",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "AMD",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 66
                },
                {
                    "name": "appName",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 17
                },
                {
                    "name": "appShortName",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 18
                },
                {
                    "name": "appSubTitle",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 19
                },
                {
                    "name": "breakpoint",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 45
                },
                {
                    "name": "breakpoints",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BP",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 47
                },
                {
                    "name": "breakpointValues",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BPV",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 48
                },
                {
                    "name": "combinedLinks",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiMenuItem[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 53
                },
                {
                    "name": "deviceInfo",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "DI",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 59
                },
                {
                    "name": "environmentValue",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 34
                },
                {
                    "name": "hasBreadcrumb",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 27
                },
                {
                    "name": "hasHeader",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 28
                },
                {
                    "name": "hasHeaderEnvironment",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 30
                },
                {
                    "name": "hasHeaderLogo",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 29
                },
                {
                    "name": "hasModalActive",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 69
                },
                {
                    "name": "hasSidebar",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 25
                },
                {
                    "name": "hasSidebarCollapsedVariant",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 37
                },
                {
                    "name": "hasSideContainer",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 26
                },
                {
                    "name": "hasToolbar",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 31
                },
                {
                    "name": "hasToolbarMegaMenu",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 32
                },
                {
                    "name": "hasToolbarMenu",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 33
                },
                {
                    "name": "hasTopMessage",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 38
                },
                {
                    "name": "isBlockDocumentActive",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 56
                },
                {
                    "name": "isDimmerActive",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 70
                },
                {
                    "name": "isSidebarActive",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 24
                },
                {
                    "name": "isSidebarFocused",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 36
                },
                {
                    "name": "isSidebarHidden",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 35
                },
                {
                    "name": "isSidebarOpen",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 23
                },
                {
                    "name": "languages",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "(string | EuiLanguage)[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 63
                },
                {
                    "name": "mainContentHeight",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 43
                },
                {
                    "name": "menuLinks",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiMenuItem[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 51
                },
                {
                    "name": "pageHeaderHeight",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 44
                },
                {
                    "name": "sidebarLinks",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiMenuItem[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 52
                },
                {
                    "name": "windowHeight",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 42
                },
                {
                    "name": "windowWidth",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 41
                },
                {
                    "name": "wrapperClasses",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 46
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        }
    ],
    "injectables": [
        {
            "name": "ApiQueueService",
            "id": "injectable-ApiQueueService-2cbb2a7e0ac26553397a4d0218a08a31349996ddc744d9eb5555a658bfe78d24f2ee0030a12d2c02a6302c62a09178ef5da860a4adb523e7660a0cd4b467efed",
            "file": "packages/core/src/lib/services/queue/api-queue.service.ts",
            "properties": [
                {
                    "name": "http",
                    "defaultValue": "inject(HttpClient)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 50,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "logService",
                    "defaultValue": "inject(LogService, { optional: true })",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 51,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "store",
                    "defaultValue": "inject(StoreService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 49,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methods": [
                {
                    "name": "addQueueItem",
                    "args": [
                        {
                            "name": "id",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "item",
                            "type": "ApiQueueItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 92,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nAdds an item to the queue by dispatching an action to the store.\nThis function is specifically designed to enqueue API call requests represented by `ApiQueueItem` objects.\nEach item is identified by a unique `id`, which is used to manage the queue.\n\n                     If an item with the same ID already exists, the new item will overwrite the existing one.\n                     WARNING: Duplicate IDs will lead to overwriting of queue items.\n\n                             The `method` property of the item must be one of the allowed methods ('post', 'put', 'get').\n                             If an unsupported method is provided, the function will throw an error.\n\n                The error message is: `[ApiQueue] method \"${item.method}\" is not allowed`.\n\n```html\n// Example of adding an item to the API queue\naddQueueItem('12345', { method: 'post', url: '/api/data', payload: {...} });\n```\n",
                    "description": "<p>Adds an item to the queue by dispatching an action to the store.\nThis function is specifically designed to enqueue API call requests represented by <code>ApiQueueItem</code> objects.\nEach item is identified by a unique <code>id</code>, which is used to manage the queue.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">                 If an item with the same ID already exists, the new item will overwrite the existing one.\n                 WARNING: Duplicate IDs will lead to overwriting of queue items.\n\n                         The `method` property of the item must be one of the allowed methods (&#39;post&#39;, &#39;put&#39;, &#39;get&#39;).\n                         If an unsupported method is provided, the function will throw an error.\n\n            The error message is: `[ApiQueue] method &quot;${item.method}&quot; is not allowed`.</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">// Example of adding an item to the API queue\naddQueueItem(&#39;12345&#39;, { method: &#39;post&#39;, url: &#39;/api/data&#39;, payload: {...} });</code></pre></div>",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 3481,
                                "end": 3483,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "id"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3466,
                                "end": 3471,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The unique identifier for the queue item. It&#39;s crucial to ensure that this ID is unique within the queue.\nIf an item with the same ID already exists, the new item will overwrite the existing one.\nWARNING: Duplicate IDs will lead to overwriting of queue items.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 3472,
                                "end": 3480,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 3473,
                                    "end": 3479,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        },
                        {
                            "name": {
                                "pos": 3838,
                                "end": 3842,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "item"
                            },
                            "type": "ApiQueueItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3817,
                                "end": 3822,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The item to be enqueued. This should be an object of type <code>ApiQueueItem</code>.\nThe <code>method</code> property of the item must be one of the allowed methods (&#39;post&#39;, &#39;put&#39;, &#39;get&#39;).\nIf an unsupported method is provided, the function will throw an error.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 3823,
                                "end": 3837,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 3824,
                                    "end": 3836,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 3824,
                                        "end": 3836,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "ApiQueueItem"
                                    }
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 4389,
                                "end": 4396,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "example"
                            },
                            "comment": "<p>// Example of adding an item to the API queue\naddQueueItem(&#39;12345&#39;, { method: &#39;post&#39;, url: &#39;/api/data&#39;, payload: {...} });</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 4549,
                                "end": 4556,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>This function does not return a value. It adds the item to the queue via a dispatch action.</p>\n",
                            "returnType": "void"
                        }
                    ]
                },
                {
                    "name": "getQueue",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<ApiQueueItem[]>",
                    "typeParameters": [],
                    "line": 123,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRetrieves the current state of the API queue and converts it into an array of Observables.\n\nThis method subscribes to the store to access the API queue. It then maps the queue object,\nwhich is an associative array, into a linear array of ApiQueueItem instances. If the queue is empty,\na warning is logged. This method is useful for tracking the state and contents of the API queue\nat a given moment.\n\nNote: This method takes a snapshot of the queue at the time of subscription. It does not provide\na continuous stream of queue updates. To get real-time updates, consider subscribing directly\nto the store's observable.\n\nThe array represents all items currently in the queue. If the queue is empty, it emits an empty array.\n\n```html\n// Example usage\nthis.getQueue().subscribe(queueItems => {\n  console.log('Current queue items:', queueItems);\n});\n```",
                    "description": "<p>Retrieves the current state of the API queue and converts it into an array of Observables.</p>\n<p>This method subscribes to the store to access the API queue. It then maps the queue object,\nwhich is an associative array, into a linear array of ApiQueueItem instances. If the queue is empty,\na warning is logged. This method is useful for tracking the state and contents of the API queue\nat a given moment.</p>\n<p>Note: This method takes a snapshot of the queue at the time of subscription. It does not provide\na continuous stream of queue updates. To get real-time updates, consider subscribing directly\nto the store&#39;s observable.</p>\n<p>The array represents all items currently in the queue. If the queue is empty, it emits an empty array.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">// Example usage\nthis.getQueue().subscribe(queueItems =&gt; {\n  console.log(&#39;Current queue items:&#39;, queueItems);\n});</code></pre></div>",
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 5710,
                                "end": 5717,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>An Observable that emits an array of ApiQueueItem.\nThe array represents all items currently in the queue. If the queue is empty, it emits an empty array.</p>\n",
                            "returnType": "unknown"
                        },
                        {
                            "tagName": {
                                "pos": 5923,
                                "end": 5930,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "example"
                            },
                            "comment": "<p>// Example usage\nthis.getQueue().subscribe(queueItems =&gt; {\n  console.log(&#39;Current queue items:&#39;, queueItems);\n});</p>\n"
                        }
                    ]
                },
                {
                    "name": "getQueueItem",
                    "args": [
                        {
                            "name": "id",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<ApiQueueItem>",
                    "typeParameters": [],
                    "line": 162,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRetrieves a specific item from the API queue by its ID.\n\nThis method subscribes to the store and selects a single item from the API queue based on the provided ID.\nIt employs a pipeline to fetch the item: the `getApiQueueItem` selector is used to retrieve the item,\nand a `map` operator processes the result. If the item with the specified ID does not exist in the queue,\na warning is logged, and `null` is returned.\n\nThis method is ideal for accessing a specific queue item when its ID is known, allowing for targeted\noperations or checks on that particular item.\n\nIf no item with the given ID exists in the queue, the Observable emits `null`.\n\n```html\n// Example usage\nthis.getQueueItem('item123').subscribe(item => {\n  if (item) {\n    console.log('Found item:', item);\n  } else {\n    console.log('Item not found in the queue');\n  }\n});\n```",
                    "description": "<p>Retrieves a specific item from the API queue by its ID.</p>\n<p>This method subscribes to the store and selects a single item from the API queue based on the provided ID.\nIt employs a pipeline to fetch the item: the <code>getApiQueueItem</code> selector is used to retrieve the item,\nand a <code>map</code> operator processes the result. If the item with the specified ID does not exist in the queue,\na warning is logged, and <code>null</code> is returned.</p>\n<p>This method is ideal for accessing a specific queue item when its ID is known, allowing for targeted\noperations or checks on that particular item.</p>\n<p>If no item with the given ID exists in the queue, the Observable emits <code>null</code>.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">// Example usage\nthis.getQueueItem(&#39;item123&#39;).subscribe(item =&gt; {\n  if (item) {\n    console.log(&#39;Found item:&#39;, item);\n  } else {\n    console.log(&#39;Item not found in the queue&#39;);\n  }\n});</code></pre></div>",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 7206,
                                "end": 7208,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "id"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 7191,
                                "end": 7196,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The unique identifier of the item within the queue.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 7197,
                                "end": 7205,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 7198,
                                    "end": 7204,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 7271,
                                "end": 7278,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>An Observable emitting the requested ApiQueueItem.\nIf no item with the given ID exists in the queue, the Observable emits <code>null</code>.</p>\n",
                            "returnType": "unknown"
                        },
                        {
                            "tagName": {
                                "pos": 7465,
                                "end": 7472,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "example"
                            },
                            "comment": "<p>// Example usage\nthis.getQueueItem(&#39;item123&#39;).subscribe(item =&gt; {\n  if (item) {\n    console.log(&#39;Found item:&#39;, item);\n  } else {\n    console.log(&#39;Item not found in the queue&#39;);\n  }\n});</p>\n"
                        }
                    ]
                },
                {
                    "name": "processAllQueueItems",
                    "args": [
                        {
                            "name": "continueOnError",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "true"
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<T[]>",
                    "typeParameters": [
                        "T"
                    ],
                    "line": 270,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nProcesses all items in the API queue and collects their responses.\n\nIterates over each item in the queue and processes them using `buildHttpRequest`. If a request fails,\nthe method can either continue processing the remaining items or stop, based on the `continueOnError` parameter.\nIt returns an Observable that emits an array containing the responses or errors from all the processed items.\n\nThe function currently returns `Observable<any[]>` indicating an array of any type. Future improvements\nshould aim to specify a more accurate return type or utilize generics for increased type safety.\n\n                                          after a request failure. Defaults to `true`.\n                             queue items.\n\n```html\nthis.processAllQueueItems().subscribe(results => {\n  // Handle the array of responses or errors\n});\n```",
                    "description": "<p>Processes all items in the API queue and collects their responses.</p>\n<p>Iterates over each item in the queue and processes them using <code>buildHttpRequest</code>. If a request fails,\nthe method can either continue processing the remaining items or stop, based on the <code>continueOnError</code> parameter.\nIt returns an Observable that emits an array containing the responses or errors from all the processed items.</p>\n<p>The function currently returns <code>Observable&lt;any[]&gt;</code> indicating an array of any type. Future improvements\nshould aim to specify a more accurate return type or utilize generics for increased type safety.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">                                      after a request failure. Defaults to `true`.\n                         queue items.</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">this.processAllQueueItems().subscribe(results =&gt; {\n  // Handle the array of responses or errors\n});</code></pre></div>",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 12134,
                                "end": 12149,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "continueOnError"
                            },
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "true",
                            "tagName": {
                                "pos": 12117,
                                "end": 12122,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Determines whether to continue with the next item in the queue\n after a request failure. Defaults to <code>true</code>.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 12123,
                                "end": 12132,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 12124,
                                    "end": 12131,
                                    "kind": 136,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 12323,
                                "end": 12330,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>An Observable emitting an array of either responses or errors from the processed\nqueue items.</p>\n",
                            "returnType": "unknown"
                        },
                        {
                            "tagName": {
                                "pos": 12496,
                                "end": 12503,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "example"
                            },
                            "comment": "<p>this.processAllQueueItems().subscribe(results =&gt; {\n  // Handle the array of responses or errors\n});</p>\n"
                        }
                    ]
                },
                {
                    "name": "processAllQueueItemsSequential",
                    "args": [
                        {
                            "name": "ascending",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "true"
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<T>",
                    "typeParameters": [
                        "T"
                    ],
                    "line": 312,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nProcesses all items in the queue sequentially, based on their timestamp ordering.\n\nThis method first orders the items in the API queue by their timestamp, either in ascending or descending\norder as specified by the `ascending` parameter. It then processes each item using `buildHttpRequest`, ensuring\nthat each request is completed before the next begins. This sequential processing is crucial when the order of\nexecution matters for HTTP requests in the queue. The method returns an Observable that emits the responses\nfollowing the same order as the queue items were processed.\n\nThe function currently returns `Observable<any>`, indicating a broad type. Future improvements should focus on\nspecifying a more accurate return type or utilizing generics for increased type safety.\n\n                                    timestamp. Defaults to `true`.\n\n```html\nthis.processAllQueueItemsSequential().subscribe(response => {\n  // Handle each response in the order of queue processing\n});\n```",
                    "description": "<p>Processes all items in the queue sequentially, based on their timestamp ordering.</p>\n<p>This method first orders the items in the API queue by their timestamp, either in ascending or descending\norder as specified by the <code>ascending</code> parameter. It then processes each item using <code>buildHttpRequest</code>, ensuring\nthat each request is completed before the next begins. This sequential processing is crucial when the order of\nexecution matters for HTTP requests in the queue. The method returns an Observable that emits the responses\nfollowing the same order as the queue items were processed.</p>\n<p>The function currently returns <code>Observable&lt;any&gt;</code>, indicating a broad type. Future improvements should focus on\nspecifying a more accurate return type or utilizing generics for increased type safety.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">                                timestamp. Defaults to `true`.</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">this.processAllQueueItemsSequential().subscribe(response =&gt; {\n  // Handle each response in the order of queue processing\n});</code></pre></div>",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 14338,
                                "end": 14347,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "ascending"
                            },
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "true",
                            "tagName": {
                                "pos": 14321,
                                "end": 14326,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Determines whether the queue items are processed in ascending order of their\n timestamp. Defaults to <code>true</code>.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 14327,
                                "end": 14336,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 14328,
                                    "end": 14335,
                                    "kind": 136,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 14515,
                                "end": 14522,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>An Observable emitting the responses of the HTTP requests in the order they were processed.</p>\n",
                            "returnType": "unknown"
                        },
                        {
                            "tagName": {
                                "pos": 14648,
                                "end": 14655,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "example"
                            },
                            "comment": "<p>this.processAllQueueItemsSequential().subscribe(response =&gt; {\n  // Handle each response in the order of queue processing\n});</p>\n"
                        }
                    ]
                },
                {
                    "name": "processQueueItem",
                    "args": [
                        {
                            "name": "id",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<T>",
                    "typeParameters": [
                        "T"
                    ],
                    "line": 236,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nProcesses an item from the API queue identified by its ID.\n\nRetrieves the specified item from the queue and applies processing logic as defined in `buildHttpRequest`.\nIf the item is not found, logs a warning and returns an Observable emitting `null`.\n\nIf the item does not exist, the Observable emits `null`.\n\n```html\n// Example usage\nthis.processQueueItem('item123').subscribe(result => {\n  if (result) {\n    console.log('Processing result:', result);\n  } else {\n    console.log('Item not found in the queue');\n  }\n});\n```",
                    "description": "<p>Processes an item from the API queue identified by its ID.</p>\n<p>Retrieves the specified item from the queue and applies processing logic as defined in <code>buildHttpRequest</code>.\nIf the item is not found, logs a warning and returns an Observable emitting <code>null</code>.</p>\n<p>If the item does not exist, the Observable emits <code>null</code>.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">// Example usage\nthis.processQueueItem(&#39;item123&#39;).subscribe(result =&gt; {\n  if (result) {\n    console.log(&#39;Processing result:&#39;, result);\n  } else {\n    console.log(&#39;Item not found in the queue&#39;);\n  }\n});</code></pre></div>",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 10467,
                                "end": 10469,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "id"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 10452,
                                "end": 10457,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The unique identifier of the item within the queue to be processed.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 10458,
                                "end": 10466,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 10459,
                                    "end": 10465,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 10548,
                                "end": 10555,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>An Observable that emits the result of processing the queue item.\nIf the item does not exist, the Observable emits <code>null</code>.</p>\n",
                            "returnType": "unknown"
                        },
                        {
                            "tagName": {
                                "pos": 10719,
                                "end": 10726,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "example"
                            },
                            "comment": "<p>// Example usage\nthis.processQueueItem(&#39;item123&#39;).subscribe(result =&gt; {\n  if (result) {\n    console.log(&#39;Processing result:&#39;, result);\n  } else {\n    console.log(&#39;Item not found in the queue&#39;);\n  }\n});</p>\n"
                        }
                    ]
                },
                {
                    "name": "removeAllQueueItem",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 212,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nClears all items from the API queue.\n\nThis method dispatches an action to empty the entire API queue, effectively removing all items that are currently queued.\nIt is useful for scenarios where a complete reset of the queue is required, such as during initialization or after processing\na batch of items. The function does not return any value, as its primary purpose is to trigger a state change in the store.\n\nNote: Use this method with caution as it will irreversibly clear all items in the queue. Ensure that this action does not\ndisrupt any ongoing processes that rely on the queue's contents.\n\n```html\n// Example usage\nthis.removeAllQueueItem();\n// This will dispatch an action to empty the entire API queue.\n```",
                    "description": "<p>Clears all items from the API queue.</p>\n<p>This method dispatches an action to empty the entire API queue, effectively removing all items that are currently queued.\nIt is useful for scenarios where a complete reset of the queue is required, such as during initialization or after processing\na batch of items. The function does not return any value, as its primary purpose is to trigger a state change in the store.</p>\n<p>Note: Use this method with caution as it will irreversibly clear all items in the queue. Ensure that this action does not\ndisrupt any ongoing processes that rely on the queue&#39;s contents.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">// Example usage\nthis.removeAllQueueItem();\n// This will dispatch an action to empty the entire API queue.</code></pre></div>",
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 9908,
                                "end": 9915,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "example"
                            },
                            "comment": "<p>// Example usage\nthis.removeAllQueueItem();\n// This will dispatch an action to empty the entire API queue.</p>\n"
                        }
                    ]
                },
                {
                    "name": "removeQueueItem",
                    "args": [
                        {
                            "name": "id",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 193,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRemoves a specific item from the API queue using its ID.\n\nThis method dispatches an action to remove an item from the queue, identified by the provided ID.\nIt is essential for managing the queue by eliminating items that are no longer needed or have been processed.\nThe function does not return any value, as it primarily triggers an action within the store.\n\nNote: This method assumes the existence of the item in the queue. It does not perform a check\nto confirm the presence of the item before attempting to remove it. Therefore, it's recommended\nto verify the item's existence in the queue if uncertainty exists.\n\n\n```html\n// Example usage\nthis.removeQueueItem('item123');\n// The item with ID 'item123' will be dispatched for removal from the queue.\n```",
                    "description": "<p>Removes a specific item from the API queue using its ID.</p>\n<p>This method dispatches an action to remove an item from the queue, identified by the provided ID.\nIt is essential for managing the queue by eliminating items that are no longer needed or have been processed.\nThe function does not return any value, as it primarily triggers an action within the store.</p>\n<p>Note: This method assumes the existence of the item in the queue. It does not perform a check\nto confirm the presence of the item before attempting to remove it. Therefore, it&#39;s recommended\nto verify the item&#39;s existence in the queue if uncertainty exists.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">// Example usage\nthis.removeQueueItem(&#39;item123&#39;);\n// The item with ID &#39;item123&#39; will be dispatched for removal from the queue.</code></pre></div>",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 8853,
                                "end": 8855,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "id"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 8838,
                                "end": 8843,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The unique identifier of the item to be removed from the queue.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 8844,
                                "end": 8852,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 8845,
                                    "end": 8851,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 8937,
                                "end": 8944,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "example"
                            },
                            "comment": "<p>// Example usage\nthis.removeQueueItem(&#39;item123&#39;);\n// The item with ID &#39;item123&#39; will be dispatched for removal from the queue.</p>\n"
                        }
                    ]
                },
                {
                    "name": "sortOnTimestamp",
                    "args": [
                        {
                            "name": "a",
                            "type": "[string, ApiQueueItem]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "b",
                            "type": "[string, ApiQueueItem]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "number",
                    "typeParameters": [],
                    "line": 340,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCompares two queue items based on their timestamp and determines their order.\n\nThis protected method is used to sort queue items. It takes two queue items as input, each represented\nas a tuple containing an item ID and the `ApiQueueItem` object. The method compares these items based on\nthe `timestamp` property of the `ApiQueueItem` objects. It returns a number indicating the order in which\nthese items should be sorted.\n\nA positive return value indicates that the first item should come after the second, a negative value\nindicates the opposite, and zero indicates that they are equal in terms of timestamp.\n\n                 positive if `a` is later than `b`, and zero if they are equal.\n",
                    "description": "<p>Compares two queue items based on their timestamp and determines their order.</p>\n<p>This protected method is used to sort queue items. It takes two queue items as input, each represented\nas a tuple containing an item ID and the <code>ApiQueueItem</code> object. The method compares these items based on\nthe <code>timestamp</code> property of the <code>ApiQueueItem</code> objects. It returns a number indicating the order in which\nthese items should be sorted.</p>\n<p>A positive return value indicates that the first item should come after the second, a negative value\nindicates the opposite, and zero indicates that they are equal in terms of timestamp.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">             positive if `a` is later than `b`, and zero if they are equal.</code></pre></div>",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 16016,
                                "end": 16017,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "a"
                            },
                            "type": "[string, ApiQueueItem]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 15985,
                                "end": 15990,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The first queue item tuple for comparison.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 15991,
                                "end": 16015,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 15992,
                                    "end": 16014,
                                    "kind": 190,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "elements": [
                                        {
                                            "pos": 15993,
                                            "end": 15999,
                                            "kind": 154,
                                            "id": 0,
                                            "flags": 16777216,
                                            "transformFlags": 1
                                        },
                                        {
                                            "pos": 16000,
                                            "end": 16013,
                                            "kind": 184,
                                            "id": 0,
                                            "flags": 16777216,
                                            "modifierFlagsCache": 0,
                                            "transformFlags": 1,
                                            "typeName": {
                                                "pos": 16000,
                                                "end": 16013,
                                                "kind": 80,
                                                "id": 0,
                                                "flags": 16777216,
                                                "transformFlags": 0,
                                                "escapedText": "ApiQueueItem"
                                            }
                                        }
                                    ]
                                }
                            }
                        },
                        {
                            "name": {
                                "pos": 16102,
                                "end": 16103,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "b"
                            },
                            "type": "[string, ApiQueueItem]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 16071,
                                "end": 16076,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The second queue item tuple for comparison.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 16077,
                                "end": 16101,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 16078,
                                    "end": 16100,
                                    "kind": 190,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "elements": [
                                        {
                                            "pos": 16079,
                                            "end": 16085,
                                            "kind": 154,
                                            "id": 0,
                                            "flags": 16777216,
                                            "transformFlags": 1
                                        },
                                        {
                                            "pos": 16086,
                                            "end": 16099,
                                            "kind": 184,
                                            "id": 0,
                                            "flags": 16777216,
                                            "modifierFlagsCache": 0,
                                            "transformFlags": 1,
                                            "typeName": {
                                                "pos": 16086,
                                                "end": 16099,
                                                "kind": 80,
                                                "id": 0,
                                                "flags": 16777216,
                                                "transformFlags": 0,
                                                "escapedText": "ApiQueueItem"
                                            }
                                        }
                                    ]
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 16158,
                                "end": 16165,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>A number indicating the order of the items: negative if <code>a</code> is earlier than <code>b</code>,\npositive if <code>a</code> is later than <code>b</code>, and zero if they are equal.</p>\n",
                            "returnType": "number"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "<p>Service class for managing and processing a queue of API requests.</p>\n<p>This service provides functionality to add, remove, process, and manage HTTP requests stored in a queue.\nIt enables sequential or bulk processing of requests, ensuring controlled execution and handling of API calls.\nThe service methods offer features like processing individual items, processing all items in the queue either\nsequentially or all at once, and removing items from the queue. Each method is designed to handle specific aspects\nof queue management and processing, with attention to details like order of execution and error handling.</p>\n<p>Usage of this service is ideal in scenarios where API requests need to be managed in a queue structure, allowing\nfor controlled execution and monitoring of these requests.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">// Adding a new item to the queue\napiQueueService.addQueueItem({ id: &#39;item124&#39;, method: &#39;POST&#39;, uri: &#39;/api/data&#39;, payload: {...} });</code></pre></div><p>// Processing a single item from the queue\napiQueueService.processQueueItem(&#39;item123&#39;).subscribe(result =&gt; {\n  console.log(&#39;Processed item 123 with result:&#39;, result);\n});</p>\n<p>// Processing all items in the queue in sequential order\napiQueueService.processAllQueueItemsSequential(false).subscribe(results =&gt; {\n  console.log(&#39;Processed all items in descending order of their timestamp:&#39;, results);\n});</p>\n<p>// Removing an item from the queue\napiQueueService.removeQueueItem(&#39;item123&#39;);</p>\n<p>// Processing all items in the queue and continuing on error\napiQueueService.processAllQueueItems(true).subscribe(results =&gt; {\n  console.log(&#39;Processed all items in the queue with continuation on errors:&#39;, results);\n});</p>\n",
            "rawdescription": "\n\nService class for managing and processing a queue of API requests.\n\nThis service provides functionality to add, remove, process, and manage HTTP requests stored in a queue.\nIt enables sequential or bulk processing of requests, ensuring controlled execution and handling of API calls.\nThe service methods offer features like processing individual items, processing all items in the queue either\nsequentially or all at once, and removing items from the queue. Each method is designed to handle specific aspects\nof queue management and processing, with attention to details like order of execution and error handling.\n\nUsage of this service is ideal in scenarios where API requests need to be managed in a queue structure, allowing\nfor controlled execution and monitoring of these requests.\n\n```html\n// Adding a new item to the queue\napiQueueService.addQueueItem({ id: 'item124', method: 'POST', uri: '/api/data', payload: {...} });\n```\n// Processing a single item from the queue\napiQueueService.processQueueItem('item123').subscribe(result => {\n  console.log('Processed item 123 with result:', result);\n});\n\n// Processing all items in the queue in sequential order\napiQueueService.processAllQueueItemsSequential(false).subscribe(results => {\n  console.log('Processed all items in descending order of their timestamp:', results);\n});\n\n// Removing an item from the queue\napiQueueService.removeQueueItem('item123');\n\n// Processing all items in the queue and continuing on error\napiQueueService.processAllQueueItems(true).subscribe(results => {\n  console.log('Processed all items in the queue with continuation on errors:', results);\n});\n",
            "sourceCode": "import { Injectable, inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, of, forkJoin, from } from 'rxjs';\nimport { tap, switchMap, take, map, catchError, concatMap } from 'rxjs/operators';\nimport { ApiQueue, ApiQueueItem, Logger, AppState, CoreState } from '@eui/base';\n\nimport { LogService } from '../log';\nimport { StoreService } from '../store';\nimport { createSelector, Selector } from 'reselect';\n\n/**\n * Service class for managing and processing a queue of API requests.\n *\n * This service provides functionality to add, remove, process, and manage HTTP requests stored in a queue.\n * It enables sequential or bulk processing of requests, ensuring controlled execution and handling of API calls.\n * The service methods offer features like processing individual items, processing all items in the queue either\n * sequentially or all at once, and removing items from the queue. Each method is designed to handle specific aspects\n * of queue management and processing, with attention to details like order of execution and error handling.\n *\n * Usage of this service is ideal in scenarios where API requests need to be managed in a queue structure, allowing\n * for controlled execution and monitoring of these requests.\n *\n * @example\n * // Adding a new item to the queue\n * apiQueueService.addQueueItem({ id: 'item124', method: 'POST', uri: '/api/data', payload: {...} });\n *\n * // Processing a single item from the queue\n * apiQueueService.processQueueItem('item123').subscribe(result => {\n *   console.log('Processed item 123 with result:', result);\n * });\n *\n * // Processing all items in the queue in sequential order\n * apiQueueService.processAllQueueItemsSequential(false).subscribe(results => {\n *   console.log('Processed all items in descending order of their timestamp:', results);\n * });\n *\n * // Removing an item from the queue\n * apiQueueService.removeQueueItem('item123');\n *\n * // Processing all items in the queue and continuing on error\n * apiQueueService.processAllQueueItems(true).subscribe(results => {\n *   console.log('Processed all items in the queue with continuation on errors:', results);\n * });\n */\n@Injectable({\n    providedIn: 'root',\n})\nexport class ApiQueueService {\n    protected store = inject(StoreService);\n    protected http = inject(HttpClient);\n    protected logService = inject(LogService, { optional: true });\n\n    private readonly logger: Logger;\n    private readonly getAppState: (state: CoreState) => AppState;\n    private getApiQueue: Selector<AppState, ApiQueue>;\n    private getApiQueueItem: (itemId: string) => Selector<AppState, ApiQueueItem>;\n\n    constructor() {\n        const logService = this.logService;\n\n        if (logService) {\n            this.logger = logService.getLogger('core.ApiQueueService');\n        }\n        this.getAppState = (state: CoreState): AppState => state.app;\n        this.getApiQueue = createSelector(this.getAppState, (state: AppState) => state.apiQueue);\n        this.getApiQueueItem = (itemId: string): Selector<AppState, ApiQueueItem> =>\n            createSelector(this.getAppState, (state: AppState) => state.apiQueue[itemId]);\n    }\n\n    /**\n     * Adds an item to the queue by dispatching an action to the store.\n     * This function is specifically designed to enqueue API call requests represented by `ApiQueueItem` objects.\n     * Each item is identified by a unique `id`, which is used to manage the queue.\n     *\n     * @param {string} id - The unique identifier for the queue item. It's crucial to ensure that this ID is unique within the queue.\n     *                      If an item with the same ID already exists, the new item will overwrite the existing one.\n     *                      WARNING: Duplicate IDs will lead to overwriting of queue items.\n     *\n     * @param {ApiQueueItem} item - The item to be enqueued. This should be an object of type `ApiQueueItem`.\n     *                              The `method` property of the item must be one of the allowed methods ('post', 'put', 'get').\n     *                              If an unsupported method is provided, the function will throw an error.\n     *\n     * @throws {Error} Throws an error if the `method` property of the `item` is not one of the allowed methods.\n     *                 The error message is: `[ApiQueue] method \"${item.method}\" is not allowed`.\n     *\n     * @example\n     * // Example of adding an item to the API queue\n     * addQueueItem('12345', { method: 'post', url: '/api/data', payload: {...} });\n     *\n     * @returns {void} This function does not return a value. It adds the item to the queue via a dispatch action.\n     */\n    addQueueItem(id: string, item: ApiQueueItem): void {\n        const allowedMethods = ['post', 'put', 'get'];\n\n        if (allowedMethods.indexOf(item.method) < 0) {\n            throw new Error(`[ApiQueue] method \"${item.method}\" is not allowed`);\n        }\n\n        this.store.updateState({ id, item }, this.addApiQueueItem);\n    }\n\n    /**\n     * Retrieves the current state of the API queue and converts it into an array of Observables.\n     *\n     * This method subscribes to the store to access the API queue. It then maps the queue object,\n     * which is an associative array, into a linear array of ApiQueueItem instances. If the queue is empty,\n     * a warning is logged. This method is useful for tracking the state and contents of the API queue\n     * at a given moment.\n     *\n     * Note: This method takes a snapshot of the queue at the time of subscription. It does not provide\n     * a continuous stream of queue updates. To get real-time updates, consider subscribing directly\n     * to the store's observable.\n     *\n     * @returns {Observable<ApiQueueItem[]>} An Observable that emits an array of ApiQueueItem.\n     * The array represents all items currently in the queue. If the queue is empty, it emits an empty array.\n     *\n     * @example\n     * // Example usage\n     * this.getQueue().subscribe(queueItems => {\n     *   console.log('Current queue items:', queueItems);\n     * });\n     */\n    getQueue(): Observable<ApiQueueItem[]> {\n        return this.store.select(this.getApiQueue).pipe(\n            take(1),\n            map((queue: ApiQueue) => {\n                const queueArray = queue && Object.values<ApiQueueItem>(queue);\n                if (!queueArray || queueArray.length < 1) {\n                    this.logger?.warn('No items in the queue exist.');\n                }\n\n                return queueArray;\n            }),\n        );\n    }\n\n    /**\n     * Retrieves a specific item from the API queue by its ID.\n     *\n     * This method subscribes to the store and selects a single item from the API queue based on the provided ID.\n     * It employs a pipeline to fetch the item: the `getApiQueueItem` selector is used to retrieve the item,\n     * and a `map` operator processes the result. If the item with the specified ID does not exist in the queue,\n     * a warning is logged, and `null` is returned.\n     *\n     * This method is ideal for accessing a specific queue item when its ID is known, allowing for targeted\n     * operations or checks on that particular item.\n     *\n     * @param {string} id - The unique identifier of the item within the queue.\n     * @returns {Observable<ApiQueueItem | null>} An Observable emitting the requested ApiQueueItem.\n     * If no item with the given ID exists in the queue, the Observable emits `null`.\n     *\n     * @example\n     * // Example usage\n     * this.getQueueItem('item123').subscribe(item => {\n     *   if (item) {\n     *     console.log('Found item:', item);\n     *   } else {\n     *     console.log('Item not found in the queue');\n     *   }\n     * });\n     */\n    getQueueItem(id: string): Observable<ApiQueueItem> {\n        return this.store.select(this.getApiQueueItem(id)).pipe(\n            take(1),\n            map((queue: ApiQueueItem) => {\n                if (!queue) {\n                    this.logger?.warn(`Queue item with id \"${id}\" does not exist`);\n                    return null;\n                }\n                return queue;\n            }),\n        );\n    }\n\n    /**\n     * Removes a specific item from the API queue using its ID.\n     *\n     * This method dispatches an action to remove an item from the queue, identified by the provided ID.\n     * It is essential for managing the queue by eliminating items that are no longer needed or have been processed.\n     * The function does not return any value, as it primarily triggers an action within the store.\n     *\n     * Note: This method assumes the existence of the item in the queue. It does not perform a check\n     * to confirm the presence of the item before attempting to remove it. Therefore, it's recommended\n     * to verify the item's existence in the queue if uncertainty exists.\n     *\n     * @param {string} id - The unique identifier of the item to be removed from the queue.\n     *\n     * @example\n     * // Example usage\n     * this.removeQueueItem('item123');\n     * // The item with ID 'item123' will be dispatched for removal from the queue.\n     */\n    removeQueueItem(id: string): void {\n        this.store.updateState({ payload: id } as unknown, this.removeApiQueueItem);\n    }\n\n    /**\n     * Clears all items from the API queue.\n     *\n     * This method dispatches an action to empty the entire API queue, effectively removing all items that are currently queued.\n     * It is useful for scenarios where a complete reset of the queue is required, such as during initialization or after processing\n     * a batch of items. The function does not return any value, as its primary purpose is to trigger a state change in the store.\n     *\n     * Note: Use this method with caution as it will irreversibly clear all items in the queue. Ensure that this action does not\n     * disrupt any ongoing processes that rely on the queue's contents.\n     *\n     * @example\n     * // Example usage\n     * this.removeAllQueueItem();\n     * // This will dispatch an action to empty the entire API queue.\n     */\n    removeAllQueueItem(): void {\n        this.store.updateState({ app: { apiQueue: {} } });\n    }\n\n    /**\n     * Processes an item from the API queue identified by its ID.\n     *\n     * Retrieves the specified item from the queue and applies processing logic as defined in `buildHttpRequest`.\n     * If the item is not found, logs a warning and returns an Observable emitting `null`.\n     *\n     * @param {string} id - The unique identifier of the item within the queue to be processed.\n     * @returns {Observable<any>} An Observable that emits the result of processing the queue item.\n     * If the item does not exist, the Observable emits `null`.\n     *\n     * @example\n     * // Example usage\n     * this.processQueueItem('item123').subscribe(result => {\n     *   if (result) {\n     *     console.log('Processing result:', result);\n     *   } else {\n     *     console.log('Item not found in the queue');\n     *   }\n     * });\n     */\n    processQueueItem<T>(id: string): Observable<T> {\n        return this.store.select(this.getApiQueueItem(id)).pipe(\n            take(1),\n            switchMap((queue: ApiQueueItem) => {\n                if (!queue) {\n                    this.logger?.warn(`Queue item with id \"${id}\" does not exist`);\n                    return of(null);\n                }\n\n                return this.buildHttpRequest<T>(id, queue);\n            }),\n        );\n    }\n\n    /**\n     * Processes all items in the API queue and collects their responses.\n     *\n     * Iterates over each item in the queue and processes them using `buildHttpRequest`. If a request fails,\n     * the method can either continue processing the remaining items or stop, based on the `continueOnError` parameter.\n     * It returns an Observable that emits an array containing the responses or errors from all the processed items.\n     *\n     * The function currently returns `Observable<any[]>` indicating an array of any type. Future improvements\n     * should aim to specify a more accurate return type or utilize generics for increased type safety.\n     *\n     * @param {boolean} [continueOnError=true] - Determines whether to continue with the next item in the queue\n     *                                           after a request failure. Defaults to `true`.\n     * @returns {Observable<any[]>} An Observable emitting an array of either responses or errors from the processed\n     *                              queue items.\n     *\n     * @example\n     * this.processAllQueueItems().subscribe(results => {\n     *   // Handle the array of responses or errors\n     * });\n     */\n    processAllQueueItems<T>(continueOnError = true): Observable<T[]> {\n        return this.store.select(this.getApiQueue).pipe(\n            map((queue: ApiQueue) =>\n                Object.entries(queue).map(([key, value]) =>\n                    this.buildHttpRequest(key, value).pipe(\n                        catchError((error: Error) => {\n                            this.logger?.error(`Queue Item with id ${key} failed.`, error.message, error.stack);\n\n                            if (!continueOnError) {\n                                throw error;\n                            }\n\n                            return of(error);\n                        }),\n                    ),\n                ),\n            ),\n            switchMap((obsQueue: Observable<T>[]) => forkJoin(Array.from(obsQueue))),\n        );\n    }\n\n    /**\n     * Processes all items in the queue sequentially, based on their timestamp ordering.\n     *\n     * This method first orders the items in the API queue by their timestamp, either in ascending or descending\n     * order as specified by the `ascending` parameter. It then processes each item using `buildHttpRequest`, ensuring\n     * that each request is completed before the next begins. This sequential processing is crucial when the order of\n     * execution matters for HTTP requests in the queue. The method returns an Observable that emits the responses\n     * following the same order as the queue items were processed.\n     *\n     * The function currently returns `Observable<any>`, indicating a broad type. Future improvements should focus on\n     * specifying a more accurate return type or utilizing generics for increased type safety.\n     *\n     * @param {boolean} [ascending=true] - Determines whether the queue items are processed in ascending order of their\n     *                                     timestamp. Defaults to `true`.\n     * @returns {Observable<any>} An Observable emitting the responses of the HTTP requests in the order they were processed.\n     *\n     * @example\n     * this.processAllQueueItemsSequential().subscribe(response => {\n     *   // Handle each response in the order of queue processing\n     * });\n     */\n    processAllQueueItemsSequential<T>(ascending = true): Observable<T> {\n        return this.store.select(this.getApiQueue).pipe(\n            switchMap((queue: ApiQueue) =>\n                from(Object.entries(queue)\n                    .sort((a, b) => (ascending ? this.sortOnTimestamp(a, b) : this.sortOnTimestamp(b, a)))\n                    .map(([id, item]) => this.buildHttpRequest<T>(id, item)))\n                    .pipe(concatMap(x => x)),\n            ),\n        );\n    }\n\n    /**\n     * Compares two queue items based on their timestamp and determines their order.\n     *\n     * This protected method is used to sort queue items. It takes two queue items as input, each represented\n     * as a tuple containing an item ID and the `ApiQueueItem` object. The method compares these items based on\n     * the `timestamp` property of the `ApiQueueItem` objects. It returns a number indicating the order in which\n     * these items should be sorted.\n     *\n     * A positive return value indicates that the first item should come after the second, a negative value\n     * indicates the opposite, and zero indicates that they are equal in terms of timestamp.\n     *\n     * @param {[string, ApiQueueItem]} a - The first queue item tuple for comparison.\n     * @param {[string, ApiQueueItem]} b - The second queue item tuple for comparison.\n     * @returns {number} A number indicating the order of the items: negative if `a` is earlier than `b`,\n     *                  positive if `a` is later than `b`, and zero if they are equal.\n     * @beta\n     */\n    protected sortOnTimestamp(a: [string, ApiQueueItem], b: [string, ApiQueueItem]): number {\n        return +new Date(a[1].timestamp) - +new Date(b[1].timestamp);\n    }\n\n    /**\n     * Constructs and executes an HTTP request based on the provided queue item details.\n     *\n     * This private method takes an ID and an `ApiQueueItem` object to build and execute an HTTP request.\n     * It determines the HTTP method (like GET, POST, etc.) from the `method` property of the `ApiQueueItem`,\n     * and uses the `uri` and `payload` properties for the request's URL and body, respectively. After the\n     * request is executed, the corresponding queue item is removed from the queue.\n     *\n     * The method is generic, allowing the caller to specify the expected response type `T`. By default,\n     * it uses `any` type, but specifying a more concrete type enhances type safety and clarity in usage.\n     *\n     * @param {string} id - The ID of the queue item being processed.\n     * @param {ApiQueueItem} item - The queue item containing details for the HTTP request.\n     * @returns {Observable<T>} An Observable of type T, representing the response of the HTTP request.\n     *\n     * @example\n     * // Example usage for a specific response type\n     * this.buildHttpRequest<MyResponseType>('item123', queueItem)\n     *     .subscribe(response => {\n     *         // Handle the response\n     *     });\n     *\n     * @template T - The expected type of the HTTP response. Defaults to `any`.\n     */\n    private buildHttpRequest<T>(id: string, item: ApiQueueItem): Observable<T> {\n        return this.http[item.method.toLowerCase()]<T>(item.uri, item.payload).pipe(tap(() => this.removeQueueItem(id)));\n    }\n\n    /**\n     * A state reducer that adds an item to the API queue.\n     * @param state\n     * @param action\n     */\n    private addApiQueueItem = (state: CoreState, action: { id: string; item: ApiQueueItem }): CoreState => {\n        // apply the timestamp to the queue item\n        action.item.timestamp = new Date().getTime();\n\n        // update the queue\n        const apiQueue = Object.assign({}, state.app?.apiQueue, { [action.id]: action.item });\n        return Object.assign({}, state, { app: { ...state.app, apiQueue } });\n    };\n\n    /**\n     * A state reducer that removes an item from the API queue.\n     * @param state\n     * @param action\n     */\n    private removeApiQueueItem = (state: CoreState, action: { payload: string }): CoreState => {\n        // remove the specified id from the list of item ids and recreate the apiQueue from the remaining ids\n        const apiQueue = Object.keys(state.app.apiQueue)\n            .filter((id) => id !== action.payload)\n            .reduce((queue, key) => {\n                queue[key] = state.app.apiQueue[key];\n                return queue;\n            }, {});\n        return Object.assign({}, state, { app: { ...state.app, apiQueue } });\n    };\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 56
            },
            "extends": [],
            "type": "injectable"
        },
        {
            "name": "EuiAppShellService",
            "id": "injectable-EuiAppShellService-bfaa9f6270d915c4863163b9e4ecefb08375cb6aa213f37d6112501a800ecb988315566a096e4f16f380bf9ca862b10c87dcf84348591cf9fabd6814ab659923",
            "file": "packages/core/src/lib/services/eui-app-shell.service.ts",
            "properties": [
                {
                    "name": "config",
                    "defaultValue": "inject<GlobalConfig>(GLOBAL_CONFIG_TOKEN, { optional: true })",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 132,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "navigationEndCustomHandler",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 131
                },
                {
                    "name": "navigationStartCustomHandler",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 130
                }
            ],
            "methods": [
                {
                    "name": "activateBreadcrumb",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 399,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "activateHeader",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 391,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "activateSidebar",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 354,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "activateSidebarFooter",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 387,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "activateSidebarHeader",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 383,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "activateSideContainer",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 365,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "activateToolbar",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 415,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "activateToolbarMegaMenu",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 423,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "activateToolbarMenu",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 431,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "activateTopMessage",
                    "args": [
                        {
                            "name": "height",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 407,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "height",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "deactivateSideContainer",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 374,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "dimmerActiveToggle",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 325,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "fetchAppMetadata",
                    "args": [
                        {
                            "name": "metadataFilePath",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "'assets/app-metadata.json'"
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 345,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "metadataFilePath",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "'assets/app-metadata.json'",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getBaseFontSize",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 441,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nReturns the current value of --eui-f-size-base CSS variable\n",
                    "description": "<p>Returns the current value of --eui-f-size-base CSS variable</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "getState",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<T>",
                    "typeParameters": [
                        "T"
                    ],
                    "line": 307,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmits a slice from the state whether that changes\n\n",
                    "description": "<p>Emits a slice from the state whether that changes</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 8924,
                                "end": 8927,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "key"
                            },
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 8918,
                                "end": 8923,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>can be &#39;key&#39; or &#39;key.sub.sub&#39;</p>\n"
                        }
                    ]
                },
                {
                    "name": "setBaseFontSize",
                    "args": [
                        {
                            "name": "newsize",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 448,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUpdates the current value of --eui-f-size-base CSS variable and the UIState appBaseFontSize\n",
                    "description": "<p>Updates the current value of --eui-f-size-base CSS variable and the UIState appBaseFontSize</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "newsize",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "setDimmerActiveState",
                    "args": [
                        {
                            "name": "activeState",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 334,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "activeState",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "setState",
                    "args": [
                        {
                            "name": "nextState",
                            "type": "UIState",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "updateI18",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "true"
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 254,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "nextState",
                            "type": "UIState",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "updateI18",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "true",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "sidebarToggle",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 320,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { Injectable, PLATFORM_ID, inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { BehaviorSubject, defer, firstValueFrom, Observable } from 'rxjs';\nimport { EuiEuLanguages, GlobalConfig, getActiveLang, EuiLanguage, EuiMenuItem } from '@eui/base';\nimport { GLOBAL_CONFIG_TOKEN } from './config/tokens';\nimport { I18nService } from './i18n';\nimport { Router, NavigationEnd } from '@angular/router';\nimport { StoreService } from './store/store.service';\nimport { distinctUntilChanged, filter, map } from 'rxjs/operators';\nimport { isEqual, get } from 'lodash-es';\nimport { CssUtils } from '../helpers/css-utils';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface UIState<BP = any, DI = any, AMD =any, BPV = any> {\n    // app state\n    appName?: string;\n    appShortName?: string;\n    appSubTitle?: string;\n    appBaseFontSize?: string;\n\n    // Sidebar state\n    isSidebarOpen?: boolean;\n    isSidebarActive?: boolean;\n    hasSidebar?: boolean;\n    hasSideContainer?: boolean;\n    hasBreadcrumb?: boolean;\n    hasHeader?: boolean;\n    hasHeaderLogo?: boolean;\n    hasHeaderEnvironment?: boolean;\n    hasToolbar?: boolean;\n    hasToolbarMegaMenu?: boolean;\n    hasToolbarMenu?: boolean;\n    environmentValue?: string;\n    isSidebarHidden?: boolean;\n    isSidebarFocused?: boolean;\n    hasSidebarCollapsedVariant?: boolean;\n    hasTopMessage?: boolean;\n\n    // window state\n    windowWidth?: number;\n    windowHeight?: number;\n    mainContentHeight?: number;\n    pageHeaderHeight?: number;\n    breakpoint?: string;\n    wrapperClasses?: string;\n    breakpoints?: BP;\n    breakpointValues?: BPV;\n\n    // navigation state\n    menuLinks?: EuiMenuItem[];\n    sidebarLinks?: EuiMenuItem[];\n    combinedLinks?: EuiMenuItem[];\n\n    // other states\n    isBlockDocumentActive?: boolean;\n\n    // device info\n    deviceInfo: DI;\n\n    // language infos\n    activeLanguage: string;\n    languages: (string | EuiLanguage)[];\n\n    // app metadata\n    appMetadata: AMD;\n\n    // various dynamic state\n    hasModalActive?: boolean;\n    isDimmerActive?: boolean; // Usage: map to eui base directive input coerce euiHighlighted\n}\n\nconst initialState: UIState = {\n    appName: '',\n    appShortName: '',\n    appSubTitle: '',\n    appBaseFontSize: '',\n\n    isSidebarOpen: true,\n    isSidebarActive: false,\n    hasSidebar: false,\n    hasSideContainer: false,\n    hasHeader: false,\n    hasBreadcrumb: false,\n    hasHeaderLogo: false,\n    hasHeaderEnvironment: false,\n    hasToolbar: false,\n    hasToolbarMegaMenu: false,\n    hasToolbarMenu: false,\n    environmentValue: '',\n    isSidebarHidden: false,\n    isSidebarFocused: false,\n    hasSidebarCollapsedVariant: false,\n    hasTopMessage: false,\n    windowWidth: 0,\n    windowHeight: 0,\n    mainContentHeight: 0,\n    pageHeaderHeight: 0,\n    wrapperClasses: '',\n    breakpoint: '',\n    breakpoints: {\n        isMobile: false,\n        isTablet: false,\n        isLtLargeTablet: false,\n        isLtDesktop: false,\n        isDesktop: false,\n        isXL: false,\n        isXXL: false,\n        isFHD: false,\n        is2K: false,\n        is4K: false,\n    },\n    breakpointValues: [],\n    menuLinks: [],\n    sidebarLinks: [],\n    combinedLinks: [],\n    isBlockDocumentActive: false,\n    deviceInfo: null,\n    activeLanguage: 'en',\n    languages: EuiEuLanguages.getLanguages(),\n    appMetadata: null,\n    hasModalActive: false,\n    isDimmerActive: false,\n};\n\n@Injectable({\n    providedIn: 'root',\n})\nexport class EuiAppShellService {\n    navigationStartCustomHandler: () => void;\n    navigationEndCustomHandler: () => void;\n    protected config = inject<GlobalConfig>(GLOBAL_CONFIG_TOKEN, { optional: true });\n    private http = inject(HttpClient);\n    private platformId = inject(PLATFORM_ID);\n    private document = inject<Document>(DOCUMENT);\n    private router = inject(Router);\n    private storeService = inject(StoreService);\n    private i18nService = inject(I18nService, { optional: true });\n\n    // -------------------\n    get state$(): Observable<UIState> {\n        return this._state$.asObservable();\n    }\n\n    // -------------------\n    // exposed observables\n\n    get breakpoint$(): Observable<string> {\n        return this._breakpoint$.asObservable();\n    }\n\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    get breakpoints$(): Observable<any> {\n        return this._breakpoints$.asObservable();\n    }\n\n    // ----------------\n    // state operations\n    // ----------------\n    get state(): UIState {\n        return this._state$.getValue();\n    }\n\n    // ----------------------------\n    // public setters and functions\n    // ----------------------------\n    set isSidebarOpen(isOpen: boolean) {\n        this.setState({\n            ...this.state,\n            isSidebarOpen: isOpen,\n        });\n    }\n\n    get isSidebarOpen(): boolean {\n        return this.state.isSidebarOpen;\n    }\n\n    set isSidebarActive(isActive: boolean) {\n        this.setState({\n            ...this.state,\n            isSidebarActive: isActive,\n        });\n    }\n\n    set sidebarLinks(links: EuiMenuItem[]) {\n        this.setState({\n            ...this.state,\n            sidebarLinks: links,\n        });\n    }\n\n    set hasSidebarCollapsedVariant(isActive: boolean) {\n        this.setState({\n            ...this.state,\n            hasSidebarCollapsedVariant: isActive,\n        });\n        CssUtils.activateSidebarCssVars(this.document, this.platformId, isActive);\n    }\n\n    set menuLinks(links: EuiMenuItem[]) {\n        this.setState({\n            ...this.state,\n            menuLinks: links,\n        });\n    }\n\n    set isBlockDocumentActive(isActive: boolean) {\n        this.setState({\n            ...this.state,\n            isBlockDocumentActive: isActive,\n        });\n    }\n\n    get hasHeader(): boolean {\n        return this.state.hasHeader;\n    }\n\n    // Edit mode\n    get isDimmerActive(): boolean {\n        return this.state.isDimmerActive;\n    }\n\n    set isDimmerActive(isActive: boolean) {\n        this.setState({\n            ...this.state,\n            isDimmerActive: isActive,\n        });\n    }\n\n    private _state$: BehaviorSubject<UIState>;\n    private _breakpoint$: BehaviorSubject<string>;\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    private _breakpoints$: BehaviorSubject<any>;\n\n    constructor() {\n        const config = this.config;\n\n        let stateWithConfig = initialState;\n        const languages = config?.i18n?.i18nService?.languages || initialState.languages;\n        const defaultLanguage = config?.i18n?.i18nService?.defaultLanguage || initialState.activeLanguage;\n        stateWithConfig = {\n            ...stateWithConfig,\n            ...{\n                languages,\n                activeLanguage: defaultLanguage,\n            },\n        };\n        this._state$ = new BehaviorSubject(stateWithConfig);\n        this._breakpoint$ = new BehaviorSubject('');\n        this._breakpoints$ = new BehaviorSubject({});\n        this.bindActiveLanguageToAppShellState();\n    }\n\n    setState(nextState: UIState, updateI18 = true): void {\n        let breakpoint, breakpoints;\n        let combinedLinks;\n\n        const state = this.state;\n\n        // check if window width has been updated from previous state\n        if (this.state.windowWidth !== nextState.windowWidth) {\n            breakpoint = this.getBreakpoint(nextState.windowWidth);\n            breakpoints = this.getBreakpoints(breakpoint);\n\n            this._breakpoint$.next(breakpoint);\n            this._breakpoints$.next(breakpoints);\n\n            // if not propagate the old ones without doing any calculations\n        } else {\n            breakpoint = state.breakpoint;\n            breakpoints = state.breakpoints;\n        }\n\n        // finally get the wrapper classes when both the state and breakpoint are known\n        const wrapperClasses = this.getWrapperClasses(nextState, breakpoint);\n\n        // check if the menuLinks or sidebarLinks have changed from previous state\n        if (this.state.menuLinks !== nextState.menuLinks || this.state.sidebarLinks !== nextState.sidebarLinks) {\n            combinedLinks = [...nextState.menuLinks, ...nextState.sidebarLinks];\n        } else {\n            combinedLinks = this.state.combinedLinks;\n        }\n\n        const stateBeforeUpdate = { ...this.state };\n\n        // we put it all together with the calculated properties\n        this._state$.next({\n            ...nextState,\n            wrapperClasses,\n            breakpoint,\n            breakpoints,\n            combinedLinks,\n        });\n\n        // update the Store Language\n        if (updateI18 && nextState.activeLanguage !== stateBeforeUpdate.activeLanguage) {\n            this.i18nService.updateState({ activeLang: nextState.activeLanguage });\n        }\n    }\n\n    /**\n     * Emits a slice from the state whether that changes\n     *\n     * @param key can be 'key' or 'key.sub.sub'\n     */\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    getState<T = any>(key?: string): Observable<T> {\n        return defer(() =>\n            // check if key exists\n            key\n                ? this.state$.pipe(\n                      map((state) => get(state, key)),\n                      // filter((state) => state),\n                      distinctUntilChanged((x, y) => isEqual(x, y)),\n                  )\n                : this.state$,\n        );\n    }\n\n    public sidebarToggle(): void {\n        this.isSidebarOpen = !this.state.isSidebarOpen;\n    }\n\n    // Edit mode\n    public dimmerActiveToggle(): void {\n        const isActive = this.isDimmerActive;\n        this.setState({\n            ...this.state,\n            isDimmerActive: !isActive,\n        });\n        CssUtils.activateEditModeCssVars(!isActive, this.document);\n    }\n\n    public setDimmerActiveState(activeState: boolean): void {\n        this.setState({\n            ...this.state,\n            isDimmerActive: activeState,\n        });\n        CssUtils.activateEditModeCssVars(activeState, this.document);\n    }\n\n    // --------------\n    // public methods\n    // --------------\n    public fetchAppMetadata(metadataFilePath = 'assets/app-metadata.json'): void {\n        this.getJson(metadataFilePath).then((data) => {\n            this.setState({\n                ...this.state,\n                appMetadata: data,\n            });\n        });\n    }\n\n    public activateSidebar(): void {\n        this.setState({\n            ...this.state,\n            hasSidebar: true,\n        });\n\n        if (!this.state.isSidebarHidden) {\n            CssUtils.activateSidebarCssVars(this.document, this.platformId, this.state.hasSidebarCollapsedVariant);\n        }\n    }\n\n    public activateSideContainer(): void {\n        this.setState({\n            ...this.state,\n            hasSideContainer: true,\n        });\n\n        CssUtils.activateSideContainerCssVars(this.document, this.platformId);\n    }    \n\n    public deactivateSideContainer(): void {\n        this.setState({\n            ...this.state,\n            hasSideContainer: false,\n        });\n\n        CssUtils.deactivateSideContainerCssVars(this.document, this.platformId);\n    }    \n\n    public activateSidebarHeader(): void {\n        CssUtils.activateSidebarHeaderCssVars(this.document, this.platformId);\n    }\n\n    public activateSidebarFooter(): void {\n        CssUtils.activateSidebarFooterCssVars(this.document, this.platformId);\n    }\n\n    public activateHeader(): void {\n        this.setState({\n            ...this.state,\n            hasHeader: true,\n        });\n        CssUtils.activateHeaderCssVars(this.document, this.platformId);\n    }\n\n    public activateBreadcrumb(): void {\n        this.setState({\n            ...this.state,\n            hasBreadcrumb: true,\n        });\n        CssUtils.activateBreadcrumbCssVars(this.document, this.platformId);\n    }\n\n    public activateTopMessage(height: number): void {\n        this.setState({\n            ...this.state,\n            hasTopMessage: true,\n        });\n        CssUtils.activateTopMessageCssVars(height, this.document);\n    }\n\n    public activateToolbar(): void {\n        this.setState({\n            ...this.state,\n            hasToolbar: true,\n        });\n        CssUtils.activateToolbarCssVars(this.document, this.platformId);\n    }\n\n    public activateToolbarMegaMenu(): void {\n        this.setState({\n            ...this.state,\n            hasToolbarMegaMenu: true,\n        });\n        CssUtils.activateToolbarMegaMenuCssVars(this.document, this.platformId);\n    }\n\n    public activateToolbarMenu(): void {\n        this.setState({\n            ...this.state,\n            hasToolbarMenu: true,\n        });\n    }\n\n    /**\n     * Returns the current value of --eui-f-size-base CSS variable\n     */\n    public getBaseFontSize(): string {\n        return this.state.appBaseFontSize || CssUtils.getCssVarValue('--eui-f-size-base', this.document, this.platformId);\n    }\n\n    /**\n     * Updates the current value of --eui-f-size-base CSS variable and the UIState appBaseFontSize\n     */\n    public setBaseFontSize(newsize: string): void {\n        this.setState(\n            {\n                ...this.state,\n                appBaseFontSize: newsize,\n            },\n            false,\n        );\n        CssUtils.setCssVarValue('--eui-f-size-base', newsize, this.document);\n    }\n\n    // ---------------\n    // private getters\n    // ---------------\n    private getWrapperClasses(state: UIState, breakpoint: string): string {\n        const classes: string[] = [];\n\n        classes.push(breakpoint);\n\n        if (state.hasSidebar) {\n            if (state.isSidebarHidden) {\n                classes.push('sidebar--hidden');\n            }\n            if (state.isSidebarOpen) {\n                classes.push('sidebar--open');\n            } else {\n                classes.push('sidebar--close');\n            }\n        }\n        if (state.deviceInfo?.isFF) {\n            classes.push('ff');\n        }\n        if (state.deviceInfo?.isIE) {\n            classes.push('ie');\n        }\n        if (state.deviceInfo?.isChrome) {\n            classes.push('chrome');\n        }\n        return classes.join(' ');\n    }\n\n    private getBreakpoint(windowWidth: number): string {\n        let bkp = '';\n\n        if (this.state.breakpointValues.length === 0) {\n            this.setState({\n                ...this.state,\n                breakpointValues: CssUtils.getBreakpointValues(this.document, this.platformId),\n            });\n        }\n\n        this.state.breakpointValues.forEach((b, i) => {\n            if (i < this.state.breakpointValues.length) {\n                if (windowWidth >= b.value && windowWidth < this.state.breakpointValues[i+1]?.value) {\n                    bkp = b.bkp;\n                }\n            } else if(windowWidth >= b.value) {\n                bkp = b.bkp;\n            }\n        });\n\n        return bkp;\n    }\n\n    private getBreakpoints(bkp: string): object {\n        return {\n            isMobile: bkp === 'xs' || bkp === 'sm',\n            isTablet: bkp === 'md',\n            isLtLargeTablet: bkp === 'xs' || bkp === 'sm' || bkp === 'md' || bkp === 'lg',\n            isLtDesktop: bkp === 'xs' || bkp === 'sm' || bkp === 'md' || bkp === 'lg' || bkp === 'xl',\n            isDesktop: bkp === 'xxl',\n            isXL: bkp === 'xl',\n            isXXL: bkp === 'xxl',\n            isFHD: bkp === 'fhd',\n            is2K: bkp === '2k',\n            is4K: bkp === '4k',\n        };\n    }\n\n    private getJson(url: string): Promise<object> {\n        return firstValueFrom(this.http.get(url)).then(this.extractData).catch(this.handleError);\n    }\n\n    private extractData(res: Response): object {\n        const body = res;\n        return body || {};\n    }\n\n    private handleError<T extends Error>(error: T): Promise<T> {\n        console.error('An error occurred', error);\n        return Promise.reject(error.message || error);\n    }\n\n    private bindActiveLanguageToAppShellState(): void {\n        this.i18nService.getState((s) => s.activeLang).subscribe((activeLang) => {\n            if (activeLang !== this.state.activeLanguage) {\n                this.setState(\n                    {\n                        ...this.state,\n                        activeLanguage: activeLang,\n                    },\n                    false,\n                );\n            }\n        });\n    }\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 233
            },
            "accessors": {
                "state$": {
                    "name": "state$",
                    "getSignature": {
                        "name": "state$",
                        "type": "unknown",
                        "returnType": "Observable<UIState>",
                        "line": 141
                    }
                },
                "breakpoint$": {
                    "name": "breakpoint$",
                    "getSignature": {
                        "name": "breakpoint$",
                        "type": "unknown",
                        "returnType": "Observable<string>",
                        "line": 148
                    }
                },
                "breakpoints$": {
                    "name": "breakpoints$",
                    "getSignature": {
                        "name": "breakpoints$",
                        "type": "unknown",
                        "returnType": "Observable<any>",
                        "line": 153
                    }
                },
                "state": {
                    "name": "state",
                    "getSignature": {
                        "name": "state",
                        "type": "unknown",
                        "returnType": "UIState",
                        "line": 160
                    }
                },
                "isSidebarOpen": {
                    "name": "isSidebarOpen",
                    "setSignature": {
                        "name": "isSidebarOpen",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "isOpen",
                                "type": "boolean",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 167,
                        "jsdoctags": [
                            {
                                "name": "isOpen",
                                "type": "boolean",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "isSidebarOpen",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 174
                    }
                },
                "isSidebarActive": {
                    "name": "isSidebarActive",
                    "setSignature": {
                        "name": "isSidebarActive",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "isActive",
                                "type": "boolean",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 178,
                        "jsdoctags": [
                            {
                                "name": "isActive",
                                "type": "boolean",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    }
                },
                "sidebarLinks": {
                    "name": "sidebarLinks",
                    "setSignature": {
                        "name": "sidebarLinks",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "links",
                                "type": "EuiMenuItem[]",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 185,
                        "jsdoctags": [
                            {
                                "name": "links",
                                "type": "EuiMenuItem[]",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    }
                },
                "hasSidebarCollapsedVariant": {
                    "name": "hasSidebarCollapsedVariant",
                    "setSignature": {
                        "name": "hasSidebarCollapsedVariant",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "isActive",
                                "type": "boolean",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 192,
                        "jsdoctags": [
                            {
                                "name": "isActive",
                                "type": "boolean",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    }
                },
                "menuLinks": {
                    "name": "menuLinks",
                    "setSignature": {
                        "name": "menuLinks",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "links",
                                "type": "EuiMenuItem[]",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 200,
                        "jsdoctags": [
                            {
                                "name": "links",
                                "type": "EuiMenuItem[]",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    }
                },
                "isBlockDocumentActive": {
                    "name": "isBlockDocumentActive",
                    "setSignature": {
                        "name": "isBlockDocumentActive",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "isActive",
                                "type": "boolean",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 207,
                        "jsdoctags": [
                            {
                                "name": "isActive",
                                "type": "boolean",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    }
                },
                "hasHeader": {
                    "name": "hasHeader",
                    "getSignature": {
                        "name": "hasHeader",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 214
                    }
                },
                "isDimmerActive": {
                    "name": "isDimmerActive",
                    "setSignature": {
                        "name": "isDimmerActive",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "isActive",
                                "type": "boolean",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 223,
                        "jsdoctags": [
                            {
                                "name": "isActive",
                                "type": "boolean",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "isDimmerActive",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 219
                    }
                }
            },
            "extends": [],
            "type": "injectable"
        },
        {
            "name": "EuiDynamicComponentService",
            "id": "injectable-EuiDynamicComponentService-48828a50f44ec80a802a43d680245523dd38d52a37e92f8079ee4af20304fa48cf1a54ce9b0ff438f13fb4ac1aa013511680776712c5f6bc027bafb872f37ee3",
            "file": "packages/core/src/lib/services/dynamic-component/dynamic-component.service.ts",
            "properties": [],
            "methods": [
                {
                    "name": "add",
                    "args": [
                        {
                            "name": "component",
                            "type": "ComponentType<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "el",
                            "type": "ElementRef",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "config",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "any",
                    "typeParameters": [
                        "T"
                    ],
                    "line": 29,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nAdds a component to portal host dynamically\n",
                    "description": "<p>Adds a component to portal host dynamically</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 1096,
                                "end": 1105,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "component"
                            },
                            "type": "ComponentType<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1090,
                                "end": 1095,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The component to be injected</p>\n"
                        },
                        {
                            "name": {
                                "pos": 1149,
                                "end": 1151,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "el"
                            },
                            "type": "ElementRef",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1143,
                                "end": 1148,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The element reference for the component to be injected</p>\n"
                        },
                        {
                            "name": {
                                "pos": 1221,
                                "end": 1227,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "config"
                            },
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1215,
                                "end": 1220,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The data to be passed (config) for the DYNAMIC_COMPONENT_CONFIG token</p>\n"
                        }
                    ]
                },
                {
                    "name": "remove",
                    "args": [
                        {
                            "name": "portalHostRef",
                            "type": "DomPortalOutlet",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 62,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\ndetaches a portalHost\n",
                    "description": "<p>detaches a portalHost</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2671,
                                "end": 2684,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "portalHostRef"
                            },
                            "type": "DomPortalOutlet",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2665,
                                "end": 2670,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>reference of portal host to be detached</p>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { ApplicationRef, ComponentRef, ElementRef, Injectable, InjectionToken, Injector, inject } from '@angular/core';\nimport { ComponentPortal, DomPortalOutlet, ComponentType } from '@angular/cdk/portal';\n\nexport const DYNAMIC_COMPONENT_CONFIG = new InjectionToken<object>('DYNAMIC_COMPONENT_CONFIG');\n\n@Injectable()\nexport class EuiDynamicComponentService {\n    private injector = inject(Injector);\n    private appRef = inject(ApplicationRef);\n\n    private portalHost: DomPortalOutlet;\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 portal: ComponentPortal<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 portalComponentInstance: ComponentRef<any>;\n\n    /**\n     * Adds a component to portal host dynamically\n     * @param component The component to be injected\n     * @param el The element reference for the component to be injected\n     * @param config The data to be passed (config) for the DYNAMIC_COMPONENT_CONFIG token\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 add<T>(component: ComponentType<T>, el?: ElementRef, config?: any): any {\n        // TODO: take a look and replace deprecated componentFactoryResolver https://github.com/angular/components/issues/24334\n        // Create a portalHost from a DOM element\n        this.portalHost = new DomPortalOutlet(\n            el ? el.nativeElement : document.body,\n            this.appRef,\n        );\n\n        // Locate the component factory for the ComponentToIncludeDynamicallyComponent\n        this.portal = new ComponentPortal<T>(component, null, config ? this.createInjector(config) : null);\n\n        // Attach portal to host\n        this.portalComponentInstance = this.portalHost.attach(this.portal);\n\n        if (config) {\n            Object.assign(config, {\n                portalHostRef: this.portalHost,\n                portalRef: this.portal,\n                portalComponentInstanceRef: this.portalComponentInstance,\n            });\n        }\n\n        return {\n            portalHost: this.portalHost,\n            portal: this.portal,\n            portalComponentInstance: this.portalComponentInstance,\n        };\n    }\n\n    /**\n     * detaches a portalHost\n     * @param portalHostRef reference of portal host to be detached\n     */\n    public remove(portalHostRef: DomPortalOutlet): void {\n        portalHostRef.detach();\n\n        this.portalHost = null;\n        this.portal = null;\n        this.portalComponentInstance = null;\n    }\n\n    /**\n     * creates a custom injector to be used when providing custom injection tokens to components inside a portal\n     * @param data to be used by DYNAMIC_COMPONENT_CONFIG token\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): Injector {\n        return Injector.create({\n            providers: [{ provide: DYNAMIC_COMPONENT_CONFIG, useValue: data }],\n            parent: this.injector,\n        });\n    }\n}\n",
            "extends": [],
            "type": "injectable"
        },
        {
            "name": "EuiDynamicMenuService",
            "id": "injectable-EuiDynamicMenuService-80f1d1f62d28c5afae6a19da2c52ab6b8498cda0d385d627eed07d647022f2a43f149e6359b16342c5a3cb8dcffd605c03cced4027c46cafbe5168efb49fe66b",
            "file": "packages/core/src/lib/services/dynamic-menu/dynamic-menu.service.ts",
            "properties": [
                {
                    "name": "menuLinks",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Array<EuiMenuItem>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10
                }
            ],
            "methods": [
                {
                    "name": "filterEuiMenuItemsWithRights",
                    "args": [
                        {
                            "name": "links",
                            "type": "Array<EuiMenuItem>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Array<EuiMenuItem>",
                    "typeParameters": [],
                    "line": 28,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "links",
                            "type": "Array<EuiMenuItem>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getMenuLinks",
                    "args": [],
                    "optional": false,
                    "returnType": "EuiMenuItem[]",
                    "typeParameters": [],
                    "line": 24,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { Injectable, inject } from '@angular/core';\nimport { getUserState, EuiMenuItem } from '@eui/base';\nimport { EuiPermissionService } from '../permission/permission.service';\nimport { StoreService } from '../store';\n\n@Injectable({\n    providedIn: 'root',\n})\nexport class EuiDynamicMenuService {\n    menuLinks: Array<EuiMenuItem> = [];\n    private euiPermission = inject(EuiPermissionService);\n    private store = inject(StoreService);\n\n    // TODO: it should be moved euiService, or it should be static\n    // TODO: can we moved that service inside the module of the component that's using it?\n    constructor() {\n        this.store.select(getUserState).subscribe((user) => {\n            if (user?.menuLinks) {\n                this.menuLinks = user.menuLinks;\n            }\n        });\n    }\n\n    getMenuLinks(): EuiMenuItem[] {\n        return this.menuLinks;\n    }\n\n    filterEuiMenuItemsWithRights(links: Array<EuiMenuItem>): Array<EuiMenuItem> {\n        return links.filter((link) => {\n            if (link.children != null) {\n                link.children = this.filterEuiMenuItemsWithRights(link.children);\n            }\n\n            // First check if the user is denied access:\n            if (link.deniedRightId) {\n                if (this.euiPermission.checkRight(link.deniedRightId)) {\n                    return false;\n                }\n            }\n            if (link.deniedRightIds) {\n                for (const deniedRightId of link.deniedRightIds) {\n                    if (this.euiPermission.checkRight(deniedRightId)) {\n                        return false;\n                    }\n                }\n            }\n\n            // Then check if the user needs to be allowed access explicitly:\n            if (link.allowedRightId) {\n                return this.euiPermission.checkRight(link.allowedRightId);\n            }\n            if (link.allowedRightIds) {\n                for (const allowedRightId of link.allowedRightIds) {\n                    if (this.euiPermission.checkRight(allowedRightId)) {\n                        return true;\n                    }\n                }\n                // User doesn't have one of the allowed rights. Deny access:\n                return false;\n            }\n\n            // Access to the menu item is not denied, therefore allow it:\n            return true;\n        });\n    }\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 12
            },
            "extends": [],
            "type": "injectable"
        },
        {
            "name": "EuiGrowlService",
            "id": "injectable-EuiGrowlService-952533be67f915b9b002f146a18b2d970e6cfa560cdbe27f9eb2e4e1f52f9b8e08955c5b0bcf40e17c0c5577d769a0481cce22773351fef9ac3a050362ce0a0a",
            "file": "packages/core/src/lib/services/growl/eui-growl.service.ts",
            "properties": [
                {
                    "name": "ariaGrowlLive",
                    "defaultValue": "new BehaviorSubject<'off' | 'polite' | 'assertive'>('polite')",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 25,
                    "modifierKind": [
                        148
                    ]
                },
                {
                    "name": "growlCallback",
                    "defaultValue": "new BehaviorSubject<(() => void) | null>(null)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 24,
                    "modifierKind": [
                        148
                    ]
                },
                {
                    "name": "growlLife",
                    "defaultValue": "new BehaviorSubject(3000)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 22,
                    "modifierKind": [
                        148
                    ]
                },
                {
                    "name": "growlMessages",
                    "defaultValue": "new BehaviorSubject<EuiGrowlMessage[]>([])",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 19,
                    "modifierKind": [
                        148
                    ]
                },
                {
                    "name": "growlPosition",
                    "defaultValue": "new BehaviorSubject('bottom-right')",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 23,
                    "modifierKind": [
                        148
                    ]
                },
                {
                    "name": "isCloseAllSticky",
                    "defaultValue": "new BehaviorSubject(false)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 21,
                    "modifierKind": [
                        148
                    ]
                },
                {
                    "name": "isGrowlSticky",
                    "defaultValue": "new BehaviorSubject(false)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 20,
                    "modifierKind": [
                        148
                    ]
                }
            ],
            "methods": [
                {
                    "name": "clearGrowl",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 97,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRemoves all currently displayed growl messages from the notification queue.\nClears both sticky and temporary messages immediately.\n",
                    "description": "<p>Removes all currently displayed growl messages from the notification queue.\nClears both sticky and temporary messages immediately.</p>\n"
                },
                {
                    "name": "growl",
                    "args": [
                        {
                            "name": "msg",
                            "type": "EuiGrowlMessage",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "isSticky",
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "isMultiple",
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "life",
                            "type": "number",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "position",
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "callback",
                            "type": "function",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": []
                        },
                        {
                            "name": "ariaLive",
                            "type": "\"off\" | \"polite\" | \"assertive\"",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 41,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisplays a growl notification message with customizable behavior and appearance.\nValidates message severity and manages message lifecycle through reactive streams.\nDanger severity messages default to sticky behavior unless explicitly configured.\n\n",
                    "description": "<p>Displays a growl notification message with customizable behavior and appearance.\nValidates message severity and manages message lifecycle through reactive streams.\nDanger severity messages default to sticky behavior unless explicitly configured.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 1464,
                                "end": 1467,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "msg"
                            },
                            "type": "EuiGrowlMessage",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1458,
                                "end": 1463,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Message object containing severity, summary, and detail properties</li>\n</ul>\n"
                        },
                        {
                            "name": {
                                "pos": 1551,
                                "end": 1559,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "isSticky"
                            },
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1545,
                                "end": 1550,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>When true, message persists until manually dismissed; defaults to false except for danger messages</li>\n</ul>\n"
                        },
                        {
                            "name": {
                                "pos": 1675,
                                "end": 1685,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "isMultiple"
                            },
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1669,
                                "end": 1674,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>When true, appends message to existing queue; when false, clears previous messages</li>\n</ul>\n"
                        },
                        {
                            "name": {
                                "pos": 1785,
                                "end": 1789,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "life"
                            },
                            "type": "number",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1779,
                                "end": 1784,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Duration in milliseconds before auto-dismissal; defaults to 3000ms</li>\n</ul>\n"
                        },
                        {
                            "name": {
                                "pos": 1873,
                                "end": 1881,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "position"
                            },
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1867,
                                "end": 1872,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Screen position for message display (e.g., &#39;bottom-right&#39;, &#39;top-center&#39;)</li>\n</ul>\n"
                        },
                        {
                            "name": {
                                "pos": 1971,
                                "end": 1979,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "callback"
                            },
                            "type": "function",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [],
                            "tagName": {
                                "pos": 1965,
                                "end": 1970,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Optional function executed when message is clicked</li>\n</ul>\n"
                        },
                        {
                            "name": {
                                "pos": 2047,
                                "end": 2055,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "ariaLive"
                            },
                            "type": "\"off\" | \"polite\" | \"assertive\"",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2041,
                                "end": 2046,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>ARIA live region politeness level for screen reader announcements</li>\n</ul>\n"
                        }
                    ]
                },
                {
                    "name": "growlError",
                    "args": [
                        {
                            "name": "msg",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "position",
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 119,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisplays an error growl notification with predefined styling and behavior.\nMessage is non-sticky but can be configured to persist based on severity handling.\n\n",
                    "description": "<p>Displays an error growl notification with predefined styling and behavior.\nMessage is non-sticky but can be configured to persist based on severity handling.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 4833,
                                "end": 4836,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "msg"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 4827,
                                "end": 4832,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Detail text to display in the notification</li>\n</ul>\n"
                        },
                        {
                            "name": {
                                "pos": 4896,
                                "end": 4904,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "position"
                            },
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 4890,
                                "end": 4895,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Optional screen position override; defaults to service-configured position</li>\n</ul>\n"
                        }
                    ]
                },
                {
                    "name": "growlInfo",
                    "args": [
                        {
                            "name": "msg",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "position",
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 141,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisplays an informational growl notification with predefined styling and behavior.\nMessage is non-sticky and auto-dismisses after the default duration.\n\n",
                    "description": "<p>Displays an informational growl notification with predefined styling and behavior.\nMessage is non-sticky and auto-dismisses after the default duration.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 5881,
                                "end": 5884,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "msg"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 5875,
                                "end": 5880,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Detail text to display in the notification</li>\n</ul>\n"
                        },
                        {
                            "name": {
                                "pos": 5944,
                                "end": 5952,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "position"
                            },
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 5938,
                                "end": 5943,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Optional screen position override; defaults to service-configured position</li>\n</ul>\n"
                        }
                    ]
                },
                {
                    "name": "growlSuccess",
                    "args": [
                        {
                            "name": "msg",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "position",
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 108,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisplays a success growl notification with predefined styling and behavior.\nMessage is non-sticky and auto-dismisses after the default duration.\n\n",
                    "description": "<p>Displays a success growl notification with predefined styling and behavior.\nMessage is non-sticky and auto-dismisses after the default duration.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 4297,
                                "end": 4300,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "msg"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 4291,
                                "end": 4296,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Detail text to display in the notification</li>\n</ul>\n"
                        },
                        {
                            "name": {
                                "pos": 4360,
                                "end": 4368,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "position"
                            },
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 4354,
                                "end": 4359,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Optional screen position override; defaults to service-configured position</li>\n</ul>\n"
                        }
                    ]
                },
                {
                    "name": "growlWarning",
                    "args": [
                        {
                            "name": "msg",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "position",
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 130,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisplays a warning growl notification with predefined styling and behavior.\nMessage is non-sticky and auto-dismisses after the default duration.\n\n",
                    "description": "<p>Displays a warning growl notification with predefined styling and behavior.\nMessage is non-sticky and auto-dismisses after the default duration.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 5351,
                                "end": 5354,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "msg"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 5345,
                                "end": 5350,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Detail text to display in the notification</li>\n</ul>\n"
                        },
                        {
                            "name": {
                                "pos": 5414,
                                "end": 5422,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "position"
                            },
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 5408,
                                "end": 5413,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Optional screen position override; defaults to service-configured position</li>\n</ul>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "<p>Centralized service for managing application-wide <code>eui-growl</code> notifications.\nProvides methods to display success, error, warning, and info messages with configurable behavior.\nManages message lifecycle, positioning, and accessibility settings through reactive BehaviorSubjects.\nSupports both temporary auto-dismissing messages and persistent sticky notifications.\nInjected at root level, ensuring a single instance across the entire application.</p>\n",
            "rawdescription": "\n\nCentralized service for managing application-wide `eui-growl` notifications.\nProvides methods to display success, error, warning, and info messages with configurable behavior.\nManages message lifecycle, positioning, and accessibility settings through reactive BehaviorSubjects.\nSupports both temporary auto-dismissing messages and persistent sticky notifications.\nInjected at root level, ensuring a single instance across the entire application.\n",
            "sourceCode": "import { Injectable } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { EuiGrowlMessage } from '@eui/base';\n\n/**\n * @description\n * Centralized service for managing application-wide `eui-growl` notifications.\n * Provides methods to display success, error, warning, and info messages with configurable behavior.\n * Manages message lifecycle, positioning, and accessibility settings through reactive BehaviorSubjects.\n * Supports both temporary auto-dismissing messages and persistent sticky notifications.\n * Injected at root level, ensuring a single instance across the entire application.\n */\n@Injectable({\n    providedIn: 'root',\n})\nexport class EuiGrowlService {\n    readonly growlMessages = new BehaviorSubject<EuiGrowlMessage[]>([]);\n    readonly isGrowlSticky = new BehaviorSubject(false);\n    readonly isCloseAllSticky = new BehaviorSubject(false);\n    readonly growlLife = new BehaviorSubject(3000);\n    readonly growlPosition = new BehaviorSubject('bottom-right');\n    readonly growlCallback = new BehaviorSubject<(() => void) | null>(null);\n    readonly ariaGrowlLive = new BehaviorSubject<'off' | 'polite' | 'assertive'>('polite');\n\n    /**\n     * Displays a growl notification message with customizable behavior and appearance.\n     * Validates message severity and manages message lifecycle through reactive streams.\n     * Danger severity messages default to sticky behavior unless explicitly configured.\n     * \n     * @param msg - Message object containing severity, summary, and detail properties\n     * @param isSticky - When true, message persists until manually dismissed; defaults to false except for danger messages\n     * @param isMultiple - When true, appends message to existing queue; when false, clears previous messages\n     * @param life - Duration in milliseconds before auto-dismissal; defaults to 3000ms\n     * @param position - Screen position for message display (e.g., 'bottom-right', 'top-center')\n     * @param callback - Optional function executed when message is clicked\n     * @param ariaLive - ARIA live region politeness level for screen reader announcements\n     * @throws Error if message severity is not one of: 'info', 'warning', 'success', 'danger'\n     */\n    growl(\n        msg: EuiGrowlMessage,\n        isSticky?: boolean,\n        isMultiple?: boolean,\n        life?: number,\n        position?: string,\n        callback?: () => void,\n        ariaLive?: 'off' | 'polite' | 'assertive',\n    ): void {\n        if (msg.severity !== 'info' && msg.severity !== 'warning' && msg.severity !== 'success' && msg.severity !== 'danger') {\n            throw new Error('EuiGrowlService.growl() ERROR : message severity must be either : success, warning, info, danger');\n        } else {\n            if (isMultiple === undefined || !isMultiple) {\n                this.growlMessages.next([]);\n            }\n            msg.life = life || msg.life;\n            msg.sticky = isSticky || msg.sticky;\n\n            if (life === undefined || isNaN(life)) {\n                if (msg.severity === 'danger') {\n                    isSticky = true;\n                } else {\n                    this.growlLife.next(3000);\n                }\n            } else {\n                this.growlLife.next(life);\n            }\n\n            if (isSticky) {\n                this.isGrowlSticky.next(isSticky);\n            } else {\n                this.isGrowlSticky.next(false);\n            }\n\n            if (position) {\n                this.growlPosition.next(position);\n            }\n\n            if (callback) {\n                this.growlCallback.next(callback);\n            } else {\n                this.growlCallback.next(null);\n            }\n            \n            if (ariaLive) {\n                this.ariaGrowlLive.next(ariaLive);\n            }\n\n            this.growlMessages.next([...this.growlMessages.value, msg]);\n        }\n    }\n\n    /**\n     * Removes all currently displayed growl messages from the notification queue.\n     * Clears both sticky and temporary messages immediately.\n     */\n    clearGrowl(): void {\n        this.growlMessages.next([]);\n    }\n\n    /**\n     * Displays a success growl notification with predefined styling and behavior.\n     * Message is non-sticky and auto-dismisses after the default duration.\n     * \n     * @param msg - Detail text to display in the notification\n     * @param position - Optional screen position override; defaults to service-configured position\n     */\n    growlSuccess(msg: string, position?: string): void {\n        this.growl({ severity: 'success', summary: 'SUCCESS', detail: msg }, false, false, undefined, position);\n    }\n\n    /**\n     * Displays an error growl notification with predefined styling and behavior.\n     * Message is non-sticky but can be configured to persist based on severity handling.\n     * \n     * @param msg - Detail text to display in the notification\n     * @param position - Optional screen position override; defaults to service-configured position\n     */\n    growlError(msg: string, position?: string): void {\n        this.growl({ severity: 'danger', summary: 'ERROR', detail: msg }, false, false, undefined, position);\n    }\n\n    /**\n     * Displays a warning growl notification with predefined styling and behavior.\n     * Message is non-sticky and auto-dismisses after the default duration.\n     * \n     * @param msg - Detail text to display in the notification\n     * @param position - Optional screen position override; defaults to service-configured position\n     */\n    growlWarning(msg: string, position?: string): void {\n        this.growl({ severity: 'warning', summary: 'WARNING', detail: msg }, false, false, undefined, position);\n    }\n\n    /**\n     * Displays an informational growl notification with predefined styling and behavior.\n     * Message is non-sticky and auto-dismisses after the default duration.\n     * \n     * @param msg - Detail text to display in the notification\n     * @param position - Optional screen position override; defaults to service-configured position\n     */\n    growlInfo(msg: string, position?: string): void {\n        this.growl({ severity: 'info', summary: 'INFO', detail: msg }, false, false, undefined, position);\n    }\n}\n",
            "extends": [],
            "type": "injectable"
        },
        {
            "name": "EuiLoaderService",
            "id": "injectable-EuiLoaderService-a9e95fd0d984fe11186fa7539e8c36bf2e4f4287fab0f9c318307d44af3c7059e8e98a350eb6011161e6e6705782db2ef94ae1c98737055473fd5b823028a70b",
            "file": "packages/core/src/lib/services/loader/eui-loader.service.ts",
            "properties": [],
            "methods": [
                {
                    "name": "addDependency",
                    "args": [
                        {
                            "name": "name",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "url",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "type",
                            "type": "\"js\" | \"css\"",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "requires",
                            "type": "string[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "[]"
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 70,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nAdd a dependency with its type (JS or CSS) and dependencies\n\n",
                    "description": "<p>Add a dependency with its type (JS or CSS) and dependencies</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2934,
                                "end": 2938,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "name"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2928,
                                "end": 2933,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The name of the dependency</p>\n"
                        },
                        {
                            "name": {
                                "pos": 2980,
                                "end": 2983,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "url"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2974,
                                "end": 2979,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The URL of the dependency</p>\n"
                        },
                        {
                            "name": {
                                "pos": 3024,
                                "end": 3028,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "type"
                            },
                            "type": "\"js\" | \"css\"",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3018,
                                "end": 3023,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The type of the dependency (JS or CSS)</p>\n"
                        },
                        {
                            "name": {
                                "pos": 3082,
                                "end": 3090,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "requires"
                            },
                            "type": "string[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "[]",
                            "tagName": {
                                "pos": 3076,
                                "end": 3081,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The dependencies that must be loaded before this one (optional)</p>\n"
                        }
                    ]
                },
                {
                    "name": "getDependencyStatus",
                    "args": [
                        {
                            "name": "name",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Status | null",
                    "typeParameters": [],
                    "line": 144,
                    "deprecated": true,
                    "deprecationMessage": "Prefer using statusChanges instead",
                    "rawdescription": "\n\nGet the status of a dependency\n\nSee statusChanges\n",
                    "description": "<p>Get the status of a dependency</p>\n<p>See statusChanges</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 5356,
                                "end": 5360,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "name"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 5350,
                                "end": 5355,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The name of the dependency</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 5396,
                                "end": 5403,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>The status of the dependency</p>\n"
                        }
                    ]
                },
                {
                    "name": "removeDependency",
                    "args": [
                        {
                            "name": "name",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 92,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRemove a dependency from the DOM\n\n",
                    "description": "<p>Remove a dependency from the DOM</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 3807,
                                "end": 3811,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "name"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3801,
                                "end": 3806,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The name of the dependency</p>\n"
                        }
                    ]
                },
                {
                    "name": "setRetryPolicy",
                    "args": [
                        {
                            "name": "maxAttempts",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "retryInterval",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 120,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nAllow users to configure the retry policy\n\n",
                    "description": "<p>Allow users to configure the retry policy</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 4686,
                                "end": 4697,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "maxAttempts"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 4680,
                                "end": 4685,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The maximum number of retry attempts</p>\n"
                        },
                        {
                            "name": {
                                "pos": 4749,
                                "end": 4762,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "retryInterval"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 4743,
                                "end": 4748,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The time between retries in milliseconds</p>\n"
                        }
                    ]
                },
                {
                    "name": "setTimeoutPolicy",
                    "args": [
                        {
                            "name": "time",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 132,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nAllow users to configure the timeout policy\n\nSee setRetryPolicy\nSee statusChanges\n",
                    "description": "<p>Allow users to configure the timeout policy</p>\n<p>See setRetryPolicy\nSee statusChanges</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 5068,
                                "end": 5072,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "time"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 5062,
                                "end": 5067,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The time in milliseconds before considering a load attempt as failed</p>\n"
                        }
                    ]
                },
                {
                    "name": "statusChanges",
                    "args": [
                        {
                            "name": "name",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<Status>",
                    "typeParameters": [],
                    "line": 154,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nGet the status of a dependency as an observable\n\n",
                    "description": "<p>Get the status of a dependency as an observable</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 5795,
                                "end": 5799,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "name"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 5789,
                                "end": 5794,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The name of the dependency</p>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "<p> A service for loading external dependencies dynamically to the DOM and keeping track of their status. Dependencies\n can be loaded in any order and can have prerequisites. The service will load the prerequisites first and then load\n the dependency. If a dependency fails to load, the service will retry loading it according to the retry policy.\n The service will emit the status of the dependency when it changes. This is useful for showing a loading indicator\n while the dependency is loading. In scenarios where the dependency is not required for the application to function,\n the service will not block the application from loading if the dependency fails to load. The service will also\n remove the dependency from the DOM if it is removed from the list. This is useful for scenarios where the dependency\n is only required for a specific component, might be removed from the list when the component is destroyed, and it\n will not affect the bundle size.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\"> // Add a dependency\n loader.addDependency(&#39;Quill&#39;, &#39;https://cdn.quilljs.com/1.3.6/quill.js&#39;, &#39;js&#39;);\n // Get the status of a dependency\n loader.getDependencyStatus(&#39;Quill&#39;);\n // Listen for status changes\n loader.statusChanges(&#39;Quill&#39;).subscribe((status: Status) =&gt; {\n   console.log(status);\n });\n // Remove a dependency\n loader.removeDependency(&#39;Quill&#39;);\n // Set the retry policy\n loader.setRetryPolicy(3, 1000);\n // Set the timeout policy\n loader.setTimeoutPolicy(5000);\n // Load a dependency with prerequisites\n loader.addDependency(&#39;Quill&#39;, &#39;https://cdn.quilljs.com/1.3.6/quill.js&#39;, &#39;js&#39;, [&#39;QuillStyle&#39;]);\n loader.addDependency(&#39;QuillStyle&#39;, &#39;https://cdn.quilljs.com/1.3.6/quill.snow.css&#39;, &#39;css&#39;);\n // Load a dependency with prerequisites and retry logic\n loader.setRetryPolicy(3, 1000);\n loader.setTimeoutPolicy(5000);\n loader.addDependency(&#39;Quill&#39;, &#39;https://cdn.quilljs.com/1.3.6/quill.js&#39;, &#39;js&#39;, [&#39;QuillStyle&#39;]);\n loader.addDependency(&#39;QuillStyle&#39;, &#39;https://cdn.quilljs.com/1.3.6/quill.snow.css&#39;, &#39;css&#39;);</code></pre></div>",
            "rawdescription": "\n\n A service for loading external dependencies dynamically to the DOM and keeping track of their status. Dependencies\n can be loaded in any order and can have prerequisites. The service will load the prerequisites first and then load\n the dependency. If a dependency fails to load, the service will retry loading it according to the retry policy.\n The service will emit the status of the dependency when it changes. This is useful for showing a loading indicator\n while the dependency is loading. In scenarios where the dependency is not required for the application to function,\n the service will not block the application from loading if the dependency fails to load. The service will also\n remove the dependency from the DOM if it is removed from the list. This is useful for scenarios where the dependency\n is only required for a specific component, might be removed from the list when the component is destroyed, and it\n will not affect the bundle size.\n\n```html\n // Add a dependency\n loader.addDependency('Quill', 'https://cdn.quilljs.com/1.3.6/quill.js', 'js');\n // Get the status of a dependency\n loader.getDependencyStatus('Quill');\n // Listen for status changes\n loader.statusChanges('Quill').subscribe((status: Status) => {\n   console.log(status);\n });\n // Remove a dependency\n loader.removeDependency('Quill');\n // Set the retry policy\n loader.setRetryPolicy(3, 1000);\n // Set the timeout policy\n loader.setTimeoutPolicy(5000);\n // Load a dependency with prerequisites\n loader.addDependency('Quill', 'https://cdn.quilljs.com/1.3.6/quill.js', 'js', ['QuillStyle']);\n loader.addDependency('QuillStyle', 'https://cdn.quilljs.com/1.3.6/quill.snow.css', 'css');\n // Load a dependency with prerequisites and retry logic\n loader.setRetryPolicy(3, 1000);\n loader.setTimeoutPolicy(5000);\n loader.addDependency('Quill', 'https://cdn.quilljs.com/1.3.6/quill.js', 'js', ['QuillStyle']);\n loader.addDependency('QuillStyle', 'https://cdn.quilljs.com/1.3.6/quill.snow.css', 'css');\n```",
            "sourceCode": "import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { Dependency, Policy, Status } from './eui-loader.model';\nimport { filter, map } from 'rxjs/operators';\n\n/**\n *  A service for loading external dependencies dynamically to the DOM and keeping track of their status. Dependencies\n *  can be loaded in any order and can have prerequisites. The service will load the prerequisites first and then load\n *  the dependency. If a dependency fails to load, the service will retry loading it according to the retry policy.\n *  The service will emit the status of the dependency when it changes. This is useful for showing a loading indicator\n *  while the dependency is loading. In scenarios where the dependency is not required for the application to function,\n *  the service will not block the application from loading if the dependency fails to load. The service will also\n *  remove the dependency from the DOM if it is removed from the list. This is useful for scenarios where the dependency\n *  is only required for a specific component, might be removed from the list when the component is destroyed, and it\n *  will not affect the bundle size.\n *\n *  @example\n *  // Add a dependency\n *  loader.addDependency('Quill', 'https://cdn.quilljs.com/1.3.6/quill.js', 'js');\n *  // Get the status of a dependency\n *  loader.getDependencyStatus('Quill');\n *  // Listen for status changes\n *  loader.statusChanges('Quill').subscribe((status: Status) => {\n *    console.log(status);\n *  });\n *  // Remove a dependency\n *  loader.removeDependency('Quill');\n *  // Set the retry policy\n *  loader.setRetryPolicy(3, 1000);\n *  // Set the timeout policy\n *  loader.setTimeoutPolicy(5000);\n *  // Load a dependency with prerequisites\n *  loader.addDependency('Quill', 'https://cdn.quilljs.com/1.3.6/quill.js', 'js', ['QuillStyle']);\n *  loader.addDependency('QuillStyle', 'https://cdn.quilljs.com/1.3.6/quill.snow.css', 'css');\n *  // Load a dependency with prerequisites and retry logic\n *  loader.setRetryPolicy(3, 1000);\n *  loader.setTimeoutPolicy(5000);\n *  loader.addDependency('Quill', 'https://cdn.quilljs.com/1.3.6/quill.js', 'js', ['QuillStyle']);\n *  loader.addDependency('QuillStyle', 'https://cdn.quilljs.com/1.3.6/quill.snow.css', 'css');\n */\n@Injectable({\n    providedIn: 'root',\n})\nexport class EuiLoaderService {\n    /**\n     * Stores the status and details of each dependency\n     */\n    private dependencies: Dependency[] = [];\n\n    /** Observable that emits the name of the dependency when its status changes */\n    private onStatusChange: Subject<string> = new Subject<string>();\n\n    /**\n     * Configuration for policies such as Retry and timeout for failed loads\n     */\n    private policy: Policy = {\n        maxAttempts: 3,\n        retryInterval: 1000,\n        timeout: 5000,\n    };\n\n    /**\n     * Add a dependency with its type (JS or CSS) and dependencies\n     *\n     * @param name The name of the dependency\n     * @param url The URL of the dependency\n     * @param type The type of the dependency (JS or CSS)\n     * @param requires The dependencies that must be loaded before this one (optional)\n     */\n    addDependency(name: string, url: string, type: 'js' | 'css', requires: string[] = []): void {\n        // if the dependency is not already in the list\n        if (!this.dependencies.find(d => d.name === name)) {\n            // Add the dependency to the list\n            this.dependencies.push({\n                name,\n                url,\n                type,\n                requires,\n                status: Status.LOADING,\n                retries: 0,\n            });\n            // Load the dependency to the DOM\n            this.loadDependency(name);\n        }\n    }\n\n    /**\n     * Remove a dependency from the DOM\n     *\n     * @param name The name of the dependency\n     */\n    removeDependency(name: string): void {\n        const index = this.dependencies.findIndex(d => d.name === name);\n        if (index === -1) {\n            return;\n        }\n        const dependency: Dependency = this.dependencies.at(index);\n        let element: HTMLScriptElement | HTMLLinkElement | null = null;\n\n        if (dependency.type === 'js') {\n            element = this.getScript(dependency.url);\n        } else {\n            element = this.getStyle(dependency.url);\n        }\n\n        if (element) {\n            element.remove(); // Remove the element from the DOM\n        } else {\n            console.warn(`Dependency ${name} not found in DOM.`);\n        }\n        this.dependencies.splice(index, 1); // Remove the dependency from the list\n    }\n\n    /**\n     * Allow users to configure the retry policy\n     *\n     * @param maxAttempts The maximum number of retry attempts\n     * @param retryInterval The time between retries in milliseconds\n     */\n    setRetryPolicy(maxAttempts: number, retryInterval: number): void {\n        this.policy.maxAttempts = maxAttempts;\n        this.policy.retryInterval = retryInterval;\n    }\n\n    /**\n     * Allow users to configure the timeout policy\n     *\n     * @param time The time in milliseconds before considering a load attempt as failed\n     * @see setRetryPolicy\n     * @see statusChanges\n     */\n    setTimeoutPolicy(time: number): void {\n        this.policy.timeout = time;\n    }\n\n    /**\n     * Get the status of a dependency\n     *\n     * @param name The name of the dependency\n     * @returns The status of the dependency\n     * @deprecated Prefer using statusChanges instead\n     * @see statusChanges\n     */\n    getDependencyStatus(name: string): Status | null {\n        const dependency: Dependency = this.dependencies.find(d => d.name === name);\n        return dependency?.status || null;\n    }\n\n    /**\n     * Get the status of a dependency as an observable\n     *\n     * @param name The name of the dependency\n     */\n    statusChanges(name: string): Observable<Status> {\n        return this.onStatusChange.asObservable()\n            .pipe(\n                filter((loadedName: string) => loadedName === name),\n                map(() => this.dependencies.find(d => d.name === name)?.status),\n            );\n    }\n\n    /**\n     * Load a dependency and its prerequisites\n     *\n     * @param name The name of the dependency\n     * @see loadDependency\n     */\n    private loadDependency(name: string): void {\n        const dependency: Dependency = this.dependencies.find(d => d.name === name);\n        if(dependency === undefined) {\n            console.error(`Dependency ${name} not found in list.`);\n            return;\n        }\n        if (dependency?.requires.length) {\n            // Load all prerequisites first\n            dependency.requires.forEach((dep) => {\n                // If the dependency is not already loaded or in the list, load it\n                if (!this.dependencies.find(d => d.name === dep && d.status === Status.LOADED)) {\n                    this.loadDependency(dep);\n                }\n            });\n        }\n\n        // Load the actual dependency\n        if (dependency?.type === 'js' && this.getScript(dependency?.url) === null) {\n            this.loadScript(dependency);\n        } else if (this.getStyle(dependency?.url) === null) {\n            this.loadStyle(dependency);\n        }\n    }\n\n    /**\n     * Load a JS script and append it to the root of the DOM\n     * @param dependency\n     */\n    private loadScript(dependency: Dependency): void {\n        const script: HTMLScriptElement = document.createElement('script');\n        script.src = dependency.url;\n        script.type = 'module';\n        // script.defer = true; #Consider this to ensure scripts are loaded in order\n\n        script.onload = (): void => {\n            dependency.status = Status.LOADED;\n            this.onStatusChange.next(dependency.name);\n        };\n\n        script.onerror = (): void => {\n            this.handleError(dependency.name, 'Failed to load script');\n        };\n\n        // Append to the root of the DOM\n        document.body.append(script);\n    }\n\n    /**\n     * Load a CSS style and append it to the head of the document\n     * @param dependency\n     */\n    private loadStyle(dependency: Dependency): void {\n        const link: HTMLLinkElement = document.createElement('link');\n        link.type = 'text/css';\n        link.rel = 'stylesheet';\n        link.href = dependency.url;\n\n        link.onload = (): void => {\n            dependency.status = Status.LOADED;\n            this.onStatusChange.next(dependency.name);\n        };\n\n        link.onerror = (): void => {\n            this.handleError(dependency.name, 'Failed to load stylesheet');\n        };\n\n        // Append to the head, which is conventionally used for stylesheets\n        document.head.append(link);\n    }\n\n    /**\n     * Error handling for a failed load\n     * @param name\n     * @param error\n     */\n    private handleError(name: string, error: string): void {\n        const dependency: Dependency = this.dependencies.find(d => d.name === name);\n        \n        console.error(`Error loading ${name}: ${error}`);\n        \n        if (dependency) {\n            console.error(`Error loading ${name}: ${error}`);\n            if (dependency.status !== Status.ERROR) {\n                dependency.status = Status.ERROR;\n                this.onStatusChange.next(dependency.name);\n                // Retry logic\n                if (dependency?.retries < this.policy.maxAttempts) {\n                    setTimeout(() => {\n                        dependency.retries++;\n                        this.reloadDependency(dependency);\n                    }, this.policy.retryInterval);\n                } else {\n                    console.error(`Failed to load ${name} after ${this.policy.maxAttempts} attempts`);\n                }\n            }\n        }\n    }\n\n    /**\n     * Get the script element from the DOM\n     *\n     * @param url\n     * @private\n     */\n    private getScript(url: string): HTMLScriptElement | null {\n        return document.querySelector(`script[src=\"${url}\"]`);\n    }\n\n    /**\n     * Get the style element from the DOM\n     *\n     * @param url\n     * @private\n     */\n    private getStyle(url: string): HTMLLinkElement | null {\n        return document.querySelector(`link[href=\"${url}\"]`);\n    }\n\n    /**\n     * Reload a dependency which can be either a script or a style. First remove\n     * the element from the DOM and then load it again.\n     *\n     * @param dependency\n     * @private\n     */\n    private reloadDependency(dependency: Dependency): void {\n        if (dependency.type === 'js') {\n            const script = this.getScript(dependency.url);\n            script.remove();\n            this.loadScript(dependency);\n        } else {\n            const style = this.getStyle(dependency.url);\n            style.remove();\n            this.loadStyle(dependency);\n        }\n    }\n}\n",
            "extends": [],
            "type": "injectable"
        },
        {
            "name": "EuiPermissionService",
            "id": "injectable-EuiPermissionService-0da72905d763407124d9f4e5149cdf2e91cc37cd2eb65d29282b01e56f062537d6a0f7202207c8f24390cf2ebd51436c2df2b71706212c6ec7a39b211075851e",
            "file": "packages/core/src/lib/services/permission/permission.service.ts",
            "properties": [
                {
                    "name": "store",
                    "defaultValue": "inject(StoreService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 31,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methods": [
                {
                    "name": "checkAttributePermission",
                    "args": [
                        {
                            "name": "rightsAndPermission",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 180,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nChecks if the user has the specified attribute permission.\nThis method interprets a string that represents a combination of rights and/or permissions\nand determines whether the user has the specified permissions. The string format can be\n'RIGHT.PERMISSION' or just 'RIGHT'. For multiple rights, it can be 'RIGHT1.RIGHT2.PERMISSION'.\n\n                                      Format can be 'RIGHT', 'RIGHT.PERMISSION', or 'RIGHT1.RIGHT2.PERMISSION'.\n\n\n```html\n// Check a single right\nconst hasRight = permissionService.checkAttributePermission('VIEW');\n```\n// Check a right with a specific permission\nconst hasRightWithPermission = permissionService.checkAttributePermission('EDIT.APPROVE');\n\n// Check multiple rights with a specific permission\nconst hasMultipleRights = permissionService.checkAttributePermission('ADMIN.VIEW.APPROVE');\n",
                    "description": "<p>Checks if the user has the specified attribute permission.\nThis method interprets a string that represents a combination of rights and/or permissions\nand determines whether the user has the specified permissions. The string format can be\n&#39;RIGHT.PERMISSION&#39; or just &#39;RIGHT&#39;. For multiple rights, it can be &#39;RIGHT1.RIGHT2.PERMISSION&#39;.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">                                  Format can be &#39;RIGHT&#39;, &#39;RIGHT.PERMISSION&#39;, or &#39;RIGHT1.RIGHT2.PERMISSION&#39;.</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">// Check a single right\nconst hasRight = permissionService.checkAttributePermission(&#39;VIEW&#39;);</code></pre></div><p>// Check a right with a specific permission\nconst hasRightWithPermission = permissionService.checkAttributePermission(&#39;EDIT.APPROVE&#39;);</p>\n<p>// Check multiple rights with a specific permission\nconst hasMultipleRights = permissionService.checkAttributePermission(&#39;ADMIN.VIEW.APPROVE&#39;);</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 7561,
                                "end": 7580,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "rightsAndPermission"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 7546,
                                "end": 7551,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>A string representing the rights and/or permissions to check.\nFormat can be &#39;RIGHT&#39;, &#39;RIGHT.PERMISSION&#39;, or &#39;RIGHT1.RIGHT2.PERMISSION&#39;.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 7552,
                                "end": 7560,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 7553,
                                    "end": 7559,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 7779,
                                "end": 7786,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>True if the user has the specified attribute permission, false otherwise.</p>\n",
                            "returnType": "boolean"
                        },
                        {
                            "tagName": {
                                "pos": 7886,
                                "end": 7893,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "example"
                            },
                            "comment": "<p>// Check a single right\nconst hasRight = permissionService.checkAttributePermission(&#39;VIEW&#39;);</p>\n<p>// Check a right with a specific permission\nconst hasRightWithPermission = permissionService.checkAttributePermission(&#39;EDIT.APPROVE&#39;);</p>\n<p>// Check multiple rights with a specific permission\nconst hasMultipleRights = permissionService.checkAttributePermission(&#39;ADMIN.VIEW.APPROVE&#39;);</p>\n"
                        }
                    ]
                },
                {
                    "name": "checkPermission",
                    "args": [
                        {
                            "name": "rightId",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "permission",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 228,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nChecks if the user has a specific permission within a right.\nThis method determines whether the user has a specific permission associated with a given right.\n\n\n\n```html\n// Check if the user has 'APPROVE' permission in the 'EDIT' right\nconst canApproveEdit = permissionService.checkPermission('EDIT', 'APPROVE');\n```",
                    "description": "<p>Checks if the user has a specific permission within a right.\nThis method determines whether the user has a specific permission associated with a given right.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">// Check if the user has &#39;APPROVE&#39; permission in the &#39;EDIT&#39; right\nconst canApproveEdit = permissionService.checkPermission(&#39;EDIT&#39;, &#39;APPROVE&#39;);</code></pre></div>",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 9865,
                                "end": 9872,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "rightId"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 9850,
                                "end": 9855,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The ID of the right.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 9856,
                                "end": 9864,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 9857,
                                    "end": 9863,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        },
                        {
                            "name": {
                                "pos": 9919,
                                "end": 9929,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "permission"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 9904,
                                "end": 9909,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The permission to check within the right.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 9910,
                                "end": 9918,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 9911,
                                    "end": 9917,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 9989,
                                "end": 9996,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>True if the user has the specified permission in the given right, false otherwise.</p>\n",
                            "returnType": "boolean"
                        },
                        {
                            "tagName": {
                                "pos": 10105,
                                "end": 10112,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "example"
                            },
                            "comment": "<p>// Check if the user has &#39;APPROVE&#39; permission in the &#39;EDIT&#39; right\nconst canApproveEdit = permissionService.checkPermission(&#39;EDIT&#39;, &#39;APPROVE&#39;);</p>\n"
                        }
                    ]
                },
                {
                    "name": "checkRight",
                    "args": [
                        {
                            "name": "rightId",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 211,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nChecks if the user has a specific right.\nThis method determines whether the user possesses a particular right identified by its ID.\n\n\n\n```html\n// Check if the user has the 'ADMIN' right\nconst isAdmin = permissionService.checkRight('ADMIN');\n```",
                    "description": "<p>Checks if the user has a specific right.\nThis method determines whether the user possesses a particular right identified by its ID.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">// Check if the user has the &#39;ADMIN&#39; right\nconst isAdmin = permissionService.checkRight(&#39;ADMIN&#39;);</code></pre></div>",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 9251,
                                "end": 9258,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "rightId"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 9236,
                                "end": 9241,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The ID of the right to check.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 9242,
                                "end": 9250,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 9243,
                                    "end": 9249,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 9306,
                                "end": 9313,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>True if the user has the specified right, false otherwise.</p>\n",
                            "returnType": "boolean"
                        },
                        {
                            "tagName": {
                                "pos": 9398,
                                "end": 9405,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "example"
                            },
                            "comment": "<p>// Check if the user has the &#39;ADMIN&#39; right\nconst isAdmin = permissionService.checkRight(&#39;ADMIN&#39;);</p>\n"
                        }
                    ]
                },
                {
                    "name": "getState",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<K>",
                    "typeParameters": [
                        "K"
                    ],
                    "line": 131,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRetrieves the current state of user rights by subscribing to changes.\nThis method is used to access the current state of user rights in the service. It returns an Observable\nthat emits the current user rights. The method is generic and can be parameterized to return a specific\ntype that extends from `EuiUserRight[]`.\n\n\n                         The type of the emitted value is `K`, which is `EuiUserRight[]` by default.\n\n```html\n// Example of subscribing to the user rights state\npermissionService.getState().subscribe(currentRights => {\n  console.log('Current User Rights:', currentRights);\n});\n```\n// Example with a specific type\npermissionService.getState<CustomUserRightType[]>().subscribe(customRights => {\n  console.log('Custom User Rights:', customRights);\n});\n",
                    "description": "<p>Retrieves the current state of user rights by subscribing to changes.\nThis method is used to access the current state of user rights in the service. It returns an Observable\nthat emits the current user rights. The method is generic and can be parameterized to return a specific\ntype that extends from <code>EuiUserRight[]</code>.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">                     The type of the emitted value is `K`, which is `EuiUserRight[]` by default.</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">// Example of subscribing to the user rights state\npermissionService.getState().subscribe(currentRights =&gt; {\n  console.log(&#39;Current User Rights:&#39;, currentRights);\n});</code></pre></div><p>// Example with a specific type\npermissionService.getState&lt;CustomUserRightType[]&gt;().subscribe(customRights =&gt; {\n  console.log(&#39;Custom User Rights:&#39;, customRights);\n});</p>\n",
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 5138,
                                "end": 5145,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>An Observable that emits the current state of user rights.\nThe type of the emitted value is <code>K</code>, which is <code>EuiUserRight[]</code> by default.</p>\n",
                            "returnType": "unknown"
                        },
                        {
                            "tagName": {
                                "pos": 5344,
                                "end": 5351,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "example"
                            },
                            "comment": "<p>// Example of subscribing to the user rights state\npermissionService.getState().subscribe(currentRights =&gt; {\n  console.log(&#39;Current User Rights:&#39;, currentRights);\n});</p>\n<p>// Example with a specific type\npermissionService.getState&lt;CustomUserRightType[]&gt;().subscribe(customRights =&gt; {\n  console.log(&#39;Custom User Rights:&#39;, customRights);\n});</p>\n"
                        }
                    ]
                },
                {
                    "name": "init",
                    "args": [
                        {
                            "name": "rights",
                            "type": "EuiUserRight[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<EuiServiceStatus>",
                    "typeParameters": [],
                    "line": 74,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nInitializes the permission service with a set of user rights.\nThis method sets up the initial state of the service based on the provided user rights.\nIt should be called before using other methods of the service to ensure it is properly configured.\n\n                                 Each `EuiUserRight` object should contain at least an `id` property,\n                                 and optionally a `permissions` property which is an array of strings.\n\n                                        The status object includes a `success` boolean indicating\n                                        whether the initialization was successful, and an `error` property\n                                        with a message in case of failure.\n\n```html\n// Example of initializing the service with two user rights\nconst userRights = [\n  { id: 'ADMIN', permissions: ['CREATE', 'READ', 'UPDATE', 'DELETE'] },\n  { id: 'USER', permissions: ['READ'] }\n];\npermissionService.init(userRights).subscribe(status => {\n  if (status.success) {\n    console.log('Initialization successful');\n  } else {\n    console.error('Initialization failed:', status.error);\n  }\n});\n```\n",
                    "description": "<p>Initializes the permission service with a set of user rights.\nThis method sets up the initial state of the service based on the provided user rights.\nIt should be called before using other methods of the service to ensure it is properly configured.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">                             Each `EuiUserRight` object should contain at least an `id` property,\n                             and optionally a `permissions` property which is an array of strings.\n\n                                    The status object includes a `success` boolean indicating\n                                    whether the initialization was successful, and an `error` property\n                                    with a message in case of failure.</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">// Example of initializing the service with two user rights\nconst userRights = [\n  { id: &#39;ADMIN&#39;, permissions: [&#39;CREATE&#39;, &#39;READ&#39;, &#39;UPDATE&#39;, &#39;DELETE&#39;] },\n  { id: &#39;USER&#39;, permissions: [&#39;READ&#39;] }\n];\npermissionService.init(userRights).subscribe(status =&gt; {\n  if (status.success) {\n    console.log(&#39;Initialization successful&#39;);\n  } else {\n    console.error(&#39;Initialization failed:&#39;, status.error);\n  }\n});</code></pre></div>",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 1835,
                                "end": 1841,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "rights"
                            },
                            "type": "EuiUserRight[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1812,
                                "end": 1817,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>An array of user rights to initialize the service with.\nEach <code>EuiUserRight</code> object should contain at least an <code>id</code> property,\nand optionally a <code>permissions</code> property which is an array of strings.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 1818,
                                "end": 1834,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 1819,
                                    "end": 1833,
                                    "kind": 189,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "elementType": {
                                        "pos": 1819,
                                        "end": 1831,
                                        "kind": 184,
                                        "id": 0,
                                        "flags": 16777216,
                                        "modifierFlagsCache": 0,
                                        "transformFlags": 1,
                                        "typeName": {
                                            "pos": 1819,
                                            "end": 1831,
                                            "kind": 80,
                                            "id": 0,
                                            "flags": 16777216,
                                            "transformFlags": 0,
                                            "escapedText": "EuiUserRight"
                                        }
                                    }
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 2134,
                                "end": 2141,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>An Observable that emits the status of the initialization.\nThe status object includes a <code>success</code> boolean indicating\nwhether the initialization was successful, and an <code>error</code> property\nwith a message in case of failure.</p>\n",
                            "returnType": "unknown"
                        },
                        {
                            "tagName": {
                                "pos": 2548,
                                "end": 2555,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "example"
                            },
                            "comment": "<p>// Example of initializing the service with two user rights\nconst userRights = [\n  { id: &#39;ADMIN&#39;, permissions: [&#39;CREATE&#39;, &#39;READ&#39;, &#39;UPDATE&#39;, &#39;DELETE&#39;] },\n  { id: &#39;USER&#39;, permissions: [&#39;READ&#39;] }\n];\npermissionService.init(userRights).subscribe(status =&gt; {\n  if (status.success) {\n    console.log(&#39;Initialization successful&#39;);\n  } else {\n    console.error(&#39;Initialization failed:&#39;, status.error);\n  }\n});</p>\n"
                        }
                    ]
                },
                {
                    "name": "updateState",
                    "args": [
                        {
                            "name": "rights",
                            "type": "EuiUserRight[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 155,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUpdates the state of the service with a new set of user rights.\nThis method is used to modify the current user rights in the service. It takes an array of `EuiUserRight`\nobjects and updates the service's state. This change is then propagated to all subscribers of the state.\n\n                                 Each `EuiUserRight` object should contain an `id` property,\n                                 and optionally a `permissions` property which is an array of strings.\n\n```html\n// Example of updating the service's state with new user rights\nconst newUserRights = [\n  { id: 'USER', permissions: ['READ', 'COMMENT'] },\n  { id: 'MODERATOR', permissions: ['READ', 'WRITE', 'DELETE'] }\n];\npermissionService.updateState(newUserRights);\n```",
                    "description": "<p>Updates the state of the service with a new set of user rights.\nThis method is used to modify the current user rights in the service. It takes an array of <code>EuiUserRight</code>\nobjects and updates the service&#39;s state. This change is then propagated to all subscribers of the state.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">                             Each `EuiUserRight` object should contain an `id` property,\n                             and optionally a `permissions` property which is an array of strings.</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">// Example of updating the service&#39;s state with new user rights\nconst newUserRights = [\n  { id: &#39;USER&#39;, permissions: [&#39;READ&#39;, &#39;COMMENT&#39;] },\n  { id: &#39;MODERATOR&#39;, permissions: [&#39;READ&#39;, &#39;WRITE&#39;, &#39;DELETE&#39;] }\n];\npermissionService.updateState(newUserRights);</code></pre></div>",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 6423,
                                "end": 6429,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "rights"
                            },
                            "type": "EuiUserRight[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 6400,
                                "end": 6405,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>An array of <code>EuiUserRight</code> objects to update the service&#39;s state with.\nEach <code>EuiUserRight</code> object should contain an <code>id</code> property,\nand optionally a <code>permissions</code> property which is an array of strings.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 6406,
                                "end": 6422,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 6407,
                                    "end": 6421,
                                    "kind": 189,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "elementType": {
                                        "pos": 6407,
                                        "end": 6419,
                                        "kind": 184,
                                        "id": 0,
                                        "flags": 16777216,
                                        "modifierFlagsCache": 0,
                                        "transformFlags": 1,
                                        "typeName": {
                                            "pos": 6407,
                                            "end": 6419,
                                            "kind": 80,
                                            "id": 0,
                                            "flags": 16777216,
                                            "transformFlags": 0,
                                            "escapedText": "EuiUserRight"
                                        }
                                    }
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 6728,
                                "end": 6735,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "example"
                            },
                            "comment": "<p>// Example of updating the service&#39;s state with new user rights\nconst newUserRights = [\n  { id: &#39;USER&#39;, permissions: [&#39;READ&#39;, &#39;COMMENT&#39;] },\n  { id: &#39;MODERATOR&#39;, permissions: [&#39;READ&#39;, &#39;WRITE&#39;, &#39;DELETE&#39;] }\n];\npermissionService.updateState(newUserRights);</p>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "<p>Service for managing user permissions within the application.\nThis class extends <code>EuiService</code> and is responsible for handling user rights and permissions.\nIt provides methods to initialize the service with user rights, check specific rights and permissions,\nand subscribe to changes in the user rights state.</p>\n<p>See EuiService</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">// Example of using the EuiPermissionService in an application\nconst permissionService = new EuiPermissionService();\npermissionService.init([{ id: &#39;ADMIN&#39;, permissions: [&#39;CREATE&#39;, &#39;READ&#39;, &#39;UPDATE&#39;, &#39;DELETE&#39;] }]);\nif (permissionService.checkRight(&#39;ADMIN&#39;)) {\n  console.log(&#39;User has ADMIN rights&#39;);\n}</code></pre></div>",
            "rawdescription": "\n\nService for managing user permissions within the application.\nThis class extends `EuiService` and is responsible for handling user rights and permissions.\nIt provides methods to initialize the service with user rights, check specific rights and permissions,\nand subscribe to changes in the user rights state.\n\nSee EuiService\n\n```html\n// Example of using the EuiPermissionService in an application\nconst permissionService = new EuiPermissionService();\npermissionService.init([{ id: 'ADMIN', permissions: ['CREATE', 'READ', 'UPDATE', 'DELETE'] }]);\nif (permissionService.checkRight('ADMIN')) {\n  console.log('User has ADMIN rights');\n}\n```",
            "sourceCode": "import { Injectable, inject } from '@angular/core';\nimport { EuiService, EuiServiceStatus, EuiUserRight, Logger, UserState, CoreState } from '@eui/base';\nimport { Observable, of } from 'rxjs';\nimport { LogService } from '../log';\nimport { StoreService } from '../store';\nimport { isDefined } from '../../helpers';\nimport { createSelector, Selector } from 'reselect';\n\n/**\n * Service for managing user permissions within the application.\n * This class extends `EuiService` and is responsible for handling user rights and permissions.\n * It provides methods to initialize the service with user rights, check specific rights and permissions,\n * and subscribe to changes in the user rights state.\n *\n * @extends {EuiService<EuiUserRight[]>}\n * @see EuiService\n *\n * @example\n * // Example of using the EuiPermissionService in an application\n * const permissionService = new EuiPermissionService();\n * permissionService.init([{ id: 'ADMIN', permissions: ['CREATE', 'READ', 'UPDATE', 'DELETE'] }]);\n * if (permissionService.checkRight('ADMIN')) {\n *   console.log('User has ADMIN rights');\n * }\n */\n@Injectable({\n    providedIn: 'root',\n})\nexport class EuiPermissionService extends EuiService<EuiUserRight[]> {\n    private log = inject(LogService, { optional: true });\n    protected store = inject(StoreService);\n\n    private readonly logger: Logger;\n\n    constructor() {\n        super([]);\n        const log = this.log;\n\n        if (log) {\n            this.logger = log.getLogger('core.PermissionService');\n        }\n    }\n\n    /**\n     * Initializes the permission service with a set of user rights.\n     * This method sets up the initial state of the service based on the provided user rights.\n     * It should be called before using other methods of the service to ensure it is properly configured.\n     *\n     * @param {EuiUserRight[]} rights - An array of user rights to initialize the service with.\n     *                                  Each `EuiUserRight` object should contain at least an `id` property,\n     *                                  and optionally a `permissions` property which is an array of strings.\n     *\n     * @returns {Observable<EuiServiceStatus>} An Observable that emits the status of the initialization.\n     *                                         The status object includes a `success` boolean indicating\n     *                                         whether the initialization was successful, and an `error` property\n     *                                         with a message in case of failure.\n     *\n     * @example\n     * // Example of initializing the service with two user rights\n     * const userRights = [\n     *   { id: 'ADMIN', permissions: ['CREATE', 'READ', 'UPDATE', 'DELETE'] },\n     *   { id: 'USER', permissions: ['READ'] }\n     * ];\n     * permissionService.init(userRights).subscribe(status => {\n     *   if (status.success) {\n     *     console.log('Initialization successful');\n     *   } else {\n     *     console.error('Initialization failed:', status.error);\n     *   }\n     * });\n     *\n     * @throws {Error} Throws an error if the `rights` parameter is not an array of `EuiUserRight` objects.\n     */\n    init(rights: EuiUserRight[]): Observable<EuiServiceStatus> {\n        super.initEuiService();\n        if (Array.isArray(rights)) {\n            this.updateState(rights);\n            return of({ success: true });\n        }\n\n        if (this.logger) {\n            this.logger.error('Init object should be instance of BaseUserState');\n        }\n        return of({ success: false, error: 'Init object should be instance of BaseUserState' });\n    }\n\n    /**\n     * Retrieves the current user rights from the service's state.\n     * This getter provides access to the array of `EuiUserRight` objects that represent the current rights\n     * of the user. It is a protected method, intended for internal use within the service or by subclasses.\n     *\n     * @returns {EuiUserRight[]} An array of `EuiUserRight` objects representing the current user rights.\n     *                           Each `EuiUserRight` object typically contains an `id` property, and may\n     *                           also include a `permissions` property which is an array of strings.\n     *\n     * @example\n     * // Example of accessing user rights within a subclass or within the service\n     * const currentRights = this.userRights;\n     * currentRights.forEach(right => {\n     *   console.log(`Right ID: ${right.id}, Permissions: ${right.permissions.join(', ')}`);\n     * });\n     *\n     * @protected\n     */\n    protected get userRights(): EuiUserRight[] {\n        return this.stateInstance;\n    }\n\n    /**\n     * Retrieves the current state of user rights by subscribing to changes.\n     * This method is used to access the current state of user rights in the service. It returns an Observable\n     * that emits the current user rights. The method is generic and can be parameterized to return a specific\n     * type that extends from `EuiUserRight[]`.\n     *\n     * @template K - The type of the user rights state to be returned. Defaults to `EuiUserRight[]` if not specified.\n     *\n     * @returns {Observable<K>} An Observable that emits the current state of user rights.\n     *                          The type of the emitted value is `K`, which is `EuiUserRight[]` by default.\n     *\n     * @example\n     * // Example of subscribing to the user rights state\n     * permissionService.getState().subscribe(currentRights => {\n     *   console.log('Current User Rights:', currentRights);\n     * });\n     *\n     * // Example with a specific type\n     * permissionService.getState<CustomUserRightType[]>().subscribe(customRights => {\n     *   console.log('Custom User Rights:', customRights);\n     * });\n     */\n    getState<K = EuiUserRight[]>(): Observable<K> {\n        const getUserState = (state: CoreState): UserState => state.user;\n        const getUserRights: Selector<CoreState, EuiUserRight[]> = createSelector(getUserState, (state: UserState) => state?.rights ?? []);\n\n        return this.store.select(getUserRights);\n    }\n\n    /**\n     * Updates the state of the service with a new set of user rights.\n     * This method is used to modify the current user rights in the service. It takes an array of `EuiUserRight`\n     * objects and updates the service's state. This change is then propagated to all subscribers of the state.\n     *\n     * @param {EuiUserRight[]} rights - An array of `EuiUserRight` objects to update the service's state with.\n     *                                  Each `EuiUserRight` object should contain an `id` property,\n     *                                  and optionally a `permissions` property which is an array of strings.\n     *\n     * @example\n     * // Example of updating the service's state with new user rights\n     * const newUserRights = [\n     *   { id: 'USER', permissions: ['READ', 'COMMENT'] },\n     *   { id: 'MODERATOR', permissions: ['READ', 'WRITE', 'DELETE'] }\n     * ];\n     * permissionService.updateState(newUserRights);\n     */\n    updateState(rights: EuiUserRight[]): void {\n        this.store.updateState({ user: { rights: rights || [] } });\n    }\n\n    /**\n     * Checks if the user has the specified attribute permission.\n     * This method interprets a string that represents a combination of rights and/or permissions\n     * and determines whether the user has the specified permissions. The string format can be\n     * 'RIGHT.PERMISSION' or just 'RIGHT'. For multiple rights, it can be 'RIGHT1.RIGHT2.PERMISSION'.\n     *\n     * @param {string} rightsAndPermission - A string representing the rights and/or permissions to check.\n     *                                       Format can be 'RIGHT', 'RIGHT.PERMISSION', or 'RIGHT1.RIGHT2.PERMISSION'.\n     *\n     * @returns {boolean} True if the user has the specified attribute permission, false otherwise.\n     *\n     * @example\n     * // Check a single right\n     * const hasRight = permissionService.checkAttributePermission('VIEW');\n     *\n     * // Check a right with a specific permission\n     * const hasRightWithPermission = permissionService.checkAttributePermission('EDIT.APPROVE');\n     *\n     * // Check multiple rights with a specific permission\n     * const hasMultipleRights = permissionService.checkAttributePermission('ADMIN.VIEW.APPROVE');\n     */\n    checkAttributePermission(rightsAndPermission: string): boolean {\n        const permProps = rightsAndPermission.split('.');\n        const rightId = permProps[0];\n        const hasRight = this.checkRight(rightId);\n\n        if (hasRight) {\n            if (permProps.length === 2) {\n                // in case of 'RIGHT.PERMISSION'\n                const permission = permProps[1];\n                return this.checkPermission(rightId, permission);\n            } else if (permProps.length > 2) {\n                // in case of 'RIGHT1.RIGHT2.....PERMISSION' string call recursively\n                return this.checkAttributePermission(rightsAndPermission.slice(rightId.length + 1));\n            }\n        }\n\n        return hasRight;\n    }\n\n    /**\n     * Checks if the user has a specific right.\n     * This method determines whether the user possesses a particular right identified by its ID.\n     *\n     * @param {string} rightId - The ID of the right to check.\n     *\n     * @returns {boolean} True if the user has the specified right, false otherwise.\n     *\n     * @example\n     * // Check if the user has the 'ADMIN' right\n     * const isAdmin = permissionService.checkRight('ADMIN');\n     */\n    checkRight(rightId: string): boolean {\n        return this.userRights.some((right) => right && right.id === rightId);\n    }\n\n    /**\n     * Checks if the user has a specific permission within a right.\n     * This method determines whether the user has a specific permission associated with a given right.\n     *\n     * @param {string} rightId - The ID of the right.\n     * @param {string} permission - The permission to check within the right.\n     *\n     * @returns {boolean} True if the user has the specified permission in the given right, false otherwise.\n     *\n     * @example\n     * // Check if the user has 'APPROVE' permission in the 'EDIT' right\n     * const canApproveEdit = permissionService.checkPermission('EDIT', 'APPROVE');\n     */\n    checkPermission(rightId: string, permission: string): boolean {\n        // the user has to have that right and that right has to have the given permission\n        return this.userRights.some(\n            (right) => right && right.id === rightId && right.permissions && right.permissions.includes(permission),\n        );\n    }\n\n    /**\n     * Checks if the user has all the specified rights.\n     * This private method determines whether the user possesses all the rights provided in the array.\n     * Each right in the array is checked against the user's current rights.\n     *\n     * @param {EuiUserRight[]} rights - An array of rights to check against the user's rights.\n     *\n     * @returns {boolean} True if the user has all the specified rights, false otherwise.\n     *\n     * @example\n     * // Example usage within the service\n     * const requiredRights = [{ id: 'VIEW' }, { id: 'EDIT' }];\n     * const hasAllRequiredRights = this.haveAllRights(requiredRights);\n     *\n     * @private\n     */\n    private haveAllRights(rights: EuiUserRight[]): boolean {\n        if (!isDefined(rights)) {\n            throw Error('The rights should be an array but instead it\\'s not defined!');\n        }\n\n        return rights.every((right: EuiUserRight) => this.userRights.find((uRight: EuiUserRight) => uRight.id === right.id));\n    }\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 33
            },
            "accessors": {
                "userRights": {
                    "name": "userRights",
                    "getSignature": {
                        "name": "userRights",
                        "type": "[]",
                        "returnType": "EuiUserRight[]",
                        "line": 105,
                        "rawdescription": "\n\nRetrieves the current user rights from the service's state.\nThis getter provides access to the array of `EuiUserRight` objects that represent the current rights\nof the user. It is a protected method, intended for internal use within the service or by subclasses.\n\n                          Each `EuiUserRight` object typically contains an `id` property, and may\n                          also include a `permissions` property which is an array of strings.\n\n```html\n// Example of accessing user rights within a subclass or within the service\nconst currentRights = this.userRights;\ncurrentRights.forEach(right => {\n  console.log(`Right ID: ${right.id}, Permissions: ${right.permissions.join(', ')}`);\n});\n```\n",
                        "description": "<p>Retrieves the current user rights from the service&#39;s state.\nThis getter provides access to the array of <code>EuiUserRight</code> objects that represent the current rights\nof the user. It is a protected method, intended for internal use within the service or by subclasses.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">                      Each `EuiUserRight` object typically contains an `id` property, and may\n                      also include a `permissions` property which is an array of strings.</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">// Example of accessing user rights within a subclass or within the service\nconst currentRights = this.userRights;\ncurrentRights.forEach(right =&gt; {\n  console.log(`Right ID: ${right.id}, Permissions: ${right.permissions.join(&#39;, &#39;)}`);\n});</code></pre></div>",
                        "jsdoctags": [
                            {
                                "pos": 3918,
                                "end": 4237,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 3919,
                                    "end": 3926,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>An array of <code>EuiUserRight</code> objects representing the current user rights.\nEach <code>EuiUserRight</code> object typically contains an <code>id</code> property, and may\nalso include a <code>permissions</code> property which is an array of strings.</p>\n",
                                "typeExpression": {
                                    "pos": 3927,
                                    "end": 3943,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 3928,
                                        "end": 3942,
                                        "kind": 189,
                                        "id": 0,
                                        "flags": 16777216,
                                        "modifierFlagsCache": 0,
                                        "transformFlags": 1,
                                        "elementType": {
                                            "pos": 3928,
                                            "end": 3940,
                                            "kind": 184,
                                            "id": 0,
                                            "flags": 16777216,
                                            "modifierFlagsCache": 0,
                                            "transformFlags": 1,
                                            "typeName": {
                                                "pos": 3928,
                                                "end": 3940,
                                                "kind": 80,
                                                "id": 0,
                                                "flags": 16777216,
                                                "transformFlags": 0,
                                                "escapedText": "EuiUserRight"
                                            }
                                        }
                                    }
                                }
                            },
                            {
                                "pos": 4237,
                                "end": 4533,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 4238,
                                    "end": 4245,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "example"
                                },
                                "comment": "<p>// Example of accessing user rights within a subclass or within the service\nconst currentRights = this.userRights;\ncurrentRights.forEach(right =&gt; {\n  console.log(<code>Right ID: ${right.id}, Permissions: ${right.permissions.join(&#39;, &#39;)}</code>);\n});</p>\n"
                            },
                            {
                                "pos": 4533,
                                "end": 4549,
                                "kind": 336,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 4534,
                                    "end": 4543,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "protected"
                                },
                                "comment": ""
                            }
                        ]
                    }
                }
            },
            "extends": [
                "EuiService"
            ],
            "type": "injectable"
        },
        {
            "name": "EuiThemeService",
            "id": "injectable-EuiThemeService-9f1a937bcff1a4d283db7ae5e6dd8d821f165e0cf457352df623b99307c05df1b115d8ae49b7a00b3f35c0d70be9a87d15b3f2b116a3669079ef5ceffd9d6514",
            "file": "packages/core/src/lib/services/eui-theme.service.ts",
            "properties": [
                {
                    "name": "config",
                    "defaultValue": "inject<GlobalConfig>(GLOBAL_CONFIG_TOKEN, { optional: true })",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 60,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methods": [
                {
                    "name": "isCompact",
                    "args": [],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 100,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "isDark",
                    "args": [],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 94,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "isDefault",
                    "args": [],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 79,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "isEclEc",
                    "args": [],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 82,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "isEclEcRtl",
                    "args": [],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 85,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "isEclEu",
                    "args": [],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 88,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "isEclEuRtl",
                    "args": [],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 91,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "isHighContrast",
                    "args": [],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 97,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "setActiveTheme",
                    "args": [
                        {
                            "name": "theme",
                            "type": "EuiTheme",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "isActive",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 104,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "theme",
                            "type": "EuiTheme",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "isActive",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { Injectable, inject } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { GLOBAL_CONFIG_TOKEN } from './config/tokens';\nimport { GlobalConfig } from '@eui/base';\nimport { EuiAppShellService } from './eui-app-shell.service';\nimport { DOCUMENT } from '@angular/common';\n\nexport enum EuiTheme {\n    DEFAULT = 'default',\n    ECL_EC = 'ecl-ec',\n    ECL_EC_RTL = 'ecl-ec-rtl',\n    ECL_EU = 'ecl-eu',\n    ECL_EU_RTL = 'ecl-eu-rtl',\n    DARK = 'dark',\n    HIGH_CONTRAST = 'high-contrast',\n    COMPACT = 'compact'\n};\n\ninterface IEuiTheme {\n    name: EuiTheme,\n    isActive: boolean,\n    styleSheet: string,\n    cssClass: string,\n};\n\nexport interface ThemeState {\n    themes: IEuiTheme[];\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    theme: any;\n}\n\nconst initialState: ThemeState = {\n    themes: [\n        { name: EuiTheme.DEFAULT, isActive: false, styleSheet: null, cssClass: null },\n        { name: EuiTheme.ECL_EC, isActive: false, styleSheet: 'eui-ecl-ec.css', cssClass: null },\n        { name: EuiTheme.ECL_EC_RTL, isActive: false, styleSheet: 'eui-ecl-ec.css', cssClass: null },\n        { name: EuiTheme.ECL_EU, isActive: false, styleSheet: 'eui-ecl-eu.css', cssClass: null },\n        { name: EuiTheme.ECL_EU_RTL, isActive: false, styleSheet: 'eui-ecl-eu.css', cssClass: null },\n        { name: EuiTheme.DARK, isActive: false, styleSheet: null, cssClass: 'eui-t-dark' },\n        { name: EuiTheme.HIGH_CONTRAST, isActive: false, styleSheet: null, cssClass: 'eui-t-high-contrast' },\n        { name: EuiTheme.COMPACT, isActive: false, styleSheet: null, cssClass: 'eui-t-compact' },\n    ],\n    theme: {\n        isDefault: false,\n        isEclEc: false,\n        isEclEcRtl: false,\n        isEclEu: false,\n        isEclEuRtl: false,\n        isDark: false,\n        isHighContrast: false,\n        isCompact: false,\n    },\n};\n\n@Injectable({\n    providedIn: 'root',\n})\nexport class EuiThemeService {\n    private document = inject<Document>(DOCUMENT);\n    protected config = inject<GlobalConfig>(GLOBAL_CONFIG_TOKEN, { optional: true });\n    private asService = inject(EuiAppShellService);\n\n    private _state$: BehaviorSubject<ThemeState>;\n\n    constructor() {\n        this._state$ = new BehaviorSubject(initialState);\n        const themeName = (this.config?.eui?.theme as EuiTheme) || EuiTheme.DEFAULT;\n        this.setActiveTheme(themeName, true);\n    }\n\n    get state$(): Observable<ThemeState> {\n        return this._state$.asObservable();\n    }\n\n    get state(): ThemeState {\n        return this._state$.getValue();\n    }\n\n    isDefault(): boolean {\n        return this.state.theme.isDefault;\n    }\n    isEclEc(): boolean {\n        return this.state.theme.isEclEc;\n    }\n    isEclEcRtl(): boolean {\n        return this.state.theme.isEclEcRtl;\n    }\n    isEclEu(): boolean {\n        return this.state.theme.isEclEu;\n    }\n    isEclEuRtl(): boolean {\n        return this.state.theme.isEclEuRtl;\n    }\n    isDark(): boolean {\n        return this.state.theme.isDark;\n    }\n    isHighContrast(): boolean {\n        return this.state.theme.isHighContrast;\n    }\n    isCompact(): boolean {\n        return this.state.theme.isCompact;\n    }\n\n    setActiveTheme(theme: EuiTheme, isActive: boolean): void {\n        const themes = this.state.themes;\n        const themeIdx = themes.findIndex(t => t.name === theme);\n\n        if (themeIdx < 0) {\n            throw new Error('NO_THEME_FOUND');\n\n        } else {\n            themes[themeIdx].isActive = isActive;\n\n            const themeFound: IEuiTheme = themes[themeIdx];\n\n            const status = initialState.theme;\n\n            switch(theme) {\n                case EuiTheme.DEFAULT: { status.isDefault = isActive; break; }\n                case EuiTheme.ECL_EC: { status.isEclEc = isActive; break; }\n                case EuiTheme.ECL_EC_RTL: { status.isEclEcRtl = isActive; break; }\n                case EuiTheme.ECL_EU: { status.isEclEu = isActive; break; }\n                case EuiTheme.ECL_EU_RTL: { status.isEclEuRtl = isActive; break; }\n                case EuiTheme.DARK: { status.isDark = isActive; break; }\n                case EuiTheme.HIGH_CONTRAST: { status.isHighContrast = isActive; break; }\n                case EuiTheme.COMPACT: { status.isCompact = isActive; break; }\n            }\n\n            this._state$.next({\n                themes,\n                theme: status,\n            });\n\n            this._renderTheme(themeFound, isActive);\n        }\n    }\n\n    private _renderTheme(themeFound: IEuiTheme, isActive: boolean): void {\n        if (themeFound.name === EuiTheme.COMPACT) {\n            if (isActive) {\n                this.asService.setBaseFontSize('14px');\n            } else {\n                this.asService.setBaseFontSize('16px');\n            }\n            const compactLink = this.document.getElementById('eui-theme') as HTMLLinkElement;\n            this._renderThemeCss(themeFound, isActive, compactLink);\n\n        } else if (themeFound.name === EuiTheme.ECL_EC_RTL || themeFound.name === EuiTheme.ECL_EU_RTL) {\n            return;\n\n        } else if (themeFound.name === EuiTheme.ECL_EC || themeFound.name === EuiTheme.ECL_EU) {\n            const rtlLink = this.document.getElementById('eui-theme') as HTMLLinkElement;\n            this._renderThemeCss(themeFound, isActive, rtlLink);\n\n        }else {\n            this._renderThemeCss(themeFound, isActive, null);\n        }\n    }\n\n    private _renderThemeCss(themeFound: IEuiTheme, isActive: boolean, link: HTMLLinkElement): void {\n        const head = this.document.getElementsByTagName('head')[0];\n\n        if (isActive) {\n            if (themeFound.cssClass) {\n                document.querySelector('html').classList.add(themeFound.cssClass);\n            }\n            if (themeFound.styleSheet) {\n                if (link) {\n                    link.href = `assets/${themeFound.styleSheet}`;\n                } else {\n                    const style = this.document.createElement('link');\n                    style.id = 'eui-theme';\n                    style.rel = 'stylesheet';\n                    style.href = `assets/${themeFound.styleSheet}`;\n                    head.appendChild(style);\n                }\n            }\n        } else {\n            if (themeFound.cssClass) {\n                document.querySelector('html').classList.remove(themeFound.cssClass);\n            }\n\n            if (themeFound.styleSheet) {\n                if (link) {\n                    link.media = '';\n                }\n            }\n        }\n    }\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 63
            },
            "accessors": {
                "state$": {
                    "name": "state$",
                    "getSignature": {
                        "name": "state$",
                        "type": "unknown",
                        "returnType": "Observable<ThemeState>",
                        "line": 71
                    }
                },
                "state": {
                    "name": "state",
                    "getSignature": {
                        "name": "state",
                        "type": "unknown",
                        "returnType": "ThemeState",
                        "line": 75
                    }
                }
            },
            "extends": [],
            "type": "injectable"
        },
        {
            "name": "EuiTimezoneService",
            "id": "injectable-EuiTimezoneService-4afbee8f7c1e9c20a266db4ceb15a00639ac74c6b4c2bdcbc1b29b7ad095cf8d2a4ff195615c0239ed3a3701b5b4c00d87b2c985fbca819eee0d7e7c32203801",
            "file": "packages/core/src/lib/services/eui-timezone.service.ts",
            "properties": [],
            "methods": [
                {
                    "name": "getCountries",
                    "args": [],
                    "optional": false,
                    "returnType": "string[]",
                    "typeParameters": [],
                    "line": 707,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nGets the list of ISO-codes for all countries\n",
                    "description": "<p>Gets the list of ISO-codes for all countries</p>\n"
                },
                {
                    "name": "getTimezone",
                    "args": [
                        {
                            "name": "tz",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "EuiTimeZone",
                    "typeParameters": [],
                    "line": 719,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "tz",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getTimezones",
                    "args": [],
                    "optional": false,
                    "returnType": "EuiTimeZone[]",
                    "typeParameters": [],
                    "line": 715,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "iso2country",
                    "args": [
                        {
                            "name": "iso",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 700,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nConvert country ISO code to country name (in english)\n",
                    "description": "<p>Convert country ISO code to country name (in english)</p>\n",
                    "jsdoctags": [
                        {
                            "name": "iso",
                            "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\nexport const EUI_COUNTRIES = {\n    AF: 'Afghanistan',\n    AX: 'Aland Islands',\n    AL: 'Albania',\n    DZ: 'Algeria',\n    AS: 'American Samoa',\n    AD: 'Andorra',\n    AO: 'Angola',\n    AI: 'Anguilla',\n    AQ: 'Antarctica',\n    AG: 'Antigua and Barbuda',\n    AR: 'Argentina',\n    AM: 'Armenia',\n    AW: 'Aruba',\n    AU: 'Australia',\n    AT: 'Austria',\n    AZ: 'Azerbaijan',\n    BS: 'Bahamas',\n    BH: 'Bahrain',\n    BD: 'Bangladesh',\n    BB: 'Barbados',\n    BY: 'Belarus',\n    BE: 'Belgium',\n    BZ: 'Belize',\n    BJ: 'Benin',\n    BM: 'Bermuda',\n    BT: 'Bhutan',\n    BO: 'Bolivia',\n    BA: 'Bosnia and Herzegovina',\n    BW: 'Botswana',\n    BV: 'Bouvet Island',\n    BR: 'Brazil',\n    VG: 'British Virgin Islands',\n    IO: 'British Indian Ocean Territory',\n    BN: 'Brunei Darussalam',\n    BG: 'Bulgaria',\n    BF: 'Burkina Faso',\n    BI: 'Burundi',\n    KH: 'Cambodia',\n    CM: 'Cameroon',\n    CA: 'Canada',\n    CV: 'Cape Verde',\n    KY: 'Cayman Islands',\n    CF: 'Central African Republic',\n    TD: 'Chad',\n    CL: 'Chile',\n    CN: 'China',\n    HK: 'Hong Kong',\n    MO: 'Macao',\n    CX: 'Christmas Island',\n    CC: 'Cocos (Keeling) Islands',\n    CO: 'Colombia',\n    KM: 'Comoros',\n    CG: 'Congo (Brazzaville)',\n    CD: 'Congo, (Kinshasa)',\n    CK: 'Cook Islands',\n    CR: 'Costa Rica',\n    CI: \"Côte d'Ivoire\",\n    HR: 'Croatia',\n    CU: 'Cuba',\n    CY: 'Cyprus',\n    CZ: 'Czech Republic',\n    DK: 'Denmark',\n    DJ: 'Djibouti',\n    DM: 'Dominica',\n    DO: 'Dominican Republic',\n    EC: 'Ecuador',\n    EG: 'Egypt',\n    SV: 'El Salvador',\n    GQ: 'Equatorial Guinea',\n    ER: 'Eritrea',\n    EE: 'Estonia',\n    ET: 'Ethiopia',\n    FK: 'Falkland Islands (Malvinas)',\n    FO: 'Faroe Islands',\n    FJ: 'Fiji',\n    FI: 'Finland',\n    FR: 'France',\n    GF: 'French Guiana',\n    PF: 'French Polynesia',\n    TF: 'French Southern Territories',\n    GA: 'Gabon',\n    GM: 'Gambia',\n    GE: 'Georgia',\n    DE: 'Germany',\n    GH: 'Ghana',\n    GI: 'Gibraltar',\n    GR: 'Greece',\n    GL: 'Greenland',\n    GD: 'Grenada',\n    GP: 'Guadeloupe',\n    GU: 'Guam',\n    GT: 'Guatemala',\n    GG: 'Guernsey',\n    GN: 'Guinea',\n    GW: 'Guinea-Bissau',\n    GY: 'Guyana',\n    HT: 'Haiti',\n    HM: 'Heard and Mcdonald Islands',\n    VA: 'Vatican City State',\n    HN: 'Honduras',\n    HU: 'Hungary',\n    IS: 'Iceland',\n    IN: 'India',\n    ID: 'Indonesia',\n    IR: 'Iran',\n    IQ: 'Iraq',\n    IE: 'Ireland',\n    IM: 'Isle of Man',\n    IL: 'Israel',\n    IT: 'Italy',\n    JM: 'Jamaica',\n    JP: 'Japan',\n    JE: 'Jersey',\n    JO: 'Jordan',\n    KZ: 'Kazakhstan',\n    KE: 'Kenya',\n    KI: 'Kiribati',\n    KP: 'Korea (North)',\n    KR: 'Korea (South)',\n    KW: 'Kuwait',\n    KG: 'Kyrgyzstan',\n    LA: 'Lao PDR',\n    LV: 'Latvia',\n    LB: 'Lebanon',\n    LS: 'Lesotho',\n    LR: 'Liberia',\n    LY: 'Libya',\n    LI: 'Liechtenstein',\n    LT: 'Lithuania',\n    LU: 'Luxembourg',\n    MK: 'Macedonia',\n    MG: 'Madagascar',\n    MW: 'Malawi',\n    MY: 'Malaysia',\n    MV: 'Maldives',\n    ML: 'Mali',\n    MT: 'Malta',\n    MH: 'Marshall Islands',\n    MQ: 'Martinique',\n    MR: 'Mauritania',\n    MU: 'Mauritius',\n    YT: 'Mayotte',\n    MX: 'Mexico',\n    FM: 'Micronesia',\n    MD: 'Moldova',\n    MC: 'Monaco',\n    MN: 'Mongolia',\n    ME: 'Montenegro',\n    MS: 'Montserrat',\n    MA: 'Morocco',\n    MZ: 'Mozambique',\n    MM: 'Myanmar',\n    NA: 'Namibia',\n    NR: 'Nauru',\n    NP: 'Nepal',\n    NL: 'Netherlands',\n    AN: 'Netherlands Antilles',\n    NC: 'New Caledonia',\n    NZ: 'New Zealand',\n    NI: 'Nicaragua',\n    NE: 'Niger',\n    NG: 'Nigeria',\n    NU: 'Niue',\n    NF: 'Norfolk Island',\n    MP: 'Northern Mariana Islands',\n    NO: 'Norway',\n    OM: 'Oman',\n    PK: 'Pakistan',\n    PW: 'Palau',\n    PS: 'Palestinian Territory',\n    PA: 'Panama',\n    PG: 'Papua New Guinea',\n    PY: 'Paraguay',\n    PE: 'Peru',\n    PH: 'Philippines',\n    PN: 'Pitcairn',\n    PL: 'Poland',\n    PT: 'Portugal',\n    PR: 'Puerto Rico',\n    QA: 'Qatar',\n    RE: 'Réunion',\n    RO: 'Romania',\n    RU: 'Russian Federation',\n    RW: 'Rwanda',\n    BL: 'Saint-Barthélemy',\n    SH: 'Saint Helena',\n    KN: 'Saint Kitts and Nevis',\n    LC: 'Saint Lucia',\n    MF: 'Saint-Martin (French part)',\n    PM: 'Saint Pierre and Miquelon',\n    VC: 'Saint Vincent and Grenadines',\n    WS: 'Samoa',\n    SM: 'San Marino',\n    ST: 'Sao Tome and Principe',\n    SA: 'Saudi Arabia',\n    SN: 'Senegal',\n    RS: 'Serbia',\n    SC: 'Seychelles',\n    SL: 'Sierra Leone',\n    SG: 'Singapore',\n    SK: 'Slovakia',\n    SI: 'Slovenia',\n    SB: 'Solomon Islands',\n    SO: 'Somalia',\n    ZA: 'South Africa',\n    GS: 'South Georgia and the South Sandwich Islands',\n    SS: 'South Sudan',\n    ES: 'Spain',\n    LK: 'Sri Lanka',\n    SD: 'Sudan',\n    SR: 'Suriname',\n    SJ: 'Svalbard and Jan Mayen Islands',\n    SZ: 'Swaziland',\n    SE: 'Sweden',\n    CH: 'Switzerland',\n    SY: 'Syria',\n    TW: 'Taiwan',\n    TJ: 'Tajikistan',\n    TZ: 'Tanzania',\n    TH: 'Thailand',\n    TL: 'Timor-Leste',\n    TG: 'Togo',\n    TK: 'Tokelau',\n    TO: 'Tonga',\n    TT: 'Trinidad and Tobago',\n    TN: 'Tunisia',\n    TR: 'Turkey',\n    TM: 'Turkmenistan',\n    TC: 'Turks and Caicos Islands',\n    TV: 'Tuvalu',\n    UG: 'Uganda',\n    UA: 'Ukraine',\n    AE: 'United Arab Emirates',\n    GB: 'United Kingdom (GB)',\n    US: 'United States of America (USA)',\n    UM: 'US Minor Outlying Islands',\n    UY: 'Uruguay',\n    UZ: 'Uzbekistan',\n    VU: 'Vanuatu',\n    VE: 'Venezuela',\n    VN: 'Viet Nam',\n    VI: 'Virgin Islands, US',\n    WF: 'Wallis and Futuna Islands',\n    EH: 'Western Sahara',\n    YE: 'Yemen',\n    ZM: 'Zambia',\n    ZW: 'Zimbabwe',\n};\n\nexport interface EuiTimeZone {\n    name: string;\n    desc: string;\n}\n\nexport const EUI_TIMEZONES: EuiTimeZone[] = [\n    { name: 'Europe/Andorra', desc: 'Andorra - Andorra (GMT+02:00)' },\n    { name: 'Asia/Dubai', desc: 'United Arab Emirates - Dubai (GMT+04:00)' },\n    { name: 'Asia/Kabul', desc: 'Afghanistan - Kabul (GMT+04:30)' },\n    { name: 'America/Antigua', desc: 'Antigua and Barbuda - Antigua (GMT-04:00)' },\n    { name: 'America/Anguilla', desc: 'Anguilla - Anguilla (GMT-04:00)' },\n    { name: 'Europe/Tirane', desc: 'Albania - Tirane (GMT+02:00)' },\n    { name: 'Asia/Yerevan', desc: 'Armenia - Yerevan (GMT+04:00)' },\n    { name: 'Africa/Luanda', desc: 'Angola - Luanda (GMT+01:00)' },\n    { name: 'Antarctica/McMurdo', desc: 'Antarctica - McMurdo (GMT+12:00)' },\n    { name: 'Antarctica/Rothera', desc: 'Antarctica - Rothera (GMT-03:00)' },\n    { name: 'Antarctica/Palmer', desc: 'Antarctica - Palmer (GMT-03:00)' },\n    { name: 'Antarctica/Mawson', desc: 'Antarctica - Mawson (GMT+05:00)' },\n    { name: 'Antarctica/Davis', desc: 'Antarctica - Davis (GMT+07:00)' },\n    { name: 'Antarctica/Casey', desc: 'Antarctica - Casey (GMT+08:00)' },\n    { name: 'Antarctica/Vostok', desc: 'Antarctica - Vostok (GMT+06:00)' },\n    { name: 'Antarctica/DumontDUrville', desc: 'Antarctica - DumontDUrville (GMT+10:00)' },\n    { name: 'Antarctica/Syowa', desc: 'Antarctica - Syowa (GMT+03:00)' },\n    { name: 'Antarctica/Troll', desc: 'Antarctica - Troll (GMT+02:00)' },\n    { name: 'America/Argentina/Buenos_Aires', desc: 'Argentina - Buenos Aires (GMT-03:00)' },\n    { name: 'America/Argentina/Cordoba', desc: 'Argentina - Cordoba (GMT-03:00)' },\n    { name: 'America/Argentina/Salta', desc: 'Argentina - Salta (GMT-03:00)' },\n    { name: 'America/Argentina/Jujuy', desc: 'Argentina - Jujuy (GMT-03:00)' },\n    { name: 'America/Argentina/Tucuman', desc: 'Argentina - Tucuman (GMT-03:00)' },\n    { name: 'America/Argentina/Catamarca', desc: 'Argentina - Catamarca (GMT-03:00)' },\n    { name: 'America/Argentina/La_Rioja', desc: 'Argentina - La Rioja (GMT-03:00)' },\n    { name: 'America/Argentina/San_Juan', desc: 'Argentina - San Juan (GMT-03:00)' },\n    { name: 'America/Argentina/Mendoza', desc: 'Argentina - Mendoza (GMT-03:00)' },\n    { name: 'America/Argentina/San_Luis', desc: 'Argentina - San Luis (GMT-03:00)' },\n    { name: 'America/Argentina/Rio_Gallegos', desc: 'Argentina - Rio Gallegos (GMT-03:00)' },\n    { name: 'America/Argentina/Ushuaia', desc: 'Argentina - Ushuaia (GMT-03:00)' },\n    { name: 'Pacific/Pago_Pago', desc: 'American Samoa - Pago Pago (GMT-11:00)' },\n    { name: 'Pacific/Samoa', desc: 'American Samoa - Samoa (GMT-11:00)' },\n    { name: 'Europe/Vienna', desc: 'Austria - Vienna (GMT+02:00)' },\n    { name: 'Australia/Lord_Howe', desc: 'Australia - Lord Howe (GMT+10:30)' },\n    { name: 'Antarctica/Macquarie', desc: 'Australia - Macquarie (GMT+11:00)' },\n    { name: 'Australia/Hobart', desc: 'Australia - Hobart (GMT+10:00)' },\n    { name: 'Australia/Currie', desc: 'Australia - Currie (GMT+10:00)' },\n    { name: 'Australia/Melbourne', desc: 'Australia - Melbourne (GMT+10:00)' },\n    { name: 'Australia/Sydney', desc: 'Australia - Sydney (GMT+10:00)' },\n    { name: 'Australia/Broken_Hill', desc: 'Australia - Broken Hill (GMT+09:30)' },\n    { name: 'Australia/Brisbane', desc: 'Australia - Brisbane (GMT+10:00)' },\n    { name: 'Australia/Lindeman', desc: 'Australia - Lindeman (GMT+10:00)' },\n    { name: 'Australia/Adelaide', desc: 'Australia - Adelaide (GMT+09:30)' },\n    { name: 'Australia/Darwin', desc: 'Australia - Darwin (GMT+09:30)' },\n    { name: 'Australia/Perth', desc: 'Australia - Perth (GMT+08:00)' },\n    { name: 'Australia/Eucla', desc: 'Australia - Eucla (GMT+08:45)' },\n    { name: 'Australia/Canberra', desc: 'Australia - Canberra (GMT+10:00)' },\n    { name: 'Australia/Queensland', desc: 'Australia - Queensland (GMT+10:00)' },\n    { name: 'Australia/Tasmania', desc: 'Australia - Tasmania (GMT+10:00)' },\n    { name: 'Australia/Victoria', desc: 'Australia - Victoria (GMT+10:00)' },\n    { name: 'America/Aruba', desc: 'Aruba - Aruba (GMT-04:00)' },\n    { name: 'Europe/Mariehamn', desc: 'Aland Islands - Mariehamn (GMT+03:00)' },\n    { name: 'Asia/Baku', desc: 'Azerbaijan - Baku (GMT+04:00)' },\n    { name: 'Europe/Sarajevo', desc: 'Bosnia and Herzegovina - Sarajevo (GMT+02:00)' },\n    { name: 'America/Barbados', desc: 'Barbados - Barbados (GMT-04:00)' },\n    { name: 'Asia/Dhaka', desc: 'Bangladesh - Dhaka (GMT+06:00)' },\n    { name: 'Europe/Brussels', desc: 'Belgium - Brussels (GMT+02:00)' },\n    { name: 'Africa/Ouagadougou', desc: 'Burkina Faso - Ouagadougou (GMT+00:00)' },\n    { name: 'Europe/Sofia', desc: 'Bulgaria - Sofia (GMT+03:00)' },\n    { name: 'Asia/Bahrain', desc: 'Bahrain - Bahrain (GMT+03:00)' },\n    { name: 'Africa/Bujumbura', desc: 'Burundi - Bujumbura (GMT+02:00)' },\n    { name: 'Africa/Porto-Novo', desc: 'Benin - Porto-Novo (GMT+01:00)' },\n    { name: 'America/St_Barthelemy', desc: 'Saint-Barthélemy - St Barthelemy (GMT-04:00)' },\n    { name: 'Atlantic/Bermuda', desc: 'Bermuda - Bermuda (GMT-03:00)' },\n    { name: 'Asia/Brunei', desc: 'Brunei Darussalam - Brunei (GMT+08:00)' },\n    { name: 'America/La_Paz', desc: 'Bolivia - La Paz (GMT-04:00)' },\n    { name: 'America/Kralendijk', desc: 'BQ - Kralendijk (GMT-04:00)' },\n    { name: 'America/Noronha', desc: 'Brazil - Noronha (GMT-02:00)' },\n    { name: 'America/Belem', desc: 'Brazil - Belem (GMT-03:00)' },\n    { name: 'America/Fortaleza', desc: 'Brazil - Fortaleza (GMT-03:00)' },\n    { name: 'America/Recife', desc: 'Brazil - Recife (GMT-03:00)' },\n    { name: 'America/Araguaina', desc: 'Brazil - Araguaina (GMT-03:00)' },\n    { name: 'America/Maceio', desc: 'Brazil - Maceio (GMT-03:00)' },\n    { name: 'America/Bahia', desc: 'Brazil - Bahia (GMT-03:00)' },\n    { name: 'America/Sao_Paulo', desc: 'Brazil - Sao Paulo (GMT-03:00)' },\n    { name: 'America/Campo_Grande', desc: 'Brazil - Campo Grande (GMT-04:00)' },\n    { name: 'America/Cuiaba', desc: 'Brazil - Cuiaba (GMT-04:00)' },\n    { name: 'America/Santarem', desc: 'Brazil - Santarem (GMT-03:00)' },\n    { name: 'America/Porto_Velho', desc: 'Brazil - Porto Velho (GMT-04:00)' },\n    { name: 'America/Boa_Vista', desc: 'Brazil - Boa Vista (GMT-04:00)' },\n    { name: 'America/Manaus', desc: 'Brazil - Manaus (GMT-04:00)' },\n    { name: 'America/Eirunepe', desc: 'Brazil - Eirunepe (GMT-05:00)' },\n    { name: 'America/Rio_Branco', desc: 'Brazil - Rio Branco (GMT-05:00)' },\n    { name: 'America/Nassau', desc: 'Bahamas - Nassau (GMT-04:00)' },\n    { name: 'Asia/Thimphu', desc: 'Bhutan - Thimphu (GMT+06:00)' },\n    { name: 'Africa/Gaborone', desc: 'Botswana - Gaborone (GMT+02:00)' },\n    { name: 'Europe/Minsk', desc: 'Belarus - Minsk (GMT+03:00)' },\n    { name: 'America/Belize', desc: 'Belize - Belize (GMT-06:00)' },\n    { name: 'America/St_Johns', desc: 'Canada - St Johns (GMT-02:30)' },\n    { name: 'America/Halifax', desc: 'Canada - Halifax (GMT-03:00)' },\n    { name: 'America/Glace_Bay', desc: 'Canada - Glace Bay (GMT-03:00)' },\n    { name: 'America/Moncton', desc: 'Canada - Moncton (GMT-03:00)' },\n    { name: 'America/Goose_Bay', desc: 'Canada - Goose Bay (GMT-03:00)' },\n    { name: 'America/Blanc-Sablon', desc: 'Canada - Blanc-Sablon (GMT-04:00)' },\n    { name: 'America/Toronto', desc: 'Canada - Toronto (GMT-04:00)' },\n    { name: 'America/Nipigon', desc: 'Canada - Nipigon (GMT-04:00)' },\n    { name: 'America/Thunder_Bay', desc: 'Canada - Thunder Bay (GMT-04:00)' },\n    { name: 'America/Iqaluit', desc: 'Canada - Iqaluit (GMT-04:00)' },\n    { name: 'America/Pangnirtung', desc: 'Canada - Pangnirtung (GMT-04:00)' },\n    { name: 'America/Resolute', desc: 'Canada - Resolute (GMT-05:00)' },\n    { name: 'America/Atikokan', desc: 'Canada - Atikokan (GMT-05:00)' },\n    { name: 'America/Rankin_Inlet', desc: 'Canada - Rankin Inlet (GMT-05:00)' },\n    { name: 'America/Winnipeg', desc: 'Canada - Winnipeg (GMT-05:00)' },\n    { name: 'America/Rainy_River', desc: 'Canada - Rainy River (GMT-05:00)' },\n    { name: 'America/Regina', desc: 'Canada - Regina (GMT-06:00)' },\n    { name: 'America/Swift_Current', desc: 'Canada - Swift Current (GMT-06:00)' },\n    { name: 'America/Edmonton', desc: 'Canada - Edmonton (GMT-06:00)' },\n    { name: 'America/Cambridge_Bay', desc: 'Canada - Cambridge Bay (GMT-06:00)' },\n    { name: 'America/Yellowknife', desc: 'Canada - Yellowknife (GMT-06:00)' },\n    { name: 'America/Inuvik', desc: 'Canada - Inuvik (GMT-06:00)' },\n    { name: 'America/Creston', desc: 'Canada - Creston (GMT-07:00)' },\n    { name: 'America/Dawson_Creek', desc: 'Canada - Dawson Creek (GMT-07:00)' },\n    { name: 'America/Vancouver', desc: 'Canada - Vancouver (GMT-07:00)' },\n    { name: 'America/Whitehorse', desc: 'Canada - Whitehorse (GMT-07:00)' },\n    { name: 'America/Dawson', desc: 'Canada - Dawson (GMT-07:00)' },\n    { name: 'America/Montreal', desc: 'Canada - Montreal (GMT-04:00)' },\n    { name: 'Canada/Atlantic', desc: 'Canada - Atlantic (GMT-03:00)' },\n    { name: 'Canada/Central', desc: 'Canada - Central (GMT-05:00)' },\n    { name: 'Canada/Eastern', desc: 'Canada - Eastern (GMT-04:00)' },\n    { name: 'Canada/Mountain', desc: 'Canada - Mountain (GMT-06:00)' },\n    { name: 'Canada/Newfoundland', desc: 'Canada - Newfoundland (GMT-02:30)' },\n    { name: 'Canada/Pacific', desc: 'Canada - Pacific (GMT-07:00)' },\n    { name: 'Canada/Saskatchewan', desc: 'Canada - Saskatchewan (GMT-06:00)' },\n    { name: 'Canada/Yukon', desc: 'Canada - Yukon (GMT-07:00)' },\n    { name: 'Indian/Cocos', desc: 'Cocos (Keeling) Islands - Cocos (GMT+06:30)' },\n    { name: 'Africa/Kinshasa', desc: 'Congo, (Kinshasa) - Kinshasa (GMT+01:00)' },\n    { name: 'Africa/Lubumbashi', desc: 'Congo, (Kinshasa) - Lubumbashi (GMT+02:00)' },\n    { name: 'Africa/Bangui', desc: 'Central African Republic - Bangui (GMT+01:00)' },\n    { name: 'Africa/Brazzaville', desc: 'Congo (Brazzaville) - Brazzaville (GMT+01:00)' },\n    { name: 'Europe/Zurich', desc: 'Switzerland - Zurich (GMT+02:00)' },\n    { name: 'Africa/Abidjan', desc: \"Côte d'Ivoire - Abidjan (GMT+00:00)\" },\n    { name: 'Pacific/Rarotonga', desc: 'Cook Islands - Rarotonga (GMT-10:00)' },\n    { name: 'America/Santiago', desc: 'Chile - Santiago (GMT-04:00)' },\n    { name: 'Pacific/Easter', desc: 'Chile - Easter (GMT-06:00)' },\n    { name: 'Chile/Continental', desc: 'Chile - Continental (GMT-04:00)' },\n    { name: 'Chile/EasterIsland', desc: 'Chile - EasterIsland (GMT-06:00)' },\n    { name: 'Africa/Douala', desc: 'Cameroon - Douala (GMT+01:00)' },\n    { name: 'Asia/Shanghai', desc: 'China - Shanghai (GMT+08:00)' },\n    { name: 'Asia/Harbin', desc: 'China - Harbin (GMT+08:00)' },\n    { name: 'Asia/Chongqing', desc: 'China - Chongqing (GMT+08:00)' },\n    { name: 'Asia/Urumqi', desc: 'China - Urumqi (GMT+06:00)' },\n    { name: 'Asia/Kashgar', desc: 'China - Kashgar (GMT+06:00)' },\n    { name: 'America/Bogota', desc: 'Colombia - Bogota (GMT-05:00)' },\n    { name: 'America/Costa_Rica', desc: 'Costa Rica - Costa Rica (GMT-06:00)' },\n    { name: 'America/Havana', desc: 'Cuba - Havana (GMT-04:00)' },\n    { name: 'Atlantic/Cape_Verde', desc: 'Cape Verde - Cape Verde (GMT-01:00)' },\n    { name: 'America/Curacao', desc: 'CW - Curacao (GMT-04:00)' },\n    { name: 'Indian/Christmas', desc: 'Christmas Island - Christmas (GMT+07:00)' },\n    { name: 'Asia/Nicosia', desc: 'Cyprus - Nicosia (GMT+03:00)' },\n    { name: 'Europe/Prague', desc: 'Czech Republic - Prague (GMT+02:00)' },\n    { name: 'Europe/Berlin', desc: 'Germany - Berlin (GMT+02:00)' },\n    { name: 'Africa/Djibouti', desc: 'Djibouti - Djibouti (GMT+03:00)' },\n    { name: 'Europe/Copenhagen', desc: 'Denmark - Copenhagen (GMT+02:00)' },\n    { name: 'America/Dominica', desc: 'Dominica - Dominica (GMT-04:00)' },\n    { name: 'America/Santo_Domingo', desc: 'Dominican Republic - Santo Domingo (GMT-04:00)' },\n    { name: 'Africa/Algiers', desc: 'Algeria - Algiers (GMT+01:00)' },\n    { name: 'America/Guayaquil', desc: 'Ecuador - Guayaquil (GMT-05:00)' },\n    { name: 'Pacific/Galapagos', desc: 'Ecuador - Galapagos (GMT-06:00)' },\n    { name: 'Europe/Tallinn', desc: 'Estonia - Tallinn (GMT+03:00)' },\n    { name: 'Egypt', desc: 'Egypt - Egypt (GMT+02:00)' },\n    { name: 'Africa/El_Aaiun', desc: 'Western Sahara - El Aaiun (GMT+00:00)' },\n    { name: 'Africa/Asmara', desc: 'Eritrea - Asmara (GMT+03:00)' },\n    { name: 'Europe/Madrid', desc: 'Spain - Madrid (GMT+02:00)' },\n    { name: 'Africa/Ceuta', desc: 'Spain - Ceuta (GMT+02:00)' },\n    { name: 'Atlantic/Canary', desc: 'Spain - Canary (GMT+01:00)' },\n    { name: 'Africa/Addis_Ababa', desc: 'Ethiopia - Addis Ababa (GMT+03:00)' },\n    { name: 'Europe/Helsinki', desc: 'Finland - Helsinki (GMT+03:00)' },\n    { name: 'Pacific/Fiji', desc: 'Fiji - Fiji (GMT+12:00)' },\n    { name: 'Atlantic/Stanley', desc: 'Falkland Islands (Malvinas) - Stanley (GMT-03:00)' },\n    { name: 'Pacific/Chuuk', desc: 'Micronesia - Chuuk (GMT+10:00)' },\n    { name: 'Pacific/Pohnpei', desc: 'Micronesia - Pohnpei (GMT+11:00)' },\n    { name: 'Pacific/Kosrae', desc: 'Micronesia - Kosrae (GMT+11:00)' },\n    { name: 'Atlantic/Faroe', desc: 'Faroe Islands - Faroe (GMT+01:00)' },\n    { name: 'Europe/Paris', desc: 'France - Paris (GMT+02:00)' },\n    { name: 'Africa/Libreville', desc: 'Gabon - Libreville (GMT+01:00)' },\n    { name: 'Europe/London', desc: 'United Kingdom (GB) - London (GMT+01:00)' },\n    { name: 'America/Grenada', desc: 'Grenada - Grenada (GMT-04:00)' },\n    { name: 'Asia/Tbilisi', desc: 'Georgia - Tbilisi (GMT+04:00)' },\n    { name: 'America/Cayenne', desc: 'French Guiana - Cayenne (GMT-03:00)' },\n    { name: 'Europe/Guernsey', desc: 'Guernsey - Guernsey (GMT+01:00)' },\n    { name: 'Africa/Accra', desc: 'Ghana - Accra (GMT+00:00)' },\n    { name: 'Europe/Gibraltar', desc: 'Gibraltar - Gibraltar (GMT+02:00)' },\n    { name: 'America/Godthab', desc: 'Greenland - Godthab (GMT-02:00)' },\n    { name: 'America/Danmarkshavn', desc: 'Greenland - Danmarkshavn (GMT+00:00)' },\n    { name: 'America/Scoresbysund', desc: 'Greenland - Scoresbysund (GMT+00:00)' },\n    { name: 'America/Thule', desc: 'Greenland - Thule (GMT-03:00)' },\n    { name: 'Africa/Banjul', desc: 'Gambia - Banjul (GMT+00:00)' },\n    { name: 'Africa/Conakry', desc: 'Guinea - Conakry (GMT+00:00)' },\n    { name: 'America/Guadeloupe', desc: 'Guadeloupe - Guadeloupe (GMT-04:00)' },\n    { name: 'Africa/Malabo', desc: 'Equatorial Guinea - Malabo (GMT+01:00)' },\n    { name: 'Europe/Athens', desc: 'Greece - Athens (GMT+03:00)' },\n    { name: 'Atlantic/South_Georgia', desc: 'South Georgia and the South Sandwich Islands - South Georgia (GMT-02:00)' },\n    { name: 'America/Guatemala', desc: 'Guatemala - Guatemala (GMT-06:00)' },\n    { name: 'Pacific/Guam', desc: 'Guam - Guam (GMT+10:00)' },\n    { name: 'Africa/Bissau', desc: 'Guinea-Bissau - Bissau (GMT+00:00)' },\n    { name: 'America/Guyana', desc: 'Guyana - Guyana (GMT-04:00)' },\n    { name: 'Asia/Hong_Kong', desc: 'Hong Kong - Hong Kong (GMT+08:00)' },\n    { name: 'America/Tegucigalpa', desc: 'Honduras - Tegucigalpa (GMT-06:00)' },\n    { name: 'Europe/Zagreb', desc: 'Croatia - Zagreb (GMT+02:00)' },\n    { name: 'America/Port-au-Prince', desc: 'Haiti - Port-au-Prince (GMT-04:00)' },\n    { name: 'Europe/Budapest', desc: 'Hungary - Budapest (GMT+02:00)' },\n    { name: 'Asia/Jakarta', desc: 'Indonesia - Jakarta (GMT+07:00)' },\n    { name: 'Asia/Pontianak', desc: 'Indonesia - Pontianak (GMT+07:00)' },\n    { name: 'Asia/Makassar', desc: 'Indonesia - Makassar (GMT+08:00)' },\n    { name: 'Asia/Jayapura', desc: 'Indonesia - Jayapura (GMT+09:00)' },\n    { name: 'Europe/Dublin', desc: 'Ireland - Dublin (GMT+01:00)' },\n    { name: 'Asia/Jerusalem', desc: 'Israel - Jerusalem (GMT+03:00)' },\n    { name: 'Europe/Isle_of_Man', desc: 'Isle of Man - Isle of_Man (GMT+01:00)' },\n    { name: 'Asia/Kolkata', desc: 'India - Kolkata (GMT+05:30)' },\n    { name: 'Indian/Chagos', desc: 'British Indian Ocean Territory - Chagos (GMT+06:00)' },\n    { name: 'Asia/Baghdad', desc: 'Iraq - Baghdad (GMT+03:00)' },\n    { name: 'Asia/Tehran', desc: 'Iran - Tehran (GMT+04:30)' },\n    { name: 'Atlantic/Reykjavik', desc: 'Iceland - Reykjavik (GMT+00:00)' },\n    { name: 'Europe/Rome', desc: 'Italy - Rome (GMT+02:00)' },\n    { name: 'Europe/Jersey', desc: 'Jersey - Jersey (GMT+01:00)' },\n    { name: 'America/Jamaica', desc: 'Jamaica - Jamaica (GMT-05:00)' },\n    { name: 'Asia/Amman', desc: 'Jordan - Amman (GMT+03:00)' },\n    { name: 'Asia/Tokyo', desc: 'Japan - Tokyo (GMT+09:00)' },\n    { name: 'Africa/Nairobi', desc: 'Kenya - Nairobi (GMT+03:00)' },\n    { name: 'Asia/Bishkek', desc: 'Kyrgyzstan - Bishkek (GMT+06:00)' },\n    { name: 'Asia/Phnom_Penh', desc: 'Cambodia - Phnom Penh (GMT+07:00)' },\n    { name: 'Pacific/Tarawa', desc: 'Kiribati - Tarawa (GMT+12:00)' },\n    { name: 'Pacific/Enderbury', desc: 'Kiribati - Enderbury (GMT+13:00)' },\n    { name: 'Pacific/Kiritimati', desc: 'Kiribati - Kiritimati (GMT+14:00)' },\n    { name: 'Indian/Comoro', desc: 'Comoros - Comoro (GMT+03:00)' },\n    { name: 'America/St_Kitts', desc: 'Saint Kitts and Nevis - St Kitts (GMT-04:00)' },\n    { name: 'Asia/Pyongyang', desc: 'Korea (North) - Pyongyang (GMT+09:00)' },\n    { name: 'Asia/Seoul', desc: 'Korea (South) - Seoul (GMT+09:00)' },\n    { name: 'Asia/Kuwait', desc: 'Kuwait - Kuwait (GMT+03:00)' },\n    { name: 'America/Cayman', desc: 'Cayman Islands - Cayman (GMT-05:00)' },\n    { name: 'Asia/Almaty', desc: 'Kazakhstan - Almaty (GMT+06:00)' },\n    { name: 'Asia/Qyzylorda', desc: 'Kazakhstan - Qyzylorda (GMT+06:00)' },\n    { name: 'Asia/Aqtobe', desc: 'Kazakhstan - Aqtobe (GMT+05:00)' },\n    { name: 'Asia/Aqtau', desc: 'Kazakhstan - Aqtau (GMT+05:00)' },\n    { name: 'Asia/Oral', desc: 'Kazakhstan - Oral (GMT+05:00)' },\n    { name: 'Asia/Vientiane', desc: 'Lao PDR - Vientiane (GMT+07:00)' },\n    { name: 'Asia/Beirut', desc: 'Lebanon - Beirut (GMT+03:00)' },\n    { name: 'America/St_Lucia', desc: 'Saint Lucia - St Lucia (GMT-04:00)' },\n    { name: 'Europe/Vaduz', desc: 'Liechtenstein - Vaduz (GMT+02:00)' },\n    { name: 'Asia/Colombo', desc: 'Sri Lanka - Colombo (GMT+05:30)' },\n    { name: 'Africa/Monrovia', desc: 'Liberia - Monrovia (GMT+00:00)' },\n    { name: 'Africa/Maseru', desc: 'Lesotho - Maseru (GMT+02:00)' },\n    { name: 'Europe/Vilnius', desc: 'Lithuania - Vilnius (GMT+03:00)' },\n    { name: 'Europe/Luxembourg', desc: 'Luxembourg - Luxembourg (GMT+02:00)' },\n    { name: 'Europe/Riga', desc: 'Latvia - Riga (GMT+03:00)' },\n    { name: 'Africa/Tripoli', desc: 'Libya - Tripoli (GMT+02:00)' },\n    { name: 'Africa/Casablanca', desc: 'Morocco - Casablanca (GMT+00:00)' },\n    { name: 'Europe/Monaco', desc: 'Monaco - Monaco (GMT+02:00)' },\n    { name: 'Europe/Chisinau', desc: 'Moldova - Chisinau (GMT+03:00)' },\n    { name: 'Europe/Podgorica', desc: 'Montenegro - Podgorica (GMT+02:00)' },\n    { name: 'America/Marigot', desc: 'Saint-Martin (French part) - Marigot (GMT-04:00)' },\n    { name: 'Indian/Antananarivo', desc: 'Madagascar - Antananarivo (GMT+03:00)' },\n    { name: 'Pacific/Majuro', desc: 'Marshall Islands - Majuro (GMT+12:00)' },\n    { name: 'Pacific/Kwajalein', desc: 'Marshall Islands - Kwajalein (GMT+12:00)' },\n    { name: 'Europe/Skopje', desc: 'Macedonia - Skopje (GMT+02:00)' },\n    { name: 'Africa/Bamako', desc: 'Mali - Bamako (GMT+00:00)' },\n    { name: 'Asia/Rangoon', desc: 'Myanmar - Rangoon (GMT+06:30)' },\n    { name: 'Asia/Ulaanbaatar', desc: 'Mongolia - Ulaanbaatar (GMT+08:00)' },\n    { name: 'Asia/Hovd', desc: 'Mongolia - Hovd (GMT+07:00)' },\n    { name: 'Asia/Choibalsan', desc: 'Mongolia - Choibalsan (GMT+08:00)' },\n    { name: 'Asia/Macau', desc: 'Macao - Macau (GMT+08:00)' },\n    { name: 'Pacific/Saipan', desc: 'Northern Mariana Islands - Saipan (GMT+10:00)' },\n    { name: 'America/Martinique', desc: 'Martinique - Martinique (GMT-04:00)' },\n    { name: 'Africa/Nouakchott', desc: 'Mauritania - Nouakchott (GMT+00:00)' },\n    { name: 'America/Montserrat', desc: 'Montserrat - Montserrat (GMT-04:00)' },\n    { name: 'Europe/Malta', desc: 'Malta - Malta (GMT+02:00)' },\n    { name: 'Indian/Mauritius', desc: 'Mauritius - Mauritius (GMT+04:00)' },\n    { name: 'Indian/Maldives', desc: 'Maldives - Maldives (GMT+05:00)' },\n    { name: 'Africa/Blantyre', desc: 'Malawi - Blantyre (GMT+02:00)' },\n    { name: 'America/Mexico_City', desc: 'Mexico - Mexico City (GMT-05:00)' },\n    { name: 'America/Cancun', desc: 'Mexico - Cancun (GMT-05:00)' },\n    { name: 'America/Merida', desc: 'Mexico - Merida (GMT-05:00)' },\n    { name: 'America/Monterrey', desc: 'Mexico - Monterrey (GMT-05:00)' },\n    { name: 'America/Matamoros', desc: 'Mexico - Matamoros (GMT-05:00)' },\n    { name: 'America/Mazatlan', desc: 'Mexico - Mazatlan (GMT-06:00)' },\n    { name: 'America/Chihuahua', desc: 'Mexico - Chihuahua (GMT-06:00)' },\n    { name: 'America/Ojinaga', desc: 'Mexico - Ojinaga (GMT-06:00)' },\n    { name: 'America/Hermosillo', desc: 'Mexico - Hermosillo (GMT-07:00)' },\n    { name: 'America/Tijuana', desc: 'Mexico - Tijuana (GMT-07:00)' },\n    { name: 'America/Santa_Isabel', desc: 'Mexico - Santa Isabel (GMT-07:00)' },\n    { name: 'America/Bahia_Banderas', desc: 'Mexico - Bahia Banderas (GMT-05:00)' },\n    { name: 'Asia/Kuala_Lumpur', desc: 'Malaysia - Kuala Lumpur (GMT+08:00)' },\n    { name: 'Asia/Kuching', desc: 'Malaysia - Kuching (GMT+08:00)' },\n    { name: 'Africa/Maputo', desc: 'Mozambique - Maputo (GMT+02:00)' },\n    { name: 'Africa/Windhoek', desc: 'Namibia - Windhoek (GMT+02:00)' },\n    { name: 'Pacific/Noumea', desc: 'New Caledonia - Noumea (GMT+11:00)' },\n    { name: 'Africa/Niamey', desc: 'Niger - Niamey (GMT+01:00)' },\n    { name: 'Pacific/Norfolk', desc: 'Norfolk Island - Norfolk (GMT+11:00)' },\n    { name: 'Africa/Lagos', desc: 'Nigeria - Lagos (GMT+01:00)' },\n    { name: 'America/Managua', desc: 'Nicaragua - Managua (GMT-06:00)' },\n    { name: 'Europe/Amsterdam', desc: 'Netherlands - Amsterdam (GMT+02:00)' },\n    { name: 'Europe/Oslo', desc: 'Norway - Oslo (GMT+02:00)' },\n    { name: 'Asia/Kathmandu', desc: 'Nepal - Kathmandu (GMT+05:45)' },\n    { name: 'Pacific/Nauru', desc: 'Nauru - Nauru (GMT+12:00)' },\n    { name: 'Pacific/Niue', desc: 'Niue - Niue (GMT-11:00)' },\n    { name: 'Pacific/Auckland', desc: 'New Zealand - Auckland (GMT+12:00)' },\n    { name: 'Pacific/Chatham', desc: 'New Zealand - Chatham (GMT+12:45)' },\n    { name: 'Asia/Muscat', desc: 'Oman - Muscat (GMT+04:00)' },\n    { name: 'America/Panama', desc: 'Panama - Panama (GMT-05:00)' },\n    { name: 'America/Lima', desc: 'Peru - Lima (GMT-05:00)' },\n    { name: 'Pacific/Tahiti', desc: 'French Polynesia - Tahiti (GMT-10:00)' },\n    { name: 'Pacific/Marquesas', desc: 'French Polynesia - Marquesas (GMT-09:30)' },\n    { name: 'Pacific/Gambier', desc: 'French Polynesia - Gambier (GMT-09:00)' },\n    { name: 'Pacific/Port_Moresby', desc: 'Papua New Guinea - Port Moresby (GMT+10:00)' },\n    { name: 'Asia/Manila', desc: 'Philippines - Manila (GMT+08:00)' },\n    { name: 'Asia/Karachi', desc: 'Pakistan - Karachi (GMT+05:00)' },\n    { name: 'Europe/Warsaw', desc: 'Poland - Warsaw (GMT+02:00)' },\n    { name: 'Poland', desc: 'Poland - Poland (GMT+02:00)' },\n    { name: 'America/Miquelon', desc: 'Saint Pierre and Miquelon - Miquelon (GMT-02:00)' },\n    { name: 'Pacific/Pitcairn', desc: 'Pitcairn - Pitcairn (GMT-08:00)' },\n    { name: 'America/Puerto_Rico', desc: 'Puerto Rico - Puerto Rico (GMT-04:00)' },\n    { name: 'Asia/Gaza', desc: 'Palestinian Territory - Gaza (GMT+03:00)' },\n    { name: 'Asia/Hebron', desc: 'Palestinian Territory - Hebron (GMT+03:00)' },\n    { name: 'Europe/Lisbon', desc: 'Portugal - Lisbon (GMT+01:00)' },\n    { name: 'Atlantic/Madeira', desc: 'Portugal - Madeira (GMT+01:00)' },\n    { name: 'Atlantic/Azores', desc: 'Portugal - Azores (GMT+00:00)' },\n    { name: 'Pacific/Palau', desc: 'Palau - Palau (GMT+09:00)' },\n    { name: 'America/Asuncion', desc: 'Paraguay - Asuncion (GMT-04:00)' },\n    { name: 'Asia/Qatar', desc: 'Qatar - Qatar (GMT+03:00)' },\n    { name: 'Indian/Reunion', desc: 'Réunion - Reunion (GMT+04:00)' },\n    { name: 'Europe/Bucharest', desc: 'Romania - Bucharest (GMT+03:00)' },\n    { name: 'Europe/Belgrade', desc: 'Serbia - Belgrade (GMT+02:00)' },\n    { name: 'Europe/Kaliningrad', desc: 'Russian Federation - Kaliningrad (GMT+02:00)' },\n    { name: 'Europe/Moscow', desc: 'Russian Federation - Moscow (GMT+03:00)' },\n    { name: 'Europe/Volgograd', desc: 'Russian Federation - Volgograd (GMT+03:00)' },\n    { name: 'Europe/Samara', desc: 'Russian Federation - Samara (GMT+04:00)' },\n    { name: 'Europe/Simferopol', desc: 'Russian Federation - Simferopol (GMT+03:00)' },\n    { name: 'Asia/Yekaterinburg', desc: 'Russian Federation - Yekaterinburg (GMT+05:00)' },\n    { name: 'Asia/Omsk', desc: 'Russian Federation - Omsk (GMT+06:00)' },\n    { name: 'Asia/Novosibirsk', desc: 'Russian Federation - Novosibirsk (GMT+07:00)' },\n    { name: 'Asia/Novokuznetsk', desc: 'Russian Federation - Novokuznetsk (GMT+07:00)' },\n    { name: 'Asia/Krasnoyarsk', desc: 'Russian Federation - Krasnoyarsk (GMT+07:00)' },\n    { name: 'Asia/Irkutsk', desc: 'Russian Federation - Irkutsk (GMT+08:00)' },\n    { name: 'Asia/Yakutsk', desc: 'Russian Federation - Yakutsk (GMT+09:00)' },\n    { name: 'Asia/Khandyga', desc: 'Russian Federation - Khandyga (GMT+09:00)' },\n    { name: 'Asia/Vladivostok', desc: 'Russian Federation - Vladivostok (GMT+10:00)' },\n    { name: 'Asia/Sakhalin', desc: 'Russian Federation - Sakhalin (GMT+11:00)' },\n    { name: 'Asia/Ust-Nera', desc: 'Russian Federation - Ust-Nera (GMT+10:00)' },\n    { name: 'Asia/Magadan', desc: 'Russian Federation - Magadan (GMT+11:00)' },\n    { name: 'Asia/Kamchatka', desc: 'Russian Federation - Kamchatka (GMT+12:00)' },\n    { name: 'Asia/Anadyr', desc: 'Russian Federation - Anadyr (GMT+12:00)' },\n    { name: 'Africa/Kigali', desc: 'Rwanda - Kigali (GMT+02:00)' },\n    { name: 'Asia/Riyadh', desc: 'Saudi Arabia - Riyadh (GMT+03:00)' },\n    { name: 'Pacific/Guadalcanal', desc: 'Solomon Islands - Guadalcanal (GMT+11:00)' },\n    { name: 'Indian/Mahe', desc: 'Seychelles - Mahe (GMT+04:00)' },\n    { name: 'Africa/Khartoum', desc: 'Sudan - Khartoum (GMT+02:00)' },\n    { name: 'Europe/Stockholm', desc: 'Sweden - Stockholm (GMT+02:00)' },\n    { name: 'Asia/Singapore', desc: 'Singapore - Singapore (GMT+08:00)' },\n    { name: 'Atlantic/St_Helena', desc: 'Saint Helena - St Helena (GMT+00:00)' },\n    { name: 'Europe/Ljubljana', desc: 'Slovenia - Ljubljana (GMT+02:00)' },\n    { name: 'Arctic/Longyearbyen', desc: 'Svalbard and Jan Mayen Islands - Longyearbyen (GMT+02:00)' },\n    { name: 'Europe/Bratislava', desc: 'Slovakia - Bratislava (GMT+02:00)' },\n    { name: 'Africa/Freetown', desc: 'Sierra Leone - Freetown (GMT+00:00)' },\n    { name: 'Europe/San_Marino', desc: 'San Marino - San Marino (GMT+02:00)' },\n    { name: 'Africa/Dakar', desc: 'Senegal - Dakar (GMT+00:00)' },\n    { name: 'Africa/Mogadishu', desc: 'Somalia - Mogadishu (GMT+03:00)' },\n    { name: 'America/Paramaribo', desc: 'Suriname - Paramaribo (GMT-03:00)' },\n    { name: 'Africa/Juba', desc: 'South Sudan - Juba (GMT+03:00)' },\n    { name: 'Africa/Sao_Tome', desc: 'Sao Tome and Principe - Sao Tome (GMT+01:00)' },\n    { name: 'America/El_Salvador', desc: 'El Salvador - El Salvador (GMT-06:00)' },\n    { name: 'America/Lower_Princes', desc: 'SX - Lower Princes (GMT-04:00)' },\n    { name: 'Asia/Damascus', desc: 'Syria - Damascus (GMT+03:00)' },\n    { name: 'Africa/Mbabane', desc: 'Swaziland - Mbabane (GMT+02:00)' },\n    { name: 'America/Grand_Turk', desc: 'Turks and Caicos Islands - Grand Turk (GMT-04:00)' },\n    { name: 'Africa/Ndjamena', desc: 'Chad - Ndjamena (GMT+01:00)' },\n    { name: 'Indian/Kerguelen', desc: 'French Southern Territories - Kerguelen (GMT+05:00)' },\n    { name: 'Africa/Lome', desc: 'Togo - Lome (GMT+00:00)' },\n    { name: 'Asia/Bangkok', desc: 'Thailand - Bangkok (GMT+07:00)' },\n    { name: 'Asia/Dushanbe', desc: 'Tajikistan - Dushanbe (GMT+05:00)' },\n    { name: 'Pacific/Fakaofo', desc: 'Tokelau - Fakaofo (GMT+13:00)' },\n    { name: 'Asia/Dili', desc: 'Timor-Leste - Dili (GMT+09:00)' },\n    { name: 'Asia/Ashgabat', desc: 'Turkmenistan - Ashgabat (GMT+05:00)' },\n    { name: 'Africa/Tunis', desc: 'Tunisia - Tunis (GMT+01:00)' },\n    { name: 'Pacific/Tongatapu', desc: 'Tonga - Tongatapu (GMT+13:00)' },\n    { name: 'Europe/Istanbul', desc: 'Turkey - Istanbul (GMT+03:00)' },\n    { name: 'America/Port_of_Spain', desc: 'Trinidad and Tobago - Port of_Spain (GMT-04:00)' },\n    { name: 'Pacific/Funafuti', desc: 'Tuvalu - Funafuti (GMT+12:00)' },\n    { name: 'Asia/Taipei', desc: 'Taiwan - Taipei (GMT+08:00)' },\n    { name: 'Africa/Dar_es_Salaam', desc: 'Tanzania - Dar es_Salaam (GMT+03:00)' },\n    { name: 'Europe/Kiev', desc: 'Ukraine - Kiev (GMT+03:00)' },\n    { name: 'Europe/Uzhgorod', desc: 'Ukraine - Uzhgorod (GMT+03:00)' },\n    { name: 'Europe/Zaporozhye', desc: 'Ukraine - Zaporozhye (GMT+03:00)' },\n    { name: 'Africa/Kampala', desc: 'Uganda - Kampala (GMT+03:00)' },\n    { name: 'Pacific/Johnston', desc: 'US Minor Outlying Islands - Johnston (GMT-10:00)' },\n    { name: 'Pacific/Midway', desc: 'US Minor Outlying Islands - Midway (GMT-11:00)' },\n    { name: 'Pacific/Wake', desc: 'US Minor Outlying Islands - Wake (GMT+12:00)' },\n    { name: 'America/New_York', desc: 'United States of America (USA) - New York (GMT-04:00)' },\n    { name: 'America/Detroit', desc: 'United States of America (USA) - Detroit (GMT-04:00)' },\n    { name: 'America/Kentucky/Louisville', desc: 'United States of America (USA) - Louisville (GMT-04:00)' },\n    { name: 'America/Kentucky/Monticello', desc: 'United States of America (USA) - Monticello (GMT-04:00)' },\n    { name: 'America/Indiana/Indianapolis', desc: 'United States of America (USA) - Indianapolis (GMT-04:00)' },\n    { name: 'America/Indiana/Vincennes', desc: 'United States of America (USA) - Vincennes (GMT-04:00)' },\n    { name: 'America/Indiana/Winamac', desc: 'United States of America (USA) - Winamac (GMT-04:00)' },\n    { name: 'America/Indiana/Marengo', desc: 'United States of America (USA) - Marengo (GMT-04:00)' },\n    { name: 'America/Indiana/Petersburg', desc: 'United States of America (USA) - Petersburg (GMT-04:00)' },\n    { name: 'America/Indiana/Vevay', desc: 'United States of America (USA) - Vevay (GMT-04:00)' },\n    { name: 'America/Chicago', desc: 'United States of America (USA) - Chicago (GMT-05:00)' },\n    { name: 'America/Indiana/Tell_City', desc: 'United States of America (USA) - Tell City (GMT-05:00)' },\n    { name: 'America/Indiana/Knox', desc: 'United States of America (USA) - Knox (GMT-05:00)' },\n    { name: 'America/Menominee', desc: 'United States of America (USA) - Menominee (GMT-05:00)' },\n    { name: 'America/North_Dakota/Center', desc: 'United States of America (USA) - Center (GMT-05:00)' },\n    { name: 'America/North_Dakota/New_Salem', desc: 'United States of America (USA) - New Salem (GMT-05:00)' },\n    { name: 'America/North_Dakota/Beulah', desc: 'United States of America (USA) - Beulah (GMT-05:00)' },\n    { name: 'America/Denver', desc: 'United States of America (USA) - Denver (GMT-06:00)' },\n    { name: 'America/Boise', desc: 'United States of America (USA) - Boise (GMT-06:00)' },\n    { name: 'America/Phoenix', desc: 'United States of America (USA) - Phoenix (GMT-07:00)' },\n    { name: 'America/Los_Angeles', desc: 'United States of America (USA) - Los Angeles (GMT-07:00)' },\n    { name: 'America/Anchorage', desc: 'United States of America (USA) - Anchorage (GMT-08:00)' },\n    { name: 'America/Juneau', desc: 'United States of America (USA) - Juneau (GMT-08:00)' },\n    { name: 'America/Sitka', desc: 'United States of America (USA) - Sitka (GMT-08:00)' },\n    { name: 'America/Yakutat', desc: 'United States of America (USA) - Yakutat (GMT-08:00)' },\n    { name: 'America/Nome', desc: 'United States of America (USA) - Nome (GMT-08:00)' },\n    { name: 'America/Adak', desc: 'United States of America (USA) - Adak (GMT-09:00)' },\n    { name: 'America/Metlakatla', desc: 'United States of America (USA) - Metlakatla (GMT-08:00)' },\n    { name: 'Pacific/Honolulu', desc: 'United States of America (USA) - Honolulu (GMT-10:00)' },\n    { name: 'America/Montevideo', desc: 'Uruguay - Montevideo (GMT-03:00)' },\n    { name: 'Asia/Samarkand', desc: 'Uzbekistan - Samarkand (GMT+05:00)' },\n    { name: 'Asia/Tashkent', desc: 'Uzbekistan - Tashkent (GMT+05:00)' },\n    { name: 'Europe/Vatican', desc: 'Vatican City State - Vatican (GMT+02:00)' },\n    { name: 'America/St_Vincent', desc: 'Saint Vincent and Grenadines - St Vincent (GMT-04:00)' },\n    { name: 'America/Caracas', desc: 'Venezuela - Caracas (GMT-04:00)' },\n    { name: 'America/Tortola', desc: 'British Virgin Islands - Tortola (GMT-04:00)' },\n    { name: 'America/St_Thomas', desc: 'Virgin Islands, US - St Thomas (GMT-04:00)' },\n    { name: 'Asia/Ho_Chi_Minh', desc: 'Viet Nam - Ho Chi_Minh (GMT+07:00)' },\n    { name: 'Pacific/Efate', desc: 'Vanuatu - Efate (GMT+11:00)' },\n    { name: 'Pacific/Wallis', desc: 'Wallis and Futuna Islands - Wallis (GMT+12:00)' },\n    { name: 'Pacific/Apia', desc: 'Samoa - Apia (GMT+13:00)' },\n    { name: 'Asia/Aden', desc: 'Yemen - Aden (GMT+03:00)' },\n    { name: 'Indian/Mayotte', desc: 'Mayotte - Mayotte (GMT+03:00)' },\n    { name: 'Africa/Johannesburg', desc: 'South Africa - Johannesburg (GMT+02:00)' },\n    { name: 'Africa/Lusaka', desc: 'Zambia - Lusaka (GMT+02:00)' },\n    { name: 'Africa/Harare', desc: 'Zimbabwe - Harare (GMT+02:00)' },\n];\n\n@Injectable()\nexport class EuiTimezoneService {\n    /**\n     * Convert country ISO code to country name (in english)\n     */\n    iso2country(iso: string): string {\n        return EUI_COUNTRIES[iso] ? EUI_COUNTRIES[iso] : iso;\n    }\n\n    /**\n     * Gets the list of ISO-codes for all countries\n     */\n    getCountries(): string[] {\n        const res: string[] = [];\n        for (const prop of Object.keys(EUI_COUNTRIES)) {\n            res.push(prop);\n        }\n        return res;\n    }\n\n    getTimezones(): EuiTimeZone[] {\n        return EUI_TIMEZONES;\n    }\n\n    getTimezone(tz: string): EuiTimeZone {\n        return EUI_TIMEZONES.find((item) => item.name === tz);\n    }\n}\n",
            "extends": [],
            "type": "injectable"
        },
        {
            "name": "GlobalErrorHandler",
            "id": "injectable-GlobalErrorHandler-0acce0274c4d81f9c7534aec1e56ab6d8d6117e80cfa2061e51ab4c1afba8461f5a13dda1e78f701df9dc8a1ac8f4400c1c07239b628d1c2955ebc0d1f575af8",
            "file": "packages/core/src/lib/services/errors/global-error-handler.ts",
            "properties": [
                {
                    "name": "logService",
                    "defaultValue": "inject(LogService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 9,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methods": [
                {
                    "name": "handleError",
                    "args": [
                        {
                            "name": "error",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 13,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "jsdoctags": [
                        {
                            "name": "error",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { ErrorHandler, Injectable, inject } from '@angular/core';\n\nimport { LogService } from '../log';\n\n@Injectable({\n    providedIn: 'root',\n})\nexport class GlobalErrorHandler extends ErrorHandler {\n    protected logService = inject(LogService);\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 handleError(error: any): void {\n        // log error\n        this.logService.error(error.message || error.toString());\n\n        // throw error;\n        super.handleError(error);\n    }\n}\n",
            "extends": [
                "ErrorHandler"
            ],
            "type": "injectable"
        },
        {
            "name": "HbsRenderService",
            "id": "injectable-HbsRenderService-5ef4e37a0dfcd8350d38408ae5124fd5bba2847c9a149bd231bd2b3bee061bfca03bdd84c89b87ab1cef54f22d6fdad24bd76d974bde023502f3db691e8640c8",
            "file": "packages/core/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": "I18nLoader",
            "id": "injectable-I18nLoader-13449e882c84e7a5fbea186f03a18d17bec34c75962ab83b8fa1a7274d6f0661744b43a4ca4c96a7d5f90da13d4c4a5ff2190b4e243d681266632e1a73464b4c",
            "file": "packages/core/src/lib/services/i18n/i18n.loader.ts",
            "properties": [
                {
                    "name": "euiAppConfig",
                    "defaultValue": "inject<EuiAppConfig>(CONFIG_TOKEN)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 47,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "failedResources",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Array<LoadedResourcesError>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 50,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "http",
                    "defaultValue": "inject(HttpClient)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 45,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "logService",
                    "defaultValue": "inject(LogService, { optional: true })",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 46,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "resources",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "I18nResourceImpl[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 49,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methods": [
                {
                    "name": "addResources",
                    "args": [
                        {
                            "name": "config",
                            "type": "I18nLoaderConfig",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "I18nResourceImpl[]",
                    "typeParameters": [],
                    "line": 92,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nAdds resources\n\n",
                    "description": "<p>Adds resources</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2745,
                                "end": 2751,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "config"
                            },
                            "type": "I18nLoaderConfig",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2739,
                                "end": 2744,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>loader configuration</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 2781,
                                "end": 2788,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Observable<any> | false</p>\n"
                        }
                    ]
                },
                {
                    "name": "createResources",
                    "args": [
                        {
                            "name": "config",
                            "type": "I18nLoaderConfig",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "I18nResourceImpl[]",
                    "typeParameters": [],
                    "line": 163,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCreate resources from a config file\n\n",
                    "description": "<p>Create resources from a config file</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 5598,
                                "end": 5604,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "config"
                            },
                            "type": "I18nLoaderConfig",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 5592,
                                "end": 5597,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>loader configuration</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 5634,
                                "end": 5641,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>I18nResourceImpl[] resources</p>\n"
                        }
                    ]
                },
                {
                    "name": "getFailedResources",
                    "args": [],
                    "optional": false,
                    "returnType": "Array<LoadedResourcesError>",
                    "typeParameters": [],
                    "line": 153,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nReturns resources that failed\n",
                    "description": "<p>Returns resources that failed</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "getTranslation",
                    "args": [
                        {
                            "name": "lang",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<TranslationObject>",
                    "typeParameters": [],
                    "line": 76,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nGets the translations from the server\n\n",
                    "description": "<p>Gets the translations from the server</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2166,
                                "end": 2170,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "lang"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2160,
                                "end": 2165,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        },
                        {
                            "tagName": {
                                "pos": 2179,
                                "end": 2186,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Observable<object></p>\n"
                        }
                    ]
                },
                {
                    "name": "loadResource",
                    "args": [
                        {
                            "name": "resource",
                            "type": "I18nResourceImpl",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "lang",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<TranslationKeys | ResourceError>",
                    "typeParameters": [],
                    "line": 221,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nLoads a resource, by language\n\n",
                    "description": "<p>Loads a resource, by language</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 7589,
                                "end": 7597,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "resource"
                            },
                            "type": "I18nResourceImpl",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 7583,
                                "end": 7588,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the definition of the resource</p>\n"
                        },
                        {
                            "name": {
                                "pos": 7643,
                                "end": 7647,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "lang"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 7637,
                                "end": 7642,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the resource language to load</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 7686,
                                "end": 7693,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Observable<any></p>\n"
                        }
                    ]
                },
                {
                    "name": "loadResources",
                    "args": [
                        {
                            "name": "resources",
                            "type": "I18nResourceImpl[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "lang",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<literal type>",
                    "typeParameters": [],
                    "line": 120,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nLoads an array of resources, by language\n\n",
                    "description": "<p>Loads an array of resources, by language</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 3684,
                                "end": 3693,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "resources"
                            },
                            "type": "I18nResourceImpl[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3678,
                                "end": 3683,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the definition of the resources</p>\n"
                        },
                        {
                            "name": {
                                "pos": 3740,
                                "end": 3744,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "lang"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3734,
                                "end": 3739,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the resource language to load</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 3783,
                                "end": 3790,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Observable<any></p>\n"
                        }
                    ]
                },
                {
                    "name": "removeResources",
                    "args": [
                        {
                            "name": "removedResources",
                            "type": "I18nResourceImpl[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 109,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRemoves resources from the loader instance\n",
                    "description": "<p>Removes resources from the loader instance</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "removedResources",
                            "type": "I18nResourceImpl[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { Injectable, inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { TranslateLoader, TranslationObject } from '@ngx-translate/core';\nimport { forkJoin, Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\nimport {\n    getI18nLoaderConfig,\n    I18nResource,\n    type EuiAppConfig,\n    mergeAll,\n    Logger,\n    I18nLoaderConfig,\n    I18nConfig,\n    TranslationsCompiler,\n} from '@eui/base';\nimport { I18nResourceImpl } from './i18n.resource';\nimport { CONFIG_TOKEN } from '../config/tokens';\nimport { LogService } from '../log/log.service';\nimport { transformTranslations } from './i18n-utils';\n\ninterface ResourceError {\n    isError: boolean;\n    error?: string;\n    resource?: I18nResourceImpl;\n}\n\nexport interface LoadedResources {\n    translations: TranslationObject;\n    hasError: boolean;\n    errors?: Array<LoadedResourcesError>;\n}\n\nexport interface LoadedResourcesError {\n    resource: I18nResourceImpl;\n    error: string;\n}\n\nexport interface TranslationKeys {\n    [key: string]: string\n}\n\n@Injectable()\nexport class I18nLoader implements TranslateLoader {\n    protected http = inject(HttpClient);\n    protected logService = inject(LogService, { optional: true });\n    protected euiAppConfig = inject<EuiAppConfig>(CONFIG_TOKEN);\n\n    protected resources: I18nResourceImpl[] = [];\n    protected failedResources: Array<LoadedResourcesError> = [];\n    private logger: Logger;\n    private icuEnabled: boolean;\n\n    constructor() {\n        const logService = this.logService;\n\n        if (logService) {\n            this.logger = this.logService.getLogger('core.I18nLoader')\n        }\n\n        // create the resources from the config object\n        const i18nConfig: I18nConfig = this.euiAppConfig.global && this.euiAppConfig.global.i18n;\n        const i18nLoaderConfig: I18nLoaderConfig = i18nConfig && i18nConfig.i18nLoader;\n        this.resources.push(...this.createResources(i18nLoaderConfig));\n\n        // Auto-detect ICU mode from config\n        this.icuEnabled = !!(i18nConfig && i18nConfig.icuEnabled);\n    }\n\n    /**\n     * Gets the translations from the server\n     *\n     * @param lang\n     * @returns Observable<object>\n     */\n    public getTranslation(lang: string): Observable<TranslationObject> {\n        return this.loadResources(this.resources, lang).pipe(\n            map((loadedResources: LoadedResources) => {\n                this.failedResources = loadedResources.hasError ? loadedResources.errors : [];\n                const translations = loadedResources.translations;\n                return this.icuEnabled ? transformTranslations(translations) : translations;\n            }),\n        );\n    }\n\n    /**\n     * Adds resources\n     *\n     * @param config loader configuration\n     * @returns Observable<any> | false\n     */\n    public addResources(config: I18nLoaderConfig): I18nResourceImpl[] {\n        // create the resources\n        let resources = this.createResources(config);\n\n        // filter the resources first, to avoid duplicates\n        resources = resources.filter((resource) => !this.resources.some((res) => res.equals(resource)));\n\n        // add the new resources to the list of existing resources\n        this.resources.push(...resources);\n\n        // return the filtered resources\n        return resources;\n    }\n\n    /**\n     * Removes resources from the loader instance\n     */\n    public removeResources(removedResources: I18nResourceImpl[]): void {\n        this.resources = this.resources.filter((res) => !removedResources.some((removedResource) => removedResource.equals(res)));\n    }\n\n    /**\n     * Loads an array of resources, by language\n     *\n     * @param resources the definition of the resources\n     * @param lang the resource language to load\n     * @returns Observable<any>\n     */\n    public loadResources(resources: I18nResourceImpl[], lang: string): Observable<{ hasError: boolean; translations: TranslationObject; errors?: LoadedResourcesError[] }> {\n        // if there are resources to load\n        if (Array.isArray(resources) && resources.length > 0) {\n            // load all the resources in an array of Observable\n            const requests = resources.map((resource) => this.loadResource(resource, lang));\n            // group all the observables with forkJoin and deep merge them\n            return forkJoin(requests).pipe(\n                map((response) => {\n                    const successResp = [];\n                    const errResp: Array<LoadedResourcesError> = [];\n                    response.forEach((item) => {\n                        if ((<ResourceError>item).isError) {\n                            errResp.push({ resource: (<ResourceError>item).resource, error: (<ResourceError>item).error });\n                        } else {\n                            successResp.push(item);\n                        }\n                    });\n                    if (successResp.length === response.length) {\n                        return { hasError: false, translations: mergeAll(successResp) };\n                    } else {\n                        return { hasError: true, translations: mergeAll(successResp), errors: errResp };\n                    }\n                }),\n            );\n        } else {\n            // no resources to load\n            return of({ hasError: false, translations: {} });\n        }\n    }\n\n    /**\n     * Returns resources that failed\n     */\n    public getFailedResources(): Array<LoadedResourcesError> {\n        return this.failedResources;\n    }\n\n    /**\n     * Create resources from a config file\n     *\n     * @param config loader configuration\n     * @returns I18nResourceImpl[] resources\n     */\n    protected createResources(config: I18nLoaderConfig): I18nResourceImpl[] {\n        // use the default config as a reference base\n        config = getI18nLoaderConfig(config);\n\n        const resources = [];\n\n        // extract the i18n folders from config\n        const i18nFolders: string[] = Array.isArray(config.i18nFolders)\n            ? config.i18nFolders\n            : config.i18nFolders\n            ? [config.i18nFolders]\n            : [];\n        if (i18nFolders) {\n            // add the i18n folders to resources\n            resources.push(...i18nFolders.map((folder) => new I18nResourceImpl(`assets/${folder}/`, '.json')));\n        }\n\n        // extract the i18n services from config\n        const i18nServices: string[] = Array.isArray(config.i18nServices)\n            ? config.i18nServices\n            : config.i18nServices\n            ? [config.i18nServices]\n            : [];\n        if (i18nServices) {\n            // add the i18n services to resources\n            resources.push(...i18nServices.map((service) => new I18nResourceImpl(service)));\n        }\n\n        // extract the i18n resources from config\n        const i18nResources: I18nResource[] = Array.isArray(config.i18nResources)\n            ? config.i18nResources\n            : config.i18nResources\n            ? [config.i18nResources]\n            : [];\n        if (i18nResources) {\n            // add the i18n resources to resources\n            resources.push(\n                ...i18nResources.map(\n                    (resource) =>\n                        new I18nResourceImpl(\n                            resource.prefix,\n                            resource.suffix,\n                            this.getResourceCompileFunction(resource.compileTranslations),\n                        ),\n                ),\n            );\n        }\n\n        return resources;\n    }\n\n    /**\n     * Loads a resource, by language\n     *\n     * @param resource the definition of the resource\n     * @param lang the resource language to load\n     * @returns Observable<any>\n     */\n    protected loadResource(resource: I18nResourceImpl, lang: string): Observable<TranslationKeys | ResourceError> {\n        // the path to the resource\n        const path = resource.getPath(lang);\n\n        // load the translations from the path\n        return this.http.get(path).pipe(\n            // preprocess the translations using the resource compiler\n            map((translations: unknown) => resource.compileTranslations(translations, lang)),\n            map((translations: TranslationKeys) => {\n                // resource loaded properly, send a info message\n                this.logger?.info(`I18n resource loaded from path ${path}`);\n                // return the translations\n                return translations;\n            }),\n            catchError((err) => {\n                // remove failed resource from loaded resource array\n                // this.removeResources([resource]);\n                // resource not loaded properly, send a warning message\n                this.logger?.warn(`I18n resource NOT loaded from path ${path}`, err);\n                const resourceError: ResourceError = { error: `I18n resource NOT loaded from path ${path}`, resource, isError: true };\n                return of(resourceError);\n            }),\n        );\n    }\n\n    private getResourceCompileFunction(id: string): TranslationsCompiler {\n        const customHandlers = this.euiAppConfig.customHandler;\n        if (customHandlers && typeof customHandlers[id] === 'function') {\n            return customHandlers[id];\n        }\n        return undefined;\n    }\n}\n\nexport const translateConfig = {\n    loader: {\n        provide: TranslateLoader,\n        useClass: I18nLoader,\n    },\n};\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 52
            },
            "extends": [],
            "type": "injectable"
        },
        {
            "name": "I18nService",
            "id": "injectable-I18nService-a74bf473fa7ef7f9848b206e8d61c0a43118becc6c3613774a0fb34c09b4d7b99e888397826d05eb730d7534e37901f13830da7e0872c3261fe06ab2f2d5ec5b",
            "file": "packages/core/src/lib/services/i18n/i18n.service.ts",
            "properties": [
                {
                    "name": "baseGlobalConfig",
                    "defaultValue": "inject<GlobalConfig>(GLOBAL_CONFIG_TOKEN)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 55,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "config",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "I18nServiceConfig",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 53,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "logService",
                    "defaultValue": "inject(LogService, { optional: true })",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 57,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "onModuleLoad",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BehaviorSubject<ModuleLoadEvent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 54,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "store",
                    "defaultValue": "inject<StoreService<T>>(StoreService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 58,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "translateService",
                    "defaultValue": "inject(TranslateService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 56,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methods": [
                {
                    "name": "addResources",
                    "args": [
                        {
                            "name": "config",
                            "type": "I18nLoaderConfig",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "moduleName",
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<EuiServiceStatus>",
                    "typeParameters": [],
                    "line": 213,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nAdd resources based of a config loader\n\n",
                    "description": "<p>Add resources based of a config loader</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 7892,
                                "end": 7898,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "config"
                            },
                            "type": "I18nLoaderConfig",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 7886,
                                "end": 7891,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>I18nLoaderConfig</p>\n"
                        },
                        {
                            "name": {
                                "pos": 7930,
                                "end": 7940,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "moduleName"
                            },
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 7924,
                                "end": 7929,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        },
                        {
                            "tagName": {
                                "pos": 7949,
                                "end": 7955,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "return"
                            },
                            "comment": "<p>Promise<EuiServiceStatus> an EuiServiceStatus when translation has fully loaded</p>\n"
                        }
                    ]
                },
                {
                    "name": "getSignal",
                    "args": [],
                    "optional": false,
                    "returnType": "Signal<T>",
                    "typeParameters": [],
                    "line": 151,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThis method is used to get the state as readonly signal.\n",
                    "description": "<p>This method is used to get the state as readonly signal.</p>\n"
                },
                {
                    "name": "getState",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<T>",
                    "typeParameters": [],
                    "line": 95,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "getState",
                    "args": [
                        {
                            "name": "mapFn",
                            "type": "function",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "state",
                                    "type": "T",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ]
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<K>",
                    "typeParameters": [
                        "K"
                    ],
                    "line": 100,
                    "deprecated": true,
                    "deprecationMessage": "this will be removed in a future version",
                    "rawdescription": "\n\n",
                    "description": "",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 3449,
                                "end": 3454,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "mapFn"
                            },
                            "type": "function",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "state",
                                    "type": "T",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ],
                            "tagName": {
                                "pos": 3443,
                                "end": 3448,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        }
                    ]
                },
                {
                    "name": "getState",
                    "args": [
                        {
                            "name": "key",
                            "type": "a",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<DeepPartial<a>>",
                    "typeParameters": [
                        "a"
                    ],
                    "line": 101,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "key",
                            "type": "a",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getState",
                    "args": [
                        {
                            "name": "keyOrMapFn",
                            "type": "unknown | string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<DeepPartial<K>>",
                    "typeParameters": [
                        "K"
                    ],
                    "line": 102,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "keyOrMapFn",
                            "type": "unknown | string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "init",
                    "args": [
                        {
                            "name": "langState",
                            "type": "T",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<EuiServiceStatus>",
                    "typeParameters": [],
                    "line": 155,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "langState",
                            "type": "T",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "lazyLoad",
                    "args": [
                        {
                            "name": "config",
                            "type": "I18nLoaderConfig",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<EuiServiceStatus>",
                    "typeParameters": [],
                    "line": 195,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "config",
                            "type": "I18nLoaderConfig",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "lazyLoadInit",
                    "args": [
                        {
                            "name": "moduleConfig",
                            "type": "ModuleConfig",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "moduleName",
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<EuiServiceStatus>",
                    "typeParameters": [],
                    "line": 200,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "moduleConfig",
                            "type": "ModuleConfig",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "moduleName",
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 90,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onReady",
                    "args": [
                        {
                            "name": "moduleName",
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<ModuleLoadEvent>",
                    "typeParameters": [],
                    "line": 178,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nA pipe function that could serve as a wrapper of another observable\ne.g. ngx-translate i18n.onReady('my_module').pipe(switchMap(()=>translate.get('eui.KEY')));\nWARNING: onReady will emit only once for a loaded Module, going to another and then going back will not result\ninto another emission.\n\nfetch module name from the state.\n",
                    "description": "<p>A pipe function that could serve as a wrapper of another observable\ne.g. ngx-translate i18n.onReady(&#39;my_module&#39;).pipe(switchMap(()=&gt;translate.get(&#39;eui.KEY&#39;)));\nWARNING: onReady will emit only once for a loaded Module, going to another and then going back will not result\ninto another emission.</p>\n<p>fetch module name from the state.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 6509,
                                "end": 6519,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "moduleName"
                            },
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 6503,
                                "end": 6508,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the name of the module that has been given through the eUI globalConfig. In case non provided\nfetch module name from the state.</p>\n"
                        }
                    ]
                },
                {
                    "name": "updateState",
                    "args": [
                        {
                            "name": "state",
                            "type": "DeepPartial<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 132,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "state",
                            "type": "DeepPartial<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "updateState",
                    "args": [
                        {
                            "name": "slice",
                            "type": "DeepPartial<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "reducer",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "state",
                                    "type": "T",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                },
                                {
                                    "name": "action",
                                    "type": "DeepPartial<T>",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ]
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 138,
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in next version. Use updateState(partialState: DeepPartial<T>) instead",
                    "rawdescription": "\n\n",
                    "description": "",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 4947,
                                "end": 4952,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "slice"
                            },
                            "type": "DeepPartial<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 4941,
                                "end": 4946,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        },
                        {
                            "name": {
                                "pos": 4967,
                                "end": 4974,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "reducer"
                            },
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "state",
                                    "type": "T",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                },
                                {
                                    "name": "action",
                                    "type": "DeepPartial<T>",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ],
                            "tagName": {
                                "pos": 4961,
                                "end": 4966,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        }
                    ]
                },
                {
                    "name": "updateState",
                    "args": [
                        {
                            "name": "state",
                            "type": "DeepPartial<K>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "reducer",
                            "type": "function",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "state",
                                    "type": "T",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                },
                                {
                                    "name": "action",
                                    "type": "DeepPartial<K>",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ]
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [
                        "K"
                    ],
                    "line": 139,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "state",
                            "type": "DeepPartial<K>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "reducer",
                            "type": "function",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "state",
                                    "type": "T",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                },
                                {
                                    "name": "action",
                                    "type": "DeepPartial<K>",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ],
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { DOCUMENT } from '@angular/common';\nimport { Injectable, OnDestroy, Signal, inject } from '@angular/core';\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject, forkJoin, Observable, of, Subject } from 'rxjs';\nimport {\n    catchError,\n    filter,\n    map,\n    take,\n    tap,\n    switchMap,\n    takeUntil,\n    distinctUntilChanged,\n} from 'rxjs/operators';\nimport {\n    GlobalConfig,\n    EuiLazyService,\n    EuiServiceStatus,\n    getI18nServiceConfigFromBase,\n    I18nLoaderConfig,\n    I18nServiceConfig,\n    I18nState,\n    ModuleConfig,\n    getBrowserDefaultLanguage,\n    EuiEuLanguages,\n    CoreState,\n    DeepPartial,\n} from '@eui/base';\n\nimport { I18nLoader, LoadedResources } from './i18n.loader';\nimport { GLOBAL_CONFIG_TOKEN } from '../config/tokens';\nimport { LogService } from '../log';\nimport { StoreService } from '../store';\nimport { DEFAULT_I18N_SERVICE_CONFIG } from '../config/defaults';\nimport { isEqual } from 'lodash-es';\nimport { Selector } from 'reselect';\nimport { toSignal } from '@angular/core/rxjs-interop';\n\nexport interface ModuleLoadEvent {\n    ready: boolean;\n    name: 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    error?: any;\n}\n\nconst getLastAddedModule: Selector<CoreState, string> = (state: CoreState) => state.app.loadedConfigModules.lastAddedModule;\n\n@Injectable({\n    providedIn: 'root',\n})\nexport class I18nService<T extends I18nState = I18nState> extends EuiLazyService<T | I18nState> implements OnDestroy {\n    protected config: I18nServiceConfig;\n    protected onModuleLoad: BehaviorSubject<ModuleLoadEvent>;\n    protected baseGlobalConfig = inject<GlobalConfig>(GLOBAL_CONFIG_TOKEN);\n    protected translateService = inject(TranslateService);\n    protected logService = inject(LogService, { optional: true });\n    protected store = inject<StoreService<T>>(StoreService);\n    private static readonly DEFAULT_STATE: I18nState = { activeLang: 'en' };\n    private document = inject<Document>(DOCUMENT);\n    /**\n     * a single signal holding the state - initial state is null\n     */\n    private state: Signal<T>;\n    /**\n     * a BehaviorSubject holding the state - initial state is null\n     * This is the main source of truth for the state\n     */\n    private stateSubject: BehaviorSubject<T>;\n    private subNotifier: Subject<void> = new Subject();\n\n    constructor() {\n        super(I18nService.DEFAULT_STATE as T);\n        // Create a BehaviorSubject with the initial state\n        this.stateSubject = new BehaviorSubject<T>(this.stateInstance as T);\n\n        // Initialize signal with base state\n        this.state = toSignal(this.stateSubject, { equal: isEqual });\n\n        // Subscribe to base class state changes\n        this.onStateChange.subscribe((newState) => {\n            // const clonedState = structuredClone(newState as T);\n            this.stateSubject.next(newState as T);\n        });\n\n        this.config = getI18nServiceConfigFromBase(this.baseGlobalConfig);\n        this.onModuleLoad = new BehaviorSubject<ModuleLoadEvent>({ ready: false, name: null });\n    }\n\n    ngOnDestroy(): void {\n        this.subNotifier.next(void 0);\n        this.subNotifier.complete();\n    }\n\n    getState(): Observable<T>;\n    /**\n     * @deprecated this will be removed in a future version\n     * @param mapFn\n     */\n    getState<K = T>(mapFn?: (state: T) => K): Observable<K>;\n    getState<a extends keyof DeepPartial<T>>(key?: a): Observable<DeepPartial<a>>;\n    getState<K = T>(keyOrMapFn?: ((state: T) => K) | string): Observable<DeepPartial<K>> {\n        if (!keyOrMapFn) {\n            return this.stateSubject.asObservable().pipe(\n                takeUntil(this.subNotifier),\n                distinctUntilChanged((x, y) => isEqual(x, y)),\n            ) as Observable<DeepPartial<K>>;\n        }\n\n        if (typeof keyOrMapFn === 'function') {\n            return this.stateSubject.asObservable().pipe(\n                takeUntil(this.subNotifier),\n                map(state => keyOrMapFn(state)),\n                distinctUntilChanged((x, y) => isEqual(x, y)),\n            );\n        }\n\n        return this.stateSubject.asObservable().pipe(\n            takeUntil(this.subNotifier),\n            map(state => {\n                const keys = (keyOrMapFn as string).split('.');\n\n                // Traverse the object based on the dot notation\n                return keys.reduce((acc, currKey) => {\n                    return acc && acc[currKey] !== undefined ? acc[currKey] : undefined;\n                }, state as DeepPartial<T>);\n            }),\n            distinctUntilChanged((x, y) => isEqual(x, y)),\n        );\n    }\n\n    updateState(state: DeepPartial<T>): void;\n    /**\n     * @deprecated it will be removed in next version. Use updateState(partialState: DeepPartial<T>) instead\n     * @param slice\n     * @param reducer\n     */\n    updateState(slice: DeepPartial<T>, reducer: (state: T, action: DeepPartial<T>) => T): void;\n    updateState<K extends T>(state: DeepPartial<K>, reducer?: (state: T, action: DeepPartial<K>) => T): void {\n        if(state.activeLang) {\n            this.updateHTMLDOMLang(state.activeLang as string);\n        }\n        this.stateInstance = super.deepMerge(this.stateInstance as T, { ...state });\n        // Emit state change\n        this.onStateChange.next(this.stateInstance);\n    }\n\n    /**\n     * This method is used to get the state as readonly signal.\n     */\n    getSignal(): Signal<T> {\n        return this.state;\n    }\n\n    init(langState?: T): Observable<EuiServiceStatus> {\n        const initLang = langState && langState.activeLang ? langState.activeLang : this.preparedDefaultLanguage();\n        const initState = {\n            ...langState,\n            activeLang: initLang,\n        };\n        if (typeof initLang === 'string') {\n            super.initEuiService(this.store);\n            this.updateState(initState);\n            return this.setup(initLang);\n        }\n        return of({ success: false, error: 'Initial active lang should be string' });\n    }\n\n    /**\n     * A pipe function that could serve as a wrapper of another observable\n     * e.g. ngx-translate i18n.onReady('my_module').pipe(switchMap(()=>translate.get('eui.KEY')));\n     * WARNING: onReady will emit only once for a loaded Module, going to another and then going back will not result\n     * into another emission.\n     *\n     * @param moduleName the name of the module that has been given through the eUI globalConfig. In case non provided\n     * fetch module name from the state.\n     */\n    onReady(moduleName?: string): Observable<ModuleLoadEvent> {\n        return this.onModuleLoad.pipe(\n            switchMap((evt: ModuleLoadEvent) =>\n                moduleName\n                    ? of(evt)\n                    : this.store.select(getLastAddedModule).pipe(\n                          tap((m) => (moduleName = m)),\n                          map(() => evt),\n                      ),\n            ),\n            // emit only if event emitted matches the module name and is ready\n            filter((evt: ModuleLoadEvent) => evt.ready === true && evt.name === moduleName),\n            // make sure that observable completes\n            take(1),\n        );\n    }\n\n    public lazyLoad(config: I18nLoaderConfig): Observable<EuiServiceStatus> {\n        const moduleId = Math.floor(Math.random() * 100000 + 1).toLocaleString();\n        return this.addResources(config, moduleId);\n    }\n\n    lazyLoadInit(moduleConfig: ModuleConfig, moduleName?: string): Observable<EuiServiceStatus> {\n        const i18nLoaderConfig = moduleConfig as I18nLoaderConfig;\n        // add resources\n        return this.addResources(i18nLoaderConfig, moduleName);\n    }\n\n    /**\n     * Add resources based of a config loader\n     *\n     * @param config I18nLoaderConfig\n     * @param moduleName\n     * @return Promise<EuiServiceStatus> an EuiServiceStatus when translation has fully loaded\n     */\n    public addResources(config: I18nLoaderConfig, moduleName?: string): Observable<EuiServiceStatus> {\n        // emit that module is loading\n        this.onModuleLoad.next({ ready: false, name: moduleName });\n\n        const loader = this.translateService.currentLoader;\n        if (loader instanceof I18nLoader) {\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 langSubscription: Observable<any>[] = [];\n            const i18nLoader = <I18nLoader>loader;\n\n            // add the resources to the loader\n            const resources = i18nLoader.addResources(config);\n\n            // manually load the resources for the CURRENT language and add them to the translate service\n            langSubscription.push(\n                i18nLoader.loadResources(resources, this.translateService.currentLang).pipe(\n                    take(1),\n                    tap((loadedResources: LoadedResources) => {\n                        // add the new set of translations to the current language\n                        this.translateService.setTranslation(this.translateService.currentLang, loadedResources.translations, true);\n                    }),\n                ),\n            );\n\n            // if the current language is different from the DEFAULT language\n            const defaultLang = this.config.defaultLanguage || this.translateService.defaultLang;\n            if (this.translateService.currentLang !== defaultLang) {\n                // manually load the resources for the default language and add them to the translation service\n                langSubscription.push(\n                    i18nLoader.loadResources(resources, defaultLang).pipe(\n                        take(1),\n                        tap((loadedResources: LoadedResources) => {\n                            this.translateService.setTranslation(defaultLang, loadedResources.translations, true);\n                        }),\n                    ),\n                );\n            }\n\n            return forkJoin(langSubscription).pipe(\n                map((loadedResourcesArr: LoadedResources[]) =>\n                    !loadedResourcesArr[0].hasError ? { success: true } : { success: false, error: loadedResourcesArr[0].errors },\n                ),\n                tap(() => {\n                    // emit status of module loading progress\n                    this.onModuleLoad.next({ ready: true, name: moduleName });\n                }),\n                catchError((error) => {\n                    // emit status of module loading progress\n                    this.onModuleLoad.next({ ready: true, name: moduleName, error });\n                    return of({ success: false, error });\n                }),\n            );\n        } else {\n            return of({ success: false, error: 'currentLoader is not an I18nLoader.' });\n        }\n    }\n\n    /**\n     * Prepares the default language\n     */\n    private preparedDefaultLanguage(): string {\n        const browserPref = getBrowserDefaultLanguage();\n        // If user has browser preferred lang, and that language is part of the languages array\n        if (browserPref && this.config.languages && EuiEuLanguages.getLanguageCodes(this.config.languages).includes(browserPref)) {\n            return browserPref;\n        }\n        return this.config.defaultLanguage;\n    }\n\n    /**\n     * @param initLanguage if given default language to override default language coming from the\n     * configuration token.\n     */\n    private setup(initLanguage: string): Observable<EuiServiceStatus> {\n        // use the default config as a reference base\n        this.config = Object.assign({}, DEFAULT_I18N_SERVICE_CONFIG, this.config);\n        // configure the translation config service\n        if (this.config.languages) {\n            this.translateService.addLangs(EuiEuLanguages.getLanguageCodes(this.config.languages));\n            if (this.logService) {\n                this.logService.info(`I18n accepted languages set to ${EuiEuLanguages.getLanguageCodes(this.config.languages)}`);\n            }\n        }\n        // set the current language, causing to load translations\n        return this.translateService.use(initLanguage).pipe(\n            tap(() => {\n                this.bindActiveLangStateToTranslateService();\n                this.bindTranslateServiceLangChangeToState();\n                if (this.config.defaultLanguage) {\n                    this.setDefaultLanguage(this.config.defaultLanguage);\n                }\n            }),\n            map(() => {\n                if (this.translateService.currentLoader instanceof I18nLoader) {\n                    const failedResources = this.translateService.currentLoader.getFailedResources();\n                    if (failedResources.length > 0) {\n                        return { success: false, error: failedResources };\n                    }\n                }\n                return { success: true };\n            }),\n            catchError((error) => of({ success: false, error })),\n        );\n    }\n\n    private bindActiveLangStateToTranslateService(): void {\n        this.getState((s) => s.activeLang)\n            .pipe(takeUntil(this.subNotifier))\n            .subscribe((lang) => {\n                if (lang !== null && this.translateService.currentLang !== lang) {\n                    this.use(lang);\n                }\n            });\n    }\n\n    private bindTranslateServiceLangChangeToState(): void {\n        this.translateService.onLangChange.subscribe((event: LangChangeEvent) => {\n            if (this.stateInstance.activeLang !== event.lang) {\n                this.updateState({ activeLang: event.lang } as Partial<T>);\n            }\n            if (this.logService) {\n                this.logService.info(`I18n current language set to ${event.lang}`);\n            }\n        });\n    }\n\n    private setDefaultLanguage(defaultLanguage: string): void {\n        // removed, current language is already calculated in init, setup function fill use it directly, not default\n        // this.translateService.currentLang = default_language || this.config.defaultLanguage;\n        this.translateService.setDefaultLang(defaultLanguage);\n        if (this.logService) {\n            this.logService.info(`I18n default language set to ${defaultLanguage}`);\n        }\n    }\n\n    /**\n     * change the currently used language\n     *\n     * @param lang is the language code based on the convention you used e.g. (en or en-EN)\n     * @returns Observable that returns an object contain the object translation for given language after language\n     * fully loaded.\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 use(lang: string): Observable<any> {\n        return this.translateService.use(lang);\n    }\n\n    /**\n     * updates the HTML element lang attribute\n     *\n     * @private\n     */\n    private updateHTMLDOMLang(lang: string): void {\n        this.document.documentElement.lang = lang;\n    }\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 70
            },
            "extends": [
                "EuiLazyService"
            ],
            "type": "injectable"
        },
        {
            "name": "I18nServiceMock",
            "id": "injectable-I18nServiceMock-d658ee067c67af93b266c9b23940ba4f10058d614f449242924b73768acfeb0b491f6cfd4229fac20d4ca958c6a0bada88b912fff89fa66edcd53892d1e1d1fc",
            "file": "packages/core/src/lib/services/i18n/i18n.service.mock.ts",
            "properties": [
                {
                    "name": "baseGlobalConfig",
                    "defaultValue": "inject<GlobalConfig>(GLOBAL_CONFIG_TOKEN)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 55,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "I18nService"
                    }
                },
                {
                    "name": "config",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "I18nServiceConfig",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 53,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "I18nService"
                    }
                },
                {
                    "name": "logService",
                    "defaultValue": "inject(LogService, { optional: true })",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 57,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "I18nService"
                    }
                },
                {
                    "name": "onModuleLoad",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BehaviorSubject<ModuleLoadEvent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 54,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "I18nService"
                    }
                },
                {
                    "name": "store",
                    "defaultValue": "inject<StoreService<T>>(StoreService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 58,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "I18nService"
                    }
                },
                {
                    "name": "translateService",
                    "defaultValue": "inject(TranslateService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 56,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "I18nService"
                    }
                }
            ],
            "methods": [
                {
                    "name": "addResources",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<EuiServiceStatus>",
                    "typeParameters": [],
                    "line": 19,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "inheritance": {
                        "file": "I18nService"
                    }
                },
                {
                    "name": "getState",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<I18nState>",
                    "typeParameters": [],
                    "line": 27,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "inheritance": {
                        "file": "I18nService"
                    }
                },
                {
                    "name": "init",
                    "args": [
                        {
                            "name": "i18nState",
                            "type": "I18nState",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<EuiServiceStatus>",
                    "typeParameters": [],
                    "line": 35,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "i18nState",
                            "type": "I18nState",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "I18nService"
                    }
                },
                {
                    "name": "lazyLoadInit",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<EuiServiceStatus>",
                    "typeParameters": [],
                    "line": 40,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "inheritance": {
                        "file": "I18nService"
                    }
                },
                {
                    "name": "updateState",
                    "args": [
                        {
                            "name": "i18nState",
                            "type": "I18nState",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 31,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "i18nState",
                            "type": "I18nState",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "I18nService"
                    }
                },
                {
                    "name": "getSignal",
                    "args": [],
                    "optional": false,
                    "returnType": "Signal<T>",
                    "typeParameters": [],
                    "line": 151,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThis method is used to get the state as readonly signal.\n",
                    "description": "<p>This method is used to get the state as readonly signal.</p>\n",
                    "inheritance": {
                        "file": "I18nService"
                    }
                },
                {
                    "name": "lazyLoad",
                    "args": [
                        {
                            "name": "config",
                            "type": "I18nLoaderConfig",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<EuiServiceStatus>",
                    "typeParameters": [],
                    "line": 195,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "config",
                            "type": "I18nLoaderConfig",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "I18nService"
                    }
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 90,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "inheritance": {
                        "file": "I18nService"
                    }
                },
                {
                    "name": "onReady",
                    "args": [
                        {
                            "name": "moduleName",
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<ModuleLoadEvent>",
                    "typeParameters": [],
                    "line": 178,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nA pipe function that could serve as a wrapper of another observable\ne.g. ngx-translate i18n.onReady('my_module').pipe(switchMap(()=>translate.get('eui.KEY')));\nWARNING: onReady will emit only once for a loaded Module, going to another and then going back will not result\ninto another emission.\n\nfetch module name from the state.\n",
                    "description": "<p>A pipe function that could serve as a wrapper of another observable\ne.g. ngx-translate i18n.onReady(&#39;my_module&#39;).pipe(switchMap(()=&gt;translate.get(&#39;eui.KEY&#39;)));\nWARNING: onReady will emit only once for a loaded Module, going to another and then going back will not result\ninto another emission.</p>\n<p>fetch module name from the state.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 6509,
                                "end": 6519,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "moduleName"
                            },
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 6503,
                                "end": 6508,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the name of the module that has been given through the eUI globalConfig. In case non provided\nfetch module name from the state.</p>\n"
                        }
                    ],
                    "inheritance": {
                        "file": "I18nService"
                    }
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { EventEmitter, Injectable } from '@angular/core';\nimport { LangChangeEvent } from '@ngx-translate/core';\nimport { Observable, of } from 'rxjs';\nimport { EuiServiceStatus, I18nState } from '@eui/base';\nimport { I18nService } from './i18n.service';\n\n@Injectable()\nexport class I18nServiceMock extends I18nService {\n    private DEFAULT_LANGUAGE = 'en';\n\n    constructor() {\n        super(null, null, null, null, null);\n    }\n\n    get onLangChange(): EventEmitter<LangChangeEvent> {\n        return new EventEmitter<LangChangeEvent>();\n    }\n\n    addResources(): Observable<EuiServiceStatus> {\n        return of({ success: true });\n    }\n\n    get currentLanguage(): string {\n        return this.DEFAULT_LANGUAGE;\n    }\n\n    getState(): Observable<I18nState> {\n        return of({ activeLang: this.DEFAULT_LANGUAGE });\n    }\n\n    updateState(i18nState: I18nState): void {\n        this.DEFAULT_LANGUAGE = i18nState.activeLang || 'en';\n    }\n\n    init(i18nState?: I18nState): Observable<EuiServiceStatus> {\n        this.DEFAULT_LANGUAGE = i18nState.activeLang || 'en';\n        return of({ success: true });\n    }\n\n    lazyLoadInit(): Observable<EuiServiceStatus> {\n        return of({ success: true });\n    }\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 9
            },
            "accessors": {
                "onLangChange": {
                    "name": "onLangChange",
                    "getSignature": {
                        "name": "onLangChange",
                        "type": "unknown",
                        "returnType": "EventEmitter<LangChangeEvent>",
                        "line": 15
                    }
                },
                "currentLanguage": {
                    "name": "currentLanguage",
                    "getSignature": {
                        "name": "currentLanguage",
                        "type": "string",
                        "returnType": "string",
                        "line": 23
                    }
                }
            },
            "extends": [
                "I18nService"
            ],
            "type": "injectable"
        },
        {
            "name": "LocaleService",
            "id": "injectable-LocaleService-ec809ffda6dd52c2b01aac0d47b30dcee82a4e8fe05822471589347a9b9caa7562a45f5469baa94e977b0ebf36a12dc2fd47812dee64a071ad0373542c9983c2",
            "file": "packages/core/src/lib/services/locale/locale.service.ts",
            "properties": [
                {
                    "name": "baseGlobalConfig",
                    "defaultValue": "inject<GlobalConfig>(GLOBAL_CONFIG_TOKEN)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 44,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "config",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "LocaleServiceConfig",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 53,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "locale_id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 45,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "store",
                    "defaultValue": "inject(StoreService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 43,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methods": [
                {
                    "name": "getSignal",
                    "args": [],
                    "optional": false,
                    "returnType": "Signal<T>",
                    "typeParameters": [],
                    "line": 225,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThis method is used to get the state as readonly signal.\n",
                    "description": "<p>This method is used to get the state as readonly signal.</p>\n"
                },
                {
                    "name": "getState",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<T>",
                    "typeParameters": [],
                    "line": 102,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "getState",
                    "args": [
                        {
                            "name": "mapFn",
                            "type": "function",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "state",
                                    "type": "T",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ]
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<K>",
                    "typeParameters": [
                        "K"
                    ],
                    "line": 112,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRetrieves the state of the locale service. This method is overloaded to allow different ways of accessing the state.\n\n\n                                     Takes the current state as an argument and returns the transformed state.\n",
                    "description": "<p>Retrieves the state of the locale service. This method is overloaded to allow different ways of accessing the state.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">                                 Takes the current state as an argument and returns the transformed state.</code></pre></div>",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 4243,
                                "end": 4248,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "mapFn"
                            },
                            "type": "function",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "state",
                                    "type": "T",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ],
                            "tagName": {
                                "pos": 4216,
                                "end": 4221,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>A function that maps the state to a specific form.\n Takes the current state as an argument and returns the transformed state.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 4222,
                                "end": 4241,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 4223,
                                    "end": 4240,
                                    "kind": 197,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "type": {
                                        "pos": 4224,
                                        "end": 4239,
                                        "kind": 185,
                                        "id": 0,
                                        "flags": 16777216,
                                        "modifierFlagsCache": 0,
                                        "transformFlags": 1,
                                        "parameters": [
                                            {
                                                "pos": 4225,
                                                "end": 4233,
                                                "kind": 170,
                                                "id": 0,
                                                "flags": 16777216,
                                                "modifierFlagsCache": 0,
                                                "transformFlags": 1,
                                                "name": {
                                                    "pos": 4225,
                                                    "end": 4230,
                                                    "kind": 80,
                                                    "id": 0,
                                                    "flags": 16777216,
                                                    "transformFlags": 0,
                                                    "escapedText": "state"
                                                },
                                                "type": {
                                                    "pos": 4231,
                                                    "end": 4233,
                                                    "kind": 184,
                                                    "id": 0,
                                                    "flags": 16777216,
                                                    "modifierFlagsCache": 0,
                                                    "transformFlags": 1,
                                                    "typeName": {
                                                        "pos": 4231,
                                                        "end": 4233,
                                                        "kind": 80,
                                                        "id": 0,
                                                        "flags": 16777216,
                                                        "transformFlags": 0,
                                                        "escapedText": "T"
                                                    }
                                                }
                                            }
                                        ],
                                        "type": {
                                            "pos": 4237,
                                            "end": 4239,
                                            "kind": 184,
                                            "id": 0,
                                            "flags": 16777216,
                                            "modifierFlagsCache": 0,
                                            "transformFlags": 1,
                                            "typeName": {
                                                "pos": 4237,
                                                "end": 4239,
                                                "kind": 80,
                                                "id": 0,
                                                "flags": 16777216,
                                                "transformFlags": 0,
                                                "escapedText": "K"
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 4429,
                                "end": 4436,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<ul>\n<li>An observable that emits the transformed state.</li>\n</ul>\n",
                            "returnType": "unknown"
                        }
                    ]
                },
                {
                    "name": "getState",
                    "args": [
                        {
                            "name": "key",
                            "type": "a",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<DeepPartial<a>>",
                    "typeParameters": [
                        "a"
                    ],
                    "line": 120,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\n                   The key should be a property name of the state object.\n",
                    "description": "<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">               The key should be a property name of the state object.</code></pre></div>",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 4669,
                                "end": 4672,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "key"
                            },
                            "type": "a",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 4658,
                                "end": 4663,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>A specific key to access a part of the state.\n The key should be a property name of the state object.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 4664,
                                "end": 4667,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 4665,
                                    "end": 4666,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 4665,
                                        "end": 4666,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "a"
                                    }
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 4811,
                                "end": 4818,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<ul>\n<li>An observable that emits the value of the specified key in the state.</li>\n</ul>\n",
                            "returnType": "unknown"
                        }
                    ]
                },
                {
                    "name": "getState",
                    "args": [
                        {
                            "name": "keyOrMapFn",
                            "type": "unknown | string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<DeepPartial<K>>",
                    "typeParameters": [
                        "K"
                    ],
                    "line": 129,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\n                                                   If a string is provided, it uses dot notation to access nested properties.\n\nIf no parameter is provided, the method returns the entire state.\n",
                    "description": "<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">                                               If a string is provided, it uses dot notation to access nested properties.</code></pre></div><p>If no parameter is provided, the method returns the entire state.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 5077,
                                "end": 5087,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "keyOrMapFn"
                            },
                            "type": "unknown | string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 5041,
                                "end": 5046,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Either a mapping function or a string key.\n If a string is provided, it uses dot notation to access nested properties.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 5047,
                                "end": 5075,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 5048,
                                    "end": 5074,
                                    "kind": 193,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "types": [
                                        {
                                            "pos": 5048,
                                            "end": 5065,
                                            "kind": 197,
                                            "id": 0,
                                            "flags": 16777216,
                                            "modifierFlagsCache": 0,
                                            "transformFlags": 1,
                                            "type": {
                                                "pos": 5049,
                                                "end": 5064,
                                                "kind": 185,
                                                "id": 0,
                                                "flags": 16777216,
                                                "modifierFlagsCache": 0,
                                                "transformFlags": 1,
                                                "parameters": [
                                                    {
                                                        "pos": 5050,
                                                        "end": 5058,
                                                        "kind": 170,
                                                        "id": 0,
                                                        "flags": 16777216,
                                                        "modifierFlagsCache": 0,
                                                        "transformFlags": 1,
                                                        "name": {
                                                            "pos": 5050,
                                                            "end": 5055,
                                                            "kind": 80,
                                                            "id": 0,
                                                            "flags": 16777216,
                                                            "transformFlags": 0,
                                                            "escapedText": "state"
                                                        },
                                                        "type": {
                                                            "pos": 5056,
                                                            "end": 5058,
                                                            "kind": 184,
                                                            "id": 0,
                                                            "flags": 16777216,
                                                            "modifierFlagsCache": 0,
                                                            "transformFlags": 1,
                                                            "typeName": {
                                                                "pos": 5056,
                                                                "end": 5058,
                                                                "kind": 80,
                                                                "id": 0,
                                                                "flags": 16777216,
                                                                "transformFlags": 0,
                                                                "escapedText": "T"
                                                            }
                                                        }
                                                    }
                                                ],
                                                "type": {
                                                    "pos": 5062,
                                                    "end": 5064,
                                                    "kind": 184,
                                                    "id": 0,
                                                    "flags": 16777216,
                                                    "modifierFlagsCache": 0,
                                                    "transformFlags": 1,
                                                    "typeName": {
                                                        "pos": 5062,
                                                        "end": 5064,
                                                        "kind": 80,
                                                        "id": 0,
                                                        "flags": 16777216,
                                                        "transformFlags": 0,
                                                        "escapedText": "K"
                                                    }
                                                }
                                            }
                                        },
                                        {
                                            "pos": 5067,
                                            "end": 5074,
                                            "kind": 154,
                                            "id": 0,
                                            "flags": 16777216,
                                            "transformFlags": 1
                                        }
                                    ]
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 5275,
                                "end": 5282,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<ul>\n<li>An observable that emits the selected or transformed state.</li>\n</ul>\n<p>If no parameter is provided, the method returns the entire state.</p>\n",
                            "returnType": "unknown"
                        }
                    ]
                },
                {
                    "name": "init",
                    "args": [
                        {
                            "name": "state",
                            "type": "LocaleState",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<EuiServiceStatus>",
                    "typeParameters": [],
                    "line": 163,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nInitializes the LocaleService with necessary configurations and state.\nBinds language changes to the state and dynamically loads the appropriate locales.\n\n",
                    "description": "<p>Initializes the LocaleService with necessary configurations and state.\nBinds language changes to the state and dynamically loads the appropriate locales.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 6727,
                                "end": 6732,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "state"
                            },
                            "type": "LocaleState",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 6706,
                                "end": 6711,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Optional initial state for the locale service.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 6712,
                                "end": 6725,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 6713,
                                    "end": 6724,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 6713,
                                        "end": 6724,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "LocaleState"
                                    }
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 6791,
                                "end": 6798,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<ul>\n<li>Observable emitting the status of the initialization.</li>\n</ul>\n",
                            "returnType": "unknown"
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 97,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "updateState",
                    "args": [
                        {
                            "name": "state",
                            "type": "DeepPartial<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 190,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThis method is used to update the state of the service with a new state.\n\n",
                    "description": "<p>This method is used to update the state of the service with a new state.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 7709,
                                "end": 7714,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "state"
                            },
                            "type": "DeepPartial<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 7703,
                                "end": 7708,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        }
                    ]
                },
                {
                    "name": "updateState",
                    "args": [
                        {
                            "name": "state",
                            "type": "DeepPartial<K>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [
                        "K"
                    ],
                    "line": 198,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUpdates the locale state within the application. If the new state is not available,\nit throws an error. Also updates the global LOCALE_ID token if configured to do so.\n\n",
                    "description": "<p>Updates the locale state within the application. If the new state is not available,\nit throws an error. Also updates the global LOCALE_ID token if configured to do so.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 7994,
                                "end": 7999,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "state"
                            },
                            "type": "DeepPartial<K>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 7974,
                                "end": 7979,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The new state to be set for the locale.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 7980,
                                "end": 7993,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 7981,
                                    "end": 7992,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 7981,
                                        "end": 7992,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "LocaleState"
                                    }
                                }
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "<p>LocaleService is responsible for managing locale states and configurations in an Angular application.\nIt utilizes the CLDR library to load and construct the locale for each region. This service allows\nfor dynamic loading of locales upon request and updates the state of the EUI app accordingly.</p>\n<p>Key functionalities include:</p>\n<ul>\n<li>Binding to a translation service for locale changes.</li>\n<li>Updating the Angular LOCALE_ID token.</li>\n</ul>\n",
            "rawdescription": "\n\nLocaleService is responsible for managing locale states and configurations in an Angular application.\nIt utilizes the CLDR library to load and construct the locale for each region. This service allows\nfor dynamic loading of locales upon request and updates the state of the EUI app accordingly.\n\nKey functionalities include:\n - Binding to a translation service for locale changes.\n - Updating the Angular LOCALE_ID token.\n\n",
            "sourceCode": "import { Injectable, InjectionToken, LOCALE_ID, OnDestroy, Signal, inject } from '@angular/core';\nimport { getLocaleId } from '@angular/common';\nimport {\n    DeepPartial,\n    EuiService,\n    EuiServiceStatus,\n    getLocaleServiceConfigFromBase,\n    GlobalConfig,\n    I18nState,\n    LocaleServiceConfig,\n    LocaleState,\n    Logger,\n} from '@eui/base';\nimport { BehaviorSubject, Observable, of, Subject } from 'rxjs';\nimport { distinctUntilChanged, filter, map, switchMap, take, takeUntil, tap } from 'rxjs/operators';\nimport { StoreService } from '../store';\nimport { LogService } from '../log';\nimport { I18nService } from '../i18n';\nimport { GLOBAL_CONFIG_TOKEN } from '../config/tokens';\nimport { isEqual } from 'lodash-es';\nimport { toSignal } from '@angular/core/rxjs-interop';\n\nexport type LocaleMapper = (locale: string) => string;\nexport const LOCALE_ID_MAPPER = new InjectionToken<LocaleMapper>('localeIdMapper');\n\n/**\n * LocaleService is responsible for managing locale states and configurations in an Angular application.\n * It utilizes the CLDR library to load and construct the locale for each region. This service allows\n * for dynamic loading of locales upon request and updates the state of the EUI app accordingly.\n *\n * Key functionalities include:\n *  - Binding to a translation service for locale changes.\n *  - Updating the Angular LOCALE_ID token.\n *\n * @template T - Extends LocaleState, representing the state structure for locales.\n * @template L - The type of the locale data.\n * @extends EuiService<T | LocaleState>\n */\n@Injectable({\n    providedIn: 'root',\n})\nexport class LocaleService<T extends LocaleState = LocaleState> extends EuiService<T | LocaleState> implements OnDestroy {\n    protected store = inject(StoreService);\n    protected baseGlobalConfig = inject<GlobalConfig>(GLOBAL_CONFIG_TOKEN);\n    protected locale_id: string;\n    private static readonly DEFAULT_STATE: LocaleState = { id: 'en-US' };\n    private localeMapper = inject<LocaleMapper>(LOCALE_ID_MAPPER, { optional: true });\n    private i18n = inject(I18nService, { optional: true });\n    private log = inject(LogService, { optional: true });\n\n    private readonly logger: Logger;\n    private subNotifier: Subject<void> = new Subject();\n    protected config: LocaleServiceConfig;\n\n    /**\n     * a single signal holding the state - initial state is null\n     */\n    private state: Signal<T>;\n    /**\n     * a BehaviorSubject holding the state - initial state is null\n     * This is the main source of truth for the state\n     */\n    private stateSubject: BehaviorSubject<T>;\n\n    constructor() {\n        const locale_id = inject(LOCALE_ID);\n\n        super({ id: locale_id || Intl.DateTimeFormat().resolvedOptions().locale || LocaleService.DEFAULT_STATE.id } as T);\n        this.locale_id = locale_id;\n        const log = this.log;\n\n        if (log) {\n            this.logger = log.getLogger('core.LocaleService');\n        }\n\n        // Create a BehaviorSubject with the initial state\n        this.stateSubject = new BehaviorSubject<T>(this.stateInstance as T);\n\n        // Initialize signal with base state\n        this.state = toSignal(this.stateSubject, { equal: isEqual });\n\n        // Subscribe to base class state changes\n        this.onStateChange.subscribe((newState) => {\n            // const clonedState = structuredClone(newState as T);\n            this.stateSubject.next(newState as T);\n        });\n\n        this.config = getLocaleServiceConfigFromBase(this.baseGlobalConfig);\n        // in case no localeMapper provided, set the angular getLocaleId as default\n        if (!this.localeMapper) {\n            this.localeMapper = getLocaleId;\n            // TODO: replace deprecated method with new one\n            // this.localeMapper = (locale: string) => new Intl.Locale(locale).baseName;\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.subNotifier.next(void 0);\n        this.subNotifier.complete();\n    }\n\n    getState(): Observable<T>;\n    /**\n     * Retrieves the state of the locale service. This method is overloaded to allow different ways of accessing the state.\n     *\n     * @template K - The type of the value to be returned. Defaults to the type of the locale state (T).\n     *\n     * @param {((state: T) => K)} [mapFn] - A function that maps the state to a specific form.\n     *                                      Takes the current state as an argument and returns the transformed state.\n     * @returns {Observable<K>} - An observable that emits the transformed state.\n     */\n    getState<K = T>(mapFn?: (state: T) => K): Observable<K>;\n    /**\n     * @template a - A key that extends the keys of the state type T.\n     * @param {a} [key] - A specific key to access a part of the state.\n     *                    The key should be a property name of the state object.\n     * @returns {Observable<Partial<a>>} - An observable that emits the value of the specified key in the state.\n     * @param key\n     */\n    getState<a extends keyof DeepPartial<T>>(key?: a): Observable<DeepPartial<a>>;\n    /**\n     * @param {((state: T) => K) | string} [keyOrMapFn] - Either a mapping function or a string key.\n     *                                                    If a string is provided, it uses dot notation to access nested properties.\n     * @returns {Observable<Partial<K>>} - An observable that emits the selected or transformed state.\n     *\n     * If no parameter is provided, the method returns the entire state.\n     * @param keyOrMapFn\n     */\n    getState<K = T>(keyOrMapFn?: ((state: T) => K) | string): Observable<DeepPartial<K>> {\n        if (!keyOrMapFn) {\n            return this.stateSubject.asObservable().pipe(\n                distinctUntilChanged((x, y) => isEqual(x, y)),\n            ) as Observable<DeepPartial<K>>;\n        }\n\n        if (typeof keyOrMapFn === 'function') {\n            return this.stateSubject.asObservable().pipe(\n                map(state => keyOrMapFn(state)),\n                distinctUntilChanged((x, y) => isEqual(x, y)),\n            );\n        }\n\n        return this.stateSubject.asObservable().pipe(\n            map(state => {\n                const keys = (keyOrMapFn as string).split('.');\n\n                // Traverse the object based on the dot notation\n                return keys.reduce((acc, currKey) => {\n                    return acc && acc[currKey] !== undefined ? acc[currKey] : undefined;\n                }, state as DeepPartial<T>);\n            }),\n            distinctUntilChanged((x, y) => isEqual(x, y)),\n        );\n    }\n\n    /**\n     * Initializes the LocaleService with necessary configurations and state.\n     * Binds language changes to the state and dynamically loads the appropriate locales.\n     *\n     * @param {LocaleState} [state] - Optional initial state for the locale service.\n     * @returns {Observable<EuiServiceStatus>} - Observable emitting the status of the initialization.\n     */\n    init(state?: LocaleState): Observable<EuiServiceStatus> {\n        super.initEuiService();\n\n        state = state || { id: this.currentLocale };\n\n\t\tif (state?.id && !this.isValidLocale(state.id)) {\n\t\t\tconst message = `Locale '${state.id}' is not a valid locale string. Please provide a valid locale.`;\n\t\t\tif (this.log) {\n\t\t\t\tthis.logger.error(message);\n\t\t\t}\n\t\t\treturn of({ success: false, error: new Error(message) });\n\t\t}\n\n        // bind language changes to locale changes\n        if (this.config?.bindWithTranslate) {\n            this.bindTranslateServiceLangChangeToState();\n        }\n\n        return of({ success: true })\n            .pipe(tap(() => this.updateState(state as Partial<T>)));\n    }\n\n    /**\n     * This method is used to update the state of the service with a new state.\n     *\n     * @param state\n     */\n    updateState(state: DeepPartial<T>): void;\n    /**\n     * Updates the locale state within the application. If the new state is not available,\n     * it throws an error. Also updates the global LOCALE_ID token if configured to do so.\n     *\n     * @param {LocaleState} state - The new state to be set for the locale.\n     * @throws Will throw an error if the locale for the given state id is not available.\n     */\n    updateState<K extends T>(state: DeepPartial<K>): void {\n        const prevState = structuredClone(this.stateInstance);\n        if(state?.id) {\n            // check if locale is available otherwise throw error\n            try {\n                const id = this.localeMapper(state.id as string);\n                this.stateInstance = super.deepMerge(this.stateInstance as T, { ...state, id });\n            } catch (e) {\n                const message = `Locale for '${state.id}' is not available.\\n` +\n                 `Please use addLocale('${state.id}') first`;\n                if (this.log) {\n                    this.logger.info(message, e);\n                }\n                throw new Error(message);\n            }\n        } else {\n            this.stateInstance = super.deepMerge(this.stateInstance as T, { ...state });\n        }\n        // Emit state change\n        this.onStateChange.next(this.stateInstance);\n        // set previous state of service\n        this.prevStateInstance = prevState;\n    }\n\n    /**\n     * This method is used to get the state as readonly signal.\n     */\n    getSignal(): Signal<T> {\n        return this.state;\n    }\n\n    /**\n     * Retrieves the previous locale used in the application.\n     *\n     * @returns {string} - The previous locale identifier.\n     */\n    get previousLocale(): string {\n        return this.prevStateInstance?.id || this.currentLocale;\n    }\n\n    /**\n     * Retrieves the current locale used in the application.\n     *\n     * @returns {string} - The current locale identifier.\n     */\n    get currentLocale(): string {\n        return this.stateInstance?.id;\n    }\n\n    /**\n     * Listens for language changes and dynamically sets the locale accordingly.\n     *\n     * @private\n     */\n    private bindTranslateServiceLangChangeToState(): void {\n        if (this.i18n) {\n            this.i18n.onStateChange\n                .pipe(\n                    takeUntil(this.subNotifier),\n                    // Only processes state changes when the language actually changes\n                    // Example: With activeLang='en', ignores changes between 'en-US' and 'en-GB'\n                    // Checks: activeLang exists, has 2+ chars, and differs from current locale's primary language\n                    filter((state: I18nState) => state?.activeLang !== null &&\n                        state?.activeLang !== undefined &&\n                        state?.activeLang.length > 1 &&\n                        state.activeLang.toLowerCase() !== this.stateInstance?.id.slice(0, 2).toLowerCase()),\n                    // to check if registration of locale otherwise register it\n                    map((state: I18nState) => this.localeMapper(state.activeLang)),\n                    // update the \"available\" array attribute with newly registered\n                    switchMap((id: string) =>\n                        this.getState().pipe(\n                            take(1),\n                            map((state: LocaleState) => {\n                                const available = state['available'] ? state['available'] : [];\n                                return { ...state, id, available: Array.from(new Set([...available, id])) };\n                            }),\n                        ),\n                    ),\n                )\n                .subscribe((state: LocaleState) => {\n                    return this.updateState(state as Partial<T>);\n                });\n        }\n    }\n\n\t/**\n\t * Checks if a given locale string is valid according to the Intl.Locale API. (based on BCP 47)\n\t * A valid locale string can be used to create a new Intl.Locale object without throwing an error.\n\t *\n\t * @param localeString - The locale string to be validated.\n\t * @returns {boolean} - Returns true if the locale string is valid, false otherwise.\n\t */\n\tprivate isValidLocale(localeString: string): boolean {\n\t\ttry {\n\t\t\t// Normalize: replace underscores with hyphens (support for Angular locale ids)\n\t\t\t// e.g., 'en_US' -> 'en-US'\n\t\t\t// Note: Intl.Locale only accepts hyphens as separators\n\t\t\t// Reference: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale\n\t\t\tconst normalizedString = localeString.replace(/_/g, '-');\n\t\t\tnew Intl.Locale(normalizedString);\n\t\t\treturn true;\n\t\t} catch (error) {\n\t\t\treturn false;\n\t\t}\n\t}\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 63
            },
            "accessors": {
                "previousLocale": {
                    "name": "previousLocale",
                    "getSignature": {
                        "name": "previousLocale",
                        "type": "string",
                        "returnType": "string",
                        "line": 234,
                        "rawdescription": "\n\nRetrieves the previous locale used in the application.\n\n",
                        "description": "<p>Retrieves the previous locale used in the application.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 9376,
                                "end": 9433,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 9377,
                                    "end": 9384,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<ul>\n<li>The previous locale identifier.</li>\n</ul>\n",
                                "typeExpression": {
                                    "pos": 9385,
                                    "end": 9393,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 9386,
                                        "end": 9392,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                },
                "currentLocale": {
                    "name": "currentLocale",
                    "getSignature": {
                        "name": "currentLocale",
                        "type": "string",
                        "returnType": "string",
                        "line": 243,
                        "rawdescription": "\n\nRetrieves the current locale used in the application.\n\n",
                        "description": "<p>Retrieves the current locale used in the application.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 9626,
                                "end": 9682,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 9627,
                                    "end": 9634,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<ul>\n<li>The current locale identifier.</li>\n</ul>\n",
                                "typeExpression": {
                                    "pos": 9635,
                                    "end": 9643,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 9636,
                                        "end": 9642,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            "extends": [
                "EuiService"
            ],
            "type": "injectable"
        },
        {
            "name": "LocaleServiceMock",
            "id": "injectable-LocaleServiceMock-9dd83af89d9651a94421d87aa30065ab54840ba5534297917b58fbc66e0f9738cb634c1d00b685830c5d9d5b74fd0189bb7d869c03e5b432444b43eddf529bb4",
            "file": "packages/core/src/lib/services/locale/locale.service.mock.ts",
            "properties": [
                {
                    "name": "locale_id",
                    "defaultValue": "inject(LOCALE_ID, { optional: true })",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 11,
                    "modifierKind": [
                        124,
                        164
                    ],
                    "inheritance": {
                        "file": "LocaleService"
                    }
                },
                {
                    "name": "baseGlobalConfig",
                    "defaultValue": "inject<GlobalConfig>(GLOBAL_CONFIG_TOKEN)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 44,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "LocaleService"
                    }
                },
                {
                    "name": "config",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "LocaleServiceConfig",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 53,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "LocaleService"
                    }
                },
                {
                    "name": "store",
                    "defaultValue": "inject(StoreService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 43,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "LocaleService"
                    }
                }
            ],
            "methods": [
                {
                    "name": "getState",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<T>",
                    "typeParameters": [],
                    "line": 20,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "inheritance": {
                        "file": "LocaleService"
                    }
                },
                {
                    "name": "init",
                    "args": [
                        {
                            "name": "state",
                            "type": "T",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<EuiServiceStatus>",
                    "typeParameters": [],
                    "line": 34,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "jsdoctags": [
                        {
                            "name": "state",
                            "type": "T",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "LocaleService"
                    }
                },
                {
                    "name": "updateState",
                    "args": [
                        {
                            "name": "state",
                            "type": "T",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 24,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "jsdoctags": [
                        {
                            "name": "state",
                            "type": "T",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "LocaleService"
                    }
                },
                {
                    "name": "getSignal",
                    "args": [],
                    "optional": false,
                    "returnType": "Signal<T>",
                    "typeParameters": [],
                    "line": 225,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThis method is used to get the state as readonly signal.\n",
                    "description": "<p>This method is used to get the state as readonly signal.</p>\n",
                    "inheritance": {
                        "file": "LocaleService"
                    }
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 97,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "inheritance": {
                        "file": "LocaleService"
                    }
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { Injectable, LOCALE_ID, inject } from '@angular/core';\nimport { BehaviorSubject, Observable, of } from 'rxjs';\nimport { EuiServiceStatus, LocaleState } from '@eui/base';\nimport { LocaleService } from './locale.service';\nimport localeFr from '@angular/common/locales/fr';\nimport localeEl from '@angular/common/locales/el';\nimport { registerLocaleData } from '@angular/common';\n\n@Injectable()\nexport class LocaleServiceMock<T extends LocaleState = LocaleState> extends LocaleService<T> {\n    protected override locale_id: string = inject(LOCALE_ID, { optional: true });\n\n    private DEFAULT_LOCALE = 'en';\n    private stateSub: BehaviorSubject<T> = new BehaviorSubject<T>({ id: this.DEFAULT_LOCALE } as T);\n\n    constructor() {\n        super();\n    }\n\n    override getState(): Observable<T> {\n        return this.stateSub.asObservable();\n    }\n\n    override updateState(state: T): void {\n        this.DEFAULT_LOCALE = state.id || 'en';\n        if (state.id === 'fr') {\n            registerLocaleData(localeFr, 'fr');\n        } else if (state.id === 'el') {\n            registerLocaleData(localeEl, 'el');\n        }\n        this.stateSub.next(state);\n    }\n\n    override init(state?: T): Observable<EuiServiceStatus> {\n        this.DEFAULT_LOCALE = state.id || 'en';\n        return of({ success: true });\n    }\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 14
            },
            "extends": [
                "LocaleService"
            ],
            "type": "injectable"
        },
        {
            "name": "LocalForageService",
            "id": "injectable-LocalForageService-ab9054013299e2eb12caed24cca96ce703723369b811ce0f49e3cb0593bf63729d66cf5e5bb45712da160643bdc30daccc77efd5b6591be709a863ce3d5f31b2",
            "file": "packages/core/src/lib/services/storage/local-forage.service.ts",
            "properties": [
                {
                    "name": "config",
                    "defaultValue": "inject(LOCAL_FORAGE_SERVICE_CONFIG_TOKEN, { optional: true })",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 22,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "log",
                    "defaultValue": "inject(LogService, { optional: true })",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 23,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "NAME",
                    "defaultValue": "'LocalForageService'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 25,
                    "modifierKind": [
                        126
                    ]
                }
            ],
            "methods": [
                {
                    "name": "get",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<any>",
                    "typeParameters": [],
                    "line": 71,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nretrieve an object from localforage\n",
                    "description": "<p>retrieve an object from localforage</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2288,
                                "end": 2291,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "key"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2282,
                                "end": 2287,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the associated key</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 2319,
                                "end": 2326,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>one time emission Observable of value</p>\n"
                        }
                    ],
                    "inheritance": {
                        "file": "StorageService"
                    }
                },
                {
                    "name": "name",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 40,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nthe name of the storage service\n",
                    "description": "<p>the name of the storage service</p>\n",
                    "inheritance": {
                        "file": "StorageService"
                    }
                },
                {
                    "name": "ready",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<any>",
                    "typeParameters": [],
                    "line": 50,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nreflects the readiness of the storage\n",
                    "description": "<p>reflects the readiness of the storage</p>\n",
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 1611,
                                "end": 1618,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>one time emission Observable<void></p>\n"
                        }
                    ],
                    "inheritance": {
                        "file": "AsyncStorageService"
                    }
                },
                {
                    "name": "remove",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<any>",
                    "typeParameters": [],
                    "line": 116,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nremoves an object from localforage\n",
                    "description": "<p>removes an object from localforage</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 3806,
                                "end": 3809,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "key"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3800,
                                "end": 3805,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the associated key</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 3837,
                                "end": 3844,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>one time emission Observable</p>\n"
                        }
                    ],
                    "inheritance": {
                        "file": "StorageService"
                    }
                },
                {
                    "name": "set",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "value",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<any>",
                    "typeParameters": [],
                    "line": 94,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nsets an object in localforage\n",
                    "description": "<p>sets an object in localforage</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 3021,
                                "end": 3024,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "key"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3015,
                                "end": 3020,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the associated key</p>\n"
                        },
                        {
                            "name": {
                                "pos": 3058,
                                "end": 3063,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "value"
                            },
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3052,
                                "end": 3057,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the value to set</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 3089,
                                "end": 3096,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>one time emission Observable</p>\n"
                        }
                    ],
                    "inheritance": {
                        "file": "StorageService"
                    }
                },
                {
                    "name": "removeAsync",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 64,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nasynchronous helper for remove function\n",
                    "description": "<p>asynchronous helper for remove function</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2688,
                                "end": 2691,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "key"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2682,
                                "end": 2687,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the associated key</p>\n"
                        }
                    ],
                    "inheritance": {
                        "file": "AsyncStorageService"
                    }
                },
                {
                    "name": "setAsync",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "value",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 55,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nasynchronous helper for set function\n",
                    "description": "<p>asynchronous helper for set function</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2202,
                                "end": 2205,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "key"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2196,
                                "end": 2201,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the associated key</p>\n"
                        },
                        {
                            "name": {
                                "pos": 2239,
                                "end": 2244,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "value"
                            },
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2233,
                                "end": 2238,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the value to set</p>\n"
                        }
                    ],
                    "inheritance": {
                        "file": "AsyncStorageService"
                    }
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "<p>localforage service, using the localForage javascript library\n<a href=\"https://localforage.github.io/localForage\">https://localforage.github.io/localForage</a></p>\n",
            "rawdescription": "\n\nlocalforage service, using the localForage javascript library\nhttps://localforage.github.io/localForage\n",
            "sourceCode": "import { Injectable, InjectionToken, inject } from '@angular/core';\nimport { from, Observable } from 'rxjs';\nimport { take, tap } from 'rxjs/operators';\nimport * as lf from 'localforage';\nimport { AsyncStorageService } from './async-storage.service';\nimport { LogService } from '../log';\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\nexport const localForage: any = 'defineDriver' in lf ? lf : lf['default'];\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\nexport const LOCAL_FORAGE_SERVICE_CONFIG_TOKEN = new InjectionToken<any>('LOCAL_FORAGE_SERVICE_CONFIG');\n\n/**\n * localforage service, using the localForage javascript library\n * https://localforage.github.io/localForage\n */\n@Injectable()\nexport class LocalForageService extends AsyncStorageService {\n    protected config = inject(LOCAL_FORAGE_SERVICE_CONFIG_TOKEN, { optional: true });\n    protected log = inject(LogService, { optional: true });\n\n    static NAME = 'LocalForageService';\n\n    constructor() {\n        super();\n        const config = this.config;\n\n        // configure localforage, if specified\n        if (config) {\n            localForage.config(config);\n        }\n    }\n\n    /**\n     * the name of the storage service\n     */\n    name(): string {\n        return LocalForageService.NAME;\n    }\n\n    /**\n     * reflects the readiness of the storage\n     * @returns one time emission Observable<void>\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    ready(): Observable<any> {\n        return from(localForage.ready()).pipe(\n            take(1),\n            tap({\n                next: () => { /* empty */ },\n                error: (err) => {\n                    if (this.log) {\n                        this.log.error(this.name(), 'ready', err);\n                    }\n                },\n            }),\n        );\n    }\n\n    /**\n     * retrieve an object from localforage\n     * @param key the associated key\n     * @returns one time emission Observable of value\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(key: string): Observable<any> {\n        return from(localForage.getItem(key)).pipe(\n            take(1),\n            tap({\n                next: () => { /* empty */\n                },\n                error: (err) => {\n                    if (this.log) {\n                        this.log.error(this.name(), 'get', err);\n                    }\n                },\n            }),\n        );\n    }\n\n    /**\n     * sets an object in localforage\n     * @param key the associated key\n     * @param value the value to set\n     * @returns one time emission Observable\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(key: string, value: any): Observable<any> {\n        return from(localForage.setItem(key, value)).pipe(\n            take(1),\n            tap({\n                next: () => { /* empty */\n                },\n                error: (err) => {\n                    if (this.log) {\n                        this.log.error(this.name(), 'set', err);\n                    }\n                },\n            }),\n        );\n    }\n\n    /**\n     * removes an object from localforage\n     * @param key the associated key\n     * @returns one time emission Observable\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    remove(key: string): Observable<any> {\n        return from(localForage.removeItem(key)).pipe(\n            take(1),\n            tap({\n                next: () => { /* empty */ },\n                error: (err) => {\n                    if (this.log) {\n                        this.log.error(this.name(), 'remove', err);\n                    }\n                },\n            }),\n        );\n    }\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 25
            },
            "extends": [
                "AsyncStorageService"
            ],
            "type": "injectable"
        },
        {
            "name": "LocalStorageService",
            "id": "injectable-LocalStorageService-59769dea1d02409a0ff1c9ad9a02f065bd3773de46a1a0583a7b3980adbdb396133f5ea4d12962b9a2d1023233989fb59dc62eaca24db618b7b4461c93f02239",
            "file": "packages/core/src/lib/services/storage/local-storage.service.ts",
            "properties": [
                {
                    "name": "log",
                    "defaultValue": "inject(LogService, { optional: true })",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 12,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "NAME",
                    "defaultValue": "'LocalStorageService'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 11,
                    "modifierKind": [
                        126
                    ]
                }
            ],
            "methods": [
                {
                    "name": "get",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "any",
                    "typeParameters": [],
                    "line": 29,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nretrieve an object from local storage\n",
                    "description": "<p>retrieve an object from local storage</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 663,
                                "end": 666,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "key"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 657,
                                "end": 662,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the associated key</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 694,
                                "end": 701,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>the value or undefined, if case of error</p>\n"
                        }
                    ],
                    "inheritance": {
                        "file": "StorageService"
                    }
                },
                {
                    "name": "name",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 18,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nthe name of the storage service\n",
                    "description": "<p>the name of the storage service</p>\n",
                    "inheritance": {
                        "file": "StorageService"
                    }
                },
                {
                    "name": "remove",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 67,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nremoves an object from local storage\n",
                    "description": "<p>removes an object from local storage</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2133,
                                "end": 2136,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "key"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2127,
                                "end": 2132,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the associated key</p>\n"
                        }
                    ],
                    "inheritance": {
                        "file": "StorageService"
                    }
                },
                {
                    "name": "set",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "value",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 50,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nsets an object in local storage\n",
                    "description": "<p>sets an object in local storage</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 1421,
                                "end": 1424,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "key"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1415,
                                "end": 1420,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the associated key</p>\n"
                        },
                        {
                            "name": {
                                "pos": 1458,
                                "end": 1463,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "value"
                            },
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1452,
                                "end": 1457,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the value to set</p>\n"
                        }
                    ],
                    "inheritance": {
                        "file": "StorageService"
                    }
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "<p>localStorage service</p>\n",
            "rawdescription": "\n\nlocalStorage service\n",
            "sourceCode": "import { Injectable, PLATFORM_ID, inject } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { StorageService } from './storage.service';\nimport { LogService } from '../log/log.service';\n\n/**\n * localStorage service\n */\n@Injectable()\nexport class LocalStorageService extends StorageService {\n    static NAME = 'LocalStorageService';\n    protected log = inject(LogService, { optional: true });\n    private platformId = inject(PLATFORM_ID);\n\n    /**\n     * the name of the storage service\n     */\n    name(): string {\n        return LocalStorageService.NAME;\n    }\n\n    /**\n     * retrieve an object from local storage\n     * @param key the associated key\n     * @returns the value or undefined, if case of error\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(key: string): any {\n        if(isPlatformBrowser(this.platformId)) {\n            try {\n                const serialized = localStorage.getItem(key);\n                return serialized && JSON.parse(serialized);\n            } catch (err) {\n                if (this.log) {\n                    this.log.error(this.name(), 'get', err);\n                }\n                return undefined;\n            }\n        }\n    }\n\n    /**\n     * sets an object in local storage\n     * @param key the associated key\n     * @param value the value to set\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(key: string, value: any): void {\n        if(isPlatformBrowser(this.platformId)) {\n            try {\n                const serialized = JSON.stringify(value);\n                localStorage.setItem(key, serialized);\n            } catch (err) {\n                if (this.log) {\n                    this.log.error(this.name(), 'set', err);\n                }\n            }\n        }\n    }\n\n    /**\n     * removes an object from local storage\n     * @param key the associated key\n     */\n    remove(key: string): void {\n        if(isPlatformBrowser(this.platformId)) {\n            try {\n                localStorage.removeItem(key);\n            } catch (err) {\n                if (this.log) {\n                    this.log.error(this.name(), 'remove', err);\n                }\n            }\n        }\n    }\n}\n",
            "extends": [
                "StorageService"
            ],
            "type": "injectable"
        },
        {
            "name": "LogService",
            "id": "injectable-LogService-dcae8e6cbb38f654621eae60ab2a4a4dc26ffd257b5a7a95eafb43db90b00a0b7f413449cb67fc5c7ce6d53c258a4bf0e7b0842436cc2940eb17ab7bc03b100b",
            "file": "packages/core/src/lib/services/log/log.service.ts",
            "properties": [
                {
                    "name": "appenders",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "LogAppender[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 15,
                    "modifierKind": [
                        124,
                        164
                    ]
                },
                {
                    "name": "level",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "LogLevel",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 14,
                    "modifierKind": [
                        124,
                        164
                    ]
                },
                {
                    "name": "loggers",
                    "defaultValue": "{}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "object",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>the list of persistent loggers</p>\n",
                    "line": 18,
                    "rawdescription": "\nthe list of persistent loggers",
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "name",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 13,
                    "modifierKind": [
                        124,
                        164
                    ]
                }
            ],
            "methods": [
                {
                    "name": "getLogger",
                    "args": [
                        {
                            "name": "loggerName",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "persist",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "false"
                        }
                    ],
                    "optional": false,
                    "returnType": "Logger",
                    "typeParameters": [],
                    "line": 39,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nGets a logger by name. If the logger does not exist, it is created\n\n",
                    "description": "<p>Gets a logger by name. If the logger does not exist, it is created</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 1160,
                                "end": 1170,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "loggerName"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1154,
                                "end": 1159,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>logger name</p>\n"
                        },
                        {
                            "name": {
                                "pos": 1197,
                                "end": 1204,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "persist"
                            },
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "false",
                            "tagName": {
                                "pos": 1191,
                                "end": 1196,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>optional parameter. Set it to true if you want to reuse the logger. By default, it is set to false</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 1312,
                                "end": 1319,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>the logger</p>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "<p>Log service, responsible for getting or creating loggers. It itself acts as a base logger</p>\n",
            "rawdescription": "\n\nLog service, responsible for getting or creating loggers. It itself acts as a base logger\n",
            "sourceCode": "import { Injectable, InjectionToken, inject } from '@angular/core';\nimport { LogAppender, Logger, LogLevel } from '@eui/base';\n\nexport const BASE_LOGGER_NAME_TOKEN = new InjectionToken<string>('BASE_LOGGER_NAME');\nexport const LOG_LEVEL_TOKEN = new InjectionToken<LogLevel>('LOG_LEVEL');\nexport const LOG_APPENDERS_TOKEN = new InjectionToken<LogAppender[]>('LOG_APPENDERS');\n\n/**\n * Log service, responsible for getting or creating loggers. It itself acts as a base logger\n */\n@Injectable()\nexport class LogService extends Logger {\n    protected override name: string;\n    protected override level: LogLevel;\n    protected override appenders: LogAppender[];\n\n    /** the list of persistent loggers */\n    protected loggers = {};\n\n    constructor() {\n        const name = inject(BASE_LOGGER_NAME_TOKEN);\n        const level = inject<LogLevel>(LOG_LEVEL_TOKEN);\n        const appenders = inject(LOG_APPENDERS_TOKEN);\n\n        super(name, level, appenders);\n    \n        this.name = name;\n        this.level = level;\n        this.appenders = appenders;\n    }\n\n    /**\n     * Gets a logger by name. If the logger does not exist, it is created\n     *\n     * @param loggerName logger name\n     * @param persist optional parameter. Set it to true if you want to reuse the logger. By default, it is set to false\n     * @returns the logger\n     */\n    getLogger(loggerName: string, persist = false): Logger {\n        // create the logger, if necessary\n        const logger = (persist && <Logger>this.loggers[loggerName]) || new Logger(loggerName, this.level, this.appenders);\n\n        // if the logger is persistent, add it to the list of persistent loggers\n        if (persist) {\n            this.loggers[loggerName] = logger;\n        }\n\n        return logger;\n    }\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 18
            },
            "extends": [
                "Logger"
            ],
            "type": "injectable"
        },
        {
            "name": "SessionStorageService",
            "id": "injectable-SessionStorageService-a9e72796bef6f36a9eb3ef38d1a7e5079e9ff4dd3a65c34ee23d883227174b4bbce60362e1d880d76aecbb6c1a07467c8d8dca56846bec3c05bd841530d30718",
            "file": "packages/core/src/lib/services/storage/session-storage.service.ts",
            "properties": [
                {
                    "name": "log",
                    "defaultValue": "inject(LogService, { optional: true })",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "NAME",
                    "defaultValue": "'SessionStorageService'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 12,
                    "modifierKind": [
                        126
                    ]
                }
            ],
            "methods": [
                {
                    "name": "get",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "any",
                    "typeParameters": [],
                    "line": 28,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nretrieve an object from session storage\n",
                    "description": "<p>retrieve an object from session storage</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 562,
                                "end": 565,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "key"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 556,
                                "end": 561,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the associated key</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 593,
                                "end": 600,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>the value or undefined, if case of error</p>\n"
                        }
                    ],
                    "inheritance": {
                        "file": "StorageService"
                    }
                },
                {
                    "name": "name",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 17,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nthe name of the storage service\n",
                    "description": "<p>the name of the storage service</p>\n",
                    "inheritance": {
                        "file": "StorageService"
                    }
                },
                {
                    "name": "remove",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 62,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nremoves an object from session storage\n",
                    "description": "<p>removes an object from session storage</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 1854,
                                "end": 1857,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "key"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1848,
                                "end": 1853,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the associated key</p>\n"
                        }
                    ],
                    "inheritance": {
                        "file": "StorageService"
                    }
                },
                {
                    "name": "set",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "value",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 47,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nsets an object in session storage\n",
                    "description": "<p>sets an object in session storage</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 1229,
                                "end": 1232,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "key"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1223,
                                "end": 1228,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the associated key</p>\n"
                        },
                        {
                            "name": {
                                "pos": 1266,
                                "end": 1271,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "value"
                            },
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1260,
                                "end": 1265,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the value to set</p>\n"
                        }
                    ],
                    "inheritance": {
                        "file": "StorageService"
                    }
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "<p>sessionStorage service</p>\n",
            "rawdescription": "\n\nsessionStorage service\n",
            "sourceCode": "import { Injectable, inject } from '@angular/core';\nimport { StorageService } from './storage.service';\nimport { LogService } from '../log/log.service';\n\n/**\n * sessionStorage service\n */\n@Injectable()\nexport class SessionStorageService extends StorageService {\n    protected log = inject(LogService, { optional: true });\n\n    static NAME = 'SessionStorageService';\n\n    /**\n     * the name of the storage service\n     */\n    name(): string {\n        return SessionStorageService.NAME;\n    }\n\n    /**\n     * retrieve an object from session storage\n     * @param key the associated key\n     * @returns the value or undefined, if case of error\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(key: string): any {\n        try {\n            const serialized = sessionStorage.getItem(key);\n            return serialized && JSON.parse(serialized);\n        } catch (err) {\n            if (this.log) {\n                this.log.error(this.name(), 'get', err);\n            }\n            return undefined;\n        }\n    }\n\n    /**\n     * sets an object in session storage\n     * @param key the associated key\n     * @param value the value to set\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(key: string, value: any): void {\n        try {\n            const serialized = JSON.stringify(value);\n            sessionStorage.setItem(key, serialized);\n        } catch (err) {\n            if (this.log) {\n                this.log.error(this.name(), 'set', err);\n            }\n        }\n    }\n\n    /**\n     * removes an object from session storage\n     * @param key the associated key\n     */\n    remove(key: string): void {\n        try {\n            sessionStorage.removeItem(key);\n        } catch (err) {\n            if (this.log) {\n                this.log.error(this.name(), 'remove', err);\n            }\n        }\n    }\n}\n",
            "extends": [
                "StorageService"
            ],
            "type": "injectable"
        },
        {
            "name": "StoreService",
            "id": "injectable-StoreService-356d774f30f5ae097e1c7b8f06c44da3c41388f3fc86d5e09b3d64936633bdb76695c9694b64b7e4ab1c148bd8f8154c09a454a91f42ac9e86e78e131d1501db",
            "file": "packages/core/src/lib/services/store/store.service.ts",
            "properties": [
                {
                    "name": "_autoSaveHandlers",
                    "defaultValue": "{}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>autoSave handlers to call before saving in local Storage</p>\n",
                    "line": 31,
                    "rawdescription": "\n\nautoSave handlers to call before saving in local Storage\n",
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "logService",
                    "defaultValue": "inject(LogService, { optional: true })",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 25,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methods": [
                {
                    "name": "addAutoSaveHandler",
                    "args": [
                        {
                            "name": "stateSlice",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "handler",
                            "type": "Handler<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 92,
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "rawdescription": "\n\nAdd an autoSave handler for a specific state slice\n",
                    "description": "<p>Add an autoSave handler for a specific state slice</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 3373,
                                "end": 3383,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "stateSlice"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3367,
                                "end": 3372,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        },
                        {
                            "name": {
                                "pos": 3398,
                                "end": 3405,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "handler"
                            },
                            "type": "Handler<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3392,
                                "end": 3397,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        }
                    ]
                },
                {
                    "name": "handleAutoSave",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 96,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "init",
                    "args": [
                        {
                            "name": "version",
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "storageType",
                            "type": "BrowserStorageType",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 63,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "version",
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "storageType",
                            "type": "BrowserStorageType",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "saveState",
                    "args": [
                        {
                            "name": "state",
                            "type": "CoreState",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 160,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nfilters and save the state with the Browser storage\n",
                    "description": "<p>filters and save the state with the Browser storage</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 5792,
                                "end": 5797,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "state"
                            },
                            "type": "CoreState",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 5786,
                                "end": 5791,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>type of CoreState</p>\n"
                        }
                    ]
                },
                {
                    "name": "select",
                    "args": [
                        {
                            "name": "key",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<unknown>",
                    "typeParameters": [],
                    "line": 126,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "key",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "select",
                    "args": [
                        {
                            "name": "keyOrMapFn",
                            "type": "unknown | string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<Partial | K>",
                    "typeParameters": [
                        "K"
                    ],
                    "line": 127,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "keyOrMapFn",
                            "type": "unknown | string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "updateState",
                    "args": [
                        {
                            "name": "state",
                            "type": "DeepPartial<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 105,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThis method is used to update the state of the service with a new state.\n\n",
                    "description": "<p>This method is used to update the state of the service with a new state.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 3796,
                                "end": 3801,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "state"
                            },
                            "type": "DeepPartial<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3790,
                                "end": 3795,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        }
                    ]
                },
                {
                    "name": "updateState",
                    "args": [
                        {
                            "name": "slice",
                            "type": "DeepPartial<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "reducer",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "state",
                                    "type": "T",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                },
                                {
                                    "name": "action",
                                    "type": "DeepPartial<T>",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ]
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 111,
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in next version. Use updateState(partialState: DeepPartial<T>) instead",
                    "rawdescription": "\n\n",
                    "description": "",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 3987,
                                "end": 3992,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "slice"
                            },
                            "type": "DeepPartial<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3981,
                                "end": 3986,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        },
                        {
                            "name": {
                                "pos": 4007,
                                "end": 4014,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "reducer"
                            },
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "state",
                                    "type": "T",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                },
                                {
                                    "name": "action",
                                    "type": "DeepPartial<T>",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ],
                            "tagName": {
                                "pos": 4001,
                                "end": 4006,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        }
                    ]
                },
                {
                    "name": "updateState",
                    "args": [
                        {
                            "name": "state",
                            "type": "DeepPartial<K>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "reducer",
                            "type": "function",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "state",
                                    "type": "T",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                },
                                {
                                    "name": "action",
                                    "type": "DeepPartial<K>",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ]
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [
                        "K"
                    ],
                    "line": 112,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "state",
                            "type": "DeepPartial<K>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "reducer",
                            "type": "function",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "state",
                                    "type": "T",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                },
                                {
                                    "name": "action",
                                    "type": "DeepPartial<K>",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ],
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { Injectable, PLATFORM_ID, inject } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { Observable, BehaviorSubject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter, map } from 'rxjs/operators';\n\nimport { LogService } from '../log';\nimport { CoreState, DeepPartial, initialCoreState } from '@eui/base';\nimport { isEqual } from 'lodash-es';\nimport { loadState } from './reducers';\n\nexport enum BrowserStorageType {\n    local,\n    session,\n}\n\nexport type Handler<T> = (state: T[keyof T]) => Partial<T[keyof T]>\n\n// todo should stay here but all the store directory should be moved upper level\n@Injectable({\n    providedIn: 'root',\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\nexport class StoreService<T = any> {\n    protected logService = inject(LogService, { optional: true });\n    private platformId = inject(PLATFORM_ID);\n\n    /**\n     * autoSave handlers to call before saving in local Storage\n     */\n    protected _autoSaveHandlers: { [key: string]: Handler<T> } = {};\n    /** storage instance e.g. localStorage, sessionStorage */\n    private _storage: Storage;\n    private state: BehaviorSubject<T>;\n    private isHandlingAutoSave = false;\n\n    constructor() {\n        if (isPlatformBrowser(this.platformId)) {\n            try {\n                this._storage = localStorage;\n            } catch (e) {\n                // Storage access blocked (e.g. Firefox Enhanced Tracking Protection)\n                this._storage = null;\n            }\n        }\n\n        const initialState = {} as T;\n        this.state = new BehaviorSubject<T>(initialState);\n\n        // Subscribe to signal changes for auto-save\n        this.state.asObservable()\n            .pipe(\n                filter(() => this.isHandlingAutoSave),\n                debounceTime(1000),\n                distinctUntilChanged((prev, curr) => isEqual(prev, curr)),\n            )\n            .subscribe((state) => {\n                this.saveState(state as CoreState);\n            });\n\n    }\n\n    init(version?: string, storageType?: BrowserStorageType): void {\n        if (isPlatformBrowser(this.platformId)) {\n            // This action must be dispatched from an app initializer\n            // We load the state from a storage and compare the version and userId with the provided ones.\n            // If they are the same, we merge the local state into the initial state.\n            // If there is a mismatch, we don't merge the local state, but update only the initial state.\n\n            try {\n                this._storage = storageType === BrowserStorageType.session ? sessionStorage : localStorage;\n            } catch (e) {\n                // Storage access blocked (e.g. Firefox Enhanced Tracking Protection)\n                this._storage = null;\n            }\n\n            // load the state from the localStorage\n            let localState: CoreState = loadState<T>(this._storage) as CoreState;\n            localState = { ...localState, app: { ...localState?.app, version } };\n\n            const mergedState = this.deepMerge(localState, { ...initialCoreState }) as T;\n            this.updateState(mergedState);\n        }\n    }\n\n    /**\n     * Add an autoSave handler for a specific state slice\n     * @param stateSlice\n     * @param handler\n     * @deprecated it will be removed in the next major version\n     */\n    addAutoSaveHandler(stateSlice: string, handler: Handler<T>): void {\n        this._autoSaveHandlers[stateSlice] = handler;\n    }\n\n    handleAutoSave(): void {\n        this.isHandlingAutoSave = true;\n    }\n\n    /**\n     * This method is used to update the state of the service with a new state.\n     *\n     * @param state\n     */\n    updateState(state: DeepPartial<T>): void;\n    /**\n     * @deprecated it will be removed in next version. Use updateState(partialState: DeepPartial<T>) instead\n     * @param slice\n     * @param reducer\n     */\n    updateState(slice: DeepPartial<T>, reducer: (state: T, action: DeepPartial<T>) => T): void;\n    updateState<K extends T>(state: DeepPartial<K>, reducer?: (state: T, action: DeepPartial<K>) => T): void {\n        const currentState = this.state.getValue();\n        let newState: T;\n\n        if (reducer) {\n            newState = reducer(currentState, { ...state });\n        } else {\n            newState = this.deepMerge<T>(currentState, { ...state });\n        }\n        this.state.next(newState);\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    select(key?: any): Observable<T[any]>;\n    select<K>(keyOrMapFn?: ((state: T) => K) | string): Observable<Partial<K> | K> {\n        const baseObservable: Observable<T | K> = this.state.asObservable();\n\n        if (!keyOrMapFn) {\n            return baseObservable as Observable<K>;\n        }\n\n        if (typeof keyOrMapFn === 'function') {\n            return baseObservable.pipe(\n                map(state => keyOrMapFn(state as T)),\n                distinctUntilChanged((x, y) => isEqual(x, y)),\n            );\n        }\n\n        return baseObservable.pipe(\n            map(state => {\n                if (!keyOrMapFn) {\n                    return state;\n                }\n\n                const keys = keyOrMapFn.split('.');\n                return keys.reduce((acc, currKey) => {\n                    return acc && acc[currKey] !== undefined ? acc[currKey] : undefined;\n                }, state);\n            }),\n            distinctUntilChanged((x, y) => isEqual(x, y)),\n        );\n    }\n\n    /**\n     * filters and save the state with the Browser storage\n     * @param state type of CoreState\n     */\n    protected saveState(state: CoreState): void {\n        let stateToSave: CoreState = {\n            app: state.app,\n        };\n\n        if (state.user) {\n            const { userId, preferences } = state.user;\n            stateToSave.user = { userId, preferences };\n        }\n\n        Object.keys(this._autoSaveHandlers).forEach((sliceState: string) => {\n            const handler = this._autoSaveHandlers[sliceState];\n            stateToSave = Object.assign(stateToSave, { [sliceState]: handler(state[sliceState]) });\n        });\n\n        try {\n            const serializedState = JSON.stringify(stateToSave);\n            this._storage?.setItem('state', serializedState);\n        } catch (err) {\n            // Ignore write errors.\n        }\n    }\n\n    /**\n     * deep merge two objects\n     * @param target the object that will be merged into\n     * @param source the object that will be merged from\n     */\n    private deepMerge<T>(target: T, source: DeepPartial<T>): T {\n        const output = Object.assign({}, target);\n        if (this.isObject(target) && this.isObject(source)) {\n            Object.keys(source).forEach(key => {\n                if (this.isObject(source[key])) {\n                    if (!(key in target)) {\n                        Object.assign(output, { [key]: source[key] });\n                    } else {\n                        output[key] = this.deepMerge(target[key], source[key]);\n                    }\n                } else {\n                    Object.assign(output, { [key]: source[key] });\n                }\n            });\n        }\n        return output;\n    }\n\n    /**\n     * checks if the given item is an object\n     * @param item the item that will be checked\n     */\n    private isObject(item: unknown): item is object {\n        return item && typeof item === 'object' && !Array.isArray(item);\n    }\n\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 35
            },
            "extends": [],
            "type": "injectable"
        },
        {
            "name": "StoreServiceMock",
            "id": "injectable-StoreServiceMock-4a866820f5e868be6d9f788664cee03998a557eb11aec94a649fa61a4df0aa1a3a7a03217ccefcceacb99f606d25f9fc5d1ebdfcec7e95f13b4d209d0db8cf48",
            "file": "packages/core/src/lib/services/store/store.service.mock.ts",
            "properties": [
                {
                    "name": "_autoSaveHandlers",
                    "defaultValue": "{}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>autoSave handlers to call before saving in local Storage</p>\n",
                    "line": 31,
                    "rawdescription": "\n\nautoSave handlers to call before saving in local Storage\n",
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "StoreService"
                    }
                },
                {
                    "name": "logService",
                    "defaultValue": "inject(LogService, { optional: true })",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 25,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "StoreService"
                    }
                }
            ],
            "methods": [
                {
                    "name": "addAutoSaveHandler",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 15,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "inheritance": {
                        "file": "StoreService"
                    }
                },
                {
                    "name": "handleAutoSave",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 17,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "inheritance": {
                        "file": "StoreService"
                    }
                },
                {
                    "name": "init",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 13,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "inheritance": {
                        "file": "StoreService"
                    }
                },
                {
                    "name": "select",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<object>",
                    "typeParameters": [],
                    "line": 19,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "inheritance": {
                        "file": "StoreService"
                    }
                },
                {
                    "name": "saveState",
                    "args": [
                        {
                            "name": "state",
                            "type": "CoreState",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 160,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nfilters and save the state with the Browser storage\n",
                    "description": "<p>filters and save the state with the Browser storage</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 5792,
                                "end": 5797,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "state"
                            },
                            "type": "CoreState",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 5786,
                                "end": 5791,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>type of CoreState</p>\n"
                        }
                    ],
                    "inheritance": {
                        "file": "StoreService"
                    }
                },
                {
                    "name": "updateState",
                    "args": [
                        {
                            "name": "state",
                            "type": "DeepPartial<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 105,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThis method is used to update the state of the service with a new state.\n\n",
                    "description": "<p>This method is used to update the state of the service with a new state.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 3796,
                                "end": 3801,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "state"
                            },
                            "type": "DeepPartial<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3790,
                                "end": 3795,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        }
                    ],
                    "inheritance": {
                        "file": "StoreService"
                    }
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { Observable, of } from 'rxjs';\nimport { StoreService } from './store.service';\nimport { Injectable } from '@angular/core';\n\nexport const PLATFORM_BROWSER_ID = 'browser';\n\n@Injectable()\nexport class StoreServiceMock extends StoreService {\n    constructor() {\n        super();\n    }\n\n    override init(): void {/* empty */}\n\n    override addAutoSaveHandler(): void {/* empty */}\n\n    override handleAutoSave(): void {/* empty */}\n\n    override select(): Observable<object> {\n        return of({});\n    }\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 8
            },
            "extends": [
                "StoreService"
            ],
            "type": "injectable"
        },
        {
            "name": "TemplateEditorService",
            "id": "injectable-TemplateEditorService-3449633e2f4f49d58412d4efd7baddc92a33edb2ab73017850bb04a23003f98c3676403b93758c0a1a41db52ea06eeebfefabfca7ac314d17b79ce21cacb7ed0",
            "file": "packages/core/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": "UserService",
            "id": "injectable-UserService-2288af9854adb93c7c01c1018c960ad100dcc4f98110203ce61272535e29483c99be541b763a21878866e7207a40d3c9165784e3b329e4dcad1d2f921bcda091",
            "file": "packages/core/src/lib/services/user/user.service.ts",
            "properties": [
                {
                    "name": "store",
                    "defaultValue": "inject(StoreService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 14,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methods": [
                {
                    "name": "getSignal",
                    "args": [],
                    "optional": false,
                    "returnType": "Signal<T>",
                    "typeParameters": [],
                    "line": 112,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThis method is used to get the signal of the service.\n",
                    "description": "<p>This method is used to get the signal of the service.</p>\n"
                },
                {
                    "name": "getState",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<T>",
                    "typeParameters": [],
                    "line": 53,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "getState",
                    "args": [
                        {
                            "name": "mapFn",
                            "type": "function",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "state",
                                    "type": "T",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ]
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<K>",
                    "typeParameters": [
                        "K"
                    ],
                    "line": 58,
                    "deprecated": true,
                    "deprecationMessage": "this will be removed in a future version",
                    "rawdescription": "\n\n",
                    "description": "",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2062,
                                "end": 2067,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "mapFn"
                            },
                            "type": "function",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "state",
                                    "type": "T",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ],
                            "tagName": {
                                "pos": 2056,
                                "end": 2061,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        }
                    ]
                },
                {
                    "name": "getState",
                    "args": [
                        {
                            "name": "key",
                            "type": "a",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<DeepPartial<a>>",
                    "typeParameters": [
                        "a"
                    ],
                    "line": 59,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "key",
                            "type": "a",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getState",
                    "args": [
                        {
                            "name": "keyOrMapFn",
                            "type": "unknown | string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<DeepPartial<K>>",
                    "typeParameters": [
                        "K"
                    ],
                    "line": 60,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "keyOrMapFn",
                            "type": "unknown | string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "init",
                    "args": [
                        {
                            "name": "state",
                            "type": "T",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<EuiServiceStatus>",
                    "typeParameters": [],
                    "line": 43,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "state",
                            "type": "T",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "updateState",
                    "args": [
                        {
                            "name": "state",
                            "type": "DeepPartial<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 92,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThis method is used to update the state of the service with a new state.\n\n",
                    "description": "<p>This method is used to update the state of the service with a new state.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 3361,
                                "end": 3366,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "state"
                            },
                            "type": "DeepPartial<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3355,
                                "end": 3360,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        }
                    ]
                },
                {
                    "name": "updateState",
                    "args": [
                        {
                            "name": "slice",
                            "type": "DeepPartial<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "reducer",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "state",
                                    "type": "T",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                },
                                {
                                    "name": "action",
                                    "type": "DeepPartial<T>",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ]
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 98,
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in next version. Use updateState(partialState: DeepPartial<T>) instead",
                    "rawdescription": "\n\n",
                    "description": "",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 3552,
                                "end": 3557,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "slice"
                            },
                            "type": "DeepPartial<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3546,
                                "end": 3551,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        },
                        {
                            "name": {
                                "pos": 3572,
                                "end": 3579,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "reducer"
                            },
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "state",
                                    "type": "T",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                },
                                {
                                    "name": "action",
                                    "type": "DeepPartial<T>",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ],
                            "tagName": {
                                "pos": 3566,
                                "end": 3571,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        }
                    ]
                },
                {
                    "name": "updateState",
                    "args": [
                        {
                            "name": "state",
                            "type": "DeepPartial<K>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "reducer",
                            "type": "function",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "state",
                                    "type": "T",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                },
                                {
                                    "name": "action",
                                    "type": "DeepPartial<K>",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ]
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [
                        "K"
                    ],
                    "line": 99,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "state",
                            "type": "DeepPartial<K>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "reducer",
                            "type": "function",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "state",
                                    "type": "T",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                },
                                {
                                    "name": "action",
                                    "type": "DeepPartial<K>",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ],
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { Injectable, Signal, inject } from '@angular/core';\nimport { BehaviorSubject, type Observable } from 'rxjs';\nimport { of } from 'rxjs/internal/observable/of';\nimport { DeepPartial, EuiService, EuiServiceStatus, UserState } from '@eui/base';\nimport { StoreService } from '../store';\nimport { distinctUntilChanged, map } from 'rxjs/operators';\nimport { isEqual } from 'lodash-es';\nimport { toSignal } from '@angular/core/rxjs-interop';\n\n@Injectable({\n    providedIn: 'root',\n})\nexport class UserService<T extends UserState = UserState> extends EuiService<T | UserState> {\n    protected store = inject(StoreService);\n\n    private static readonly DEFAULT_STATE: UserState = { userId: 'annonymous' };\n\n    /**\n     * a single signal holding the state - initial state is null\n     */\n    private state: Signal<T>;\n    /**\n     * a BehaviorSubject holding the state - initial state is null\n     * This is the main source of truth for the state\n     */\n    private stateSubject: BehaviorSubject<T>;\n\n    constructor() {\n        super(UserService.DEFAULT_STATE as T);\n        // Create a BehaviorSubject with the initial state\n        this.stateSubject = new BehaviorSubject<T>(this.stateInstance as T);\n\n        // Initialize signal with base state\n        this.state = toSignal(this.stateSubject, { equal: isEqual });\n\n        // Subscribe to base class state changes\n        this.onStateChange.subscribe((newState) => {\n            const clonedState = structuredClone(newState as T);\n            this.stateSubject.next(clonedState);\n        });\n    }\n\n    init(state: T): Observable<EuiServiceStatus> {\n        super.initEuiService();\n        if (Object.prototype.hasOwnProperty.call(state, 'userId')) {\n            // Let base class handle state update\n            this.updateState(state);\n            return of({ success: true });\n        }\n        return of({ success: false, error: 'Init object should be instance of BaseUserState' });\n    }\n\n    getState(): Observable<T>;\n    /**\n     * @deprecated this will be removed in a future version\n     * @param mapFn\n     */\n    getState<K = T>(mapFn?: (state: T) => K): Observable<K>;\n    getState<a extends keyof DeepPartial<T>>(key?: a): Observable<DeepPartial<a>>;\n    getState<K = T>(keyOrMapFn?: ((state: T) => K) | string): Observable<DeepPartial<K>> {\n        if (!keyOrMapFn) {\n            return this.stateSubject.asObservable().pipe(\n                distinctUntilChanged((x, y) => isEqual(x, y)),\n            ) as Observable<DeepPartial<K>>;\n        }\n\n        if (typeof keyOrMapFn === 'function') {\n            return this.stateSubject.asObservable().pipe(\n                map(state => keyOrMapFn(state)),\n                distinctUntilChanged((x, y) => isEqual(x, y)),\n            );\n        }\n\n        return this.stateSubject.asObservable().pipe(\n            map(state => {\n                const keys = (keyOrMapFn as string).split('.');\n\n                // Traverse the object based on the dot notation\n                return keys.reduce((acc, currKey) => {\n                    return acc && acc[currKey] !== undefined ? acc[currKey] : undefined;\n                }, state as DeepPartial<T>);\n            }),\n            distinctUntilChanged((x, y) => isEqual(x, y)),\n        );\n    }\n\n    /**\n     * This method is used to update the state of the service with a new state.\n     *\n     * @param state\n     */\n    updateState(state: DeepPartial<T>): void;\n    /**\n     * @deprecated it will be removed in next version. Use updateState(partialState: DeepPartial<T>) instead\n     * @param slice\n     * @param reducer\n     */\n    updateState(slice: DeepPartial<T>, reducer: (state: T, action: DeepPartial<T>) => T): void;\n    updateState<K extends T>(state: DeepPartial<K>, reducer?: (state: T, action: DeepPartial<K>) => T): void {\n        if (reducer) {\n            this.stateInstance = reducer(this.stateInstance as T, state);\n        } else {\n            this.stateInstance = super.deepMerge(this.stateInstance as T, state);\n        }\n        // Emit state change\n        this.onStateChange.next(this.stateInstance);\n    }\n\n    /**\n     * This method is used to get the signal of the service.\n     */\n    getSignal(): Signal<T> {\n        return this.state;\n    }\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 26
            },
            "extends": [
                "EuiService"
            ],
            "type": "injectable"
        },
        {
            "name": "UserServiceMock",
            "id": "injectable-UserServiceMock-58fff270107f128a1d711667a3fb4f31d657ed0a882f1b94d5692d9e9dd5d9a8e4aafa953cac96ec8acb392ad16ce1415bc4c0bbbd82eaeae2c556cfd279466b",
            "file": "packages/core/src/lib/services/user/user.service.mock.ts",
            "properties": [
                {
                    "name": "store",
                    "defaultValue": "inject(StoreService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 14,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "UserService"
                    }
                }
            ],
            "methods": [
                {
                    "name": "getState",
                    "args": [
                        {
                            "name": "mapFn",
                            "type": "function",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "state",
                                    "type": "T",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ]
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<K>",
                    "typeParameters": [
                        "K"
                    ],
                    "line": 16,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "jsdoctags": [
                        {
                            "name": "mapFn",
                            "type": "function",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "state",
                                    "type": "T",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ],
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "UserService"
                    }
                },
                {
                    "name": "getState",
                    "args": [
                        {
                            "name": "key",
                            "type": "a",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<unknown>",
                    "typeParameters": [
                        "a"
                    ],
                    "line": 17,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "jsdoctags": [
                        {
                            "name": "key",
                            "type": "a",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getState",
                    "args": [
                        {
                            "name": "keyOrMapFn",
                            "type": "unknown | string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<K>",
                    "typeParameters": [
                        "K"
                    ],
                    "line": 18,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "jsdoctags": [
                        {
                            "name": "keyOrMapFn",
                            "type": "unknown | string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "init",
                    "args": [
                        {
                            "name": "userState",
                            "type": "UserState",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<EuiServiceStatus>",
                    "typeParameters": [],
                    "line": 12,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "jsdoctags": [
                        {
                            "name": "userState",
                            "type": "UserState",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "UserService"
                    }
                },
                {
                    "name": "updateState",
                    "args": [
                        {
                            "name": "userState",
                            "type": "UserState",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 22,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "jsdoctags": [
                        {
                            "name": "userState",
                            "type": "UserState",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "UserService"
                    }
                },
                {
                    "name": "updateState",
                    "args": [
                        {
                            "name": "slice",
                            "type": "T",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "reducer",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "state",
                                    "type": "any",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                },
                                {
                                    "name": "action",
                                    "type": "T",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ]
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [
                        "a"
                    ],
                    "line": 25,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "jsdoctags": [
                        {
                            "name": "slice",
                            "type": "T",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "reducer",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "state",
                                    "type": "any",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                },
                                {
                                    "name": "action",
                                    "type": "T",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ],
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "updateState",
                    "args": [
                        {
                            "name": "userState",
                            "type": "K | T",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "reducer",
                            "type": "unknown",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [
                        "K"
                    ],
                    "line": 26,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "jsdoctags": [
                        {
                            "name": "userState",
                            "type": "K | T",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "reducer",
                            "type": "unknown",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getSignal",
                    "args": [],
                    "optional": false,
                    "returnType": "Signal<T>",
                    "typeParameters": [],
                    "line": 112,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThis method is used to get the signal of the service.\n",
                    "description": "<p>This method is used to get the signal of the service.</p>\n",
                    "inheritance": {
                        "file": "UserService"
                    }
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { Observable, of } from 'rxjs';\nimport { UserService } from './user.service';\nimport { Injectable } from '@angular/core';\nimport { EuiServiceStatus, UserState } from '@eui/base';\n\n@Injectable()\nexport class UserServiceMock<T> extends UserService {\n    constructor() {\n        super();\n    }\n\n    override init(userState: UserState): Observable<EuiServiceStatus> {\n        return of({ success: true });\n    }\n\n    override getState<K = T>(mapFn?: (state: T) => K): Observable<K>;\n    override getState<a extends keyof T>(key?: a): Observable<T[a]>;\n    override getState<K>(keyOrMapFn?: ((state: T) => K) | string): Observable<K> {\n        return of({} as K);\n    }\n\n    override updateState(userState: UserState): 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    override updateState<a extends keyof T>(slice: T[a], reducer: (state: any, action: T[a]) => any): void;\n    override updateState<K>(userState: K | T, reducer?: unknown): void {\n        /* empty */\n    }\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 7
            },
            "extends": [
                "UserService"
            ],
            "type": "injectable"
        },
        {
            "name": "ZipExportService",
            "id": "injectable-ZipExportService-27cbedd9512a28e81ed0c36d7f35cf2653b390e7d2102329da83a3a07c7c8a201c26ddd64555da6645ab6538afe9174c0c964fd589ab3c66618b7f5a777f7285",
            "file": "packages/core/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": [
        {
            "name": "AddLangParamInterceptor",
            "id": "injectable-AddLangParamInterceptor-e19ed15119330da32167624d245ecd0da94bb110a17d8285e1c01e5bd679a012435197dfaf9b64ae7dc0ee2558ab9adb1fa7a54fba103d5e1beaf3acbfc8f1d4",
            "file": "packages/core/src/lib/interceptors/add-lang-param.interceptor.ts",
            "properties": [
                {
                    "name": "translateService",
                    "defaultValue": "inject(TranslateService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 14,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methods": [
                {
                    "name": "intercept",
                    "args": [
                        {
                            "name": "req",
                            "type": "HttpRequest<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "next",
                            "type": "HttpHandler",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<HttpEvent<T>>",
                    "typeParameters": [
                        "T"
                    ],
                    "line": 16,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "req",
                            "type": "HttpRequest<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "next",
                            "type": "HttpHandler",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "<p>Interceptor for adding the current language as parameter\nAdd the header (LANG_PARAM_KEY, <language parameter>) to your request http headers</p>\n",
            "rawdescription": "\n\nInterceptor for adding the current language as parameter\nAdd the header (LANG_PARAM_KEY, <language parameter>) to your request http headers\n",
            "sourceCode": "import { Injectable, inject } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { TranslateService } from '@ngx-translate/core';\n\nexport const LANG_PARAM_KEY = 'X-Lang-Param';\n\n/**\n * Interceptor for adding the current language as parameter\n * Add the header (LANG_PARAM_KEY, <language parameter>) to your request http headers\n */\n@Injectable()\nexport class AddLangParamInterceptor implements HttpInterceptor {\n    protected translateService = inject(TranslateService);\n\n    intercept<T>(req: HttpRequest<T>, next: HttpHandler): Observable<HttpEvent<T>> {\n        // take the lang param name from header, if specified\n        const langParam = req.headers.get(LANG_PARAM_KEY);\n\n        // if not specified, do nothing\n        if (!langParam) {\n            return next.handle(req);\n        }\n\n        // take the current language from the translate service\n        const langValue = this.translateService.currentLang;\n\n        return next.handle(\n            req.clone({\n                // remove the lang param header from headers\n                headers: req.headers.delete(LANG_PARAM_KEY),\n                // set the lang value as new parameter\n                params: req.params.set(langParam, langValue),\n            }),\n        );\n    }\n}\n",
            "extends": [],
            "type": "interceptor"
        },
        {
            "name": "CachePreventionInterceptor",
            "id": "injectable-CachePreventionInterceptor-a9e63970843494fa45ad0c778d79f3348ddddc70febe307b96266cb1befc092c7da8c46d55c11fd043a41d340f7a263bd4a2d3bf4aeaffb1df1733df9d8e9bfc",
            "file": "packages/core/src/lib/interceptors/cache-prevention.interceptor.ts",
            "properties": [],
            "methods": [
                {
                    "name": "intercept",
                    "args": [
                        {
                            "name": "req",
                            "type": "HttpRequest<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "next",
                            "type": "HttpHandler",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<HttpEvent<T>>",
                    "typeParameters": [
                        "T"
                    ],
                    "line": 7,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "req",
                            "type": "HttpRequest<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "next",
                            "type": "HttpHandler",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { Injectable } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class CachePreventionInterceptor implements HttpInterceptor {\n    intercept<T>(req: HttpRequest<T>, next: HttpHandler): Observable<HttpEvent<T>> {\n        // if Cache-Control is already specified\n        if (req.headers.get('Cache-Control')) {\n            // keep the current configuration\n            return next.handle(req);\n        }\n\n        return next.handle(\n            req.clone({\n                // prevent the cache\n                headers: req.headers.set('Cache-Control', 'No-Cache'),\n            }),\n        );\n    }\n}\n",
            "extends": [],
            "type": "interceptor"
        },
        {
            "name": "CorsSecurityInterceptor",
            "id": "injectable-CorsSecurityInterceptor-e685c935ef252a761cd337f9639274cd2366393243d5809d79ea82b4dd00dd8c6d057af6ebfc6248478dabb6fa065df1ddab68376ba8f3ce7da920cd5724339f",
            "file": "packages/core/src/lib/interceptors/cors-security.interceptor.ts",
            "properties": [],
            "methods": [
                {
                    "name": "intercept",
                    "args": [
                        {
                            "name": "request",
                            "type": "HttpRequest<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "next",
                            "type": "HttpHandler",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<HttpEvent<T>>",
                    "typeParameters": [
                        "T"
                    ],
                    "line": 7,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "request",
                            "type": "HttpRequest<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "next",
                            "type": "HttpHandler",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { Injectable } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class CorsSecurityInterceptor implements HttpInterceptor {\n    intercept<T>(request: HttpRequest<T>, next: HttpHandler): Observable<HttpEvent<T>> {\n        return next.handle(\n            request.clone({\n                withCredentials: true,\n            }),\n        );\n    }\n}\n",
            "extends": [],
            "type": "interceptor"
        },
        {
            "name": "CsrfPreventionInterceptor",
            "id": "injectable-CsrfPreventionInterceptor-b24f75de65da1f755d1db4f7aaa502ba70c625b86a06aa8b0f243c959e392127412dd753cff037dfe95fb7e1967a21b7f32d44d62151603981a0e9e0f973ff47",
            "file": "packages/core/src/lib/interceptors/csrf-prevention.interceptor.ts",
            "properties": [],
            "methods": [
                {
                    "name": "intercept",
                    "args": [
                        {
                            "name": "request",
                            "type": "HttpRequest<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "next",
                            "type": "HttpHandler",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<HttpEvent<T>>",
                    "typeParameters": [
                        "T"
                    ],
                    "line": 7,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "request",
                            "type": "HttpRequest<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "next",
                            "type": "HttpHandler",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { Injectable } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class CsrfPreventionInterceptor implements HttpInterceptor {\n    intercept<T>(request: HttpRequest<T>, next: HttpHandler): Observable<HttpEvent<T>> {\n        return next.handle(\n            request.clone({\n                headers: request.headers.set('X-Requested-With', 'XMLHttpRequest'),\n            }),\n        );\n    }\n}\n",
            "extends": [],
            "type": "interceptor"
        },
        {
            "name": "EuLoginSessionTimeoutHandlingInterceptor",
            "id": "injectable-EuLoginSessionTimeoutHandlingInterceptor-bae77523d3ee530142421ca60993222c56bd49a5d36da4cf4198c537ed455a5612e6d9ebcebef9c23a15a369ca676020be1733163ab63d001c125a9701e3002f",
            "file": "packages/core/src/lib/interceptors/eu-login-session-timeout-handling.interceptor.ts",
            "properties": [],
            "methods": [
                {
                    "name": "checkRequestErrorForEULoginSessionTimeout",
                    "args": [
                        {
                            "name": "request",
                            "type": "HttpRequest<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "response",
                            "type": "HttpResponseBase",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [
                        "T"
                    ],
                    "line": 40,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "request",
                            "type": "HttpRequest<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "response",
                            "type": "HttpResponseBase",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "checkRequestSuccessForEULoginSessionTimeout",
                    "args": [
                        {
                            "name": "request",
                            "type": "HttpRequest<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "event",
                            "type": "HttpEvent<E>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [
                        "T",
                        "E"
                    ],
                    "line": 32,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "request",
                            "type": "HttpRequest<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "event",
                            "type": "HttpEvent<E>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "intercept",
                    "args": [
                        {
                            "name": "request",
                            "type": "HttpRequest<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "next",
                            "type": "HttpHandler",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<HttpEvent<T>>",
                    "typeParameters": [
                        "T"
                    ],
                    "line": 18,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "request",
                            "type": "HttpRequest<T>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "next",
                            "type": "HttpHandler",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isSsoResponse",
                    "args": [
                        {
                            "name": "body",
                            "type": "string | body",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 44,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "body",
                            "type": "string | body",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "reauthenticate",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 81,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { Injectable } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse, HttpResponseBase } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\ninterface body {\n    success: boolean;\n    status: string;\n    code: number;\n    message: string;\n}\n\n// The EuLoginSessionTimeoutHandlingInterceptor assumes that the EU login client is configured with:\n// <redirectionInterceptor>eu.cec.digit.ecas.client.http.ajax.JsonAjaxRedirectionInterceptor</redirectionInterceptor>\n// WARNING: The default EU login client behaviour that provides the JSON-un-parsable login HTML page, is no longer supported!\n@Injectable()\nexport class EuLoginSessionTimeoutHandlingInterceptor implements HttpInterceptor {\n    intercept<T extends body>(request: HttpRequest<T>, next: HttpHandler): Observable<HttpEvent<T>> {\n        return next.handle(request).pipe(\n            tap({\n                next: (event) => {\n                    this.checkRequestSuccessForEULoginSessionTimeout(request, event);\n                    return event;\n                },\n                error: (error) => {\n                    this.checkRequestErrorForEULoginSessionTimeout(request, error);\n                },\n            }),\n        );\n    }\n\n    protected checkRequestSuccessForEULoginSessionTimeout<T extends body, E>(request: HttpRequest<T>, event: HttpEvent<E>): void {\n        if (event instanceof HttpResponse) {\n            if (this.isSsoResponse((<HttpResponse<string | body>>event).body)) {\n                this.reauthenticate();\n            }\n        }\n    }\n\n    protected checkRequestErrorForEULoginSessionTimeout<T = unknown>(request: HttpRequest<T>, response: HttpResponseBase): void {\n        /* intentionally blank; meant for overriding */\n    }\n\n    protected isSsoResponse(body: string | body): boolean {\n        if (body) {\n            if (typeof body !== 'string') {\n                return (\n                    body.success === false &&\n                    body.status === 'ECAS_AUTHENTICATION_REQUIRED' &&\n                    body.code === 303 &&\n                    body.message === 'session expired'\n                );\n            } else {\n                const html = body;\n                try {\n                    return (\n                        (html.indexOf('<meta name=\"Keywords\" content=\"EU Login, ECAS, Authentication, Security\" />') >= 0 &&\n                            html.indexOf('<meta name=\"Description\" content=\"EU Login\" />') >= 0) ||\n                        html.indexOf('<meta name=\"Description\" content=\"European Commission Authentication Service\" />') >= 0 ||\n                        html.indexOf('<title>Mock Login Form</title>') >= 0 ||\n                        html.indexOf('<title>Redirecting To ECAS</title>') >= 0 ||\n                        html === '{ success : false, status : \"ECAS_AUTHENTICATION_REQUIRED\", code : 303, message : \"session expired\" }' ||\n                        // eslint-disable-next-line max-len\n                        JSON.stringify(JSON.parse(html)) ===\n                            JSON.stringify({\n                                success: false,\n                                status: 'ECAS_AUTHENTICATION_REQUIRED',\n                                code: 303,\n                                message: 'session expired',\n                            })\n                    );\n                } catch (e) {\n                    return false;\n                }\n            }\n        } else {\n            return false;\n        }\n    }\n\n    protected reauthenticate(): void {\n        document.location.reload();\n    }\n}\n",
            "extends": [],
            "type": "interceptor"
        },
        {
            "name": "HttpErrorHandlerInterceptor",
            "id": "injectable-HttpErrorHandlerInterceptor-7d61fdad3329ee50afac8f5bfb7a9dccad33b27199bbbcf58daf0ad866e2a138ccd68bc8c8165341398791d39ccc59cea068ac0b29e2ad3d4045330bec80975b",
            "file": "packages/core/src/lib/services/errors/http-error-handler.interceptor.ts",
            "properties": [
                {
                    "name": "config",
                    "defaultValue": "inject<HttpErrorHandlerConfig>(HTTP_ERROR_HANDLER_CONFIG_TOKEN) ?? DEFAULT_HTTP_ERROR_HANDLER_CONFIG",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 13,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "injector",
                    "defaultValue": "inject(Injector)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 14,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "router",
                    "defaultValue": "inject(Router)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 15,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methods": [
                {
                    "name": "getRouteConfig",
                    "args": [
                        {
                            "name": "error",
                            "type": "HttpErrorResponse",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "HttpErrorRouteConfig | null",
                    "typeParameters": [],
                    "line": 50,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSearch in the configuration for the first matching route\n\n",
                    "description": "<p>Search in the configuration for the first matching route</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2246,
                                "end": 2251,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "error"
                            },
                            "type": "HttpErrorResponse",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2240,
                                "end": 2245,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>http error response</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 2280,
                                "end": 2287,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>HttpErrorRouteConfig or null</p>\n"
                        }
                    ]
                },
                {
                    "name": "intercept",
                    "args": [
                        {
                            "name": "req",
                            "type": "HttpRequest<any>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "next",
                            "type": "HttpHandler",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<HttpEvent<any>>",
                    "typeParameters": [],
                    "line": 19,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "req",
                            "type": "HttpRequest<any>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "next",
                            "type": "HttpHandler",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { Injectable, Injector, inject } from '@angular/core';\nimport { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\nimport { HttpErrorHandlerConfig, HttpErrorRouteConfig } from '@eui/base';\nimport { HTTP_ERROR_HANDLER_CONFIG_TOKEN } from '../config/tokens';\nimport { DEFAULT_HTTP_ERROR_HANDLER_CONFIG } from '../config/defaults';\n\n@Injectable()\nexport class HttpErrorHandlerInterceptor implements HttpInterceptor {\n    protected config = inject<HttpErrorHandlerConfig>(HTTP_ERROR_HANDLER_CONFIG_TOKEN) ?? DEFAULT_HTTP_ERROR_HANDLER_CONFIG;\n    protected injector = inject(Injector);\n    protected router = inject(Router);\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    intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n        return next.handle(req).pipe(\n            tap({\n                next: () => { /* empty */ },\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                error: (error: any) => {\n                    // in case of http error\n                    if (error instanceof HttpErrorResponse) {\n                        const routeConfig = this.getRouteConfig(error);\n                        const rule = routeConfig && (routeConfig[error.status] || routeConfig.default);\n\n                        if (typeof rule === 'string') {\n                            // perform a redirect\n                            this.router.navigate([rule]);\n                        } else if (typeof rule === 'function') {\n                            // callback function\n                            rule.call(null, error, this.injector);\n                        }\n                    }\n                },\n            }),\n        );\n    }\n\n    /**\n     * Search in the configuration for the first matching route\n     *\n     * @param error http error response\n     * @returns HttpErrorRouteConfig or null\n     */\n    protected getRouteConfig(error: HttpErrorResponse): HttpErrorRouteConfig | null {\n        // filter the routes\n        const routes = this.config.routes.filter((route) => {\n            const regex = new RegExp('^' + route.path.split('*').join('.*') + '$');\n            return regex.test(error.url) && (typeof route[error.status] !== 'undefined' || typeof route.default !== 'undefined');\n        });\n        // return the first matching route, if any\n        return routes.length > 0 ? routes[0] : null;\n    }\n}\n",
            "extends": [],
            "type": "interceptor"
        },
        {
            "name": "UxRequestErrorModelInterceptor",
            "id": "injectable-UxRequestErrorModelInterceptor-c3b8e1b08806c278d09270cfddf2a0b325ec49a6d8d2a1d0dbe6eb599acc527635395d1f8fe6d5ad0b4c40bc0f9b17ae9eb62549fb6ef8a7825b82ac0ecdba87",
            "file": "packages/core/src/lib/interceptors/ux-request-error-model.interceptor.ts",
            "properties": [],
            "methods": [
                {
                    "name": "intercept",
                    "args": [
                        {
                            "name": "req",
                            "type": "HttpRequest<any>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "next",
                            "type": "HttpHandler",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<HttpEvent<any>>",
                    "typeParameters": [],
                    "line": 21,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "req",
                            "type": "HttpRequest<any>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "next",
                            "type": "HttpHandler",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { Injectable, InjectionToken, inject } from '@angular/core';\nimport {\n    HttpErrorResponse,\n    HttpEvent,\n    HttpHandler,\n    HttpInterceptor,\n    HttpRequest,\n} from '@angular/common/http';\nimport { Observable, of } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { ErrorMappingHandler, transformToUxHttpResponse, UxHttpErrorResponse } from '@eui/base';\n\nexport const UX_ERROR_MAPPING_HANDLER_TOKEN = new InjectionToken<ErrorMappingHandler>('UX_ERROR_MAPPING_HANDLER');\n\n@Injectable()\nexport class UxRequestErrorModelInterceptor implements HttpInterceptor {\n    private errorMappingHandler = inject<ErrorMappingHandler>(UX_ERROR_MAPPING_HANDLER_TOKEN);\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    intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n        return next.handle(req).pipe(\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            catchError((err: any) => {\n                if (this.errorMappingHandler) {\n                    if (err instanceof HttpErrorResponse) {\n                        err = transformToUxHttpResponse(err, this.errorMappingHandler) as UxHttpErrorResponse;\n                    }\n                }\n                return of(err);\n            }),\n        );\n    }\n}\n",
            "extends": [],
            "type": "interceptor"
        }
    ],
    "classes": [
        {
            "name": "ActivatedRouteAction",
            "id": "class-ActivatedRouteAction-5a0021944eebf7364a2f4cfc7756e42cc52373839b90052a310886613f92b4074aa4c8824176e5dfa74a590b81e29d75f48b4ad10d81d9aec739b26e82905130",
            "file": "packages/core/src/lib/services/store/actions/app.actions.ts",
            "deprecated": true,
            "deprecationMessage": "it will be removed in the next major version",
            "type": "class",
            "sourceCode": "import { ActivatedRoute } from '@angular/router';\nimport { Action } from '../ngrx_kit';\nimport { ModuleConfig, ApiQueueItem } from '@eui/base';\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport enum CoreAppActionTypes {\n    INIT_STORE = '[App] Init store',\n    UPDATE_APP_VERSION = '[App] Update version',\n    UPDATE_APP_CONNECTION = '[App] Update connection',\n    ADD_APP_LOADED_CONFIG_MODULES = '[App] Update app loaded config modules',\n    UPDATE_APP_STATUS = '[App] Update status',\n    UPDATE_CURRENT_MODULE = '[App] Update current module',\n    ACTIVATED_ROUTE = '[App] Activated route',\n    ADD_API_QUEUE_ITEM = '[App] Add API queue item',\n    REMOVE_API_QUEUE_ITEM = '[App] Remove API queue item',\n    EMPTY_API_QUEUE = '[App] empty API queue',\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class InitStoreAction implements Action {\n    type = CoreAppActionTypes.INIT_STORE;\n\n    constructor(public payload: { version?: string }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppVersionAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_VERSION;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppConnectionAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_CONNECTION;\n\n    constructor(public payload: boolean) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class AddAppLoadedConfigModulesAction implements Action {\n    type = CoreAppActionTypes.ADD_APP_LOADED_CONFIG_MODULES;\n\n    constructor(public payload: { moduleName: string; moduleConfig: ModuleConfig }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppStatusAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_STATUS;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateCurrentModuleAction implements Action {\n    type = CoreAppActionTypes.UPDATE_CURRENT_MODULE;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class ActivatedRouteAction implements Action {\n    type = CoreAppActionTypes.ACTIVATED_ROUTE;\n\n    constructor(public payload: ActivatedRoute) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class AddApiQueueItemAction implements Action {\n    type = CoreAppActionTypes.ADD_API_QUEUE_ITEM;\n\n    constructor(public payload: { id: string; item: ApiQueueItem }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class RemoveApiQueueItemAction implements Action {\n    type = CoreAppActionTypes.REMOVE_API_QUEUE_ITEM;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class EmptyApiQueueAction implements Action {\n    type = CoreAppActionTypes.EMPTY_API_QUEUE;\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(public payload: any) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport type CoreAppActions =\n    | InitStoreAction\n    | UpdateAppVersionAction\n    | UpdateAppConnectionAction\n    | AddAppLoadedConfigModulesAction\n    | UpdateAppStatusAction\n    | UpdateCurrentModuleAction\n    | ActivatedRouteAction\n    | AddApiQueueItemAction\n    | RemoveApiQueueItemAction;\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "payload",
                        "type": "ActivatedRoute",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 79,
                "jsdoctags": [
                    {
                        "name": "payload",
                        "type": "ActivatedRoute",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "payload",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ActivatedRoute",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 81,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "type",
                    "defaultValue": "CoreAppActionTypes.ACTIVATED_ROUTE",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 79
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "Action"
            ]
        },
        {
            "name": "AddApiQueueItemAction",
            "id": "class-AddApiQueueItemAction-5a0021944eebf7364a2f4cfc7756e42cc52373839b90052a310886613f92b4074aa4c8824176e5dfa74a590b81e29d75f48b4ad10d81d9aec739b26e82905130",
            "file": "packages/core/src/lib/services/store/actions/app.actions.ts",
            "deprecated": true,
            "deprecationMessage": "it will be removed in the next major version",
            "type": "class",
            "sourceCode": "import { ActivatedRoute } from '@angular/router';\nimport { Action } from '../ngrx_kit';\nimport { ModuleConfig, ApiQueueItem } from '@eui/base';\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport enum CoreAppActionTypes {\n    INIT_STORE = '[App] Init store',\n    UPDATE_APP_VERSION = '[App] Update version',\n    UPDATE_APP_CONNECTION = '[App] Update connection',\n    ADD_APP_LOADED_CONFIG_MODULES = '[App] Update app loaded config modules',\n    UPDATE_APP_STATUS = '[App] Update status',\n    UPDATE_CURRENT_MODULE = '[App] Update current module',\n    ACTIVATED_ROUTE = '[App] Activated route',\n    ADD_API_QUEUE_ITEM = '[App] Add API queue item',\n    REMOVE_API_QUEUE_ITEM = '[App] Remove API queue item',\n    EMPTY_API_QUEUE = '[App] empty API queue',\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class InitStoreAction implements Action {\n    type = CoreAppActionTypes.INIT_STORE;\n\n    constructor(public payload: { version?: string }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppVersionAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_VERSION;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppConnectionAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_CONNECTION;\n\n    constructor(public payload: boolean) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class AddAppLoadedConfigModulesAction implements Action {\n    type = CoreAppActionTypes.ADD_APP_LOADED_CONFIG_MODULES;\n\n    constructor(public payload: { moduleName: string; moduleConfig: ModuleConfig }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppStatusAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_STATUS;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateCurrentModuleAction implements Action {\n    type = CoreAppActionTypes.UPDATE_CURRENT_MODULE;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class ActivatedRouteAction implements Action {\n    type = CoreAppActionTypes.ACTIVATED_ROUTE;\n\n    constructor(public payload: ActivatedRoute) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class AddApiQueueItemAction implements Action {\n    type = CoreAppActionTypes.ADD_API_QUEUE_ITEM;\n\n    constructor(public payload: { id: string; item: ApiQueueItem }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class RemoveApiQueueItemAction implements Action {\n    type = CoreAppActionTypes.REMOVE_API_QUEUE_ITEM;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class EmptyApiQueueAction implements Action {\n    type = CoreAppActionTypes.EMPTY_API_QUEUE;\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(public payload: any) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport type CoreAppActions =\n    | InitStoreAction\n    | UpdateAppVersionAction\n    | UpdateAppConnectionAction\n    | AddAppLoadedConfigModulesAction\n    | UpdateAppStatusAction\n    | UpdateCurrentModuleAction\n    | ActivatedRouteAction\n    | AddApiQueueItemAction\n    | RemoveApiQueueItemAction;\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "payload",
                        "type": "literal type",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 88,
                "jsdoctags": [
                    {
                        "name": "payload",
                        "type": "literal type",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "payload",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 90,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "type",
                    "defaultValue": "CoreAppActionTypes.ADD_API_QUEUE_ITEM",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 88
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "Action"
            ]
        },
        {
            "name": "AddAppLoadedConfigModulesAction",
            "id": "class-AddAppLoadedConfigModulesAction-5a0021944eebf7364a2f4cfc7756e42cc52373839b90052a310886613f92b4074aa4c8824176e5dfa74a590b81e29d75f48b4ad10d81d9aec739b26e82905130",
            "file": "packages/core/src/lib/services/store/actions/app.actions.ts",
            "deprecated": true,
            "deprecationMessage": "it will be removed in the next major version",
            "type": "class",
            "sourceCode": "import { ActivatedRoute } from '@angular/router';\nimport { Action } from '../ngrx_kit';\nimport { ModuleConfig, ApiQueueItem } from '@eui/base';\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport enum CoreAppActionTypes {\n    INIT_STORE = '[App] Init store',\n    UPDATE_APP_VERSION = '[App] Update version',\n    UPDATE_APP_CONNECTION = '[App] Update connection',\n    ADD_APP_LOADED_CONFIG_MODULES = '[App] Update app loaded config modules',\n    UPDATE_APP_STATUS = '[App] Update status',\n    UPDATE_CURRENT_MODULE = '[App] Update current module',\n    ACTIVATED_ROUTE = '[App] Activated route',\n    ADD_API_QUEUE_ITEM = '[App] Add API queue item',\n    REMOVE_API_QUEUE_ITEM = '[App] Remove API queue item',\n    EMPTY_API_QUEUE = '[App] empty API queue',\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class InitStoreAction implements Action {\n    type = CoreAppActionTypes.INIT_STORE;\n\n    constructor(public payload: { version?: string }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppVersionAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_VERSION;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppConnectionAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_CONNECTION;\n\n    constructor(public payload: boolean) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class AddAppLoadedConfigModulesAction implements Action {\n    type = CoreAppActionTypes.ADD_APP_LOADED_CONFIG_MODULES;\n\n    constructor(public payload: { moduleName: string; moduleConfig: ModuleConfig }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppStatusAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_STATUS;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateCurrentModuleAction implements Action {\n    type = CoreAppActionTypes.UPDATE_CURRENT_MODULE;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class ActivatedRouteAction implements Action {\n    type = CoreAppActionTypes.ACTIVATED_ROUTE;\n\n    constructor(public payload: ActivatedRoute) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class AddApiQueueItemAction implements Action {\n    type = CoreAppActionTypes.ADD_API_QUEUE_ITEM;\n\n    constructor(public payload: { id: string; item: ApiQueueItem }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class RemoveApiQueueItemAction implements Action {\n    type = CoreAppActionTypes.REMOVE_API_QUEUE_ITEM;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class EmptyApiQueueAction implements Action {\n    type = CoreAppActionTypes.EMPTY_API_QUEUE;\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(public payload: any) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport type CoreAppActions =\n    | InitStoreAction\n    | UpdateAppVersionAction\n    | UpdateAppConnectionAction\n    | AddAppLoadedConfigModulesAction\n    | UpdateAppStatusAction\n    | UpdateCurrentModuleAction\n    | ActivatedRouteAction\n    | AddApiQueueItemAction\n    | RemoveApiQueueItemAction;\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "payload",
                        "type": "literal type",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 52,
                "jsdoctags": [
                    {
                        "name": "payload",
                        "type": "literal type",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "payload",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 54,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "type",
                    "defaultValue": "CoreAppActionTypes.ADD_APP_LOADED_CONFIG_MODULES",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 52
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "Action"
            ]
        },
        {
            "name": "ApiQueueServiceMock",
            "id": "class-ApiQueueServiceMock-d0642bad620e5c51fbaa1a3d873254b4111ea357dbb3b69c8af9463ffc110dcd732abf6e221fccb1d916471105687070a884e3bf837e2171dd080e46a5af2201",
            "file": "packages/core/src/lib/services/queue/api-queue.service.mock.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import { ApiQueueService } from './api-queue.service';\nimport { Observable, of } from 'rxjs';\nimport { ApiQueueItem } from '@eui/base';\n\nexport class ApiQueueServiceMock extends ApiQueueService {\n    constructor() {\n        super();\n    }\n    override getQueue(): Observable<ApiQueueItem[]> {\n        return of([]);\n    }\n    override getQueueItem(id: string): Observable<ApiQueueItem> {\n        return of({ uri: id, method: 'GET' });\n    }\n    override removeAllQueueItem(): void { /* empty */ }\n    override processAllQueueItems<T>(): Observable<T> {\n        return of({} as T);\n    }\n    override addQueueItem(): void { /* empty */ }\n    override removeQueueItem(): void { /* empty */ }\n    override processQueueItem<T>(): Observable<T> {\n        return of({} as T);\n    }\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 5
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "http",
                    "defaultValue": "inject(HttpClient)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 50,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "ApiQueueService"
                    }
                },
                {
                    "name": "logService",
                    "defaultValue": "inject(LogService, { optional: true })",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 51,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "ApiQueueService"
                    }
                },
                {
                    "name": "store",
                    "defaultValue": "inject(StoreService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 49,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "ApiQueueService"
                    }
                }
            ],
            "methods": [
                {
                    "name": "addQueueItem",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 19,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "inheritance": {
                        "file": "ApiQueueService"
                    }
                },
                {
                    "name": "getQueue",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<ApiQueueItem[]>",
                    "typeParameters": [],
                    "line": 9,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "inheritance": {
                        "file": "ApiQueueService"
                    }
                },
                {
                    "name": "getQueueItem",
                    "args": [
                        {
                            "name": "id",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<ApiQueueItem>",
                    "typeParameters": [],
                    "line": 12,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "jsdoctags": [
                        {
                            "name": "id",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "ApiQueueService"
                    }
                },
                {
                    "name": "processAllQueueItems",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<T>",
                    "typeParameters": [
                        "T"
                    ],
                    "line": 16,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "inheritance": {
                        "file": "ApiQueueService"
                    }
                },
                {
                    "name": "processQueueItem",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<T>",
                    "typeParameters": [
                        "T"
                    ],
                    "line": 21,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "inheritance": {
                        "file": "ApiQueueService"
                    }
                },
                {
                    "name": "removeAllQueueItem",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 15,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "inheritance": {
                        "file": "ApiQueueService"
                    }
                },
                {
                    "name": "removeQueueItem",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 20,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "inheritance": {
                        "file": "ApiQueueService"
                    }
                },
                {
                    "name": "processAllQueueItemsSequential",
                    "args": [
                        {
                            "name": "ascending",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "true"
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<T>",
                    "typeParameters": [
                        "T"
                    ],
                    "line": 312,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nProcesses all items in the queue sequentially, based on their timestamp ordering.\n\nThis method first orders the items in the API queue by their timestamp, either in ascending or descending\norder as specified by the `ascending` parameter. It then processes each item using `buildHttpRequest`, ensuring\nthat each request is completed before the next begins. This sequential processing is crucial when the order of\nexecution matters for HTTP requests in the queue. The method returns an Observable that emits the responses\nfollowing the same order as the queue items were processed.\n\nThe function currently returns `Observable<any>`, indicating a broad type. Future improvements should focus on\nspecifying a more accurate return type or utilizing generics for increased type safety.\n\n                                    timestamp. Defaults to `true`.\n\n```html\nthis.processAllQueueItemsSequential().subscribe(response => {\n  // Handle each response in the order of queue processing\n});\n```",
                    "description": "<p>Processes all items in the queue sequentially, based on their timestamp ordering.</p>\n<p>This method first orders the items in the API queue by their timestamp, either in ascending or descending\norder as specified by the <code>ascending</code> parameter. It then processes each item using <code>buildHttpRequest</code>, ensuring\nthat each request is completed before the next begins. This sequential processing is crucial when the order of\nexecution matters for HTTP requests in the queue. The method returns an Observable that emits the responses\nfollowing the same order as the queue items were processed.</p>\n<p>The function currently returns <code>Observable&lt;any&gt;</code>, indicating a broad type. Future improvements should focus on\nspecifying a more accurate return type or utilizing generics for increased type safety.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">                                timestamp. Defaults to `true`.</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">this.processAllQueueItemsSequential().subscribe(response =&gt; {\n  // Handle each response in the order of queue processing\n});</code></pre></div>",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 14338,
                                "end": 14347,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "ascending"
                            },
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "true",
                            "tagName": {
                                "pos": 14321,
                                "end": 14326,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Determines whether the queue items are processed in ascending order of their\n timestamp. Defaults to <code>true</code>.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 14327,
                                "end": 14336,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 14328,
                                    "end": 14335,
                                    "kind": 136,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 14515,
                                "end": 14522,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>An Observable emitting the responses of the HTTP requests in the order they were processed.</p>\n",
                            "returnType": "unknown"
                        },
                        {
                            "tagName": {
                                "pos": 14648,
                                "end": 14655,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "example"
                            },
                            "comment": "<p>this.processAllQueueItemsSequential().subscribe(response =&gt; {\n  // Handle each response in the order of queue processing\n});</p>\n"
                        }
                    ],
                    "inheritance": {
                        "file": "ApiQueueService"
                    }
                },
                {
                    "name": "sortOnTimestamp",
                    "args": [
                        {
                            "name": "a",
                            "type": "[string, ApiQueueItem]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "b",
                            "type": "[string, ApiQueueItem]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "number",
                    "typeParameters": [],
                    "line": 340,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCompares two queue items based on their timestamp and determines their order.\n\nThis protected method is used to sort queue items. It takes two queue items as input, each represented\nas a tuple containing an item ID and the `ApiQueueItem` object. The method compares these items based on\nthe `timestamp` property of the `ApiQueueItem` objects. It returns a number indicating the order in which\nthese items should be sorted.\n\nA positive return value indicates that the first item should come after the second, a negative value\nindicates the opposite, and zero indicates that they are equal in terms of timestamp.\n\n                 positive if `a` is later than `b`, and zero if they are equal.\n",
                    "description": "<p>Compares two queue items based on their timestamp and determines their order.</p>\n<p>This protected method is used to sort queue items. It takes two queue items as input, each represented\nas a tuple containing an item ID and the <code>ApiQueueItem</code> object. The method compares these items based on\nthe <code>timestamp</code> property of the <code>ApiQueueItem</code> objects. It returns a number indicating the order in which\nthese items should be sorted.</p>\n<p>A positive return value indicates that the first item should come after the second, a negative value\nindicates the opposite, and zero indicates that they are equal in terms of timestamp.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">             positive if `a` is later than `b`, and zero if they are equal.</code></pre></div>",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 16016,
                                "end": 16017,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "a"
                            },
                            "type": "[string, ApiQueueItem]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 15985,
                                "end": 15990,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The first queue item tuple for comparison.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 15991,
                                "end": 16015,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 15992,
                                    "end": 16014,
                                    "kind": 190,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "elements": [
                                        {
                                            "pos": 15993,
                                            "end": 15999,
                                            "kind": 154,
                                            "id": 0,
                                            "flags": 16777216,
                                            "transformFlags": 1
                                        },
                                        {
                                            "pos": 16000,
                                            "end": 16013,
                                            "kind": 184,
                                            "id": 0,
                                            "flags": 16777216,
                                            "modifierFlagsCache": 0,
                                            "transformFlags": 1,
                                            "typeName": {
                                                "pos": 16000,
                                                "end": 16013,
                                                "kind": 80,
                                                "id": 0,
                                                "flags": 16777216,
                                                "transformFlags": 0,
                                                "escapedText": "ApiQueueItem"
                                            }
                                        }
                                    ]
                                }
                            }
                        },
                        {
                            "name": {
                                "pos": 16102,
                                "end": 16103,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "b"
                            },
                            "type": "[string, ApiQueueItem]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 16071,
                                "end": 16076,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The second queue item tuple for comparison.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 16077,
                                "end": 16101,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 16078,
                                    "end": 16100,
                                    "kind": 190,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "elements": [
                                        {
                                            "pos": 16079,
                                            "end": 16085,
                                            "kind": 154,
                                            "id": 0,
                                            "flags": 16777216,
                                            "transformFlags": 1
                                        },
                                        {
                                            "pos": 16086,
                                            "end": 16099,
                                            "kind": 184,
                                            "id": 0,
                                            "flags": 16777216,
                                            "modifierFlagsCache": 0,
                                            "transformFlags": 1,
                                            "typeName": {
                                                "pos": 16086,
                                                "end": 16099,
                                                "kind": 80,
                                                "id": 0,
                                                "flags": 16777216,
                                                "transformFlags": 0,
                                                "escapedText": "ApiQueueItem"
                                            }
                                        }
                                    ]
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 16158,
                                "end": 16165,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>A number indicating the order of the items: negative if <code>a</code> is earlier than <code>b</code>,\npositive if <code>a</code> is later than <code>b</code>, and zero if they are equal.</p>\n",
                            "returnType": "number"
                        }
                    ],
                    "inheritance": {
                        "file": "ApiQueueService"
                    }
                }
            ],
            "indexSignatures": [],
            "extends": [
                "ApiQueueService"
            ],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "AsyncStorageService",
            "id": "class-AsyncStorageService-9be24766bc8f661178c18a9fa46a179cd5a1faf8e2e09008475fdea242418ea3140a0066f7db4d6f3d697dd9233424b8527527f1383949b9d0bea7c8d461eca9",
            "file": "packages/core/src/lib/services/storage/async-storage.service.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import { StorageService } from './storage.service';\nimport { Observable } from 'rxjs';\n\n/**\n * Generic asynchronous storage service. Concrete asynchronous storage services must extend this class\n */\nexport abstract class AsyncStorageService extends StorageService {\n    /**\n     * reflects the readiness of the storage\n     * @returns one time emission Observable<any>\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    abstract ready(): Observable<any>;\n\n    /**\n     * retrieve an object from async storage\n     * @param key the associated key\n     * @returns one time emission Observable of value\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    abstract override get(key: string): Observable<any>\n    abstract override get<T>(key: string): Observable<T>;\n\n    /**\n     * sets an object in async storage\n     * @param key the associated key\n     * @param value the value to set\n     * @returns one time emission Observable\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    abstract override set(key: string, value: any): Observable<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    abstract override set<T>(key: string, value: T): Observable<any>;\n\n    /**\n     * removes an object from async storage\n     * @param key the associated key\n     * @returns one time emission Observable\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    abstract override remove(key: string): Observable<any>;\n\n    /**\n     * asynchronous helper for set function\n     * @param key the associated key\n     * @param value the value to set\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    setAsync(key: string, value: any): void;\n    setAsync<T>(key: string, value: T): void {\n        this.set(key, value).subscribe(() => { /* empty */ });\n    }\n\n    /**\n     * asynchronous helper for remove function\n     * @param key the associated key\n     */\n    removeAsync(key: string): void {\n        this.remove(key).subscribe(() => { /* empty */ });\n    }\n}\n",
            "inputsClass": [],
            "outputsClass": [],
            "properties": [],
            "description": "<p>Generic asynchronous storage service. Concrete asynchronous storage services must extend this class</p>\n",
            "rawdescription": "\n\nGeneric asynchronous storage service. Concrete asynchronous storage services must extend this class\n",
            "methods": [
                {
                    "name": "get",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<any>",
                    "typeParameters": [],
                    "line": 23,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nretrieve an object from async storage\n",
                    "description": "<p>retrieve an object from async storage</p>\n",
                    "modifierKind": [
                        128,
                        164
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 671,
                                "end": 674,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "key"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 665,
                                "end": 670,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the associated key</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 702,
                                "end": 709,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>one time emission Observable of value</p>\n"
                        }
                    ],
                    "inheritance": {
                        "file": "StorageService"
                    }
                },
                {
                    "name": "get",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<T>",
                    "typeParameters": [
                        "T"
                    ],
                    "line": 24,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        128,
                        164
                    ],
                    "jsdoctags": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ready",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<any>",
                    "typeParameters": [],
                    "line": 14,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nreflects the readiness of the storage\n",
                    "description": "<p>reflects the readiness of the storage</p>\n",
                    "modifierKind": [
                        128
                    ],
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 327,
                                "end": 334,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>one time emission Observable<any></p>\n"
                        }
                    ]
                },
                {
                    "name": "remove",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<any>",
                    "typeParameters": [],
                    "line": 46,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nremoves an object from async storage\n",
                    "description": "<p>removes an object from async storage</p>\n",
                    "modifierKind": [
                        128,
                        164
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 1812,
                                "end": 1815,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "key"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1806,
                                "end": 1811,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the associated key</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 1843,
                                "end": 1850,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>one time emission Observable</p>\n"
                        }
                    ],
                    "inheritance": {
                        "file": "StorageService"
                    }
                },
                {
                    "name": "removeAsync",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 64,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nasynchronous helper for remove function\n",
                    "description": "<p>asynchronous helper for remove function</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2688,
                                "end": 2691,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "key"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2682,
                                "end": 2687,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the associated key</p>\n"
                        }
                    ]
                },
                {
                    "name": "set",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "value",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<any>",
                    "typeParameters": [],
                    "line": 34,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nsets an object in async storage\n",
                    "description": "<p>sets an object in async storage</p>\n",
                    "modifierKind": [
                        128,
                        164
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 1119,
                                "end": 1122,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "key"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1113,
                                "end": 1118,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the associated key</p>\n"
                        },
                        {
                            "name": {
                                "pos": 1156,
                                "end": 1161,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "value"
                            },
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1150,
                                "end": 1155,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the value to set</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 1187,
                                "end": 1194,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>one time emission Observable</p>\n"
                        }
                    ],
                    "inheritance": {
                        "file": "StorageService"
                    }
                },
                {
                    "name": "set",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "value",
                            "type": "T",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<any>",
                    "typeParameters": [
                        "T"
                    ],
                    "line": 37,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        128,
                        164
                    ],
                    "jsdoctags": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "value",
                            "type": "T",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "setAsync",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "value",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 55,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nasynchronous helper for set function\n",
                    "description": "<p>asynchronous helper for set function</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2202,
                                "end": 2205,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "key"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2196,
                                "end": 2201,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the associated key</p>\n"
                        },
                        {
                            "name": {
                                "pos": 2239,
                                "end": 2244,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "value"
                            },
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2233,
                                "end": 2238,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the value to set</p>\n"
                        }
                    ]
                },
                {
                    "name": "setAsync",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "value",
                            "type": "T",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [
                        "T"
                    ],
                    "line": 56,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "value",
                            "type": "T",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "name",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 8,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nutility function, to determine the storage implementation\n",
                    "description": "<p>utility function, to determine the storage implementation</p>\n",
                    "modifierKind": [
                        128
                    ],
                    "inheritance": {
                        "file": "StorageService"
                    }
                }
            ],
            "indexSignatures": [],
            "extends": [
                "StorageService"
            ],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "AsyncStorageServiceMock",
            "id": "class-AsyncStorageServiceMock-b2cceb277ffa88119d1e7a3466d57b9efef0adbc13bc7e6a66984b71640354d08156ba40f9f30c8bc23f7b8be4cf6586f4bf7237ccbb2a629e98e8baa8a51400",
            "file": "packages/core/src/lib/services/storage/async-storage.service.mock.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import { AsyncStorageService } from './async-storage.service';\nimport { Observable, of } from 'rxjs';\n\nexport class AsyncStorageServiceMock extends AsyncStorageService {\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    ready(): Observable<any> {\n        return of({});\n    }\n\n    name(): string {\n        return 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    get(): Observable<any> {\n        return of({});\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(): Observable<any> {\n        return of({});\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    remove(): Observable<any> {\n        return of({});\n    }\n\n    override setAsync(): void { /* empty */ }\n\n    override removeAsync(): void { /* empty */ }\n}\n",
            "inputsClass": [],
            "outputsClass": [],
            "properties": [],
            "methods": [
                {
                    "name": "get",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<any>",
                    "typeParameters": [],
                    "line": 17,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "inheritance": {
                        "file": "StorageService"
                    }
                },
                {
                    "name": "name",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 11,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "inheritance": {
                        "file": "StorageService"
                    }
                },
                {
                    "name": "ready",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<any>",
                    "typeParameters": [],
                    "line": 7,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "inheritance": {
                        "file": "AsyncStorageService"
                    }
                },
                {
                    "name": "remove",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<any>",
                    "typeParameters": [],
                    "line": 29,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "inheritance": {
                        "file": "StorageService"
                    }
                },
                {
                    "name": "removeAsync",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 35,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "inheritance": {
                        "file": "AsyncStorageService"
                    }
                },
                {
                    "name": "set",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<any>",
                    "typeParameters": [],
                    "line": 23,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "inheritance": {
                        "file": "StorageService"
                    }
                },
                {
                    "name": "setAsync",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 33,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "inheritance": {
                        "file": "AsyncStorageService"
                    }
                }
            ],
            "indexSignatures": [],
            "extends": [
                "AsyncStorageService"
            ],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "CssUtils",
            "id": "class-CssUtils-214cdc7280de4eaa8955c4a81fad504951ba772e716a76b127d0959e90fc089d20ca1f97b51811322b48798227981a02aa3146197c835181f84c81be6f89d7c0",
            "file": "packages/core/src/lib/helpers/css-utils.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import { isPlatformBrowser, isPlatformServer } from '@angular/common';\n\nexport abstract class CssUtils {\n    public static readonly setHtmlClass = (inputClass: string, document: Document): void => {\n        document.documentElement.classList.add(inputClass);\n    }\n\n    /**\n     * Get the value of a CSS variable. Using getComputedStyle to get the value of the CSS variable (Browser Specific API)\n     * @param inputProperty\n     * @param document\n     * @param platform\n     */\n    public static readonly getCssVarValue = (inputProperty: string, document: Document, platform: unknown): string => {\n        if(isPlatformServer(platform)) {\n            return document.documentElement.style.getPropertyValue(inputProperty);\n        } else {\n            return getComputedStyle(document.documentElement).getPropertyValue(inputProperty);\n        }\n    }\n\n    public static readonly setCssVarValue = (propertyName: string, propertyValue: string, document: Document): void => {\n        document.documentElement.style.setProperty(propertyName, propertyValue);\n    }\n\n    public static readonly setCssVar = (inputProperty: string, outputProperty: string, document: Document, platform: unknown): void => {\n        const cssVarValue = this.getCssVarValue(inputProperty, document, platform);\n        this.setCssVarValue(outputProperty, cssVarValue, document);\n    }\n\n    public static readonly initCssVars = (document: Document, platform: unknown): void => {\n        this.setCssVar('--eui-app-header-height-default', '--eui-app-header-height', document, platform);\n        this.setCssVar('--eui-app-breadcrumb-height-default', '--eui-app-breadcrumb-height', document, platform);\n        this.setCssVar('--eui-app-top-message-height-default', '--eui-app-top-message-height', document, platform);\n        this.setCssVar('--eui-app-toolbar-height-default', '--eui-app-toolbar-height', document, platform);\n        this.setCssVar('--eui-app-toolbar-mega-menu-height-default', '--eui-app-toolbar-mega-menu-height', document, platform);\n        this.setCssVar('--eui-app-sidebar-width-default', '--eui-app-sidebar-width', document, platform);\n        this.setCssVar('--eui-app-sidebar-width-close-default', '--eui-app-sidebar-width-close', document, platform);\n        this.setCssVar('--eui-app-side-container-width-default', '--eui-app-side-container-width', document, platform);\n        this.setCssVar('--eui-app-sidebar-header-height-default', '--eui-app-sidebar-header-height', document, platform);\n        this.setCssVar('--eui-app-sidebar-footer-height-default', '--eui-app-sidebar-footer-height', document, platform);\n    }\n\n    // eslint-disable-next-line\n    public static readonly getBreakpointValues = (document: Document, platform: unknown): any => {\n        const breakpoints = [];\n\n        const xs = this.getCssVarValue('--eui-bp-xs', document, platform);\n        breakpoints.push({ bkp: 'xs', pxValue: xs, value: xs.replace('px', '') });\n        const sm = this.getCssVarValue('--eui-bp-sm', document, platform);\n        breakpoints.push({ bkp: 'sm', pxValue: sm, value: sm.replace('px', '') });\n        const md = this.getCssVarValue('--eui-bp-md', document, platform);\n        breakpoints.push({ bkp: 'md', pxValue: md, value: md.replace('px', '') });\n        const lg = this.getCssVarValue('--eui-bp-lg', document, platform);\n        breakpoints.push({ bkp: 'lg', pxValue: lg, value: lg.replace('px', '') });\n        const xl = this.getCssVarValue('--eui-bp-xl', document, platform);\n        breakpoints.push({ bkp: 'xl', pxValue: xl, value: xl.replace('px', '') });\n        const xxl = this.getCssVarValue('--eui-bp-xxl', document, platform);\n        breakpoints.push({ bkp: 'xxl', pxValue: xxl, value: xxl.replace('px', '') });\n        const fhd = this.getCssVarValue('--eui-bp-fhd', document, platform);\n        breakpoints.push({ bkp: 'fhd', pxValue: fhd, value: fhd.replace('px', '') });\n        const twok = this.getCssVarValue('--eui-bp-2k', document, platform);\n        breakpoints.push({ bkp: '2k', pxValue: twok, value: twok.replace('px', '') });\n        const fourk = this.getCssVarValue('--eui-bp-4k', document, platform);\n        breakpoints.push({ bkp: '4k', pxValue: fourk, value: fourk.replace('px', '') });\n\n        return breakpoints;\n    }\n\n    public static readonly activateEditModeCssVars = (isActive: boolean, document: Document): void => {\n        if (isActive) {\n            this.setCssVarValue('--eui-docpage-navigation-z-index', 'inherit', document); // Reset doc-page-navigation-column z-index\n            this.setCssVarValue('--eui-z-index-sidebar', 'inherit', document); // Reset eui-app-sidebar z-index\n            this.setCssVarValue('--eui-z-index-root', 'inherit', document); // Reset eui-app-main-content z-index\n        } else {\n            this.setCssVarValue('--eui-docpage-navigation-z-index', '2', document); // Restore doc-page-navigation-column z-index\n            this.setCssVarValue('--eui-z-index-sidebar', '1044', document); // Restore eui-app-sidebar z-index\n            this.setCssVarValue('--eui-z-index-root', '1', document); // Restore eui-app-main-content z-index\n        }\n    }\n\n    public static readonly activateHeaderCssVars = (document: Document, platform: unknown): void => {\n        this.setCssVar('--eui-app-header-height-active', '--eui-app-header-height', document, platform);\n    }\n    public static readonly activateBreadcrumbCssVars = (document: Document, platform: unknown): void => {\n        this.setCssVar('--eui-app-breadcrumb-height-active', '--eui-app-breadcrumb-height', document, platform);\n    }\n\n    public static readonly activateTopMessageCssVars = (height: number, document: Document): void => {\n        this.setCssVarValue('--eui-app-top-message-height', `${height}px`, document);\n    }\n\n    public static readonly activateToolbarCssVars = (document: Document, platform: unknown): void => {\n        this.setCssVar('--eui-app-toolbar-height-active', '--eui-app-toolbar-height', document, platform);\n    }\n\n    public static readonly activateToolbarMegaMenuCssVars = (document: Document, platform: unknown): void => {\n        this.setCssVar('--eui-app-toolbar-mega-menu-height-active', '--eui-app-toolbar-mega-menu-height', document, platform);\n    }\n\n    public static readonly activateFooterCssVars = (document: Document, platform: unknown): void => {\n        this.setCssVar('--eui-app-footer-height-active', '--eui-app-footer-height', document, platform);\n    }\n\n    public static readonly setHeaderShrinkCssVar = (active: boolean, document: Document, platform: unknown): void => {\n        if (active) {\n            this.setCssVar('--eui-app-header-height-shrink', '--eui-app-header-height', document, platform);\n        } else {\n            this.setCssVar('--eui-app-header-height-active', '--eui-app-header-height', document, platform);\n        }\n    }\n\n    public static readonly activateSidebarCssVars = (document: Document, platform: unknown, hasSidebarCollapsedVariant = false): void => {\n        this.setCssVar('--eui-app-sidebar-width-active', '--eui-app-sidebar-width', document, platform);\n        if (hasSidebarCollapsedVariant) {\n            this.setCssVar('--eui-app-sidebar-width-close-variant-active', '--eui-app-sidebar-width-close', document, platform);\n        } else {\n            this.setCssVar('--eui-app-sidebar-width-close-active', '--eui-app-sidebar-width-close', document, platform);\n        }\n    }\n\n    public static readonly activateSideContainerCssVars = (document: Document, platform: unknown): void => {\n        this.setCssVar('--eui-app-side-container-width-active', '--eui-app-side-container-width', document, platform);\n        this.setCssVar('--eui-app-side-container-width-close-active', '--eui-app-side-container-width-close', document, platform);\n    }\n\n    public static readonly deactivateSideContainerCssVars = (document: Document, platform: unknown): void => {\n        this.setCssVarValue('--eui-app-side-container-width', '0px', document);\n    }\n\n    public static readonly setSideContainerWidth = (width: number, document: Document): void => {\n        this.setCssVarValue('--eui-app-side-container-width', `${width}px` , document);\n    }\n\n    public static readonly removeSidebarCssVars = (document: Document): void => {\n        document.documentElement.style.removeProperty('--eui-app-sidebar-header-height');\n        document.documentElement.style.removeProperty('--eui-app-sidebar-footer-height');\n        document.documentElement.style.removeProperty('--eui-app-sidebar-width');\n        document.documentElement.style.removeProperty('--eui-app-sidebar-width-close');\n    }\n\n    public static readonly activateSidebarHeaderCssVars = (document: Document, platform: unknown): void => {\n        this.setCssVar('--eui-app-sidebar-header-height-active', '--eui-app-sidebar-header-height', document, platform);\n    }\n\n    public static readonly activateSidebarFooterCssVars = (document: Document, platform: unknown): void => {\n        this.setCssVar('--eui-app-sidebar-footer-height-active', '--eui-app-sidebar-footer-height', document, platform);\n    }\n\n    /**\n     * Gets the viewport height and width and multiply it by 1% to get a value for a vh/vw unit\n     * Sets the value in the --eui-app-vh custom property to the root of the document\n     * Sets the value in the --eui-app-vw custom property to the root of the document\n     * Example for 100% height: calc(var(--eui-app-vh, 1vh) * 100);\n     * Example for 50% height: calc(var(--eui-app-vh, 1vh) * 50);\n     * Example for 50% width: calc(var(--eui-app-vw, 1vw) * 50);\n     */\n    public static setAppViewportCssVars(platform: unknown): void {\n        if(isPlatformBrowser(platform)) {\n            const vh = window.innerHeight * 0.01;\n            const vw = window.innerWidth * 0.01;\n            this.setCssVarValue('--eui-app-vh', `${vh}px`, document);\n            this.setCssVarValue('--eui-app-vw', `${vw}px`, document);\n        }\n    }\n}\n\n",
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "activateBreadcrumbCssVars",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 85,
                    "modifierKind": [
                        126,
                        148
                    ]
                },
                {
                    "name": "activateEditModeCssVars",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 70,
                    "modifierKind": [
                        126,
                        148
                    ]
                },
                {
                    "name": "activateFooterCssVars",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 101,
                    "modifierKind": [
                        126,
                        148
                    ]
                },
                {
                    "name": "activateHeaderCssVars",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 82,
                    "modifierKind": [
                        126,
                        148
                    ]
                },
                {
                    "name": "activateSidebarCssVars",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 113,
                    "modifierKind": [
                        126,
                        148
                    ]
                },
                {
                    "name": "activateSidebarFooterCssVars",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 146,
                    "modifierKind": [
                        126,
                        148
                    ]
                },
                {
                    "name": "activateSidebarHeaderCssVars",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 142,
                    "modifierKind": [
                        126,
                        148
                    ]
                },
                {
                    "name": "activateSideContainerCssVars",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 122,
                    "modifierKind": [
                        126,
                        148
                    ]
                },
                {
                    "name": "activateToolbarCssVars",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 93,
                    "modifierKind": [
                        126,
                        148
                    ]
                },
                {
                    "name": "activateToolbarMegaMenuCssVars",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 97,
                    "modifierKind": [
                        126,
                        148
                    ]
                },
                {
                    "name": "activateTopMessageCssVars",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 89,
                    "modifierKind": [
                        126,
                        148
                    ]
                },
                {
                    "name": "deactivateSideContainerCssVars",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 127,
                    "modifierKind": [
                        126,
                        148
                    ]
                },
                {
                    "name": "getBreakpointValues",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 45,
                    "modifierKind": [
                        126,
                        148
                    ]
                },
                {
                    "name": "getCssVarValue",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Get the value of a CSS variable. Using getComputedStyle to get the value of the CSS variable (Browser Specific API)</p>\n",
                    "line": 14,
                    "rawdescription": "\n\nGet the value of a CSS variable. Using getComputedStyle to get the value of the CSS variable (Browser Specific API)\n",
                    "modifierKind": [
                        126,
                        148
                    ],
                    "jsdoctags": [
                        {
                            "pos": 404,
                            "end": 432,
                            "kind": 342,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 405,
                                "end": 410,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "",
                            "name": {
                                "pos": 411,
                                "end": 424,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "inputProperty"
                            },
                            "isNameFirst": true,
                            "isBracketed": false
                        },
                        {
                            "pos": 432,
                            "end": 455,
                            "kind": 342,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 433,
                                "end": 438,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "",
                            "name": {
                                "pos": 439,
                                "end": 447,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "document"
                            },
                            "isNameFirst": true,
                            "isBracketed": false
                        },
                        {
                            "pos": 455,
                            "end": 476,
                            "kind": 342,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 456,
                                "end": 461,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "",
                            "name": {
                                "pos": 462,
                                "end": 470,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "platform"
                            },
                            "isNameFirst": true,
                            "isBracketed": false
                        }
                    ]
                },
                {
                    "name": "initCssVars",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 31,
                    "modifierKind": [
                        126,
                        148
                    ]
                },
                {
                    "name": "removeSidebarCssVars",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 135,
                    "modifierKind": [
                        126,
                        148
                    ]
                },
                {
                    "name": "setCssVar",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 26,
                    "modifierKind": [
                        126,
                        148
                    ]
                },
                {
                    "name": "setCssVarValue",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 22,
                    "modifierKind": [
                        126,
                        148
                    ]
                },
                {
                    "name": "setHeaderShrinkCssVar",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 105,
                    "modifierKind": [
                        126,
                        148
                    ]
                },
                {
                    "name": "setHtmlClass",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 4,
                    "modifierKind": [
                        126,
                        148
                    ]
                },
                {
                    "name": "setSideContainerWidth",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 131,
                    "modifierKind": [
                        126,
                        148
                    ]
                }
            ],
            "methods": [
                {
                    "name": "setAppViewportCssVars",
                    "args": [
                        {
                            "name": "platform",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 158,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nGets the viewport height and width and multiply it by 1% to get a value for a vh/vw unit\nSets the value in the --eui-app-vh custom property to the root of the document\nSets the value in the --eui-app-vw custom property to the root of the document\nExample for 100% height: calc(var(--eui-app-vh, 1vh) * 100);\nExample for 50% height: calc(var(--eui-app-vh, 1vh) * 50);\nExample for 50% width: calc(var(--eui-app-vw, 1vw) * 50);\n",
                    "description": "<p>Gets the viewport height and width and multiply it by 1% to get a value for a vh/vw unit\nSets the value in the --eui-app-vh custom property to the root of the document\nSets the value in the --eui-app-vw custom property to the root of the document\nExample for 100% height: calc(var(--eui-app-vh, 1vh) * 100);\nExample for 50% height: calc(var(--eui-app-vh, 1vh) * 50);\nExample for 50% width: calc(var(--eui-app-vw, 1vw) * 50);</p>\n",
                    "modifierKind": [
                        126
                    ],
                    "jsdoctags": [
                        {
                            "name": "platform",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "EmptyApiQueueAction",
            "id": "class-EmptyApiQueueAction-5a0021944eebf7364a2f4cfc7756e42cc52373839b90052a310886613f92b4074aa4c8824176e5dfa74a590b81e29d75f48b4ad10d81d9aec739b26e82905130",
            "file": "packages/core/src/lib/services/store/actions/app.actions.ts",
            "deprecated": true,
            "deprecationMessage": "it will be removed in the next major version",
            "type": "class",
            "sourceCode": "import { ActivatedRoute } from '@angular/router';\nimport { Action } from '../ngrx_kit';\nimport { ModuleConfig, ApiQueueItem } from '@eui/base';\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport enum CoreAppActionTypes {\n    INIT_STORE = '[App] Init store',\n    UPDATE_APP_VERSION = '[App] Update version',\n    UPDATE_APP_CONNECTION = '[App] Update connection',\n    ADD_APP_LOADED_CONFIG_MODULES = '[App] Update app loaded config modules',\n    UPDATE_APP_STATUS = '[App] Update status',\n    UPDATE_CURRENT_MODULE = '[App] Update current module',\n    ACTIVATED_ROUTE = '[App] Activated route',\n    ADD_API_QUEUE_ITEM = '[App] Add API queue item',\n    REMOVE_API_QUEUE_ITEM = '[App] Remove API queue item',\n    EMPTY_API_QUEUE = '[App] empty API queue',\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class InitStoreAction implements Action {\n    type = CoreAppActionTypes.INIT_STORE;\n\n    constructor(public payload: { version?: string }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppVersionAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_VERSION;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppConnectionAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_CONNECTION;\n\n    constructor(public payload: boolean) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class AddAppLoadedConfigModulesAction implements Action {\n    type = CoreAppActionTypes.ADD_APP_LOADED_CONFIG_MODULES;\n\n    constructor(public payload: { moduleName: string; moduleConfig: ModuleConfig }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppStatusAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_STATUS;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateCurrentModuleAction implements Action {\n    type = CoreAppActionTypes.UPDATE_CURRENT_MODULE;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class ActivatedRouteAction implements Action {\n    type = CoreAppActionTypes.ACTIVATED_ROUTE;\n\n    constructor(public payload: ActivatedRoute) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class AddApiQueueItemAction implements Action {\n    type = CoreAppActionTypes.ADD_API_QUEUE_ITEM;\n\n    constructor(public payload: { id: string; item: ApiQueueItem }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class RemoveApiQueueItemAction implements Action {\n    type = CoreAppActionTypes.REMOVE_API_QUEUE_ITEM;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class EmptyApiQueueAction implements Action {\n    type = CoreAppActionTypes.EMPTY_API_QUEUE;\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(public payload: any) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport type CoreAppActions =\n    | InitStoreAction\n    | UpdateAppVersionAction\n    | UpdateAppConnectionAction\n    | AddAppLoadedConfigModulesAction\n    | UpdateAppStatusAction\n    | UpdateCurrentModuleAction\n    | ActivatedRouteAction\n    | AddApiQueueItemAction\n    | RemoveApiQueueItemAction;\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "payload",
                        "type": "any",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 106,
                "jsdoctags": [
                    {
                        "name": "payload",
                        "type": "any",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "payload",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 110,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "type",
                    "defaultValue": "CoreAppActionTypes.EMPTY_API_QUEUE",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 106
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "Action"
            ]
        },
        {
            "name": "ErrorSubClass",
            "id": "class-ErrorSubClass-c05442a1238c923fdc127c091b7cbeb793d0630738cf1cff4e14c9162b82b8b6d064b1330bf24798ca4b56415fd1b313e428b0e6da367cc52c853866376a59dc",
            "file": "packages/core/src/lib/services/errors/eui.error.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "export const errorCodes = {\n    ERR_GENERIC: 'ERR_GENERIC',\n};\n\nconst messages = {\n    ERR_GENERIC: 'An error occured',\n};\n\n// Intermediate \"hacky\" subclass taken from\n// https://www.bennadel.com/blog/3226-experimenting-with-error-sub-classing-using-es5-and-typescript-2-1-5.htm\n\nexport class ErrorSubClass {\n    public code?: string;\n    public message: string;\n    public stack: string;\n    public name: 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(code?: string, msg?: string, args?: any) {\n        if (!msg && code && code in messages) {\n            if (typeof messages[code] === 'function') {\n                msg = messages[code](...args.messageParams);\n            } else {\n                msg = messages[code];\n            }\n        }\n\n        this.name = 'ErrorSubClass';\n        this.message = msg;\n        this.code = code;\n        this.stack = new Error(msg).stack;\n\n        if (args) {\n            Object.keys(args).forEach((k) => {\n                if (k !== 'messageParams') {\n                    this[k] = args[k];\n                }\n            });\n        }\n    }\n}\n\n// This replaces the \"extends\" on the Class\n// ErrorSubClass.prototype = <any>Object.create(Error.prototype);\n\nexport class EuiError extends ErrorSubClass {\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(code: string = errorCodes.ERR_GENERIC, msg?: string, args?: any) {\n        super(code, msg, args);\n\n        this.name = 'EuiError';\n    }\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "code",
                        "type": "string",
                        "optional": true,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "msg",
                        "type": "string",
                        "optional": true,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "args",
                        "type": "any",
                        "optional": true,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 16,
                "jsdoctags": [
                    {
                        "name": "code",
                        "type": "string",
                        "optional": true,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "msg",
                        "type": "string",
                        "optional": true,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "args",
                        "type": "any",
                        "optional": true,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "code",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 13,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "message",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 14,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "name",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 16,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "stack",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 15,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "EuiAppShellServiceMock",
            "id": "class-EuiAppShellServiceMock-90eb05d6c5dd1ebe04f18651037010fa0ee5f254914f74b4e9ab2e7ba991e8e5f6328fba791ca349a09cb8412d43ecf37a7b00d4fac128011abf21cf6137309f",
            "file": "packages/core/src/lib/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": "EuiCoreRootGuardClass",
            "id": "class-EuiCoreRootGuardClass-a327c85693a5ba36e7500a513f6154746fbce173580895dbac3ea8db9b2458c4db39d402c3de7ce2b64657ab9c140fc1caf2ff8fbffe904b0d067412f548c5cb",
            "file": "packages/core/src/lib/eui-core.module.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import { Injector, ModuleWithProviders, NgModule, Optional, SkipSelf, InjectionToken, inject } from '@angular/core';\n\nimport { MODULE_CONFIG_TOKEN, MODULE_NAME_TOKEN } from './services/config/tokens';\nimport { StoreService } from './services/store/index';\nimport { getCoreChildProviders, getCoreProviders } from './services/app/eui-startup';\nimport { CoreState } from '@eui/base';\n\nconst AddAppLoadedConfigModules = (state: CoreState, action: { moduleName, moduleConfig }): CoreState => ({\n    ...state,\n    app: {\n        ...state.app,\n        loadedConfigModules: {\n            lastAddedModule: action.moduleName,\n            modulesConfig: {\n                ...state.app.loadedConfigModules.modulesConfig,\n                [action.moduleName]: {\n                    ...action.moduleConfig,\n                },\n            },\n        },\n    },\n});\n\nexport const CORE_ROOT_GUARD = new InjectionToken<void>('Internal Theme ForRoot Guard');\n\n@NgModule()\nexport class CoreModule {\n    /**\n     * No more providing config from forRoot, you have to use EUI_CONFIG_TOKEN to pass config via providers.\n     */\n    static forRoot(): ModuleWithProviders<CoreModule> {\n        return {\n            ngModule: CoreModule,\n            providers: [\n                {\n                    provide: EuiCoreRootGuardClass,\n                    useFactory: euiCoreRootGuardClass,\n                    deps: [],\n                },\n                {\n                    provide: CORE_ROOT_GUARD,\n                    useFactory: createEuiCoreRootGuard,\n                    deps: [[EuiCoreRootGuardClass, new Optional(), new SkipSelf()]],\n                },\n                ...getCoreProviders(),\n            ],\n        };\n    }\n\n    static forChild(moduleName: string): ModuleWithProviders<CoreModule> {\n        return {\n            ngModule: CoreModule,\n            providers: getCoreChildProviders(moduleName),\n        };\n    }\n\n    constructor() {\n        const parentModule = inject(CoreModule, { optional: true, skipSelf: true });\n        const injector = inject(Injector);\n\n        // if there is a parentModule, a new instance is created in a lazy loaded module\n        if (parentModule) {\n            // extract the i18n service and the i18n loader config\n            // todo, this thing should be achieved by store, and localization service dependency should be removed\n            const storeService = injector.get(StoreService);\n            const moduleName = injector.get(MODULE_NAME_TOKEN);\n            const moduleConfig = injector.get(MODULE_CONFIG_TOKEN);\n            storeService.updateState({ moduleName, moduleConfig }, AddAppLoadedConfigModules);\n        }\n    }\n}\n\nconst createEuiCoreRootGuard = (core): string => {\n    if (core) {\n        throw new TypeError('CoreModule.forRoot() called twice. Feature modules should use ThemeModule.forChild() instead.');\n    }\n    return 'guarded';\n};\n\nexport class EuiCoreRootGuardClass {\n    constructor() { /* empty */ }\n}\n\nconst euiCoreRootGuardClass = (): EuiCoreRootGuardClass => new EuiCoreRootGuardClass();\n\nexport { createEuiCoreRootGuard, euiCoreRootGuardClass };\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 80
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "EuiError",
            "id": "class-EuiError-c05442a1238c923fdc127c091b7cbeb793d0630738cf1cff4e14c9162b82b8b6d064b1330bf24798ca4b56415fd1b313e428b0e6da367cc52c853866376a59dc",
            "file": "packages/core/src/lib/services/errors/eui.error.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "export const errorCodes = {\n    ERR_GENERIC: 'ERR_GENERIC',\n};\n\nconst messages = {\n    ERR_GENERIC: 'An error occured',\n};\n\n// Intermediate \"hacky\" subclass taken from\n// https://www.bennadel.com/blog/3226-experimenting-with-error-sub-classing-using-es5-and-typescript-2-1-5.htm\n\nexport class ErrorSubClass {\n    public code?: string;\n    public message: string;\n    public stack: string;\n    public name: 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(code?: string, msg?: string, args?: any) {\n        if (!msg && code && code in messages) {\n            if (typeof messages[code] === 'function') {\n                msg = messages[code](...args.messageParams);\n            } else {\n                msg = messages[code];\n            }\n        }\n\n        this.name = 'ErrorSubClass';\n        this.message = msg;\n        this.code = code;\n        this.stack = new Error(msg).stack;\n\n        if (args) {\n            Object.keys(args).forEach((k) => {\n                if (k !== 'messageParams') {\n                    this[k] = args[k];\n                }\n            });\n        }\n    }\n}\n\n// This replaces the \"extends\" on the Class\n// ErrorSubClass.prototype = <any>Object.create(Error.prototype);\n\nexport class EuiError extends ErrorSubClass {\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(code: string = errorCodes.ERR_GENERIC, msg?: string, args?: any) {\n        super(code, msg, args);\n\n        this.name = 'EuiError';\n    }\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "code",
                        "type": "string",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "errorCodes.ERR_GENERIC"
                    },
                    {
                        "name": "msg",
                        "type": "string",
                        "optional": true,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "args",
                        "type": "any",
                        "optional": true,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 47,
                "jsdoctags": [
                    {
                        "name": "code",
                        "type": "string",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "errorCodes.ERR_GENERIC",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "msg",
                        "type": "string",
                        "optional": true,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "args",
                        "type": "any",
                        "optional": true,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "code",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 13,
                    "modifierKind": [
                        125
                    ],
                    "inheritance": {
                        "file": "ErrorSubClass"
                    }
                },
                {
                    "name": "message",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 14,
                    "modifierKind": [
                        125
                    ],
                    "inheritance": {
                        "file": "ErrorSubClass"
                    }
                },
                {
                    "name": "name",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 16,
                    "modifierKind": [
                        125
                    ],
                    "inheritance": {
                        "file": "ErrorSubClass"
                    }
                },
                {
                    "name": "stack",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 15,
                    "modifierKind": [
                        125
                    ],
                    "inheritance": {
                        "file": "ErrorSubClass"
                    }
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [
                "ErrorSubClass"
            ],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "I18nResourceImpl",
            "id": "class-I18nResourceImpl-468821e13ca7e853732f433868473b20272c2e579ff19a189874698b397804e3f108506bf5e46e9ac0d0d4d378a7f7b18d31596881c57cd8233e3ee0bd4cfb31",
            "file": "packages/core/src/lib/services/i18n/i18n.resource.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "export class I18nResourceImpl {\n    /**\n     * Resource constructor\n     *\n     * @param prefix the prefix of the resource\n     * @param suffix the suffix of the resource, optional parameter\n     * @param compileTranslationsFn compiler function, optional parameter\n     */\n    constructor(\n        protected prefix: string,\n        protected suffix = '',\n        protected compileTranslationsFn: (translations: unknown, lang: string) => unknown = (translations: unknown) => translations,\n    ) {}\n\n    /**\n     * Translations pre-processor\n     *\n     * @param translations the object to be pre-processed\n     * @param lang the translations language\n     * @returns the pre-processed translations\n     */\n    public compileTranslations(translations: unknown, lang: string): unknown {\n        return this.compileTranslationsFn(translations, lang);\n    }\n\n    /**\n     * Indicates whether other object is equal-to this one.\n     *\n     * @param obj the reference object with which to compare\n     * @returns true if this object is the same as obj, false otherwise\n     */\n    public equals(obj: I18nResourceImpl): boolean {\n        return this.prefix === obj.prefix && this.suffix === obj.suffix;\n    }\n\n    /**\n     * The path to the resource\n     *\n     * @param lang the resource language\n     * @returns the path\n     */\n    public getPath(lang: string): string {\n        return `${this.prefix}${lang}${this.suffix}`;\n    }\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "<p>Resource constructor</p>\n",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "prefix",
                        "type": "string",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "suffix",
                        "type": "string",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "''"
                    },
                    {
                        "name": "compileTranslationsFn",
                        "type": "function",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "function": [
                            {
                                "name": "translations",
                                "type": "unknown",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            },
                            {
                                "name": "lang",
                                "type": "string",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "defaultValue": "(translations: unknown) => translations"
                    }
                ],
                "line": 1,
                "rawdescription": "\n\nResource constructor\n\n",
                "jsdoctags": [
                    {
                        "name": {
                            "pos": 89,
                            "end": 95,
                            "kind": 80,
                            "id": 0,
                            "flags": 16842752,
                            "transformFlags": 0,
                            "escapedText": "prefix"
                        },
                        "type": "string",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "pos": 83,
                            "end": 88,
                            "kind": 80,
                            "id": 0,
                            "flags": 16842752,
                            "transformFlags": 0,
                            "escapedText": "param"
                        },
                        "comment": "<p>the prefix of the resource</p>\n"
                    },
                    {
                        "name": {
                            "pos": 137,
                            "end": 143,
                            "kind": 80,
                            "id": 0,
                            "flags": 16842752,
                            "transformFlags": 0,
                            "escapedText": "suffix"
                        },
                        "type": "string",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "''",
                        "tagName": {
                            "pos": 131,
                            "end": 136,
                            "kind": 80,
                            "id": 0,
                            "flags": 16842752,
                            "transformFlags": 0,
                            "escapedText": "param"
                        },
                        "comment": "<p>the suffix of the resource, optional parameter</p>\n"
                    },
                    {
                        "name": {
                            "pos": 205,
                            "end": 226,
                            "kind": 80,
                            "id": 0,
                            "flags": 16842752,
                            "transformFlags": 0,
                            "escapedText": "compileTranslationsFn"
                        },
                        "type": "function",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "function": [
                            {
                                "name": "translations",
                                "type": "unknown",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            },
                            {
                                "name": "lang",
                                "type": "string",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "defaultValue": "(translations: unknown) => translations",
                        "tagName": {
                            "pos": 199,
                            "end": 204,
                            "kind": 80,
                            "id": 0,
                            "flags": 16842752,
                            "transformFlags": 0,
                            "escapedText": "param"
                        },
                        "comment": "<p>compiler function, optional parameter</p>\n"
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [],
            "methods": [
                {
                    "name": "compileTranslations",
                    "args": [
                        {
                            "name": "translations",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "lang",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "unknown",
                    "typeParameters": [],
                    "line": 22,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nTranslations pre-processor\n\n",
                    "description": "<p>Translations pre-processor</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 561,
                                "end": 573,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "translations"
                            },
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 555,
                                "end": 560,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the object to be pre-processed</p>\n"
                        },
                        {
                            "name": {
                                "pos": 619,
                                "end": 623,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "lang"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 613,
                                "end": 618,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the translations language</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 658,
                                "end": 665,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>the pre-processed translations</p>\n"
                        }
                    ]
                },
                {
                    "name": "equals",
                    "args": [
                        {
                            "name": "obj",
                            "type": "I18nResourceImpl",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 32,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nIndicates whether other object is equal-to this one.\n\n",
                    "description": "<p>Indicates whether other object is equal-to this one.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 943,
                                "end": 946,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "obj"
                            },
                            "type": "I18nResourceImpl",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 937,
                                "end": 942,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the reference object with which to compare</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 998,
                                "end": 1005,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>true if this object is the same as obj, false otherwise</p>\n"
                        }
                    ]
                },
                {
                    "name": "getPath",
                    "args": [
                        {
                            "name": "lang",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 42,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThe path to the resource\n\n",
                    "description": "<p>The path to the resource</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 1263,
                                "end": 1267,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "lang"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1257,
                                "end": 1262,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the resource language</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 1298,
                                "end": 1305,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>the path</p>\n"
                        }
                    ]
                }
            ],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "InitStoreAction",
            "id": "class-InitStoreAction-5a0021944eebf7364a2f4cfc7756e42cc52373839b90052a310886613f92b4074aa4c8824176e5dfa74a590b81e29d75f48b4ad10d81d9aec739b26e82905130",
            "file": "packages/core/src/lib/services/store/actions/app.actions.ts",
            "deprecated": true,
            "deprecationMessage": "it will be removed in the next major version",
            "type": "class",
            "sourceCode": "import { ActivatedRoute } from '@angular/router';\nimport { Action } from '../ngrx_kit';\nimport { ModuleConfig, ApiQueueItem } from '@eui/base';\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport enum CoreAppActionTypes {\n    INIT_STORE = '[App] Init store',\n    UPDATE_APP_VERSION = '[App] Update version',\n    UPDATE_APP_CONNECTION = '[App] Update connection',\n    ADD_APP_LOADED_CONFIG_MODULES = '[App] Update app loaded config modules',\n    UPDATE_APP_STATUS = '[App] Update status',\n    UPDATE_CURRENT_MODULE = '[App] Update current module',\n    ACTIVATED_ROUTE = '[App] Activated route',\n    ADD_API_QUEUE_ITEM = '[App] Add API queue item',\n    REMOVE_API_QUEUE_ITEM = '[App] Remove API queue item',\n    EMPTY_API_QUEUE = '[App] empty API queue',\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class InitStoreAction implements Action {\n    type = CoreAppActionTypes.INIT_STORE;\n\n    constructor(public payload: { version?: string }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppVersionAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_VERSION;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppConnectionAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_CONNECTION;\n\n    constructor(public payload: boolean) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class AddAppLoadedConfigModulesAction implements Action {\n    type = CoreAppActionTypes.ADD_APP_LOADED_CONFIG_MODULES;\n\n    constructor(public payload: { moduleName: string; moduleConfig: ModuleConfig }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppStatusAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_STATUS;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateCurrentModuleAction implements Action {\n    type = CoreAppActionTypes.UPDATE_CURRENT_MODULE;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class ActivatedRouteAction implements Action {\n    type = CoreAppActionTypes.ACTIVATED_ROUTE;\n\n    constructor(public payload: ActivatedRoute) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class AddApiQueueItemAction implements Action {\n    type = CoreAppActionTypes.ADD_API_QUEUE_ITEM;\n\n    constructor(public payload: { id: string; item: ApiQueueItem }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class RemoveApiQueueItemAction implements Action {\n    type = CoreAppActionTypes.REMOVE_API_QUEUE_ITEM;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class EmptyApiQueueAction implements Action {\n    type = CoreAppActionTypes.EMPTY_API_QUEUE;\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(public payload: any) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport type CoreAppActions =\n    | InitStoreAction\n    | UpdateAppVersionAction\n    | UpdateAppConnectionAction\n    | AddAppLoadedConfigModulesAction\n    | UpdateAppStatusAction\n    | UpdateCurrentModuleAction\n    | ActivatedRouteAction\n    | AddApiQueueItemAction\n    | RemoveApiQueueItemAction;\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "payload",
                        "type": "literal type",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 25,
                "jsdoctags": [
                    {
                        "name": "payload",
                        "type": "literal type",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "payload",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 27,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "type",
                    "defaultValue": "CoreAppActionTypes.INIT_STORE",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 25
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "Action"
            ]
        },
        {
            "name": "LogServiceMock",
            "id": "class-LogServiceMock-1d177ce79bfddd1e78ebe6473b13d28287369fbd90e413434ffa5e8218abbaeca713db61e19fdbe8d9487b0e27c612abf1d8edd7f94fed99c5fc49bf16c40918",
            "file": "packages/core/src/lib/services/log/log.service.mock.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import { LoggerMock } from '@eui/base';\n\nexport class LogServiceMock extends LoggerMock {\n    getLogger(): LoggerMock {\n        return new LoggerMock();\n    }\n}\n",
            "inputsClass": [],
            "outputsClass": [],
            "properties": [],
            "methods": [
                {
                    "name": "getLogger",
                    "args": [],
                    "optional": false,
                    "returnType": "LoggerMock",
                    "typeParameters": [],
                    "line": 4,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "indexSignatures": [],
            "extends": [
                "LoggerMock"
            ],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "RemoveApiQueueItemAction",
            "id": "class-RemoveApiQueueItemAction-5a0021944eebf7364a2f4cfc7756e42cc52373839b90052a310886613f92b4074aa4c8824176e5dfa74a590b81e29d75f48b4ad10d81d9aec739b26e82905130",
            "file": "packages/core/src/lib/services/store/actions/app.actions.ts",
            "deprecated": true,
            "deprecationMessage": "it will be removed in the next major version",
            "type": "class",
            "sourceCode": "import { ActivatedRoute } from '@angular/router';\nimport { Action } from '../ngrx_kit';\nimport { ModuleConfig, ApiQueueItem } from '@eui/base';\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport enum CoreAppActionTypes {\n    INIT_STORE = '[App] Init store',\n    UPDATE_APP_VERSION = '[App] Update version',\n    UPDATE_APP_CONNECTION = '[App] Update connection',\n    ADD_APP_LOADED_CONFIG_MODULES = '[App] Update app loaded config modules',\n    UPDATE_APP_STATUS = '[App] Update status',\n    UPDATE_CURRENT_MODULE = '[App] Update current module',\n    ACTIVATED_ROUTE = '[App] Activated route',\n    ADD_API_QUEUE_ITEM = '[App] Add API queue item',\n    REMOVE_API_QUEUE_ITEM = '[App] Remove API queue item',\n    EMPTY_API_QUEUE = '[App] empty API queue',\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class InitStoreAction implements Action {\n    type = CoreAppActionTypes.INIT_STORE;\n\n    constructor(public payload: { version?: string }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppVersionAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_VERSION;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppConnectionAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_CONNECTION;\n\n    constructor(public payload: boolean) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class AddAppLoadedConfigModulesAction implements Action {\n    type = CoreAppActionTypes.ADD_APP_LOADED_CONFIG_MODULES;\n\n    constructor(public payload: { moduleName: string; moduleConfig: ModuleConfig }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppStatusAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_STATUS;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateCurrentModuleAction implements Action {\n    type = CoreAppActionTypes.UPDATE_CURRENT_MODULE;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class ActivatedRouteAction implements Action {\n    type = CoreAppActionTypes.ACTIVATED_ROUTE;\n\n    constructor(public payload: ActivatedRoute) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class AddApiQueueItemAction implements Action {\n    type = CoreAppActionTypes.ADD_API_QUEUE_ITEM;\n\n    constructor(public payload: { id: string; item: ApiQueueItem }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class RemoveApiQueueItemAction implements Action {\n    type = CoreAppActionTypes.REMOVE_API_QUEUE_ITEM;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class EmptyApiQueueAction implements Action {\n    type = CoreAppActionTypes.EMPTY_API_QUEUE;\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(public payload: any) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport type CoreAppActions =\n    | InitStoreAction\n    | UpdateAppVersionAction\n    | UpdateAppConnectionAction\n    | AddAppLoadedConfigModulesAction\n    | UpdateAppStatusAction\n    | UpdateCurrentModuleAction\n    | ActivatedRouteAction\n    | AddApiQueueItemAction\n    | RemoveApiQueueItemAction;\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "payload",
                        "type": "string",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 97,
                "jsdoctags": [
                    {
                        "name": "payload",
                        "type": "string",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "payload",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 99,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "type",
                    "defaultValue": "CoreAppActionTypes.REMOVE_API_QUEUE_ITEM",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 97
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "Action"
            ]
        },
        {
            "name": "StorageService",
            "id": "class-StorageService-04c1c9246d2e19ea76ba5d985de2f8dbfa2e4266f3558e063b090efd38a5188915165c955026739930819dc17f0d5fd255fcc6be32eac3d191299cecd4ab36d0",
            "file": "packages/core/src/lib/services/storage/storage.service.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "export abstract class StorageService {\n    /**\n     * utility function, to determine the storage implementation\n     */\n    abstract name(): string;\n\n    /**\n     * retrieve an object from storage\n     * @param key the associated key\n     * @returns the value or undefined, if case of error\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    abstract get(key: string): any;\n    abstract get<T>(key: string): T;\n\n    /**\n     * sets an object in storage\n     * @param key the associated key\n     * @param value the value to set\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    abstract set(key: string, value: any): void;\n    abstract set<T>(key: string, value: T): void;\n\n    /**\n     * removes an object from storage\n     * @param key the associated key\n     */\n    abstract remove(key: string): void;\n}\n",
            "inputsClass": [],
            "outputsClass": [],
            "properties": [],
            "description": "<p>Generic storage service. Concrete storage services must extend this class</p>\n",
            "rawdescription": "\n\nGeneric storage service. Concrete storage services must extend this class\n",
            "methods": [
                {
                    "name": "get",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "any",
                    "typeParameters": [],
                    "line": 17,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nretrieve an object from storage\n",
                    "description": "<p>retrieve an object from storage</p>\n",
                    "modifierKind": [
                        128
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 296,
                                "end": 299,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "key"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 290,
                                "end": 295,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the associated key</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 327,
                                "end": 334,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>the value or undefined, if case of error</p>\n"
                        }
                    ]
                },
                {
                    "name": "get",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "T",
                    "typeParameters": [
                        "T"
                    ],
                    "line": 18,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        128
                    ],
                    "jsdoctags": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "name",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 8,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nutility function, to determine the storage implementation\n",
                    "description": "<p>utility function, to determine the storage implementation</p>\n",
                    "modifierKind": [
                        128
                    ]
                },
                {
                    "name": "remove",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 34,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nremoves an object from storage\n",
                    "description": "<p>removes an object from storage</p>\n",
                    "modifierKind": [
                        128
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 1115,
                                "end": 1118,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "key"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1109,
                                "end": 1114,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the associated key</p>\n"
                        }
                    ]
                },
                {
                    "name": "set",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "value",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 27,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nsets an object in storage\n",
                    "description": "<p>sets an object in storage</p>\n",
                    "modifierKind": [
                        128
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 700,
                                "end": 703,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "key"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 694,
                                "end": 699,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the associated key</p>\n"
                        },
                        {
                            "name": {
                                "pos": 737,
                                "end": 742,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "value"
                            },
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 731,
                                "end": 736,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the value to set</p>\n"
                        }
                    ]
                },
                {
                    "name": "set",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "value",
                            "type": "T",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [
                        "T"
                    ],
                    "line": 28,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        128
                    ],
                    "jsdoctags": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "value",
                            "type": "T",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "StorageServiceMock",
            "id": "class-StorageServiceMock-17b86eddd49b935b08b3677e6fb820b929d57fdc0e4322011a939b85321e94594aed300c1aee17c4e1edb1515ef3d7d3d20693dcd3a6e6f2c8e2f90e15a6907e",
            "file": "packages/core/src/lib/services/storage/storage.service.mock.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import { StorageService } from './storage.service';\n\nexport class StorageServiceMock extends StorageService {\n    name(): string {\n        return null;\n    }\n\n    get(): null {\n        return null;\n    }\n\n    set(): void { /* empty */ }\n\n    remove(): void { /* empty */ }\n}\n",
            "inputsClass": [],
            "outputsClass": [],
            "properties": [],
            "methods": [
                {
                    "name": "get",
                    "args": [],
                    "optional": false,
                    "typeParameters": [],
                    "line": 8,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "inheritance": {
                        "file": "StorageService"
                    }
                },
                {
                    "name": "name",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 4,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "inheritance": {
                        "file": "StorageService"
                    }
                },
                {
                    "name": "remove",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 14,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "inheritance": {
                        "file": "StorageService"
                    }
                },
                {
                    "name": "set",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 12,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "inheritance": {
                        "file": "StorageService"
                    }
                }
            ],
            "indexSignatures": [],
            "extends": [
                "StorageService"
            ],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "TranslateServiceMock",
            "id": "class-TranslateServiceMock-eec6297f1f1ae191bbb1201554ba7a136a865bf32065bbbcdb2248787a067444dc6c4e8a95f112a7b1a3efd7b5db21ce79350f47f40a1165aa740417439313be",
            "file": "packages/core/src/lib/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';\nexport const DEFAULT_LANGUAGE = 'en';\n\nexport class TranslateServiceMock {\n    onLangChangeSubject: 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    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[] = [DEFAULT_LANGUAGE];\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    addLangs(langs: string[]): void {\n        this.languages = [...this.languages, ...langs];\n    }\n\n    getBrowserLang(): string {\n        return DEFAULT_LANGUAGE;\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    instant(key: string | string[]): 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', standalone: false })\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    standalone: false,\n})\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport class TranslateMockDirective implements AfterViewChecked {\n    @Input()\n    translateParams: any;\n\n    private readonly _element = inject(ElementRef);\n\n    ngAfterViewChecked(): void {\n        this._element.nativeElement.innerText += TRANSLATED_STRING;\n    }\n}\n\n@NgModule({\n    declarations: [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": 21
                },
                {
                    "name": "isLoaded",
                    "defaultValue": "this.isLoadedSubject.asObservable()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Observable<boolean>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 19
                },
                {
                    "name": "isLoadedSubject",
                    "defaultValue": "new BehaviorSubject(true)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BehaviorSubject<boolean>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 14
                },
                {
                    "name": "languages",
                    "defaultValue": "[DEFAULT_LANGUAGE]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 23
                },
                {
                    "name": "onDefaultLangChange",
                    "defaultValue": "this.onDefaultLangChangeSubject.asObservable()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Observable<string>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 18
                },
                {
                    "name": "onDefaultLangChangeSubject",
                    "defaultValue": "new Subject()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Subject<string>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 13
                },
                {
                    "name": "onLangChange",
                    "defaultValue": "this.onLangChangeSubject.asObservable()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Observable<LangChangeEvent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 16
                },
                {
                    "name": "onLangChangeSubject",
                    "defaultValue": "new Subject()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Subject<LangChangeEvent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 11
                },
                {
                    "name": "onTranslationChange",
                    "defaultValue": "this.onTranslationChangeSubject.asObservable()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Observable<string>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 17
                },
                {
                    "name": "onTranslationChangeSubject",
                    "defaultValue": "new Subject()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Subject<string>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 12
                }
            ],
            "methods": [
                {
                    "name": "addLangs",
                    "args": [
                        {
                            "name": "langs",
                            "type": "string[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 34,
                    "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": 25,
                    "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": 38,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "getLangs",
                    "args": [],
                    "optional": false,
                    "returnType": "string[]",
                    "typeParameters": [],
                    "line": 42,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "getTranslation",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<any>",
                    "typeParameters": [],
                    "line": 48,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "instant",
                    "args": [
                        {
                            "name": "key",
                            "type": "string | string[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 52,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "key",
                            "type": "string | string[]",
                            "optional": false,
                            "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": 56,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "lang",
                            "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": 29,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "lang",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "UpdateAppConnectionAction",
            "id": "class-UpdateAppConnectionAction-5a0021944eebf7364a2f4cfc7756e42cc52373839b90052a310886613f92b4074aa4c8824176e5dfa74a590b81e29d75f48b4ad10d81d9aec739b26e82905130",
            "file": "packages/core/src/lib/services/store/actions/app.actions.ts",
            "deprecated": true,
            "deprecationMessage": "it will be removed in the next major version",
            "type": "class",
            "sourceCode": "import { ActivatedRoute } from '@angular/router';\nimport { Action } from '../ngrx_kit';\nimport { ModuleConfig, ApiQueueItem } from '@eui/base';\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport enum CoreAppActionTypes {\n    INIT_STORE = '[App] Init store',\n    UPDATE_APP_VERSION = '[App] Update version',\n    UPDATE_APP_CONNECTION = '[App] Update connection',\n    ADD_APP_LOADED_CONFIG_MODULES = '[App] Update app loaded config modules',\n    UPDATE_APP_STATUS = '[App] Update status',\n    UPDATE_CURRENT_MODULE = '[App] Update current module',\n    ACTIVATED_ROUTE = '[App] Activated route',\n    ADD_API_QUEUE_ITEM = '[App] Add API queue item',\n    REMOVE_API_QUEUE_ITEM = '[App] Remove API queue item',\n    EMPTY_API_QUEUE = '[App] empty API queue',\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class InitStoreAction implements Action {\n    type = CoreAppActionTypes.INIT_STORE;\n\n    constructor(public payload: { version?: string }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppVersionAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_VERSION;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppConnectionAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_CONNECTION;\n\n    constructor(public payload: boolean) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class AddAppLoadedConfigModulesAction implements Action {\n    type = CoreAppActionTypes.ADD_APP_LOADED_CONFIG_MODULES;\n\n    constructor(public payload: { moduleName: string; moduleConfig: ModuleConfig }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppStatusAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_STATUS;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateCurrentModuleAction implements Action {\n    type = CoreAppActionTypes.UPDATE_CURRENT_MODULE;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class ActivatedRouteAction implements Action {\n    type = CoreAppActionTypes.ACTIVATED_ROUTE;\n\n    constructor(public payload: ActivatedRoute) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class AddApiQueueItemAction implements Action {\n    type = CoreAppActionTypes.ADD_API_QUEUE_ITEM;\n\n    constructor(public payload: { id: string; item: ApiQueueItem }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class RemoveApiQueueItemAction implements Action {\n    type = CoreAppActionTypes.REMOVE_API_QUEUE_ITEM;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class EmptyApiQueueAction implements Action {\n    type = CoreAppActionTypes.EMPTY_API_QUEUE;\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(public payload: any) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport type CoreAppActions =\n    | InitStoreAction\n    | UpdateAppVersionAction\n    | UpdateAppConnectionAction\n    | AddAppLoadedConfigModulesAction\n    | UpdateAppStatusAction\n    | UpdateCurrentModuleAction\n    | ActivatedRouteAction\n    | AddApiQueueItemAction\n    | RemoveApiQueueItemAction;\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "payload",
                        "type": "boolean",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 43,
                "jsdoctags": [
                    {
                        "name": "payload",
                        "type": "boolean",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "payload",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 45,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "type",
                    "defaultValue": "CoreAppActionTypes.UPDATE_APP_CONNECTION",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 43
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "Action"
            ]
        },
        {
            "name": "UpdateAppStatusAction",
            "id": "class-UpdateAppStatusAction-5a0021944eebf7364a2f4cfc7756e42cc52373839b90052a310886613f92b4074aa4c8824176e5dfa74a590b81e29d75f48b4ad10d81d9aec739b26e82905130",
            "file": "packages/core/src/lib/services/store/actions/app.actions.ts",
            "deprecated": true,
            "deprecationMessage": "it will be removed in the next major version",
            "type": "class",
            "sourceCode": "import { ActivatedRoute } from '@angular/router';\nimport { Action } from '../ngrx_kit';\nimport { ModuleConfig, ApiQueueItem } from '@eui/base';\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport enum CoreAppActionTypes {\n    INIT_STORE = '[App] Init store',\n    UPDATE_APP_VERSION = '[App] Update version',\n    UPDATE_APP_CONNECTION = '[App] Update connection',\n    ADD_APP_LOADED_CONFIG_MODULES = '[App] Update app loaded config modules',\n    UPDATE_APP_STATUS = '[App] Update status',\n    UPDATE_CURRENT_MODULE = '[App] Update current module',\n    ACTIVATED_ROUTE = '[App] Activated route',\n    ADD_API_QUEUE_ITEM = '[App] Add API queue item',\n    REMOVE_API_QUEUE_ITEM = '[App] Remove API queue item',\n    EMPTY_API_QUEUE = '[App] empty API queue',\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class InitStoreAction implements Action {\n    type = CoreAppActionTypes.INIT_STORE;\n\n    constructor(public payload: { version?: string }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppVersionAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_VERSION;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppConnectionAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_CONNECTION;\n\n    constructor(public payload: boolean) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class AddAppLoadedConfigModulesAction implements Action {\n    type = CoreAppActionTypes.ADD_APP_LOADED_CONFIG_MODULES;\n\n    constructor(public payload: { moduleName: string; moduleConfig: ModuleConfig }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppStatusAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_STATUS;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateCurrentModuleAction implements Action {\n    type = CoreAppActionTypes.UPDATE_CURRENT_MODULE;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class ActivatedRouteAction implements Action {\n    type = CoreAppActionTypes.ACTIVATED_ROUTE;\n\n    constructor(public payload: ActivatedRoute) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class AddApiQueueItemAction implements Action {\n    type = CoreAppActionTypes.ADD_API_QUEUE_ITEM;\n\n    constructor(public payload: { id: string; item: ApiQueueItem }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class RemoveApiQueueItemAction implements Action {\n    type = CoreAppActionTypes.REMOVE_API_QUEUE_ITEM;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class EmptyApiQueueAction implements Action {\n    type = CoreAppActionTypes.EMPTY_API_QUEUE;\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(public payload: any) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport type CoreAppActions =\n    | InitStoreAction\n    | UpdateAppVersionAction\n    | UpdateAppConnectionAction\n    | AddAppLoadedConfigModulesAction\n    | UpdateAppStatusAction\n    | UpdateCurrentModuleAction\n    | ActivatedRouteAction\n    | AddApiQueueItemAction\n    | RemoveApiQueueItemAction;\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "payload",
                        "type": "string",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 61,
                "jsdoctags": [
                    {
                        "name": "payload",
                        "type": "string",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "payload",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 63,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "type",
                    "defaultValue": "CoreAppActionTypes.UPDATE_APP_STATUS",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 61
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "Action"
            ]
        },
        {
            "name": "UpdateAppVersionAction",
            "id": "class-UpdateAppVersionAction-5a0021944eebf7364a2f4cfc7756e42cc52373839b90052a310886613f92b4074aa4c8824176e5dfa74a590b81e29d75f48b4ad10d81d9aec739b26e82905130",
            "file": "packages/core/src/lib/services/store/actions/app.actions.ts",
            "deprecated": true,
            "deprecationMessage": "it will be removed in the next major version",
            "type": "class",
            "sourceCode": "import { ActivatedRoute } from '@angular/router';\nimport { Action } from '../ngrx_kit';\nimport { ModuleConfig, ApiQueueItem } from '@eui/base';\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport enum CoreAppActionTypes {\n    INIT_STORE = '[App] Init store',\n    UPDATE_APP_VERSION = '[App] Update version',\n    UPDATE_APP_CONNECTION = '[App] Update connection',\n    ADD_APP_LOADED_CONFIG_MODULES = '[App] Update app loaded config modules',\n    UPDATE_APP_STATUS = '[App] Update status',\n    UPDATE_CURRENT_MODULE = '[App] Update current module',\n    ACTIVATED_ROUTE = '[App] Activated route',\n    ADD_API_QUEUE_ITEM = '[App] Add API queue item',\n    REMOVE_API_QUEUE_ITEM = '[App] Remove API queue item',\n    EMPTY_API_QUEUE = '[App] empty API queue',\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class InitStoreAction implements Action {\n    type = CoreAppActionTypes.INIT_STORE;\n\n    constructor(public payload: { version?: string }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppVersionAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_VERSION;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppConnectionAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_CONNECTION;\n\n    constructor(public payload: boolean) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class AddAppLoadedConfigModulesAction implements Action {\n    type = CoreAppActionTypes.ADD_APP_LOADED_CONFIG_MODULES;\n\n    constructor(public payload: { moduleName: string; moduleConfig: ModuleConfig }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppStatusAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_STATUS;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateCurrentModuleAction implements Action {\n    type = CoreAppActionTypes.UPDATE_CURRENT_MODULE;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class ActivatedRouteAction implements Action {\n    type = CoreAppActionTypes.ACTIVATED_ROUTE;\n\n    constructor(public payload: ActivatedRoute) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class AddApiQueueItemAction implements Action {\n    type = CoreAppActionTypes.ADD_API_QUEUE_ITEM;\n\n    constructor(public payload: { id: string; item: ApiQueueItem }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class RemoveApiQueueItemAction implements Action {\n    type = CoreAppActionTypes.REMOVE_API_QUEUE_ITEM;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class EmptyApiQueueAction implements Action {\n    type = CoreAppActionTypes.EMPTY_API_QUEUE;\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(public payload: any) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport type CoreAppActions =\n    | InitStoreAction\n    | UpdateAppVersionAction\n    | UpdateAppConnectionAction\n    | AddAppLoadedConfigModulesAction\n    | UpdateAppStatusAction\n    | UpdateCurrentModuleAction\n    | ActivatedRouteAction\n    | AddApiQueueItemAction\n    | RemoveApiQueueItemAction;\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "payload",
                        "type": "string",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 34,
                "jsdoctags": [
                    {
                        "name": "payload",
                        "type": "string",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "payload",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 36,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "type",
                    "defaultValue": "CoreAppActionTypes.UPDATE_APP_VERSION",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 34
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "Action"
            ]
        },
        {
            "name": "UpdateCurrentModuleAction",
            "id": "class-UpdateCurrentModuleAction-5a0021944eebf7364a2f4cfc7756e42cc52373839b90052a310886613f92b4074aa4c8824176e5dfa74a590b81e29d75f48b4ad10d81d9aec739b26e82905130",
            "file": "packages/core/src/lib/services/store/actions/app.actions.ts",
            "deprecated": true,
            "deprecationMessage": "it will be removed in the next major version",
            "type": "class",
            "sourceCode": "import { ActivatedRoute } from '@angular/router';\nimport { Action } from '../ngrx_kit';\nimport { ModuleConfig, ApiQueueItem } from '@eui/base';\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport enum CoreAppActionTypes {\n    INIT_STORE = '[App] Init store',\n    UPDATE_APP_VERSION = '[App] Update version',\n    UPDATE_APP_CONNECTION = '[App] Update connection',\n    ADD_APP_LOADED_CONFIG_MODULES = '[App] Update app loaded config modules',\n    UPDATE_APP_STATUS = '[App] Update status',\n    UPDATE_CURRENT_MODULE = '[App] Update current module',\n    ACTIVATED_ROUTE = '[App] Activated route',\n    ADD_API_QUEUE_ITEM = '[App] Add API queue item',\n    REMOVE_API_QUEUE_ITEM = '[App] Remove API queue item',\n    EMPTY_API_QUEUE = '[App] empty API queue',\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class InitStoreAction implements Action {\n    type = CoreAppActionTypes.INIT_STORE;\n\n    constructor(public payload: { version?: string }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppVersionAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_VERSION;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppConnectionAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_CONNECTION;\n\n    constructor(public payload: boolean) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class AddAppLoadedConfigModulesAction implements Action {\n    type = CoreAppActionTypes.ADD_APP_LOADED_CONFIG_MODULES;\n\n    constructor(public payload: { moduleName: string; moduleConfig: ModuleConfig }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateAppStatusAction implements Action {\n    type = CoreAppActionTypes.UPDATE_APP_STATUS;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateCurrentModuleAction implements Action {\n    type = CoreAppActionTypes.UPDATE_CURRENT_MODULE;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class ActivatedRouteAction implements Action {\n    type = CoreAppActionTypes.ACTIVATED_ROUTE;\n\n    constructor(public payload: ActivatedRoute) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class AddApiQueueItemAction implements Action {\n    type = CoreAppActionTypes.ADD_API_QUEUE_ITEM;\n\n    constructor(public payload: { id: string; item: ApiQueueItem }) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class RemoveApiQueueItemAction implements Action {\n    type = CoreAppActionTypes.REMOVE_API_QUEUE_ITEM;\n\n    constructor(public payload: string) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class EmptyApiQueueAction implements Action {\n    type = CoreAppActionTypes.EMPTY_API_QUEUE;\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(public payload: any) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport type CoreAppActions =\n    | InitStoreAction\n    | UpdateAppVersionAction\n    | UpdateAppConnectionAction\n    | AddAppLoadedConfigModulesAction\n    | UpdateAppStatusAction\n    | UpdateCurrentModuleAction\n    | ActivatedRouteAction\n    | AddApiQueueItemAction\n    | RemoveApiQueueItemAction;\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "payload",
                        "type": "string",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 70,
                "jsdoctags": [
                    {
                        "name": "payload",
                        "type": "string",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "payload",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 72,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "type",
                    "defaultValue": "CoreAppActionTypes.UPDATE_CURRENT_MODULE",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 70
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "Action"
            ]
        },
        {
            "name": "UpdateI18nStateAction",
            "id": "class-UpdateI18nStateAction-53c48b9de6d2c80d3e09141aff3f31a7a726daffe9a2ec94af3622a508ae710ef37c445de269388c044ec7339b29e0e40039142d7f2713241c6f46abb6927baf",
            "file": "packages/core/src/lib/services/store/actions/i18n.actions.ts",
            "deprecated": true,
            "deprecationMessage": "it will be removed in the next major version",
            "type": "class",
            "sourceCode": "import { Action } from '../ngrx_kit';\nimport { I18nState } from '@eui/base';\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport enum CoreI18nActionTypes {\n    UPDATE_I18N_STATE = '[I18n] Update I18n State',\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateI18nStateAction implements Action {\n    type = CoreI18nActionTypes.UPDATE_I18N_STATE;\n    constructor(public payload: I18nState) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport type CoreI18nActions = UpdateI18nStateAction;\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "payload",
                        "type": "I18nState",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 15,
                "jsdoctags": [
                    {
                        "name": "payload",
                        "type": "I18nState",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "payload",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "I18nState",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 16,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "type",
                    "defaultValue": "CoreI18nActionTypes.UPDATE_I18N_STATE",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 15
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "Action"
            ]
        },
        {
            "name": "UpdateLocaleStateAction",
            "id": "class-UpdateLocaleStateAction-17674e28e0368b3def348e89ece192de45d8e2588b145e94c78c188d4ce1c776bedc161989ab0ab99ccb93eff14beecd4171faf6e3e981fd5e1a75fd0b8b394e",
            "file": "packages/core/src/lib/services/store/actions/locale.actions.ts",
            "deprecated": true,
            "deprecationMessage": "it will be removed in the next major version",
            "type": "class",
            "sourceCode": "import { Action } from '../ngrx_kit';\nimport { LocaleState } from '@eui/base';\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport enum CoreLocaleActionTypes {\n    UPDATE_LOCALE_STATE = '[Locale] Update Locale State',\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateLocaleStateAction implements Action {\n    type = CoreLocaleActionTypes.UPDATE_LOCALE_STATE;\n    constructor(public payload: LocaleState) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport type CoreLocaleActions = UpdateLocaleStateAction;\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "payload",
                        "type": "LocaleState",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 15,
                "jsdoctags": [
                    {
                        "name": "payload",
                        "type": "LocaleState",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "payload",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "LocaleState",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 16,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "type",
                    "defaultValue": "CoreLocaleActionTypes.UPDATE_LOCALE_STATE",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 15
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "Action"
            ]
        },
        {
            "name": "UpdateNotificationsListAction",
            "id": "class-UpdateNotificationsListAction-1ccccda64e85e168d9b2d154e889f94dd8eaebb18beeee5e20765e0b5d10c7f16d4dac9ec4b60428e6bbb9cea51823d40229f21b9dddc49596fc539e141c7e7b",
            "file": "packages/core/src/lib/services/store/actions/notifications.actions.ts",
            "deprecated": true,
            "deprecationMessage": "it will be removed in the next major version",
            "type": "class",
            "sourceCode": "import { Action } from '../ngrx_kit';\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport enum CoreNotificationsActionTypes {\n    UPDATE_NOTIFICATIONS_LIST = '[Notif] Update list',\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateNotificationsListAction implements Action {\n    type = CoreNotificationsActionTypes.UPDATE_NOTIFICATIONS_LIST;\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(public payload: any[]) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport type CoreNotificationsActions = UpdateNotificationsListAction;\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "payload",
                        "type": "any[]",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 14,
                "jsdoctags": [
                    {
                        "name": "payload",
                        "type": "any[]",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "payload",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 17,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "type",
                    "defaultValue": "CoreNotificationsActionTypes.UPDATE_NOTIFICATIONS_LIST",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 14
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "Action"
            ]
        },
        {
            "name": "UpdateUserDashboardAction",
            "id": "class-UpdateUserDashboardAction-31e84bca2490205517981ba27411334cdbf93b4b76a8b700d4318e63cbc6cc90110557e0117a5330eb9b551b17e06f2bb18c5b15bc03609cffdc20e61c0ef245",
            "file": "packages/core/src/lib/services/store/actions/user.actions.ts",
            "deprecated": true,
            "deprecationMessage": "it will be removed in the next major version",
            "type": "class",
            "sourceCode": "import { Action } from '../ngrx_kit';\nimport { UserState, UserDetails, UserPreferences, EuiUserRight } from '@eui/base';\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport enum CoreUserActionTypes {\n    UPDATE_USER_STATE = '[User] Update User state',\n    UPDATE_USER_DETAILS = '[User] Update details',\n    UPDATE_USER_PREFERENCES = '[User] Update preferences',\n    UPDATE_USER_RIGHTS = '[User] Update rights',\n    UPDATE_USER_DASHBOARD = '[User] Update dashboard',\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserStateAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_STATE;\n\n    constructor(public payload: UserState) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserDetailsAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_DETAILS;\n\n    constructor(public payload: UserDetails) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserPreferencesAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_PREFERENCES;\n\n    constructor(public payload: UserPreferences) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserRightsAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_RIGHTS;\n\n    constructor(public payload: EuiUserRight[]) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserDashboardAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_DASHBOARD;\n\n    constructor(public payload: unknown) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport type CoreUserActions = UpdateUserDetailsAction | UpdateUserPreferencesAction | UpdateUserRightsAction | UpdateUserDashboardAction;\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "payload",
                        "type": "unknown",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 55,
                "jsdoctags": [
                    {
                        "name": "payload",
                        "type": "unknown",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "payload",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 57,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "type",
                    "defaultValue": "CoreUserActionTypes.UPDATE_USER_DASHBOARD",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 55
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "Action"
            ]
        },
        {
            "name": "UpdateUserDetailsAction",
            "id": "class-UpdateUserDetailsAction-31e84bca2490205517981ba27411334cdbf93b4b76a8b700d4318e63cbc6cc90110557e0117a5330eb9b551b17e06f2bb18c5b15bc03609cffdc20e61c0ef245",
            "file": "packages/core/src/lib/services/store/actions/user.actions.ts",
            "deprecated": true,
            "deprecationMessage": "it will be removed in the next major version",
            "type": "class",
            "sourceCode": "import { Action } from '../ngrx_kit';\nimport { UserState, UserDetails, UserPreferences, EuiUserRight } from '@eui/base';\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport enum CoreUserActionTypes {\n    UPDATE_USER_STATE = '[User] Update User state',\n    UPDATE_USER_DETAILS = '[User] Update details',\n    UPDATE_USER_PREFERENCES = '[User] Update preferences',\n    UPDATE_USER_RIGHTS = '[User] Update rights',\n    UPDATE_USER_DASHBOARD = '[User] Update dashboard',\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserStateAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_STATE;\n\n    constructor(public payload: UserState) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserDetailsAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_DETAILS;\n\n    constructor(public payload: UserDetails) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserPreferencesAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_PREFERENCES;\n\n    constructor(public payload: UserPreferences) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserRightsAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_RIGHTS;\n\n    constructor(public payload: EuiUserRight[]) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserDashboardAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_DASHBOARD;\n\n    constructor(public payload: unknown) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport type CoreUserActions = UpdateUserDetailsAction | UpdateUserPreferencesAction | UpdateUserRightsAction | UpdateUserDashboardAction;\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "payload",
                        "type": "UserDetails",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 28,
                "jsdoctags": [
                    {
                        "name": "payload",
                        "type": "UserDetails",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "payload",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "UserDetails",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 30,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "type",
                    "defaultValue": "CoreUserActionTypes.UPDATE_USER_DETAILS",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 28
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "Action"
            ]
        },
        {
            "name": "UpdateUserPreferencesAction",
            "id": "class-UpdateUserPreferencesAction-31e84bca2490205517981ba27411334cdbf93b4b76a8b700d4318e63cbc6cc90110557e0117a5330eb9b551b17e06f2bb18c5b15bc03609cffdc20e61c0ef245",
            "file": "packages/core/src/lib/services/store/actions/user.actions.ts",
            "deprecated": true,
            "deprecationMessage": "it will be removed in the next major version",
            "type": "class",
            "sourceCode": "import { Action } from '../ngrx_kit';\nimport { UserState, UserDetails, UserPreferences, EuiUserRight } from '@eui/base';\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport enum CoreUserActionTypes {\n    UPDATE_USER_STATE = '[User] Update User state',\n    UPDATE_USER_DETAILS = '[User] Update details',\n    UPDATE_USER_PREFERENCES = '[User] Update preferences',\n    UPDATE_USER_RIGHTS = '[User] Update rights',\n    UPDATE_USER_DASHBOARD = '[User] Update dashboard',\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserStateAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_STATE;\n\n    constructor(public payload: UserState) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserDetailsAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_DETAILS;\n\n    constructor(public payload: UserDetails) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserPreferencesAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_PREFERENCES;\n\n    constructor(public payload: UserPreferences) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserRightsAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_RIGHTS;\n\n    constructor(public payload: EuiUserRight[]) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserDashboardAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_DASHBOARD;\n\n    constructor(public payload: unknown) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport type CoreUserActions = UpdateUserDetailsAction | UpdateUserPreferencesAction | UpdateUserRightsAction | UpdateUserDashboardAction;\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "payload",
                        "type": "UserPreferences",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 37,
                "jsdoctags": [
                    {
                        "name": "payload",
                        "type": "UserPreferences",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "payload",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "UserPreferences",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 39,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "type",
                    "defaultValue": "CoreUserActionTypes.UPDATE_USER_PREFERENCES",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 37
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "Action"
            ]
        },
        {
            "name": "UpdateUserRightsAction",
            "id": "class-UpdateUserRightsAction-31e84bca2490205517981ba27411334cdbf93b4b76a8b700d4318e63cbc6cc90110557e0117a5330eb9b551b17e06f2bb18c5b15bc03609cffdc20e61c0ef245",
            "file": "packages/core/src/lib/services/store/actions/user.actions.ts",
            "deprecated": true,
            "deprecationMessage": "it will be removed in the next major version",
            "type": "class",
            "sourceCode": "import { Action } from '../ngrx_kit';\nimport { UserState, UserDetails, UserPreferences, EuiUserRight } from '@eui/base';\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport enum CoreUserActionTypes {\n    UPDATE_USER_STATE = '[User] Update User state',\n    UPDATE_USER_DETAILS = '[User] Update details',\n    UPDATE_USER_PREFERENCES = '[User] Update preferences',\n    UPDATE_USER_RIGHTS = '[User] Update rights',\n    UPDATE_USER_DASHBOARD = '[User] Update dashboard',\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserStateAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_STATE;\n\n    constructor(public payload: UserState) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserDetailsAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_DETAILS;\n\n    constructor(public payload: UserDetails) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserPreferencesAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_PREFERENCES;\n\n    constructor(public payload: UserPreferences) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserRightsAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_RIGHTS;\n\n    constructor(public payload: EuiUserRight[]) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserDashboardAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_DASHBOARD;\n\n    constructor(public payload: unknown) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport type CoreUserActions = UpdateUserDetailsAction | UpdateUserPreferencesAction | UpdateUserRightsAction | UpdateUserDashboardAction;\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "payload",
                        "type": "EuiUserRight[]",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 46,
                "jsdoctags": [
                    {
                        "name": "payload",
                        "type": "EuiUserRight[]",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "payload",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiUserRight[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 48,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "type",
                    "defaultValue": "CoreUserActionTypes.UPDATE_USER_RIGHTS",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 46
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "Action"
            ]
        },
        {
            "name": "UpdateUserStateAction",
            "id": "class-UpdateUserStateAction-31e84bca2490205517981ba27411334cdbf93b4b76a8b700d4318e63cbc6cc90110557e0117a5330eb9b551b17e06f2bb18c5b15bc03609cffdc20e61c0ef245",
            "file": "packages/core/src/lib/services/store/actions/user.actions.ts",
            "deprecated": true,
            "deprecationMessage": "it will be removed in the next major version",
            "type": "class",
            "sourceCode": "import { Action } from '../ngrx_kit';\nimport { UserState, UserDetails, UserPreferences, EuiUserRight } from '@eui/base';\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport enum CoreUserActionTypes {\n    UPDATE_USER_STATE = '[User] Update User state',\n    UPDATE_USER_DETAILS = '[User] Update details',\n    UPDATE_USER_PREFERENCES = '[User] Update preferences',\n    UPDATE_USER_RIGHTS = '[User] Update rights',\n    UPDATE_USER_DASHBOARD = '[User] Update dashboard',\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserStateAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_STATE;\n\n    constructor(public payload: UserState) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserDetailsAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_DETAILS;\n\n    constructor(public payload: UserDetails) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserPreferencesAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_PREFERENCES;\n\n    constructor(public payload: UserPreferences) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserRightsAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_RIGHTS;\n\n    constructor(public payload: EuiUserRight[]) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport class UpdateUserDashboardAction implements Action {\n    type = CoreUserActionTypes.UPDATE_USER_DASHBOARD;\n\n    constructor(public payload: unknown) {}\n}\n\n/**\n * @deprecated it will be removed in the next major version\n */\nexport type CoreUserActions = UpdateUserDetailsAction | UpdateUserPreferencesAction | UpdateUserRightsAction | UpdateUserDashboardAction;\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "payload",
                        "type": "UserState",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 19,
                "jsdoctags": [
                    {
                        "name": "payload",
                        "type": "UserState",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "payload",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "UserState",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 21,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "type",
                    "defaultValue": "CoreUserActionTypes.UPDATE_USER_STATE",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 19
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "Action"
            ]
        }
    ],
    "directives": [
        {
            "name": "TranslateMockDirective",
            "id": "directive-TranslateMockDirective-eec6297f1f1ae191bbb1201554ba7a136a865bf32065bbbcdb2248787a067444dc6c4e8a95f112a7b1a3efd7b5db21ce79350f47f40a1165aa740417439313be",
            "file": "packages/core/src/lib/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';\nexport const DEFAULT_LANGUAGE = 'en';\n\nexport class TranslateServiceMock {\n    onLangChangeSubject: 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    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[] = [DEFAULT_LANGUAGE];\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    addLangs(langs: string[]): void {\n        this.languages = [...this.languages, ...langs];\n    }\n\n    getBrowserLang(): string {\n        return DEFAULT_LANGUAGE;\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    instant(key: string | string[]): 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', standalone: false })\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    standalone: false,\n})\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport class TranslateMockDirective implements AfterViewChecked {\n    @Input()\n    translateParams: any;\n\n    private readonly _element = inject(ElementRef);\n\n    ngAfterViewChecked(): void {\n        this._element.nativeElement.innerText += TRANSLATED_STRING;\n    }\n}\n\n@NgModule({\n    declarations: [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": 76,
                    "type": "any",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "ngAfterViewChecked",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 80,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "extends": [],
            "implements": [
                "AfterViewChecked"
            ]
        }
    ],
    "components": [
        {
            "name": "TemplatePlaygroundComponent",
            "id": "component-TemplatePlaygroundComponent-adc0097964f185f2079637fe50fb71cc9bfa4e1abd1a0de21565f9554688ae342f997cbff2cc1ffb32d52a0d45c76482a9d8c59ad2d031250418b7e4304a527c",
            "file": "packages/core/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
                    }
                }
            }
        }
    ],
    "modules": [
        {
            "name": "CoreModule",
            "id": "module-CoreModule-a327c85693a5ba36e7500a513f6154746fbce173580895dbac3ea8db9b2458c4db39d402c3de7ce2b64657ab9c140fc1caf2ff8fbffe904b0d067412f548c5cb",
            "description": "",
            "deprecationMessage": "",
            "deprecated": false,
            "file": "packages/core/src/lib/eui-core.module.ts",
            "methods": [
                {
                    "name": "forChild",
                    "args": [
                        {
                            "name": "moduleName",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "ModuleWithProviders<CoreModule>",
                    "typeParameters": [],
                    "line": 50,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        126
                    ],
                    "jsdoctags": [
                        {
                            "name": "moduleName",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "forRoot",
                    "args": [],
                    "optional": false,
                    "returnType": "ModuleWithProviders<CoreModule>",
                    "typeParameters": [],
                    "line": 31,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nNo more providing config from forRoot, you have to use EUI_CONFIG_TOKEN to pass config via providers.\n",
                    "description": "<p>No more providing config from forRoot, you have to use EUI_CONFIG_TOKEN to pass config via providers.</p>\n",
                    "modifierKind": [
                        126
                    ]
                }
            ],
            "sourceCode": "import { Injector, ModuleWithProviders, NgModule, Optional, SkipSelf, InjectionToken, inject } from '@angular/core';\n\nimport { MODULE_CONFIG_TOKEN, MODULE_NAME_TOKEN } from './services/config/tokens';\nimport { StoreService } from './services/store/index';\nimport { getCoreChildProviders, getCoreProviders } from './services/app/eui-startup';\nimport { CoreState } from '@eui/base';\n\nconst AddAppLoadedConfigModules = (state: CoreState, action: { moduleName, moduleConfig }): CoreState => ({\n    ...state,\n    app: {\n        ...state.app,\n        loadedConfigModules: {\n            lastAddedModule: action.moduleName,\n            modulesConfig: {\n                ...state.app.loadedConfigModules.modulesConfig,\n                [action.moduleName]: {\n                    ...action.moduleConfig,\n                },\n            },\n        },\n    },\n});\n\nexport const CORE_ROOT_GUARD = new InjectionToken<void>('Internal Theme ForRoot Guard');\n\n@NgModule()\nexport class CoreModule {\n    /**\n     * No more providing config from forRoot, you have to use EUI_CONFIG_TOKEN to pass config via providers.\n     */\n    static forRoot(): ModuleWithProviders<CoreModule> {\n        return {\n            ngModule: CoreModule,\n            providers: [\n                {\n                    provide: EuiCoreRootGuardClass,\n                    useFactory: euiCoreRootGuardClass,\n                    deps: [],\n                },\n                {\n                    provide: CORE_ROOT_GUARD,\n                    useFactory: createEuiCoreRootGuard,\n                    deps: [[EuiCoreRootGuardClass, new Optional(), new SkipSelf()]],\n                },\n                ...getCoreProviders(),\n            ],\n        };\n    }\n\n    static forChild(moduleName: string): ModuleWithProviders<CoreModule> {\n        return {\n            ngModule: CoreModule,\n            providers: getCoreChildProviders(moduleName),\n        };\n    }\n\n    constructor() {\n        const parentModule = inject(CoreModule, { optional: true, skipSelf: true });\n        const injector = inject(Injector);\n\n        // if there is a parentModule, a new instance is created in a lazy loaded module\n        if (parentModule) {\n            // extract the i18n service and the i18n loader config\n            // todo, this thing should be achieved by store, and localization service dependency should be removed\n            const storeService = injector.get(StoreService);\n            const moduleName = injector.get(MODULE_NAME_TOKEN);\n            const moduleConfig = injector.get(MODULE_CONFIG_TOKEN);\n            storeService.updateState({ moduleName, moduleConfig }, AddAppLoadedConfigModules);\n        }\n    }\n}\n\nconst createEuiCoreRootGuard = (core): string => {\n    if (core) {\n        throw new TypeError('CoreModule.forRoot() called twice. Feature modules should use ThemeModule.forChild() instead.');\n    }\n    return 'guarded';\n};\n\nexport class EuiCoreRootGuardClass {\n    constructor() { /* empty */ }\n}\n\nconst euiCoreRootGuardClass = (): EuiCoreRootGuardClass => new EuiCoreRootGuardClass();\n\nexport { createEuiCoreRootGuard, euiCoreRootGuardClass };\n",
            "children": [
                {
                    "type": "providers",
                    "elements": []
                },
                {
                    "type": "declarations",
                    "elements": []
                },
                {
                    "type": "imports",
                    "elements": []
                },
                {
                    "type": "exports",
                    "elements": []
                },
                {
                    "type": "bootstrap",
                    "elements": []
                },
                {
                    "type": "classes",
                    "elements": []
                }
            ]
        },
        {
            "name": "I18nModule",
            "id": "module-I18nModule-29cbd15a2e238ca69d9f9639ecb441e8192bd93153a79e6b8109ad74249a784dea60d2b037a2ed951d0c5ad7b35abaa3b31cf2b5ef676a6a853ff4d81439a026",
            "description": "<p>I18N Module</p>\n",
            "deprecationMessage": "",
            "deprecated": false,
            "file": "packages/core/src/lib/services/i18n/i18n.module.ts",
            "methods": [
                {
                    "name": "forRoot",
                    "args": [],
                    "optional": false,
                    "returnType": "ModuleWithProviders<I18nModule>",
                    "typeParameters": [],
                    "line": 13,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nmethod called in your root module to provide the I18nModule",
                    "description": "<p>method called in your root module to provide the I18nModule</p>\n",
                    "modifierKind": [
                        126
                    ]
                }
            ],
            "sourceCode": "import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { translateConfig } from './i18n.loader';\n\n/**\n * I18N Module\n */\n@NgModule({\n    imports: [TranslateModule.forRoot(translateConfig)],\n})\nexport class I18nModule {\n    /** method called in your root module to provide the I18nModule */\n    static forRoot(): ModuleWithProviders<I18nModule> {\n        return {\n            ngModule: I18nModule,\n            providers: [],\n        };\n    }\n}\n",
            "children": [
                {
                    "type": "providers",
                    "elements": []
                },
                {
                    "type": "declarations",
                    "elements": []
                },
                {
                    "type": "imports",
                    "elements": []
                },
                {
                    "type": "exports",
                    "elements": []
                },
                {
                    "type": "bootstrap",
                    "elements": []
                },
                {
                    "type": "classes",
                    "elements": []
                }
            ]
        },
        {
            "name": "LogModule",
            "id": "module-LogModule-0d8100709c592421a462a5f9670e0f835b9d5f15004ba745b8dc3aa944eea3a59b411bc3c246af35c2b51735fca6e88c6053764533aa444e16fa0ce18c7c7ccd",
            "description": "<p>Log Module</p>\n",
            "deprecationMessage": "",
            "deprecated": false,
            "file": "packages/core/src/lib/services/log/log.module.ts",
            "methods": [
                {
                    "name": "forChild",
                    "args": [
                        {
                            "name": "config",
                            "type": "LogConfig",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "DEFAULT_LOG_CONFIG"
                        }
                    ],
                    "optional": false,
                    "returnType": "ModuleWithProviders<LogModule>",
                    "typeParameters": [],
                    "line": 27,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nmethod called in your other (non root, lazy loaded) modules to import a different instance of LogService",
                    "description": "<p>method called in your other (non root, lazy loaded) modules to import a different instance of LogService</p>\n",
                    "modifierKind": [
                        126
                    ],
                    "jsdoctags": [
                        {
                            "name": "config",
                            "type": "LogConfig",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "DEFAULT_LOG_CONFIG",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "forRoot",
                    "args": [
                        {
                            "name": "config",
                            "type": "LogConfig",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "DEFAULT_LOG_CONFIG"
                        }
                    ],
                    "optional": false,
                    "returnType": "ModuleWithProviders<LogModule>",
                    "typeParameters": [],
                    "line": 16,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nmethod called in your root module to provide the LogService",
                    "description": "<p>method called in your root module to provide the LogService</p>\n",
                    "modifierKind": [
                        126
                    ],
                    "jsdoctags": [
                        {
                            "name": "config",
                            "type": "LogConfig",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "DEFAULT_LOG_CONFIG",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "sourceCode": "import { InjectionToken, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { LogConfig } from '@eui/base';\n\nimport { LogService } from './log.service';\nimport { DEFAULT_LOG_CONFIG } from '../config/defaults';\nimport { logServiceFactory } from '../app/factories/log';\n\nconst LOG_MODULE_CONFIG_TOKEN = new InjectionToken<LogConfig>('LOG_CONFIG');\n\n/**\n * Log Module\n */\n@NgModule()\nexport class LogModule {\n    /** method called in your root module to provide the LogService */\n    static forRoot(config: LogConfig = DEFAULT_LOG_CONFIG): ModuleWithProviders<LogModule> {\n        return {\n            ngModule: LogModule,\n            providers: [\n                { provide: LOG_MODULE_CONFIG_TOKEN, useValue: config },\n                { provide: LogService, useFactory: logServiceFactory, deps: [LOG_MODULE_CONFIG_TOKEN, Injector] },\n            ],\n        };\n    }\n\n    /** method called in your other (non root, lazy loaded) modules to import a different instance of LogService */\n    static forChild(config: LogConfig = DEFAULT_LOG_CONFIG): ModuleWithProviders<LogModule> {\n        return {\n            ngModule: LogModule,\n            providers: [\n                { provide: LOG_MODULE_CONFIG_TOKEN, useValue: config },\n                { provide: LogService, useFactory: logServiceFactory, deps: [LOG_MODULE_CONFIG_TOKEN, Injector] },\n            ],\n        };\n    }\n}\n",
            "children": [
                {
                    "type": "providers",
                    "elements": []
                },
                {
                    "type": "declarations",
                    "elements": []
                },
                {
                    "type": "imports",
                    "elements": []
                },
                {
                    "type": "exports",
                    "elements": []
                },
                {
                    "type": "bootstrap",
                    "elements": []
                },
                {
                    "type": "classes",
                    "elements": []
                }
            ]
        },
        {
            "name": "TemplatePlaygroundModule",
            "id": "module-TemplatePlaygroundModule-a48e698b66bad8be9ff3b78b5db8e15ee6bb54bd2575fdb1bb61a34e76437cc54b2e161854c3d6c97b4c751d05ff3a43b70b87ceffd46d3c5bf53f6f161e3044",
            "description": "",
            "deprecationMessage": "",
            "deprecated": false,
            "file": "packages/core/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-eec6297f1f1ae191bbb1201554ba7a136a865bf32065bbbcdb2248787a067444dc6c4e8a95f112a7b1a3efd7b5db21ce79350f47f40a1165aa740417439313be",
            "description": "",
            "deprecationMessage": "",
            "deprecated": false,
            "file": "packages/core/src/lib/mocks/translate.module.mock.ts",
            "methods": [],
            "sourceCode": "/* istanbul ignore file */\n\nimport { 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';\nexport const DEFAULT_LANGUAGE = 'en';\n\nexport class TranslateServiceMock {\n    onLangChangeSubject: 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    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[] = [DEFAULT_LANGUAGE];\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    addLangs(langs: string[]): void {\n        this.languages = [...this.languages, ...langs];\n    }\n\n    getBrowserLang(): string {\n        return DEFAULT_LANGUAGE;\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    instant(key: string | string[]): 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', standalone: false })\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    standalone: false,\n})\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport class TranslateMockDirective implements AfterViewChecked {\n    @Input()\n    translateParams: any;\n\n    private readonly _element = inject(ElementRef);\n\n    ngAfterViewChecked(): void {\n        this._element.nativeElement.innerText += TRANSLATED_STRING;\n    }\n}\n\n@NgModule({\n    declarations: [TranslateMockPipe, TranslateMockDirective],\n    exports: [TranslateMockPipe, TranslateMockDirective],\n    providers: [{ provide: TranslateService, useClass: TranslateServiceMock }],\n})\nexport class TranslateMockModule {}\n",
            "children": [
                {
                    "type": "providers",
                    "elements": []
                },
                {
                    "type": "declarations",
                    "elements": [
                        {
                            "name": "TranslateMockDirective"
                        },
                        {
                            "name": "TranslateMockPipe"
                        }
                    ]
                },
                {
                    "type": "imports",
                    "elements": []
                },
                {
                    "type": "exports",
                    "elements": [
                        {
                            "name": "TranslateMockDirective"
                        },
                        {
                            "name": "TranslateMockPipe"
                        }
                    ]
                },
                {
                    "type": "bootstrap",
                    "elements": []
                },
                {
                    "type": "classes",
                    "elements": []
                }
            ]
        }
    ],
    "miscellaneous": {
        "variables": [
            {
                "name": "actionToReducerMap",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/app.reducers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "literal type",
                "defaultValue": "{\n    [CoreAppActionTypes.UPDATE_APP_VERSION]: updateAppVersion,\n    [CoreAppActionTypes.UPDATE_APP_CONNECTION]: updateAppConnection,\n    [CoreAppActionTypes.UPDATE_APP_STATUS]: updateAppStatus,\n    [CoreAppActionTypes.UPDATE_CURRENT_MODULE]: updateCurrentModule,\n    [CoreAppActionTypes.ADD_API_QUEUE_ITEM]: addApiQueueItem,\n    [CoreAppActionTypes.REMOVE_API_QUEUE_ITEM]: removeApiQueueItem,\n    [CoreAppActionTypes.EMPTY_API_QUEUE]: emptyApiQueue,\n}"
            },
            {
                "name": "actionToReducerMap",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/i18n.reducers.ts",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "type": "literal type",
                "defaultValue": "{\n    [CoreI18nActionTypes.UPDATE_I18N_STATE]: updateI18nState,\n}"
            },
            {
                "name": "actionToReducerMap",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/locale.reducers.ts",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "type": "literal type",
                "defaultValue": "{\n    [CoreLocaleActionTypes.UPDATE_LOCALE_STATE]: updateLocaleState,\n}"
            },
            {
                "name": "actionToReducerMap",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/notifications.reducers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "literal type",
                "defaultValue": "{\n    [CoreNotificationsActionTypes.UPDATE_NOTIFICATIONS_LIST]: updateNotificationsList,\n}"
            },
            {
                "name": "actionToReducerMap",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/user.reducers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "literal type",
                "defaultValue": "{\n    [CoreUserActionTypes.UPDATE_USER_DETAILS]: updateUserDetails,\n    [CoreUserActionTypes.UPDATE_USER_PREFERENCES]: updateUserPreferences,\n    [CoreUserActionTypes.UPDATE_USER_STATE]: updateUser,\n    [CoreUserActionTypes.UPDATE_USER_RIGHTS]: updateUserRights,\n    [CoreUserActionTypes.UPDATE_USER_DASHBOARD]: updateUserDashboard,\n}"
            },
            {
                "name": "addApiQueueItem",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/app.reducers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(state: AppState, action: AddApiQueueItemAction): AppState => {\n    // apply the timestamp to the queue item\n    const apiQueueItem = Object.assign({}, action.payload.item, { timestamp: new Date().getTime() });\n    // update the queue\n    const apiQueue = Object.assign({}, state.apiQueue, { [action.payload.id]: apiQueueItem });\n    return Object.assign({}, state, { apiQueue });\n}"
            },
            {
                "name": "AddAppLoadedConfigModules",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/eui-core.module.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(state: CoreState, action: { moduleName, moduleConfig }): CoreState => ({\n    ...state,\n    app: {\n        ...state.app,\n        loadedConfigModules: {\n            lastAddedModule: action.moduleName,\n            modulesConfig: {\n                ...state.app.loadedConfigModules.modulesConfig,\n                [action.moduleName]: {\n                    ...action.moduleConfig,\n                },\n            },\n        },\n    },\n})"
            },
            {
                "name": "BASE_LOGGER_NAME_TOKEN",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/log/log.service.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new InjectionToken<string>('BASE_LOGGER_NAME')"
            },
            {
                "name": "BASE_NAME_TOKEN",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/config/tokens.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new InjectionToken<string>('baseName')"
            },
            {
                "name": "cb",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/meta.reducers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "<S extends CoreState>(reducer: ActionReducer<S>, storage: Storage | null) =>\n    (state: S, action: Action): S => {\n        if (action.type === CoreAppActionTypes.INIT_STORE) {\n            // This action must be dispatched from an app initializer\n            // We load the state from a storage and compare the version and userId with the provided ones.\n            // If they are the same, we merge the local state into the initial state.\n            // If there is a mismatch, we don't merge the local state, but update only the initial state.\n\n            if (storage) {\n                // load the state from the localStorage\n                const localState: S = loadState<S>(storage);\n\n                // extract the details about user and app version from the action payload\n                const payloadVersion = (action as InitStoreAction).payload?.version;\n\n                if (localState) {\n                    // TODO: Why all these checks here? What is the purpose of this code?\n                    // extract the details about user and app version from the storage state\n                    const localVersion = localState?.app?.version;\n                    // const localUserId = localState.user && localState.user.userId;\n\n                    const isVersionOK = !localVersion || !payloadVersion || localVersion === payloadVersion;\n                    // const isUserIdOK = (localUserId === payloadUserId);\n\n                    // update the entire state with deep merge of states, if the version and user are the same\n                    if (isVersionOK) {\n                        state = { ...state, ...localState };\n                        // state = extend(true, {}, state, localState);\n                    }\n                }\n\n                // update the app version, if defined\n                if (payloadVersion) {\n                    state = { ...state, app: { ...state?.app, version: payloadVersion } };\n                }\n            }\n        }\n\n        return reducer(state, action);\n    }"
            },
            {
                "name": "CHIP_ATTR",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'euiChip'"
            },
            {
                "name": "CHIP_LIST_ATTR",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'euiChipList'"
            },
            {
                "name": "CHIP_LIST_TAG",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'eui-chip-list'"
            },
            {
                "name": "CHIP_TAG",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'eui-chip'"
            },
            {
                "name": "closestMatchingParent",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/helpers/dom-helpers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(target: HTMLElement, className: string): HTMLElement | null => {\n    let element = target;\n\n    while (element && element.nodeType === Node.ELEMENT_NODE) {\n        if (element.classList.contains(className)) {\n            return element;\n        }\n\n        element = element.parentElement;\n    }\n\n    return null;\n}"
            },
            {
                "name": "COMPONENT_TAG",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'eui-discussion-thread'"
            },
            {
                "name": "COMPONENT_TAG",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'eui-editor'"
            },
            {
                "name": "COMPONENT_TAG",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'eui-fieldset'"
            },
            {
                "name": "COMPONENT_TAG",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'eui-icon-svg'"
            },
            {
                "name": "COMPONENT_TAG",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'eui-icon-toggle'"
            },
            {
                "name": "CONFIG_TOKEN",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/config/tokens.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new InjectionToken<EuiAppConfig>('finalConfigToken')"
            },
            {
                "name": "consumeEvent",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/helpers/event-helpers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(event: Event): boolean => {\n    if (event) {\n        event.preventDefault();\n        event.stopPropagation();\n        event.cancelBubble = true;\n    }\n    return false;\n}"
            },
            {
                "name": "CORE_ROOT_GUARD",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/eui-core.module.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new InjectionToken<void>('Internal Theme ForRoot Guard')"
            },
            {
                "name": "coreAppReducers",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/app.reducers.ts",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "type": "AppState",
                "defaultValue": "(state = initialAppState, action: CoreAppActions) => {\n    if (actionToReducerMap[action.type]) {\n        return actionToReducerMap[action.type](state, action);\n    }\n    // if the action type is not in the map, call the base reducers method\n    return state;\n}"
            },
            {
                "name": "coreLocaleReducers",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/locale.reducers.ts",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "type": "LocaleState",
                "defaultValue": "(\n    state = initialLocaleState,\n    action: CoreLocaleActions,\n) => {\n    if (actionToReducerMap[action.type]) {\n        return actionToReducerMap[action.type](state, action);\n    }\n    return state;\n}"
            },
            {
                "name": "coreNotificationsReducers",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/notifications.reducers.ts",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "type": "NotificationsState",
                "defaultValue": "(\n    state = initialNotificationsState,\n    action: CoreNotificationsActions,\n) => {\n    if (actionToReducerMap[action.type]) {\n        return actionToReducerMap[action.type](state, action);\n    }\n    return state;\n}"
            },
            {
                "name": "coreReducers",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/core.reducers.ts",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "type": "ActionReducerMap<CoreState, any>",
                "defaultValue": "Object.assign(\n    {},\n    {\n        app: coreAppReducers,\n        user: coreUserReducers,\n        notifications: coreNotificationsReducers,\n        i18n: corI18nReducers,\n        locale: coreLocaleReducers,\n    },\n)"
            },
            {
                "name": "coreUserReducers",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/user.reducers.ts",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "type": "UserState",
                "defaultValue": "(state = initialUserState, action: CoreUserActions) => {\n    if (actionToReducerMap[action.type]) {\n        return actionToReducerMap[action.type](state, action);\n    }\n    return state;\n}"
            },
            {
                "name": "corI18nReducers",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/i18n.reducers.ts",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "type": "I18nState",
                "defaultValue": "(state = initialI18nState, action: CoreI18nActions) => {\n    if (actionToReducerMap[action.type]) {\n        return actionToReducerMap[action.type](state, action);\n    }\n    return state;\n}"
            },
            {
                "name": "createEuiCoreRootGuard",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/eui-core.module.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(core): string => {\n    if (core) {\n        throw new TypeError('CoreModule.forRoot() called twice. Feature modules should use ThemeModule.forChild() instead.');\n    }\n    return 'guarded';\n}"
            },
            {
                "name": "CYAN",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/utils/dry-run.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'\\x1b[36m'"
            },
            {
                "name": "DEFAULT_EUI_APP_CONFIG",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/config/defaults.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "EuiAppConfig",
                "defaultValue": "{\n    global: {\n        ...DEFAULT_GLOBAL_CONFIG,\n    },\n}"
            },
            {
                "name": "DEFAULT_EUI_CONFIG",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/config/defaults.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "EuiConfig",
                "defaultValue": "{\n    appConfig: {\n        ...DEFAULT_EUI_APP_CONFIG,\n    },\n    environment: {\n        ...DEFAULT_EUI_ENV_CONFIG,\n    },\n}"
            },
            {
                "name": "DEFAULT_EUI_ENV_CONFIG",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/config/defaults.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "EuiEnvConfig",
                "defaultValue": "{\n    envAppHandlersConfig: {},\n}"
            },
            {
                "name": "DEFAULT_GLOBAL_CONFIG",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/config/defaults.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "GlobalConfig",
                "defaultValue": "{\n    showConnectionStatus: {\n        messageBox: {\n            lifespan: 0,\n        },\n        enabled: true,\n    },\n    i18n: {\n        i18nService: {\n            ...DEFAULT_I18N_SERVICE_CONFIG,\n        },\n        i18nLoader: {\n            ...DEFAULT_I18N_LOADER_CONFIG,\n        },\n    },\n    locale: {\n        ...DEFAULT_LOCALE_SERVICE_CONFIG,\n    },\n    user: {\n        defaultUserPreferences: {\n            locale: {\n                ...DEFAULT_LOCALE_SERVICE_CONFIG,\n            },\n        },\n    },\n}"
            },
            {
                "name": "DEFAULT_HTTP_ERROR_HANDLER_CONFIG",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/config/defaults.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "HttpErrorHandlerConfig",
                "defaultValue": "{\n    routes: [],\n}"
            },
            {
                "name": "DEFAULT_I18N_LOADER_CONFIG",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/config/defaults.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "I18nLoaderConfig",
                "defaultValue": "{}"
            },
            {
                "name": "DEFAULT_I18N_SERVICE_CONFIG",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/config/defaults.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "I18nServiceConfig",
                "defaultValue": "{\n    languages: ['en'],\n    defaultLanguage: 'en',\n}"
            },
            {
                "name": "DEFAULT_LANGUAGE",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/mocks/translate.module.mock.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'en'"
            },
            {
                "name": "DEFAULT_LOCALE_SERVICE_CONFIG",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/config/defaults.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "LocaleServiceConfig",
                "defaultValue": "{\n    bindWithTranslate: false,\n}"
            },
            {
                "name": "DEFAULT_LOG_CONFIG",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/config/defaults.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "LogConfig",
                "defaultValue": "{\n    baseLoggerName: 'root',\n    logLevel: LogLevel.ERROR,\n    logAppenders: {\n        type: ConsoleAppender,\n        prefixFormat: '[{level}]',\n    },\n}",
                "rawdescription": "default log configuration",
                "description": "<p>default log configuration</p>\n"
            },
            {
                "name": "diffDays",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/helpers/date-helpers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(dateStart: Date, dateEnd: Date): number =>\n    Math.round((dateEnd.getTime() - dateStart.getTime()) / 1000 / 60 / 60 / 24)"
            },
            {
                "name": "diffDaysFromToday",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/helpers/date-helpers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(date: Date): number => diffDays(new Date(), date)"
            },
            {
                "name": "disallowedKeys",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/meta.reducers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "[]",
                "defaultValue": "['loadedConfigModules', 'connect', 'currentModule', 'status', 'apiQueue']"
            },
            {
                "name": "DYNAMIC_COMPONENT_CONFIG",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/dynamic-component/dynamic-component.service.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new InjectionToken<object>('DYNAMIC_COMPONENT_CONFIG')"
            },
            {
                "name": "emptyApiQueue",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/app.reducers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(state: AppState, action: EmptyApiQueueAction): AppState =>\n    // remove all items in the Api Queue\n    Object.assign({}, state, { apiQueue: {} })"
            },
            {
                "name": "errorCodes",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/errors/eui.error.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "object",
                "defaultValue": "{\n    ERR_GENERIC: 'ERR_GENERIC',\n}"
            },
            {
                "name": "EUI_COMPONENTS_BASE",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate/replacements/eui-modules.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "EuiComponentEntry[]",
                "defaultValue": "[\n  // ECL components\n  { selectorPrefix: 'ecl-app', module: 'EclAppComponentModule', importObj: 'EUI_ECL_APP', importLocation: '@eui/ecl/components/ecl-app' },\n  { selectorPrefix: 'ecl-menu', module: 'EclMenuComponentModule', importObj: 'EUI_ECL_MENU', importLocation: '@eui/ecl/components/ecl-menu' },\n  { selectorPrefix: 'ecl-site-header', module: 'EclSiteHeaderComponentModule', importObj: 'EUI_ECL_SITE_HEADER', importLocation: '@eui/ecl/components/ecl-site-header' },\n  { selectorPrefix: 'ecl-site-footer', module: 'EclSiteFooterComponentModule', importObj: 'EUI_ECL_SITE_FOOTER', importLocation: '@eui/ecl/components/ecl-site-footer' },\n  { module: 'EclBannerComponentModule', importObj: 'EUI_ECL_BANNER', importLocation: '@eui/ecl/components/ecl-banner' },\n  { module: 'EclButtonComponentModule', importObj: 'EUI_ECL_BUTTON', importLocation: '@eui/ecl/components/ecl-button' },\n  { module: 'EclCardComponentModule', importObj: 'EUI_ECL_CARD', importLocation: '@eui/ecl/components/ecl-card' },\n  { module: 'EclContentBlockComponentModule', importObj: 'EUI_ECL_CONTENT_BLOCK', importLocation: '@eui/ecl/components/ecl-content-block' },\n  { module: 'EclContentBlockModule', importObj: 'EUI_ECL_CONTENT_BLOCK', importLocation: '@eui/ecl/components/ecl-content-block' },\n  { module: 'EclContentItemComponentModule', importObj: 'EUI_ECL_CONTENT_ITEM', importLocation: '@eui/ecl/components/ecl-content-item' },\n  { module: 'EclFactFiguresComponentModule', importObj: 'EUI_ECL_FACT_FIGURES', importLocation: '@eui/ecl/components/ecl-fact-figures' },\n  { module: 'EclIconComponentModule', importObj: 'EUI_ECL_ICON', importLocation: '@eui/ecl/components/ecl-icon' },\n  { module: 'EclLinkDirectiveModule', importObj: 'EUI_ECL_LINK', importLocation: '@eui/ecl/components/ecl-link' },\n  { module: 'EclBreadcrumbComponentModule', importObj: 'EUI_ECL_BREADCRUMB', importLocation: '@eui/ecl/components/ecl-breadcrumb' },\n  { module: 'EclPageHeaderComponentModule', importObj: 'EUI_ECL_PAGE_HEADER', importLocation: '@eui/ecl/components/ecl-page-header' },\n  { module: 'EclAccordionComponentModule', importObj: 'EUI_ECL_ACCORDION', importLocation: '@eui/ecl/components/ecl-accordion' },\n  { module: 'EclAccordionToggleEvent', importObj: 'EclAccordionToggleEvent', importLocation: '@eui/ecl/components/ecl-accordion', cmpArray: false },\n  // EUI components\n  { module: 'EuiLayoutModule', importObj: 'EUI_LAYOUT', importLocation: '@eui/components/layout' },\n  { module: 'EuiGrowlModule', importObj: 'EUI_GROWL', importLocation: '@eui/components/eui-growl' },\n  { selectorPrefix: 'eui-page', module: 'EuiPageModule', importObj: 'EUI_PAGE', importLocation: '@eui/components/eui-page' },\n  { selectorPrefix: 'eui-card', module: 'EuiCardModule', importObj: 'EUI_CARD', importLocation: '@eui/components/eui-card' },\n  { module: 'EuiSelectModule', importObj: 'EUI_SELECT', importLocation: '@eui/components/eui-select' },\n  { module: 'EuiDialogModule', importObj: 'EUI_DIALOG', importLocation: '@eui/components/eui-dialog' },\n  { module: 'EuiChipModule', importObj: 'EUI_CHIP', importLocation: '@eui/components/eui-chip' },\n  { module: 'EuiChipListModule', importObj: 'EUI_CHIP_LIST', importLocation: '@eui/components/eui-chip-list' },\n  { module: 'EuiInputGroupModule', importObj: 'EUI_INPUT_GROUP', importLocation: '@eui/components/eui-input-group' },\n  { selectorPrefix: 'eui-icon-svg', module: 'EuiIconModule', importObj: 'EUI_ICON', importLocation: '@eui/components/eui-icon' },\n  { module: 'EuiMessageBoxModule', importObj: 'EUI_MESSAGE_BOX', importLocation: '@eui/components/eui-message-box' },\n  { module: 'EuiListModule', importObj: 'EUI_LIST', importLocation: '@eui/components/eui-list' },\n  { module: 'EuiAutocompleteModule', importObj: 'EUI_AUTOCOMPLETE', importLocation: '@eui/components/eui-autocomplete' },\n  { module: 'EuiLabelModule', importObj: 'EUI_LABEL', importLocation: '@eui/components/eui-label' },\n  { module: 'EuiButtonModule', importObj: 'EUI_BUTTON', importLocation: '@eui/components/eui-button' },\n  { module: 'EuiBadgeModule', importObj: 'EUI_BADGE', importLocation: '@eui/components/eui-badge' },\n  { module: 'EuiInputTextModule', importObj: 'EUI_INPUT_TEXT', importLocation: '@eui/components/eui-input-text' },\n  { module: 'EuiInputCheckboxModule', importObj: 'EUI_INPUT_CHECKBOX', importLocation: '@eui/components/eui-input-checkbox' },\n  { module: 'EuiDatepickerModule', importObj: 'EUI_DATEPICKER', importLocation: '@eui/components/eui-datepicker' },\n  { module: 'EuiDisableContentModule', importObj: 'EUI_DISABLE_CONTENT', importLocation: '@eui/components/eui-disable-content' },\n  { selectorPrefix: 'eui-table', module: 'EuiTableModule', importObj: 'EUI_TABLE', importLocation: '@eui/components/eui-table' },\n  { module: 'EuiTableV2Module', importObj: 'EUI_TABLE', importLocation: '@eui/components/eui-table' },\n  { selectorPrefix: 'eui-paginator', module: 'EuiPaginatorModule', importObj: 'EUI_PAGINATOR', importLocation: '@eui/components/eui-paginator' },\n  { selectorPrefix: 'eui-feedback-message', module: 'EuiFeedbackMessageModule', importObj: 'EUI_FEEDBACK_MESSAGE', importLocation: '@eui/components/eui-feedback-message' },\n  { module: 'EuiTextAreaModule', importObj: 'EUI_TEXTAREA', importLocation: '@eui/components/eui-textarea' },\n  { module: 'EuiDropdownModule', importObj: 'EUI_DROPDOWN', importLocation: '@eui/components/eui-dropdown' },\n  { module: 'EuiAlertModule', importObj: 'EUI_ALERT', importLocation: '@eui/components/eui-alert' },\n  { module: 'EuiSlideToggleModule', importObj: 'EUI_SLIDE_TOGGLE', importLocation: '@eui/components/eui-slide-toggle' },\n  { module: 'EuiInputRadioModule', importObj: 'EUI_INPUT_RADIO', importLocation: '@eui/components/eui-input-radio' },\n  { module: 'EuiButtonGroupModule', importObj: 'EUI_BUTTON_GROUP', importLocation: '@eui/components/eui-button-group' },\n  { module: 'EuiFieldsetModule', importObj: 'EUI_FIELDSET', importLocation: '@eui/components/eui-fieldset' },\n  { module: 'EuiSidebarMenuModule', importObj: 'EUI_SIDEBAR_MENU', importLocation: '@eui/components/eui-sidebar-menu' },\n  { module: 'EuiIconToggleModule', importObj: 'EUI_ICON_TOGGLE', importLocation: '@eui/components/eui-icon-toggle' },\n  { module: 'EuiTreeModule', importObj: 'EUI_TREE', importLocation: '@eui/components/eui-tree' },\n  { module: 'EuiWizardModule', importObj: 'EUI_WIZARD', importLocation: '@eui/components/eui-wizard' },\n  { module: 'EuiPopoverModule', importObj: 'EUI_POPOVER', importLocation: '@eui/components/eui-popover' },\n  { module: 'EuiBlockContentModule', importObj: 'EUI_BLOCK_CONTENT', importLocation: '@eui/components/eui-block-content' },\n  { module: 'EuiDateRangeSelectorModule', importObj: 'EUI_DATE_RANGE_SELECTOR', importLocation: '@eui/components/eui-date-range-selector' },\n  { module: 'EuiFileUploadModule', importObj: 'EUI_FILE_UPLOAD', importLocation: '@eui/components/eui-file-upload' },\n  { selectorPrefix: 'eui-tab', module: 'EuiTabsModule', importObj: 'EUI_TABS', importLocation: '@eui/components/eui-tabs' },\n  { module: 'EuiTimepickerModule', importObj: 'EUI_TIMEPICKER', importLocation: '@eui/components/eui-timepicker' },\n  { module: 'EuiOverlayModule', importObj: 'EUI_OVERLAY', importLocation: '@eui/components/eui-overlay' },\n  { module: 'EuiProgressBarModule', importObj: 'EUI_PROGRESS_BAR', importLocation: '@eui/components/eui-progress-bar' },\n  { module: 'EuiTreeListModule', importObj: 'EUI_TREE_LIST', importLocation: '@eui/components/eui-tree-list' },\n  { module: 'EuiBreadcrumbModule', importObj: 'EUI_BREADCRUMB', importLocation: '@eui/components/eui-breadcrumb' },\n  { module: 'EuiProgressCircleModule', importObj: 'EUI_PROGRESS_CIRCLE', importLocation: '@eui/components/eui-progress-circle' },\n  { module: 'EuiSkeletonModule', importObj: 'EUI_SKELETON', importLocation: '@eui/components/eui-skeleton' },\n  { module: 'EuiAvatarModule', importObj: 'EUI_AVATAR', importLocation: '@eui/components/eui-avatar' },\n  { module: 'EuiIconButtonModule', importObj: 'EUI_ICON_BUTTON', importLocation: '@eui/components/eui-icon-button' },\n  { module: 'EuiUserProfileModule', importObj: 'EUI_USER_PROFILE', importLocation: '@eui/components/eui-user-profile' },\n  { module: 'EuiInputNumberModule', importObj: 'EUI_INPUT_NUMBER', importLocation: '@eui/components/eui-input-number' },\n  { module: 'EuiInputNumberDirectiveModule', importObj: 'EUI_INPUT_NUMBER', importLocation: '@eui/components/eui-input-number' },\n  { module: 'EuiDashboardCardModule', importObj: 'EUI_DASHBOARD_CARD', importLocation: '@eui/components/eui-dashboard-card' },\n  { module: 'EuiMenuModule', importObj: 'EUI_MENU', importLocation: '@eui/components/eui-menu' },\n  { module: 'EuiChartsModule', importObj: 'EUI_CHARTS', importLocation: '@eui/components/externals/charts' },\n  { module: 'EuiChipGroupModule', importObj: 'EUI_CHIP_GROUP', importLocation: '@eui/components/eui-chip-group' },\n  { module: 'EuiTimelineModule', importObj: 'EUI_TIMELINE', importLocation: '@eui/components/eui-timeline' },\n  { selectorPrefix: 'eui-discussion-thread', module: 'EuiDiscussionThreadModule', importObj: 'EUI_DISCUSSION_THREAD', importLocation: '@eui/components/eui-discussion-thread' },\n  { module: 'EuiDashboardButtonModule', importObj: 'EUI_DASHBOARD_CARD', importLocation: '@eui/components/eui-dashboard-card' },\n  // Directives and pipes (cmpArray: false means no spread)\n  { module: 'EuiTooltipDirectiveModule', importObj: 'EuiTooltipDirective', importLocation: '@eui/components/directives', cmpArray: false },\n  { module: 'EuiTemplateDirectiveModule', importObj: 'EuiTemplateDirective', importLocation: '@eui/components/directives', cmpArray: false },\n  { module: 'EuiResizableDirectiveModule', importObj: 'EuiResizableDirective', importLocation: '@eui/components/directives', cmpArray: false },\n  { module: 'EuiMaxLengthDirectiveModule', importObj: 'EuiMaxLengthDirective', importLocation: '@eui/components/directives', cmpArray: false },\n  { module: 'EuiTruncatePipeModule', importObj: 'EuiTruncatePipe', importLocation: '@eui/components/pipes', cmpArray: false },\n  { module: 'EuiDropdownTreeDirectiveModule', importObj: 'EuiDropdownTreeDirective', importLocation: '@eui/components/eui-tree', cmpArray: false },\n]",
                "rawdescription": "Full mapping of old EUI/ECL modules to their new standalone import equivalents.\nPorted from csdr-engine/migrate/index.js euiComponentsBase.",
                "description": "<p>Full mapping of old EUI/ECL modules to their new standalone import equivalents.\nPorted from csdr-engine/migrate/index.js euiComponentsBase.</p>\n"
            },
            {
                "name": "EUI_CONFIG_TOKEN",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/config/tokens.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new InjectionToken<EuiConfig>('EuiConfig')"
            },
            {
                "name": "EUI_COUNTRIES",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/eui-timezone.service.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "object",
                "defaultValue": "{\n    AF: 'Afghanistan',\n    AX: 'Aland Islands',\n    AL: 'Albania',\n    DZ: 'Algeria',\n    AS: 'American Samoa',\n    AD: 'Andorra',\n    AO: 'Angola',\n    AI: 'Anguilla',\n    AQ: 'Antarctica',\n    AG: 'Antigua and Barbuda',\n    AR: 'Argentina',\n    AM: 'Armenia',\n    AW: 'Aruba',\n    AU: 'Australia',\n    AT: 'Austria',\n    AZ: 'Azerbaijan',\n    BS: 'Bahamas',\n    BH: 'Bahrain',\n    BD: 'Bangladesh',\n    BB: 'Barbados',\n    BY: 'Belarus',\n    BE: 'Belgium',\n    BZ: 'Belize',\n    BJ: 'Benin',\n    BM: 'Bermuda',\n    BT: 'Bhutan',\n    BO: 'Bolivia',\n    BA: 'Bosnia and Herzegovina',\n    BW: 'Botswana',\n    BV: 'Bouvet Island',\n    BR: 'Brazil',\n    VG: 'British Virgin Islands',\n    IO: 'British Indian Ocean Territory',\n    BN: 'Brunei Darussalam',\n    BG: 'Bulgaria',\n    BF: 'Burkina Faso',\n    BI: 'Burundi',\n    KH: 'Cambodia',\n    CM: 'Cameroon',\n    CA: 'Canada',\n    CV: 'Cape Verde',\n    KY: 'Cayman Islands',\n    CF: 'Central African Republic',\n    TD: 'Chad',\n    CL: 'Chile',\n    CN: 'China',\n    HK: 'Hong Kong',\n    MO: 'Macao',\n    CX: 'Christmas Island',\n    CC: 'Cocos (Keeling) Islands',\n    CO: 'Colombia',\n    KM: 'Comoros',\n    CG: 'Congo (Brazzaville)',\n    CD: 'Congo, (Kinshasa)',\n    CK: 'Cook Islands',\n    CR: 'Costa Rica',\n    CI: \"Côte d'Ivoire\",\n    HR: 'Croatia',\n    CU: 'Cuba',\n    CY: 'Cyprus',\n    CZ: 'Czech Republic',\n    DK: 'Denmark',\n    DJ: 'Djibouti',\n    DM: 'Dominica',\n    DO: 'Dominican Republic',\n    EC: 'Ecuador',\n    EG: 'Egypt',\n    SV: 'El Salvador',\n    GQ: 'Equatorial Guinea',\n    ER: 'Eritrea',\n    EE: 'Estonia',\n    ET: 'Ethiopia',\n    FK: 'Falkland Islands (Malvinas)',\n    FO: 'Faroe Islands',\n    FJ: 'Fiji',\n    FI: 'Finland',\n    FR: 'France',\n    GF: 'French Guiana',\n    PF: 'French Polynesia',\n    TF: 'French Southern Territories',\n    GA: 'Gabon',\n    GM: 'Gambia',\n    GE: 'Georgia',\n    DE: 'Germany',\n    GH: 'Ghana',\n    GI: 'Gibraltar',\n    GR: 'Greece',\n    GL: 'Greenland',\n    GD: 'Grenada',\n    GP: 'Guadeloupe',\n    GU: 'Guam',\n    GT: 'Guatemala',\n    GG: 'Guernsey',\n    GN: 'Guinea',\n    GW: 'Guinea-Bissau',\n    GY: 'Guyana',\n    HT: 'Haiti',\n    HM: 'Heard and Mcdonald Islands',\n    VA: 'Vatican City State',\n    HN: 'Honduras',\n    HU: 'Hungary',\n    IS: 'Iceland',\n    IN: 'India',\n    ID: 'Indonesia',\n    IR: 'Iran',\n    IQ: 'Iraq',\n    IE: 'Ireland',\n    IM: 'Isle of Man',\n    IL: 'Israel',\n    IT: 'Italy',\n    JM: 'Jamaica',\n    JP: 'Japan',\n    JE: 'Jersey',\n    JO: 'Jordan',\n    KZ: 'Kazakhstan',\n    KE: 'Kenya',\n    KI: 'Kiribati',\n    KP: 'Korea (North)',\n    KR: 'Korea (South)',\n    KW: 'Kuwait',\n    KG: 'Kyrgyzstan',\n    LA: 'Lao PDR',\n    LV: 'Latvia',\n    LB: 'Lebanon',\n    LS: 'Lesotho',\n    LR: 'Liberia',\n    LY: 'Libya',\n    LI: 'Liechtenstein',\n    LT: 'Lithuania',\n    LU: 'Luxembourg',\n    MK: 'Macedonia',\n    MG: 'Madagascar',\n    MW: 'Malawi',\n    MY: 'Malaysia',\n    MV: 'Maldives',\n    ML: 'Mali',\n    MT: 'Malta',\n    MH: 'Marshall Islands',\n    MQ: 'Martinique',\n    MR: 'Mauritania',\n    MU: 'Mauritius',\n    YT: 'Mayotte',\n    MX: 'Mexico',\n    FM: 'Micronesia',\n    MD: 'Moldova',\n    MC: 'Monaco',\n    MN: 'Mongolia',\n    ME: 'Montenegro',\n    MS: 'Montserrat',\n    MA: 'Morocco',\n    MZ: 'Mozambique',\n    MM: 'Myanmar',\n    NA: 'Namibia',\n    NR: 'Nauru',\n    NP: 'Nepal',\n    NL: 'Netherlands',\n    AN: 'Netherlands Antilles',\n    NC: 'New Caledonia',\n    NZ: 'New Zealand',\n    NI: 'Nicaragua',\n    NE: 'Niger',\n    NG: 'Nigeria',\n    NU: 'Niue',\n    NF: 'Norfolk Island',\n    MP: 'Northern Mariana Islands',\n    NO: 'Norway',\n    OM: 'Oman',\n    PK: 'Pakistan',\n    PW: 'Palau',\n    PS: 'Palestinian Territory',\n    PA: 'Panama',\n    PG: 'Papua New Guinea',\n    PY: 'Paraguay',\n    PE: 'Peru',\n    PH: 'Philippines',\n    PN: 'Pitcairn',\n    PL: 'Poland',\n    PT: 'Portugal',\n    PR: 'Puerto Rico',\n    QA: 'Qatar',\n    RE: 'Réunion',\n    RO: 'Romania',\n    RU: 'Russian Federation',\n    RW: 'Rwanda',\n    BL: 'Saint-Barthélemy',\n    SH: 'Saint Helena',\n    KN: 'Saint Kitts and Nevis',\n    LC: 'Saint Lucia',\n    MF: 'Saint-Martin (French part)',\n    PM: 'Saint Pierre and Miquelon',\n    VC: 'Saint Vincent and Grenadines',\n    WS: 'Samoa',\n    SM: 'San Marino',\n    ST: 'Sao Tome and Principe',\n    SA: 'Saudi Arabia',\n    SN: 'Senegal',\n    RS: 'Serbia',\n    SC: 'Seychelles',\n    SL: 'Sierra Leone',\n    SG: 'Singapore',\n    SK: 'Slovakia',\n    SI: 'Slovenia',\n    SB: 'Solomon Islands',\n    SO: 'Somalia',\n    ZA: 'South Africa',\n    GS: 'South Georgia and the South Sandwich Islands',\n    SS: 'South Sudan',\n    ES: 'Spain',\n    LK: 'Sri Lanka',\n    SD: 'Sudan',\n    SR: 'Suriname',\n    SJ: 'Svalbard and Jan Mayen Islands',\n    SZ: 'Swaziland',\n    SE: 'Sweden',\n    CH: 'Switzerland',\n    SY: 'Syria',\n    TW: 'Taiwan',\n    TJ: 'Tajikistan',\n    TZ: 'Tanzania',\n    TH: 'Thailand',\n    TL: 'Timor-Leste',\n    TG: 'Togo',\n    TK: 'Tokelau',\n    TO: 'Tonga',\n    TT: 'Trinidad and Tobago',\n    TN: 'Tunisia',\n    TR: 'Turkey',\n    TM: 'Turkmenistan',\n    TC: 'Turks and Caicos Islands',\n    TV: 'Tuvalu',\n    UG: 'Uganda',\n    UA: 'Ukraine',\n    AE: 'United Arab Emirates',\n    GB: 'United Kingdom (GB)',\n    US: 'United States of America (USA)',\n    UM: 'US Minor Outlying Islands',\n    UY: 'Uruguay',\n    UZ: 'Uzbekistan',\n    VU: 'Vanuatu',\n    VE: 'Venezuela',\n    VN: 'Viet Nam',\n    VI: 'Virgin Islands, US',\n    WF: 'Wallis and Futuna Islands',\n    EH: 'Western Sahara',\n    YE: 'Yemen',\n    ZM: 'Zambia',\n    ZW: 'Zimbabwe',\n}"
            },
            {
                "name": "EUI_DIRECTIVES",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "[]",
                "defaultValue": "['euiButton', 'euiList', 'euiListItem']"
            },
            {
                "name": "EUI_TIMEZONES",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/eui-timezone.service.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "EuiTimeZone[]",
                "defaultValue": "[\n    { name: 'Europe/Andorra', desc: 'Andorra - Andorra (GMT+02:00)' },\n    { name: 'Asia/Dubai', desc: 'United Arab Emirates - Dubai (GMT+04:00)' },\n    { name: 'Asia/Kabul', desc: 'Afghanistan - Kabul (GMT+04:30)' },\n    { name: 'America/Antigua', desc: 'Antigua and Barbuda - Antigua (GMT-04:00)' },\n    { name: 'America/Anguilla', desc: 'Anguilla - Anguilla (GMT-04:00)' },\n    { name: 'Europe/Tirane', desc: 'Albania - Tirane (GMT+02:00)' },\n    { name: 'Asia/Yerevan', desc: 'Armenia - Yerevan (GMT+04:00)' },\n    { name: 'Africa/Luanda', desc: 'Angola - Luanda (GMT+01:00)' },\n    { name: 'Antarctica/McMurdo', desc: 'Antarctica - McMurdo (GMT+12:00)' },\n    { name: 'Antarctica/Rothera', desc: 'Antarctica - Rothera (GMT-03:00)' },\n    { name: 'Antarctica/Palmer', desc: 'Antarctica - Palmer (GMT-03:00)' },\n    { name: 'Antarctica/Mawson', desc: 'Antarctica - Mawson (GMT+05:00)' },\n    { name: 'Antarctica/Davis', desc: 'Antarctica - Davis (GMT+07:00)' },\n    { name: 'Antarctica/Casey', desc: 'Antarctica - Casey (GMT+08:00)' },\n    { name: 'Antarctica/Vostok', desc: 'Antarctica - Vostok (GMT+06:00)' },\n    { name: 'Antarctica/DumontDUrville', desc: 'Antarctica - DumontDUrville (GMT+10:00)' },\n    { name: 'Antarctica/Syowa', desc: 'Antarctica - Syowa (GMT+03:00)' },\n    { name: 'Antarctica/Troll', desc: 'Antarctica - Troll (GMT+02:00)' },\n    { name: 'America/Argentina/Buenos_Aires', desc: 'Argentina - Buenos Aires (GMT-03:00)' },\n    { name: 'America/Argentina/Cordoba', desc: 'Argentina - Cordoba (GMT-03:00)' },\n    { name: 'America/Argentina/Salta', desc: 'Argentina - Salta (GMT-03:00)' },\n    { name: 'America/Argentina/Jujuy', desc: 'Argentina - Jujuy (GMT-03:00)' },\n    { name: 'America/Argentina/Tucuman', desc: 'Argentina - Tucuman (GMT-03:00)' },\n    { name: 'America/Argentina/Catamarca', desc: 'Argentina - Catamarca (GMT-03:00)' },\n    { name: 'America/Argentina/La_Rioja', desc: 'Argentina - La Rioja (GMT-03:00)' },\n    { name: 'America/Argentina/San_Juan', desc: 'Argentina - San Juan (GMT-03:00)' },\n    { name: 'America/Argentina/Mendoza', desc: 'Argentina - Mendoza (GMT-03:00)' },\n    { name: 'America/Argentina/San_Luis', desc: 'Argentina - San Luis (GMT-03:00)' },\n    { name: 'America/Argentina/Rio_Gallegos', desc: 'Argentina - Rio Gallegos (GMT-03:00)' },\n    { name: 'America/Argentina/Ushuaia', desc: 'Argentina - Ushuaia (GMT-03:00)' },\n    { name: 'Pacific/Pago_Pago', desc: 'American Samoa - Pago Pago (GMT-11:00)' },\n    { name: 'Pacific/Samoa', desc: 'American Samoa - Samoa (GMT-11:00)' },\n    { name: 'Europe/Vienna', desc: 'Austria - Vienna (GMT+02:00)' },\n    { name: 'Australia/Lord_Howe', desc: 'Australia - Lord Howe (GMT+10:30)' },\n    { name: 'Antarctica/Macquarie', desc: 'Australia - Macquarie (GMT+11:00)' },\n    { name: 'Australia/Hobart', desc: 'Australia - Hobart (GMT+10:00)' },\n    { name: 'Australia/Currie', desc: 'Australia - Currie (GMT+10:00)' },\n    { name: 'Australia/Melbourne', desc: 'Australia - Melbourne (GMT+10:00)' },\n    { name: 'Australia/Sydney', desc: 'Australia - Sydney (GMT+10:00)' },\n    { name: 'Australia/Broken_Hill', desc: 'Australia - Broken Hill (GMT+09:30)' },\n    { name: 'Australia/Brisbane', desc: 'Australia - Brisbane (GMT+10:00)' },\n    { name: 'Australia/Lindeman', desc: 'Australia - Lindeman (GMT+10:00)' },\n    { name: 'Australia/Adelaide', desc: 'Australia - Adelaide (GMT+09:30)' },\n    { name: 'Australia/Darwin', desc: 'Australia - Darwin (GMT+09:30)' },\n    { name: 'Australia/Perth', desc: 'Australia - Perth (GMT+08:00)' },\n    { name: 'Australia/Eucla', desc: 'Australia - Eucla (GMT+08:45)' },\n    { name: 'Australia/Canberra', desc: 'Australia - Canberra (GMT+10:00)' },\n    { name: 'Australia/Queensland', desc: 'Australia - Queensland (GMT+10:00)' },\n    { name: 'Australia/Tasmania', desc: 'Australia - Tasmania (GMT+10:00)' },\n    { name: 'Australia/Victoria', desc: 'Australia - Victoria (GMT+10:00)' },\n    { name: 'America/Aruba', desc: 'Aruba - Aruba (GMT-04:00)' },\n    { name: 'Europe/Mariehamn', desc: 'Aland Islands - Mariehamn (GMT+03:00)' },\n    { name: 'Asia/Baku', desc: 'Azerbaijan - Baku (GMT+04:00)' },\n    { name: 'Europe/Sarajevo', desc: 'Bosnia and Herzegovina - Sarajevo (GMT+02:00)' },\n    { name: 'America/Barbados', desc: 'Barbados - Barbados (GMT-04:00)' },\n    { name: 'Asia/Dhaka', desc: 'Bangladesh - Dhaka (GMT+06:00)' },\n    { name: 'Europe/Brussels', desc: 'Belgium - Brussels (GMT+02:00)' },\n    { name: 'Africa/Ouagadougou', desc: 'Burkina Faso - Ouagadougou (GMT+00:00)' },\n    { name: 'Europe/Sofia', desc: 'Bulgaria - Sofia (GMT+03:00)' },\n    { name: 'Asia/Bahrain', desc: 'Bahrain - Bahrain (GMT+03:00)' },\n    { name: 'Africa/Bujumbura', desc: 'Burundi - Bujumbura (GMT+02:00)' },\n    { name: 'Africa/Porto-Novo', desc: 'Benin - Porto-Novo (GMT+01:00)' },\n    { name: 'America/St_Barthelemy', desc: 'Saint-Barthélemy - St Barthelemy (GMT-04:00)' },\n    { name: 'Atlantic/Bermuda', desc: 'Bermuda - Bermuda (GMT-03:00)' },\n    { name: 'Asia/Brunei', desc: 'Brunei Darussalam - Brunei (GMT+08:00)' },\n    { name: 'America/La_Paz', desc: 'Bolivia - La Paz (GMT-04:00)' },\n    { name: 'America/Kralendijk', desc: 'BQ - Kralendijk (GMT-04:00)' },\n    { name: 'America/Noronha', desc: 'Brazil - Noronha (GMT-02:00)' },\n    { name: 'America/Belem', desc: 'Brazil - Belem (GMT-03:00)' },\n    { name: 'America/Fortaleza', desc: 'Brazil - Fortaleza (GMT-03:00)' },\n    { name: 'America/Recife', desc: 'Brazil - Recife (GMT-03:00)' },\n    { name: 'America/Araguaina', desc: 'Brazil - Araguaina (GMT-03:00)' },\n    { name: 'America/Maceio', desc: 'Brazil - Maceio (GMT-03:00)' },\n    { name: 'America/Bahia', desc: 'Brazil - Bahia (GMT-03:00)' },\n    { name: 'America/Sao_Paulo', desc: 'Brazil - Sao Paulo (GMT-03:00)' },\n    { name: 'America/Campo_Grande', desc: 'Brazil - Campo Grande (GMT-04:00)' },\n    { name: 'America/Cuiaba', desc: 'Brazil - Cuiaba (GMT-04:00)' },\n    { name: 'America/Santarem', desc: 'Brazil - Santarem (GMT-03:00)' },\n    { name: 'America/Porto_Velho', desc: 'Brazil - Porto Velho (GMT-04:00)' },\n    { name: 'America/Boa_Vista', desc: 'Brazil - Boa Vista (GMT-04:00)' },\n    { name: 'America/Manaus', desc: 'Brazil - Manaus (GMT-04:00)' },\n    { name: 'America/Eirunepe', desc: 'Brazil - Eirunepe (GMT-05:00)' },\n    { name: 'America/Rio_Branco', desc: 'Brazil - Rio Branco (GMT-05:00)' },\n    { name: 'America/Nassau', desc: 'Bahamas - Nassau (GMT-04:00)' },\n    { name: 'Asia/Thimphu', desc: 'Bhutan - Thimphu (GMT+06:00)' },\n    { name: 'Africa/Gaborone', desc: 'Botswana - Gaborone (GMT+02:00)' },\n    { name: 'Europe/Minsk', desc: 'Belarus - Minsk (GMT+03:00)' },\n    { name: 'America/Belize', desc: 'Belize - Belize (GMT-06:00)' },\n    { name: 'America/St_Johns', desc: 'Canada - St Johns (GMT-02:30)' },\n    { name: 'America/Halifax', desc: 'Canada - Halifax (GMT-03:00)' },\n    { name: 'America/Glace_Bay', desc: 'Canada - Glace Bay (GMT-03:00)' },\n    { name: 'America/Moncton', desc: 'Canada - Moncton (GMT-03:00)' },\n    { name: 'America/Goose_Bay', desc: 'Canada - Goose Bay (GMT-03:00)' },\n    { name: 'America/Blanc-Sablon', desc: 'Canada - Blanc-Sablon (GMT-04:00)' },\n    { name: 'America/Toronto', desc: 'Canada - Toronto (GMT-04:00)' },\n    { name: 'America/Nipigon', desc: 'Canada - Nipigon (GMT-04:00)' },\n    { name: 'America/Thunder_Bay', desc: 'Canada - Thunder Bay (GMT-04:00)' },\n    { name: 'America/Iqaluit', desc: 'Canada - Iqaluit (GMT-04:00)' },\n    { name: 'America/Pangnirtung', desc: 'Canada - Pangnirtung (GMT-04:00)' },\n    { name: 'America/Resolute', desc: 'Canada - Resolute (GMT-05:00)' },\n    { name: 'America/Atikokan', desc: 'Canada - Atikokan (GMT-05:00)' },\n    { name: 'America/Rankin_Inlet', desc: 'Canada - Rankin Inlet (GMT-05:00)' },\n    { name: 'America/Winnipeg', desc: 'Canada - Winnipeg (GMT-05:00)' },\n    { name: 'America/Rainy_River', desc: 'Canada - Rainy River (GMT-05:00)' },\n    { name: 'America/Regina', desc: 'Canada - Regina (GMT-06:00)' },\n    { name: 'America/Swift_Current', desc: 'Canada - Swift Current (GMT-06:00)' },\n    { name: 'America/Edmonton', desc: 'Canada - Edmonton (GMT-06:00)' },\n    { name: 'America/Cambridge_Bay', desc: 'Canada - Cambridge Bay (GMT-06:00)' },\n    { name: 'America/Yellowknife', desc: 'Canada - Yellowknife (GMT-06:00)' },\n    { name: 'America/Inuvik', desc: 'Canada - Inuvik (GMT-06:00)' },\n    { name: 'America/Creston', desc: 'Canada - Creston (GMT-07:00)' },\n    { name: 'America/Dawson_Creek', desc: 'Canada - Dawson Creek (GMT-07:00)' },\n    { name: 'America/Vancouver', desc: 'Canada - Vancouver (GMT-07:00)' },\n    { name: 'America/Whitehorse', desc: 'Canada - Whitehorse (GMT-07:00)' },\n    { name: 'America/Dawson', desc: 'Canada - Dawson (GMT-07:00)' },\n    { name: 'America/Montreal', desc: 'Canada - Montreal (GMT-04:00)' },\n    { name: 'Canada/Atlantic', desc: 'Canada - Atlantic (GMT-03:00)' },\n    { name: 'Canada/Central', desc: 'Canada - Central (GMT-05:00)' },\n    { name: 'Canada/Eastern', desc: 'Canada - Eastern (GMT-04:00)' },\n    { name: 'Canada/Mountain', desc: 'Canada - Mountain (GMT-06:00)' },\n    { name: 'Canada/Newfoundland', desc: 'Canada - Newfoundland (GMT-02:30)' },\n    { name: 'Canada/Pacific', desc: 'Canada - Pacific (GMT-07:00)' },\n    { name: 'Canada/Saskatchewan', desc: 'Canada - Saskatchewan (GMT-06:00)' },\n    { name: 'Canada/Yukon', desc: 'Canada - Yukon (GMT-07:00)' },\n    { name: 'Indian/Cocos', desc: 'Cocos (Keeling) Islands - Cocos (GMT+06:30)' },\n    { name: 'Africa/Kinshasa', desc: 'Congo, (Kinshasa) - Kinshasa (GMT+01:00)' },\n    { name: 'Africa/Lubumbashi', desc: 'Congo, (Kinshasa) - Lubumbashi (GMT+02:00)' },\n    { name: 'Africa/Bangui', desc: 'Central African Republic - Bangui (GMT+01:00)' },\n    { name: 'Africa/Brazzaville', desc: 'Congo (Brazzaville) - Brazzaville (GMT+01:00)' },\n    { name: 'Europe/Zurich', desc: 'Switzerland - Zurich (GMT+02:00)' },\n    { name: 'Africa/Abidjan', desc: \"Côte d'Ivoire - Abidjan (GMT+00:00)\" },\n    { name: 'Pacific/Rarotonga', desc: 'Cook Islands - Rarotonga (GMT-10:00)' },\n    { name: 'America/Santiago', desc: 'Chile - Santiago (GMT-04:00)' },\n    { name: 'Pacific/Easter', desc: 'Chile - Easter (GMT-06:00)' },\n    { name: 'Chile/Continental', desc: 'Chile - Continental (GMT-04:00)' },\n    { name: 'Chile/EasterIsland', desc: 'Chile - EasterIsland (GMT-06:00)' },\n    { name: 'Africa/Douala', desc: 'Cameroon - Douala (GMT+01:00)' },\n    { name: 'Asia/Shanghai', desc: 'China - Shanghai (GMT+08:00)' },\n    { name: 'Asia/Harbin', desc: 'China - Harbin (GMT+08:00)' },\n    { name: 'Asia/Chongqing', desc: 'China - Chongqing (GMT+08:00)' },\n    { name: 'Asia/Urumqi', desc: 'China - Urumqi (GMT+06:00)' },\n    { name: 'Asia/Kashgar', desc: 'China - Kashgar (GMT+06:00)' },\n    { name: 'America/Bogota', desc: 'Colombia - Bogota (GMT-05:00)' },\n    { name: 'America/Costa_Rica', desc: 'Costa Rica - Costa Rica (GMT-06:00)' },\n    { name: 'America/Havana', desc: 'Cuba - Havana (GMT-04:00)' },\n    { name: 'Atlantic/Cape_Verde', desc: 'Cape Verde - Cape Verde (GMT-01:00)' },\n    { name: 'America/Curacao', desc: 'CW - Curacao (GMT-04:00)' },\n    { name: 'Indian/Christmas', desc: 'Christmas Island - Christmas (GMT+07:00)' },\n    { name: 'Asia/Nicosia', desc: 'Cyprus - Nicosia (GMT+03:00)' },\n    { name: 'Europe/Prague', desc: 'Czech Republic - Prague (GMT+02:00)' },\n    { name: 'Europe/Berlin', desc: 'Germany - Berlin (GMT+02:00)' },\n    { name: 'Africa/Djibouti', desc: 'Djibouti - Djibouti (GMT+03:00)' },\n    { name: 'Europe/Copenhagen', desc: 'Denmark - Copenhagen (GMT+02:00)' },\n    { name: 'America/Dominica', desc: 'Dominica - Dominica (GMT-04:00)' },\n    { name: 'America/Santo_Domingo', desc: 'Dominican Republic - Santo Domingo (GMT-04:00)' },\n    { name: 'Africa/Algiers', desc: 'Algeria - Algiers (GMT+01:00)' },\n    { name: 'America/Guayaquil', desc: 'Ecuador - Guayaquil (GMT-05:00)' },\n    { name: 'Pacific/Galapagos', desc: 'Ecuador - Galapagos (GMT-06:00)' },\n    { name: 'Europe/Tallinn', desc: 'Estonia - Tallinn (GMT+03:00)' },\n    { name: 'Egypt', desc: 'Egypt - Egypt (GMT+02:00)' },\n    { name: 'Africa/El_Aaiun', desc: 'Western Sahara - El Aaiun (GMT+00:00)' },\n    { name: 'Africa/Asmara', desc: 'Eritrea - Asmara (GMT+03:00)' },\n    { name: 'Europe/Madrid', desc: 'Spain - Madrid (GMT+02:00)' },\n    { name: 'Africa/Ceuta', desc: 'Spain - Ceuta (GMT+02:00)' },\n    { name: 'Atlantic/Canary', desc: 'Spain - Canary (GMT+01:00)' },\n    { name: 'Africa/Addis_Ababa', desc: 'Ethiopia - Addis Ababa (GMT+03:00)' },\n    { name: 'Europe/Helsinki', desc: 'Finland - Helsinki (GMT+03:00)' },\n    { name: 'Pacific/Fiji', desc: 'Fiji - Fiji (GMT+12:00)' },\n    { name: 'Atlantic/Stanley', desc: 'Falkland Islands (Malvinas) - Stanley (GMT-03:00)' },\n    { name: 'Pacific/Chuuk', desc: 'Micronesia - Chuuk (GMT+10:00)' },\n    { name: 'Pacific/Pohnpei', desc: 'Micronesia - Pohnpei (GMT+11:00)' },\n    { name: 'Pacific/Kosrae', desc: 'Micronesia - Kosrae (GMT+11:00)' },\n    { name: 'Atlantic/Faroe', desc: 'Faroe Islands - Faroe (GMT+01:00)' },\n    { name: 'Europe/Paris', desc: 'France - Paris (GMT+02:00)' },\n    { name: 'Africa/Libreville', desc: 'Gabon - Libreville (GMT+01:00)' },\n    { name: 'Europe/London', desc: 'United Kingdom (GB) - London (GMT+01:00)' },\n    { name: 'America/Grenada', desc: 'Grenada - Grenada (GMT-04:00)' },\n    { name: 'Asia/Tbilisi', desc: 'Georgia - Tbilisi (GMT+04:00)' },\n    { name: 'America/Cayenne', desc: 'French Guiana - Cayenne (GMT-03:00)' },\n    { name: 'Europe/Guernsey', desc: 'Guernsey - Guernsey (GMT+01:00)' },\n    { name: 'Africa/Accra', desc: 'Ghana - Accra (GMT+00:00)' },\n    { name: 'Europe/Gibraltar', desc: 'Gibraltar - Gibraltar (GMT+02:00)' },\n    { name: 'America/Godthab', desc: 'Greenland - Godthab (GMT-02:00)' },\n    { name: 'America/Danmarkshavn', desc: 'Greenland - Danmarkshavn (GMT+00:00)' },\n    { name: 'America/Scoresbysund', desc: 'Greenland - Scoresbysund (GMT+00:00)' },\n    { name: 'America/Thule', desc: 'Greenland - Thule (GMT-03:00)' },\n    { name: 'Africa/Banjul', desc: 'Gambia - Banjul (GMT+00:00)' },\n    { name: 'Africa/Conakry', desc: 'Guinea - Conakry (GMT+00:00)' },\n    { name: 'America/Guadeloupe', desc: 'Guadeloupe - Guadeloupe (GMT-04:00)' },\n    { name: 'Africa/Malabo', desc: 'Equatorial Guinea - Malabo (GMT+01:00)' },\n    { name: 'Europe/Athens', desc: 'Greece - Athens (GMT+03:00)' },\n    { name: 'Atlantic/South_Georgia', desc: 'South Georgia and the South Sandwich Islands - South Georgia (GMT-02:00)' },\n    { name: 'America/Guatemala', desc: 'Guatemala - Guatemala (GMT-06:00)' },\n    { name: 'Pacific/Guam', desc: 'Guam - Guam (GMT+10:00)' },\n    { name: 'Africa/Bissau', desc: 'Guinea-Bissau - Bissau (GMT+00:00)' },\n    { name: 'America/Guyana', desc: 'Guyana - Guyana (GMT-04:00)' },\n    { name: 'Asia/Hong_Kong', desc: 'Hong Kong - Hong Kong (GMT+08:00)' },\n    { name: 'America/Tegucigalpa', desc: 'Honduras - Tegucigalpa (GMT-06:00)' },\n    { name: 'Europe/Zagreb', desc: 'Croatia - Zagreb (GMT+02:00)' },\n    { name: 'America/Port-au-Prince', desc: 'Haiti - Port-au-Prince (GMT-04:00)' },\n    { name: 'Europe/Budapest', desc: 'Hungary - Budapest (GMT+02:00)' },\n    { name: 'Asia/Jakarta', desc: 'Indonesia - Jakarta (GMT+07:00)' },\n    { name: 'Asia/Pontianak', desc: 'Indonesia - Pontianak (GMT+07:00)' },\n    { name: 'Asia/Makassar', desc: 'Indonesia - Makassar (GMT+08:00)' },\n    { name: 'Asia/Jayapura', desc: 'Indonesia - Jayapura (GMT+09:00)' },\n    { name: 'Europe/Dublin', desc: 'Ireland - Dublin (GMT+01:00)' },\n    { name: 'Asia/Jerusalem', desc: 'Israel - Jerusalem (GMT+03:00)' },\n    { name: 'Europe/Isle_of_Man', desc: 'Isle of Man - Isle of_Man (GMT+01:00)' },\n    { name: 'Asia/Kolkata', desc: 'India - Kolkata (GMT+05:30)' },\n    { name: 'Indian/Chagos', desc: 'British Indian Ocean Territory - Chagos (GMT+06:00)' },\n    { name: 'Asia/Baghdad', desc: 'Iraq - Baghdad (GMT+03:00)' },\n    { name: 'Asia/Tehran', desc: 'Iran - Tehran (GMT+04:30)' },\n    { name: 'Atlantic/Reykjavik', desc: 'Iceland - Reykjavik (GMT+00:00)' },\n    { name: 'Europe/Rome', desc: 'Italy - Rome (GMT+02:00)' },\n    { name: 'Europe/Jersey', desc: 'Jersey - Jersey (GMT+01:00)' },\n    { name: 'America/Jamaica', desc: 'Jamaica - Jamaica (GMT-05:00)' },\n    { name: 'Asia/Amman', desc: 'Jordan - Amman (GMT+03:00)' },\n    { name: 'Asia/Tokyo', desc: 'Japan - Tokyo (GMT+09:00)' },\n    { name: 'Africa/Nairobi', desc: 'Kenya - Nairobi (GMT+03:00)' },\n    { name: 'Asia/Bishkek', desc: 'Kyrgyzstan - Bishkek (GMT+06:00)' },\n    { name: 'Asia/Phnom_Penh', desc: 'Cambodia - Phnom Penh (GMT+07:00)' },\n    { name: 'Pacific/Tarawa', desc: 'Kiribati - Tarawa (GMT+12:00)' },\n    { name: 'Pacific/Enderbury', desc: 'Kiribati - Enderbury (GMT+13:00)' },\n    { name: 'Pacific/Kiritimati', desc: 'Kiribati - Kiritimati (GMT+14:00)' },\n    { name: 'Indian/Comoro', desc: 'Comoros - Comoro (GMT+03:00)' },\n    { name: 'America/St_Kitts', desc: 'Saint Kitts and Nevis - St Kitts (GMT-04:00)' },\n    { name: 'Asia/Pyongyang', desc: 'Korea (North) - Pyongyang (GMT+09:00)' },\n    { name: 'Asia/Seoul', desc: 'Korea (South) - Seoul (GMT+09:00)' },\n    { name: 'Asia/Kuwait', desc: 'Kuwait - Kuwait (GMT+03:00)' },\n    { name: 'America/Cayman', desc: 'Cayman Islands - Cayman (GMT-05:00)' },\n    { name: 'Asia/Almaty', desc: 'Kazakhstan - Almaty (GMT+06:00)' },\n    { name: 'Asia/Qyzylorda', desc: 'Kazakhstan - Qyzylorda (GMT+06:00)' },\n    { name: 'Asia/Aqtobe', desc: 'Kazakhstan - Aqtobe (GMT+05:00)' },\n    { name: 'Asia/Aqtau', desc: 'Kazakhstan - Aqtau (GMT+05:00)' },\n    { name: 'Asia/Oral', desc: 'Kazakhstan - Oral (GMT+05:00)' },\n    { name: 'Asia/Vientiane', desc: 'Lao PDR - Vientiane (GMT+07:00)' },\n    { name: 'Asia/Beirut', desc: 'Lebanon - Beirut (GMT+03:00)' },\n    { name: 'America/St_Lucia', desc: 'Saint Lucia - St Lucia (GMT-04:00)' },\n    { name: 'Europe/Vaduz', desc: 'Liechtenstein - Vaduz (GMT+02:00)' },\n    { name: 'Asia/Colombo', desc: 'Sri Lanka - Colombo (GMT+05:30)' },\n    { name: 'Africa/Monrovia', desc: 'Liberia - Monrovia (GMT+00:00)' },\n    { name: 'Africa/Maseru', desc: 'Lesotho - Maseru (GMT+02:00)' },\n    { name: 'Europe/Vilnius', desc: 'Lithuania - Vilnius (GMT+03:00)' },\n    { name: 'Europe/Luxembourg', desc: 'Luxembourg - Luxembourg (GMT+02:00)' },\n    { name: 'Europe/Riga', desc: 'Latvia - Riga (GMT+03:00)' },\n    { name: 'Africa/Tripoli', desc: 'Libya - Tripoli (GMT+02:00)' },\n    { name: 'Africa/Casablanca', desc: 'Morocco - Casablanca (GMT+00:00)' },\n    { name: 'Europe/Monaco', desc: 'Monaco - Monaco (GMT+02:00)' },\n    { name: 'Europe/Chisinau', desc: 'Moldova - Chisinau (GMT+03:00)' },\n    { name: 'Europe/Podgorica', desc: 'Montenegro - Podgorica (GMT+02:00)' },\n    { name: 'America/Marigot', desc: 'Saint-Martin (French part) - Marigot (GMT-04:00)' },\n    { name: 'Indian/Antananarivo', desc: 'Madagascar - Antananarivo (GMT+03:00)' },\n    { name: 'Pacific/Majuro', desc: 'Marshall Islands - Majuro (GMT+12:00)' },\n    { name: 'Pacific/Kwajalein', desc: 'Marshall Islands - Kwajalein (GMT+12:00)' },\n    { name: 'Europe/Skopje', desc: 'Macedonia - Skopje (GMT+02:00)' },\n    { name: 'Africa/Bamako', desc: 'Mali - Bamako (GMT+00:00)' },\n    { name: 'Asia/Rangoon', desc: 'Myanmar - Rangoon (GMT+06:30)' },\n    { name: 'Asia/Ulaanbaatar', desc: 'Mongolia - Ulaanbaatar (GMT+08:00)' },\n    { name: 'Asia/Hovd', desc: 'Mongolia - Hovd (GMT+07:00)' },\n    { name: 'Asia/Choibalsan', desc: 'Mongolia - Choibalsan (GMT+08:00)' },\n    { name: 'Asia/Macau', desc: 'Macao - Macau (GMT+08:00)' },\n    { name: 'Pacific/Saipan', desc: 'Northern Mariana Islands - Saipan (GMT+10:00)' },\n    { name: 'America/Martinique', desc: 'Martinique - Martinique (GMT-04:00)' },\n    { name: 'Africa/Nouakchott', desc: 'Mauritania - Nouakchott (GMT+00:00)' },\n    { name: 'America/Montserrat', desc: 'Montserrat - Montserrat (GMT-04:00)' },\n    { name: 'Europe/Malta', desc: 'Malta - Malta (GMT+02:00)' },\n    { name: 'Indian/Mauritius', desc: 'Mauritius - Mauritius (GMT+04:00)' },\n    { name: 'Indian/Maldives', desc: 'Maldives - Maldives (GMT+05:00)' },\n    { name: 'Africa/Blantyre', desc: 'Malawi - Blantyre (GMT+02:00)' },\n    { name: 'America/Mexico_City', desc: 'Mexico - Mexico City (GMT-05:00)' },\n    { name: 'America/Cancun', desc: 'Mexico - Cancun (GMT-05:00)' },\n    { name: 'America/Merida', desc: 'Mexico - Merida (GMT-05:00)' },\n    { name: 'America/Monterrey', desc: 'Mexico - Monterrey (GMT-05:00)' },\n    { name: 'America/Matamoros', desc: 'Mexico - Matamoros (GMT-05:00)' },\n    { name: 'America/Mazatlan', desc: 'Mexico - Mazatlan (GMT-06:00)' },\n    { name: 'America/Chihuahua', desc: 'Mexico - Chihuahua (GMT-06:00)' },\n    { name: 'America/Ojinaga', desc: 'Mexico - Ojinaga (GMT-06:00)' },\n    { name: 'America/Hermosillo', desc: 'Mexico - Hermosillo (GMT-07:00)' },\n    { name: 'America/Tijuana', desc: 'Mexico - Tijuana (GMT-07:00)' },\n    { name: 'America/Santa_Isabel', desc: 'Mexico - Santa Isabel (GMT-07:00)' },\n    { name: 'America/Bahia_Banderas', desc: 'Mexico - Bahia Banderas (GMT-05:00)' },\n    { name: 'Asia/Kuala_Lumpur', desc: 'Malaysia - Kuala Lumpur (GMT+08:00)' },\n    { name: 'Asia/Kuching', desc: 'Malaysia - Kuching (GMT+08:00)' },\n    { name: 'Africa/Maputo', desc: 'Mozambique - Maputo (GMT+02:00)' },\n    { name: 'Africa/Windhoek', desc: 'Namibia - Windhoek (GMT+02:00)' },\n    { name: 'Pacific/Noumea', desc: 'New Caledonia - Noumea (GMT+11:00)' },\n    { name: 'Africa/Niamey', desc: 'Niger - Niamey (GMT+01:00)' },\n    { name: 'Pacific/Norfolk', desc: 'Norfolk Island - Norfolk (GMT+11:00)' },\n    { name: 'Africa/Lagos', desc: 'Nigeria - Lagos (GMT+01:00)' },\n    { name: 'America/Managua', desc: 'Nicaragua - Managua (GMT-06:00)' },\n    { name: 'Europe/Amsterdam', desc: 'Netherlands - Amsterdam (GMT+02:00)' },\n    { name: 'Europe/Oslo', desc: 'Norway - Oslo (GMT+02:00)' },\n    { name: 'Asia/Kathmandu', desc: 'Nepal - Kathmandu (GMT+05:45)' },\n    { name: 'Pacific/Nauru', desc: 'Nauru - Nauru (GMT+12:00)' },\n    { name: 'Pacific/Niue', desc: 'Niue - Niue (GMT-11:00)' },\n    { name: 'Pacific/Auckland', desc: 'New Zealand - Auckland (GMT+12:00)' },\n    { name: 'Pacific/Chatham', desc: 'New Zealand - Chatham (GMT+12:45)' },\n    { name: 'Asia/Muscat', desc: 'Oman - Muscat (GMT+04:00)' },\n    { name: 'America/Panama', desc: 'Panama - Panama (GMT-05:00)' },\n    { name: 'America/Lima', desc: 'Peru - Lima (GMT-05:00)' },\n    { name: 'Pacific/Tahiti', desc: 'French Polynesia - Tahiti (GMT-10:00)' },\n    { name: 'Pacific/Marquesas', desc: 'French Polynesia - Marquesas (GMT-09:30)' },\n    { name: 'Pacific/Gambier', desc: 'French Polynesia - Gambier (GMT-09:00)' },\n    { name: 'Pacific/Port_Moresby', desc: 'Papua New Guinea - Port Moresby (GMT+10:00)' },\n    { name: 'Asia/Manila', desc: 'Philippines - Manila (GMT+08:00)' },\n    { name: 'Asia/Karachi', desc: 'Pakistan - Karachi (GMT+05:00)' },\n    { name: 'Europe/Warsaw', desc: 'Poland - Warsaw (GMT+02:00)' },\n    { name: 'Poland', desc: 'Poland - Poland (GMT+02:00)' },\n    { name: 'America/Miquelon', desc: 'Saint Pierre and Miquelon - Miquelon (GMT-02:00)' },\n    { name: 'Pacific/Pitcairn', desc: 'Pitcairn - Pitcairn (GMT-08:00)' },\n    { name: 'America/Puerto_Rico', desc: 'Puerto Rico - Puerto Rico (GMT-04:00)' },\n    { name: 'Asia/Gaza', desc: 'Palestinian Territory - Gaza (GMT+03:00)' },\n    { name: 'Asia/Hebron', desc: 'Palestinian Territory - Hebron (GMT+03:00)' },\n    { name: 'Europe/Lisbon', desc: 'Portugal - Lisbon (GMT+01:00)' },\n    { name: 'Atlantic/Madeira', desc: 'Portugal - Madeira (GMT+01:00)' },\n    { name: 'Atlantic/Azores', desc: 'Portugal - Azores (GMT+00:00)' },\n    { name: 'Pacific/Palau', desc: 'Palau - Palau (GMT+09:00)' },\n    { name: 'America/Asuncion', desc: 'Paraguay - Asuncion (GMT-04:00)' },\n    { name: 'Asia/Qatar', desc: 'Qatar - Qatar (GMT+03:00)' },\n    { name: 'Indian/Reunion', desc: 'Réunion - Reunion (GMT+04:00)' },\n    { name: 'Europe/Bucharest', desc: 'Romania - Bucharest (GMT+03:00)' },\n    { name: 'Europe/Belgrade', desc: 'Serbia - Belgrade (GMT+02:00)' },\n    { name: 'Europe/Kaliningrad', desc: 'Russian Federation - Kaliningrad (GMT+02:00)' },\n    { name: 'Europe/Moscow', desc: 'Russian Federation - Moscow (GMT+03:00)' },\n    { name: 'Europe/Volgograd', desc: 'Russian Federation - Volgograd (GMT+03:00)' },\n    { name: 'Europe/Samara', desc: 'Russian Federation - Samara (GMT+04:00)' },\n    { name: 'Europe/Simferopol', desc: 'Russian Federation - Simferopol (GMT+03:00)' },\n    { name: 'Asia/Yekaterinburg', desc: 'Russian Federation - Yekaterinburg (GMT+05:00)' },\n    { name: 'Asia/Omsk', desc: 'Russian Federation - Omsk (GMT+06:00)' },\n    { name: 'Asia/Novosibirsk', desc: 'Russian Federation - Novosibirsk (GMT+07:00)' },\n    { name: 'Asia/Novokuznetsk', desc: 'Russian Federation - Novokuznetsk (GMT+07:00)' },\n    { name: 'Asia/Krasnoyarsk', desc: 'Russian Federation - Krasnoyarsk (GMT+07:00)' },\n    { name: 'Asia/Irkutsk', desc: 'Russian Federation - Irkutsk (GMT+08:00)' },\n    { name: 'Asia/Yakutsk', desc: 'Russian Federation - Yakutsk (GMT+09:00)' },\n    { name: 'Asia/Khandyga', desc: 'Russian Federation - Khandyga (GMT+09:00)' },\n    { name: 'Asia/Vladivostok', desc: 'Russian Federation - Vladivostok (GMT+10:00)' },\n    { name: 'Asia/Sakhalin', desc: 'Russian Federation - Sakhalin (GMT+11:00)' },\n    { name: 'Asia/Ust-Nera', desc: 'Russian Federation - Ust-Nera (GMT+10:00)' },\n    { name: 'Asia/Magadan', desc: 'Russian Federation - Magadan (GMT+11:00)' },\n    { name: 'Asia/Kamchatka', desc: 'Russian Federation - Kamchatka (GMT+12:00)' },\n    { name: 'Asia/Anadyr', desc: 'Russian Federation - Anadyr (GMT+12:00)' },\n    { name: 'Africa/Kigali', desc: 'Rwanda - Kigali (GMT+02:00)' },\n    { name: 'Asia/Riyadh', desc: 'Saudi Arabia - Riyadh (GMT+03:00)' },\n    { name: 'Pacific/Guadalcanal', desc: 'Solomon Islands - Guadalcanal (GMT+11:00)' },\n    { name: 'Indian/Mahe', desc: 'Seychelles - Mahe (GMT+04:00)' },\n    { name: 'Africa/Khartoum', desc: 'Sudan - Khartoum (GMT+02:00)' },\n    { name: 'Europe/Stockholm', desc: 'Sweden - Stockholm (GMT+02:00)' },\n    { name: 'Asia/Singapore', desc: 'Singapore - Singapore (GMT+08:00)' },\n    { name: 'Atlantic/St_Helena', desc: 'Saint Helena - St Helena (GMT+00:00)' },\n    { name: 'Europe/Ljubljana', desc: 'Slovenia - Ljubljana (GMT+02:00)' },\n    { name: 'Arctic/Longyearbyen', desc: 'Svalbard and Jan Mayen Islands - Longyearbyen (GMT+02:00)' },\n    { name: 'Europe/Bratislava', desc: 'Slovakia - Bratislava (GMT+02:00)' },\n    { name: 'Africa/Freetown', desc: 'Sierra Leone - Freetown (GMT+00:00)' },\n    { name: 'Europe/San_Marino', desc: 'San Marino - San Marino (GMT+02:00)' },\n    { name: 'Africa/Dakar', desc: 'Senegal - Dakar (GMT+00:00)' },\n    { name: 'Africa/Mogadishu', desc: 'Somalia - Mogadishu (GMT+03:00)' },\n    { name: 'America/Paramaribo', desc: 'Suriname - Paramaribo (GMT-03:00)' },\n    { name: 'Africa/Juba', desc: 'South Sudan - Juba (GMT+03:00)' },\n    { name: 'Africa/Sao_Tome', desc: 'Sao Tome and Principe - Sao Tome (GMT+01:00)' },\n    { name: 'America/El_Salvador', desc: 'El Salvador - El Salvador (GMT-06:00)' },\n    { name: 'America/Lower_Princes', desc: 'SX - Lower Princes (GMT-04:00)' },\n    { name: 'Asia/Damascus', desc: 'Syria - Damascus (GMT+03:00)' },\n    { name: 'Africa/Mbabane', desc: 'Swaziland - Mbabane (GMT+02:00)' },\n    { name: 'America/Grand_Turk', desc: 'Turks and Caicos Islands - Grand Turk (GMT-04:00)' },\n    { name: 'Africa/Ndjamena', desc: 'Chad - Ndjamena (GMT+01:00)' },\n    { name: 'Indian/Kerguelen', desc: 'French Southern Territories - Kerguelen (GMT+05:00)' },\n    { name: 'Africa/Lome', desc: 'Togo - Lome (GMT+00:00)' },\n    { name: 'Asia/Bangkok', desc: 'Thailand - Bangkok (GMT+07:00)' },\n    { name: 'Asia/Dushanbe', desc: 'Tajikistan - Dushanbe (GMT+05:00)' },\n    { name: 'Pacific/Fakaofo', desc: 'Tokelau - Fakaofo (GMT+13:00)' },\n    { name: 'Asia/Dili', desc: 'Timor-Leste - Dili (GMT+09:00)' },\n    { name: 'Asia/Ashgabat', desc: 'Turkmenistan - Ashgabat (GMT+05:00)' },\n    { name: 'Africa/Tunis', desc: 'Tunisia - Tunis (GMT+01:00)' },\n    { name: 'Pacific/Tongatapu', desc: 'Tonga - Tongatapu (GMT+13:00)' },\n    { name: 'Europe/Istanbul', desc: 'Turkey - Istanbul (GMT+03:00)' },\n    { name: 'America/Port_of_Spain', desc: 'Trinidad and Tobago - Port of_Spain (GMT-04:00)' },\n    { name: 'Pacific/Funafuti', desc: 'Tuvalu - Funafuti (GMT+12:00)' },\n    { name: 'Asia/Taipei', desc: 'Taiwan - Taipei (GMT+08:00)' },\n    { name: 'Africa/Dar_es_Salaam', desc: 'Tanzania - Dar es_Salaam (GMT+03:00)' },\n    { name: 'Europe/Kiev', desc: 'Ukraine - Kiev (GMT+03:00)' },\n    { name: 'Europe/Uzhgorod', desc: 'Ukraine - Uzhgorod (GMT+03:00)' },\n    { name: 'Europe/Zaporozhye', desc: 'Ukraine - Zaporozhye (GMT+03:00)' },\n    { name: 'Africa/Kampala', desc: 'Uganda - Kampala (GMT+03:00)' },\n    { name: 'Pacific/Johnston', desc: 'US Minor Outlying Islands - Johnston (GMT-10:00)' },\n    { name: 'Pacific/Midway', desc: 'US Minor Outlying Islands - Midway (GMT-11:00)' },\n    { name: 'Pacific/Wake', desc: 'US Minor Outlying Islands - Wake (GMT+12:00)' },\n    { name: 'America/New_York', desc: 'United States of America (USA) - New York (GMT-04:00)' },\n    { name: 'America/Detroit', desc: 'United States of America (USA) - Detroit (GMT-04:00)' },\n    { name: 'America/Kentucky/Louisville', desc: 'United States of America (USA) - Louisville (GMT-04:00)' },\n    { name: 'America/Kentucky/Monticello', desc: 'United States of America (USA) - Monticello (GMT-04:00)' },\n    { name: 'America/Indiana/Indianapolis', desc: 'United States of America (USA) - Indianapolis (GMT-04:00)' },\n    { name: 'America/Indiana/Vincennes', desc: 'United States of America (USA) - Vincennes (GMT-04:00)' },\n    { name: 'America/Indiana/Winamac', desc: 'United States of America (USA) - Winamac (GMT-04:00)' },\n    { name: 'America/Indiana/Marengo', desc: 'United States of America (USA) - Marengo (GMT-04:00)' },\n    { name: 'America/Indiana/Petersburg', desc: 'United States of America (USA) - Petersburg (GMT-04:00)' },\n    { name: 'America/Indiana/Vevay', desc: 'United States of America (USA) - Vevay (GMT-04:00)' },\n    { name: 'America/Chicago', desc: 'United States of America (USA) - Chicago (GMT-05:00)' },\n    { name: 'America/Indiana/Tell_City', desc: 'United States of America (USA) - Tell City (GMT-05:00)' },\n    { name: 'America/Indiana/Knox', desc: 'United States of America (USA) - Knox (GMT-05:00)' },\n    { name: 'America/Menominee', desc: 'United States of America (USA) - Menominee (GMT-05:00)' },\n    { name: 'America/North_Dakota/Center', desc: 'United States of America (USA) - Center (GMT-05:00)' },\n    { name: 'America/North_Dakota/New_Salem', desc: 'United States of America (USA) - New Salem (GMT-05:00)' },\n    { name: 'America/North_Dakota/Beulah', desc: 'United States of America (USA) - Beulah (GMT-05:00)' },\n    { name: 'America/Denver', desc: 'United States of America (USA) - Denver (GMT-06:00)' },\n    { name: 'America/Boise', desc: 'United States of America (USA) - Boise (GMT-06:00)' },\n    { name: 'America/Phoenix', desc: 'United States of America (USA) - Phoenix (GMT-07:00)' },\n    { name: 'America/Los_Angeles', desc: 'United States of America (USA) - Los Angeles (GMT-07:00)' },\n    { name: 'America/Anchorage', desc: 'United States of America (USA) - Anchorage (GMT-08:00)' },\n    { name: 'America/Juneau', desc: 'United States of America (USA) - Juneau (GMT-08:00)' },\n    { name: 'America/Sitka', desc: 'United States of America (USA) - Sitka (GMT-08:00)' },\n    { name: 'America/Yakutat', desc: 'United States of America (USA) - Yakutat (GMT-08:00)' },\n    { name: 'America/Nome', desc: 'United States of America (USA) - Nome (GMT-08:00)' },\n    { name: 'America/Adak', desc: 'United States of America (USA) - Adak (GMT-09:00)' },\n    { name: 'America/Metlakatla', desc: 'United States of America (USA) - Metlakatla (GMT-08:00)' },\n    { name: 'Pacific/Honolulu', desc: 'United States of America (USA) - Honolulu (GMT-10:00)' },\n    { name: 'America/Montevideo', desc: 'Uruguay - Montevideo (GMT-03:00)' },\n    { name: 'Asia/Samarkand', desc: 'Uzbekistan - Samarkand (GMT+05:00)' },\n    { name: 'Asia/Tashkent', desc: 'Uzbekistan - Tashkent (GMT+05:00)' },\n    { name: 'Europe/Vatican', desc: 'Vatican City State - Vatican (GMT+02:00)' },\n    { name: 'America/St_Vincent', desc: 'Saint Vincent and Grenadines - St Vincent (GMT-04:00)' },\n    { name: 'America/Caracas', desc: 'Venezuela - Caracas (GMT-04:00)' },\n    { name: 'America/Tortola', desc: 'British Virgin Islands - Tortola (GMT-04:00)' },\n    { name: 'America/St_Thomas', desc: 'Virgin Islands, US - St Thomas (GMT-04:00)' },\n    { name: 'Asia/Ho_Chi_Minh', desc: 'Viet Nam - Ho Chi_Minh (GMT+07:00)' },\n    { name: 'Pacific/Efate', desc: 'Vanuatu - Efate (GMT+11:00)' },\n    { name: 'Pacific/Wallis', desc: 'Wallis and Futuna Islands - Wallis (GMT+12:00)' },\n    { name: 'Pacific/Apia', desc: 'Samoa - Apia (GMT+13:00)' },\n    { name: 'Asia/Aden', desc: 'Yemen - Aden (GMT+03:00)' },\n    { name: 'Indian/Mayotte', desc: 'Mayotte - Mayotte (GMT+03:00)' },\n    { name: 'Africa/Johannesburg', desc: 'South Africa - Johannesburg (GMT+02:00)' },\n    { name: 'Africa/Lusaka', desc: 'Zambia - Lusaka (GMT+02:00)' },\n    { name: 'Africa/Harare', desc: 'Zimbabwe - Harare (GMT+02:00)' },\n]"
            },
            {
                "name": "euiCoreRootGuardClass",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/eui-core.module.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(): EuiCoreRootGuardClass => new EuiCoreRootGuardClass()"
            },
            {
                "name": "filterAppState",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/meta.reducers.ts",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "type": "unknown",
                "defaultValue": "(app: AppState): AppState => {\n    // in case app is undefined or null it should return empty object\n    if (!app) {\n        return {};\n    }\n\n    return (\n        Object.keys(app)\n            // select keys that are present in the allowed list\n            .filter((key) => !disallowedKeys.includes(key))\n            // build a new object with only the allowed properties\n            .reduce((obj, key) => {\n                obj[key] = app[key];\n                return obj;\n            }, {})\n    );\n}",
                "rawdescription": "filters the AppState by removing those keys from the state and return a new state Object",
                "description": "<p>filters the AppState by removing those keys from the state and return a new state Object</p>\n"
            },
            {
                "name": "formatNumber",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/helpers/format-helpers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(value: number | string, fractionSize = 2, inDecimalSeparator = ',', inThousandSeparator = ''): string => {\n    // in case value is not a number throw an error\n    if (typeof value === 'string' && isNaN(parseFloat(value))) {\n        console.error(`Value ${value} is not a number`);\n        return null;\n    }\n\n    let decimalSeparator = '';\n    let thousandsSeparator = '';\n\n    if (value === null || value === undefined) {\n        return null;\n    }\n\n    if (typeof value === 'string') {\n        // get all non characters\n        const nonChars: string[] = value.match(/\\D+/g) || [];\n\n        // get all unique chars\n        const uniqueChars = nonChars.reduce((acc, e) => acc.set(e, (acc.get(e) || 0) + 1), new Map());\n\n        // get separators\n        const separators = Array.from<string>(uniqueChars.keys());\n\n        // sense where decimal separator and where a thousand separator is\n        if (separators.length > 1) {\n            // left detected separator will be a thousand and second will be decimal\n            thousandsSeparator = separators[0];\n            decimalSeparator = separators[1];\n        } else if (separators.length > 0) {\n            // in case there is only one separator you don't know exactly who this separator is.\n            // in case there are more than two occurrences means we have a thousand otherwise we'll\n            // agree by conventions that is decimal\n            if (nonChars.length > 1) {\n                return value\n                    .split(separators[0])\n                    .join('')\n                    .replace(/\\B(?=(\\d{3})+(?!\\d))/g, inThousandSeparator);\n            } else {\n                return value.replace(separators[0], inDecimalSeparator).replace(/\\B(?=(\\d{3})+(?!\\d))/g, inThousandSeparator);\n            }\n        } else {\n            // in case there are no separators then only format based on thousand one\n            return value.replace(/\\B(?=(\\d{3})+(?!\\d))/g, inThousandSeparator) + (fractionSize > 0 ? inDecimalSeparator + '0'.repeat(fractionSize) : '');\n        }\n\n        // do the replacement of separators and parseInt\n        // Beware! Always replace a thousand separator first and then decimal\n        value = value.split(thousandsSeparator).join('').replace(decimalSeparator, '.');\n    }\n\n    decimalSeparator = inDecimalSeparator;\n    thousandsSeparator = inThousandSeparator;\n\n    const maxFraction = '0'.repeat(fractionSize);\n\n    // eslint-disable-next-line prefer-const\n    let [integer, fraction = maxFraction] = (value || '0').toString().split('.');\n    fraction = fractionSize > 0 ? roundUpNumber(fraction + maxFraction, fractionSize) : '';\n\n    // this rule makes sense only in number in case fraction is all zero\n    fraction = fraction.length > 0 ? decimalSeparator + fraction : '';\n\n    // if fraction is all zero then round up the number\n    if(fractionSize === 0) {\n        integer = Math.round(parseFloat((value).toString())).toString();\n    }\n\n    return integer.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandsSeparator) + fraction;\n}",
                "rawdescription": "Its job is to parse number and format it based on given input.",
                "description": "<p>Its job is to parse number and format it based on given input.</p>\n"
            },
            {
                "name": "getLastAddedModule",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/i18n/i18n.service.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "Selector<CoreState, string>",
                "defaultValue": "(state: CoreState) => state.app.loadedConfigModules.lastAddedModule"
            },
            {
                "name": "getStyle",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/helpers/dom-helpers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(nativeEl: Element, cssProp: keyof CSSStyleDeclaration): string => {\n    /* istanbul ignore if */\n    if (getComputedStyle(nativeEl)) {\n        return getComputedStyle(nativeEl)[cssProp] as string;\n    }\n\n    // finally try and get inline style\n    /* istanbul ignore next */\n    return (nativeEl as HTMLElement).style[cssProp] as string;\n}"
            },
            {
                "name": "getViewElement",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/helpers/dom-helpers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "<F>(fixture: ComponentFixture<F>, componentClass: string, klass?: string): {de: DebugElement, el: HTMLElement, domElement: HTMLElement} => {\n    let el: HTMLElement, domElement: NodeList | HTMLElement;\n\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) as HTMLElement;\n            }\n        }\n    }\n\n    return { de, el, domElement: domElement as HTMLElement };\n}"
            },
            {
                "name": "GLOBAL_CONFIG_TOKEN",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/config/tokens.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new InjectionToken<GlobalConfig>('globalConfig')"
            },
            {
                "name": "Handlebars",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/dist/docs/template-playground/hbs-render.service.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "any"
            },
            {
                "name": "handleError",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/helpers/http-helpers.ts",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the future. Consult the angular documentation for a replacement.",
                "type": "unknown",
                "defaultValue": "(error: HttpErrorResponse): Observable<never> => {\n    const errMsg = error.message ? error.message : error.status ? `${error.status} - ${error.statusText}` : 'Server error';\n    throw new Error(errMsg);\n}"
            },
            {
                "name": "HTTP_ERROR_HANDLER_CONFIG_TOKEN",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/config/tokens.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new InjectionToken<HttpErrorHandlerConfig>('HTTP_ERROR_HANDLER_CONFIG')"
            },
            {
                "name": "ICON_INPUT_SELECTORS",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/icon-migrate/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "literal type[]",
                "defaultValue": "[\n  {\n    // <eui-icon-svg icon=\"...\"> / <span euiIconSvg icon=\"...\"> / <i euiIconSvg icon=\"...\">\n    elements: ['eui-icon-svg'],\n    attrs: ['icon'],\n  },\n  {\n    // <eui-icon-button icon=\"...\">\n    elements: ['eui-icon-button'],\n    attrs: ['icon'],\n  },\n  {\n    // <eui-tree [expandedSvgIconClass]=\"...\" [collapsedSvgIconClass]=\"...\">\n    elements: ['eui-tree'],\n    attrs: ['expandedSvgIconClass', 'collapsedSvgIconClass'],\n  },\n]",
                "rawdescription": "Defines which components have icon inputs and what those input names are.\nEach entry maps element selectors to the input attribute names that hold icon values.",
                "description": "<p>Defines which components have icon inputs and what those input names are.\nEach entry maps element selectors to the input attribute names that hold icon values.</p>\n"
            },
            {
                "name": "ICON_MAP",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate/replacements/icons.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "literal type[]",
                "defaultValue": "[\n  { oldIcon: 'eui-alert-circle', newIcon: 'eui-state-danger' },\n  { oldIcon: 'eui-arrow-back', newIcon: 'eui-arrow-left' },\n  { oldIcon: 'eui-arrow-down-thin', newIcon: 'eui-arrow-down' },\n  { oldIcon: 'eui-arrow-forward', newIcon: 'eui-arrow-right' },\n  { oldIcon: 'eui-arrow-left-thin', newIcon: 'eui-arrow-left' },\n  { oldIcon: 'eui-arrow-redo', newIcon: 'eui-redo' },\n  { oldIcon: 'eui-arrow-right-thin', newIcon: 'eui-arrow-right' },\n  { oldIcon: 'eui-arrow-undo', newIcon: 'eui-undo' },\n  { oldIcon: 'eui-arrow-up-thin', newIcon: 'eui-arrow-up' },\n  { oldIcon: 'eui-bolt', newIcon: 'eui-flash' },\n  { oldIcon: 'eui-bookmark-outline', newIcon: 'bookmark-simple:regular' },\n  { oldIcon: 'eui-bookmark', newIcon: 'bookmark-simple:fill' },\n  { oldIcon: 'eui-calendar-outline', newIcon: 'eui-calendar' },\n  { oldIcon: 'eui-camera-add', newIcon: 'camera-plus:regular' },\n  { oldIcon: 'eui-chain', newIcon: 'eui-link' },\n  { oldIcon: 'eui-chart-area', newIcon: 'chart-pie:regular' },\n  { oldIcon: 'eui-chart-bar', newIcon: 'chart-bar:regular' },\n  { oldIcon: 'eui-chart-line', newIcon: 'chart-line:regular' },\n  { oldIcon: 'eui-check', newIcon: 'check-square:regular' },\n  { oldIcon: 'eui-checkbox-intermediate', newIcon: 'minus-square:fill' },\n  { oldIcon: 'eui-checkbox-outline', newIcon: 'check-square:regular' },\n  { oldIcon: 'eui-checkbox', newIcon: 'check-square:fill' },\n  { oldIcon: 'eui-chevron-back', newIcon: 'eui-chevron-left' },\n  { oldIcon: 'eui-chevron-forward', newIcon: 'eui-chevron-right' },\n  { oldIcon: 'eui-clock-history', newIcon: 'clock-counter-clockwise:regular' },\n  { oldIcon: 'eui-comment', newIcon: 'chat-circle:regular' },\n  { oldIcon: 'eui-create', newIcon: 'eui-add' },\n  { oldIcon: 'eui-dedent', newIcon: 'text-outdent:regular' },\n  { oldIcon: 'eui-delete-forever', newIcon: 'eui-trash' },\n  { oldIcon: 'eui-delete', newIcon: 'eui-trash' },\n  { oldIcon: 'eui-e-help', newIcon: 'none' },\n  // ECL icons\n  { oldIcon: 'eui-ecl-arrow-left', newIcon: 'ecl-arrow-left:ecl' },\n  { oldIcon: 'eui-ecl-audio', newIcon: 'ecl-audio:ecl' },\n  { oldIcon: 'eui-ecl-back', newIcon: 'ecl-back:ecl' },\n  { oldIcon: 'eui-ecl-blog', newIcon: 'ecl-blog:ecl' },\n  { oldIcon: 'eui-ecl-book', newIcon: 'ecl-book:ecl' },\n  { oldIcon: 'eui-ecl-brochure', newIcon: 'ecl-brochure:ecl' },\n  { oldIcon: 'eui-ecl-budget', newIcon: 'ecl-budget:ecl' },\n  { oldIcon: 'eui-ecl-calendar', newIcon: 'ecl-calendar:ecl' },\n  { oldIcon: 'eui-ecl-camera', newIcon: 'ecl-camera:ecl' },\n  { oldIcon: 'eui-ecl-chain', newIcon: 'ecl-chain:ecl' },\n  { oldIcon: 'eui-ecl-check-filled', newIcon: 'ecl-check-filled:ecl' },\n  { oldIcon: 'eui-ecl-check', newIcon: 'ecl-check:ecl' },\n  { oldIcon: 'eui-ecl-clock-filled', newIcon: 'ecl-clock-filled:ecl' },\n  { oldIcon: 'eui-ecl-clock', newIcon: 'ecl-clock:ecl' },\n  { oldIcon: 'eui-ecl-close-filled', newIcon: 'ecl-close-filled:ecl' },\n  { oldIcon: 'eui-ecl-close-outline', newIcon: 'ecl-close-outline:ecl' },\n  { oldIcon: 'eui-ecl-close', newIcon: 'ecl-close:ecl' },\n  { oldIcon: 'eui-ecl-copy', newIcon: 'ecl-copy:ecl' },\n  { oldIcon: 'eui-ecl-corner-arrow', newIcon: 'ecl-corner-arrow:ecl' },\n  { oldIcon: 'eui-ecl-data', newIcon: 'ecl-data:ecl' },\n  { oldIcon: 'eui-ecl-digital', newIcon: 'ecl-digital:ecl' },\n  { oldIcon: 'eui-ecl-document', newIcon: 'ecl-document:ecl' },\n  { oldIcon: 'eui-ecl-download', newIcon: 'ecl-download:ecl' },\n  { oldIcon: 'eui-ecl-edit', newIcon: 'ecl-edit:ecl' },\n  { oldIcon: 'eui-ecl-email', newIcon: 'ecl-email:ecl' },\n  { oldIcon: 'eui-ecl-energy', newIcon: 'ecl-energy:ecl' },\n  { oldIcon: 'eui-ecl-error', newIcon: 'ecl-error:ecl' },\n  { oldIcon: 'eui-ecl-euro', newIcon: 'ecl-euro:ecl' },\n  { oldIcon: 'eui-ecl-external-events', newIcon: 'ecl-external-events:ecl' },\n  { oldIcon: 'eui-ecl-external', newIcon: 'ecl-external:ecl' },\n  { oldIcon: 'eui-ecl-facebook', newIcon: 'ecl-facebook:ecl' },\n  { oldIcon: 'eui-ecl-faq', newIcon: 'ecl-faq:ecl' },\n  { oldIcon: 'eui-ecl-feedback', newIcon: 'ecl-feedback:ecl' },\n  { oldIcon: 'eui-ecl-file', newIcon: 'ecl-file:ecl' },\n  { oldIcon: 'eui-ecl-flickr', newIcon: 'ecl-flickr:ecl' },\n  { oldIcon: 'eui-ecl-folder', newIcon: 'ecl-folder:ecl' },\n  { oldIcon: 'eui-ecl-foursquare', newIcon: 'ecl-foursquare:ecl' },\n  { oldIcon: 'eui-ecl-fullscreen', newIcon: 'ecl-fullscreen:ecl' },\n  { oldIcon: 'eui-ecl-gear', newIcon: 'ecl-gear:ecl' },\n  { oldIcon: 'eui-ecl-generic-lang', newIcon: 'ecl-generic-lang:ecl' },\n  { oldIcon: 'eui-ecl-global', newIcon: 'ecl-global:ecl' },\n  { oldIcon: 'eui-ecl-gmail', newIcon: 'ecl-gmail:ecl' },\n  { oldIcon: 'eui-ecl-growth', newIcon: 'ecl-growth:ecl' },\n  { oldIcon: 'eui-ecl-hamburger', newIcon: 'ecl-hamburger:ecl' },\n  { oldIcon: 'eui-ecl-image', newIcon: 'ecl-image:ecl' },\n  { oldIcon: 'eui-ecl-information', newIcon: 'ecl-information:ecl' },\n  { oldIcon: 'eui-ecl-instagram', newIcon: 'ecl-instagram:ecl' },\n  { oldIcon: 'eui-ecl-laco-filled', newIcon: 'ecl-laco-filled:ecl' },\n  { oldIcon: 'eui-ecl-laco', newIcon: 'ecl-laco:ecl' },\n  { oldIcon: 'eui-ecl-language', newIcon: 'ecl-language:ecl' },\n  { oldIcon: 'eui-ecl-linkedin', newIcon: 'ecl-linkedin:ecl' },\n  { oldIcon: 'eui-ecl-list', newIcon: 'ecl-list:ecl' },\n  { oldIcon: 'eui-ecl-livestreaming', newIcon: 'ecl-livestreaming:ecl' },\n  { oldIcon: 'eui-ecl-location', newIcon: 'ecl-location:ecl' },\n  { oldIcon: 'eui-ecl-log-in', newIcon: 'ecl-log-in:ecl' },\n  { oldIcon: 'eui-ecl-logged-in', newIcon: 'ecl-logged-in:ecl' },\n  { oldIcon: 'eui-ecl-mastodon', newIcon: 'ecl-mastodon:ecl' },\n  { oldIcon: 'eui-ecl-messenger', newIcon: 'ecl-messenger:ecl' },\n  { oldIcon: 'eui-ecl-minus', newIcon: 'ecl-minus:ecl' },\n  { oldIcon: 'eui-ecl-multiple-files', newIcon: 'ecl-multiple-files:ecl' },\n  { oldIcon: 'eui-ecl-organigram', newIcon: 'ecl-organigram:ecl' },\n  { oldIcon: 'eui-ecl-package', newIcon: 'ecl-package:ecl' },\n  { oldIcon: 'eui-ecl-pause-filled', newIcon: 'ecl-pause-filled:ecl' },\n  { oldIcon: 'eui-ecl-pause', newIcon: 'ecl-pause:ecl' },\n  { oldIcon: 'eui-ecl-pinterest', newIcon: 'ecl-pinterest:ecl' },\n  { oldIcon: 'eui-ecl-play-filled', newIcon: 'ecl-play-filled:ecl' },\n  { oldIcon: 'eui-ecl-play-outline', newIcon: 'ecl-play-outline:ecl' },\n  { oldIcon: 'eui-ecl-play', newIcon: 'ecl-play:ecl' },\n  { oldIcon: 'eui-ecl-plus', newIcon: 'ecl-plus:ecl' },\n  { oldIcon: 'eui-ecl-print', newIcon: 'ecl-print:ecl' },\n  { oldIcon: 'eui-ecl-qzone', newIcon: 'ecl-qzone:ecl' },\n  { oldIcon: 'eui-ecl-reddit', newIcon: 'ecl-reddit:ecl' },\n  { oldIcon: 'eui-ecl-regulation', newIcon: 'ecl-regulation:ecl' },\n  { oldIcon: 'eui-ecl-rss', newIcon: 'ecl-rss:ecl' },\n  { oldIcon: 'eui-ecl-search', newIcon: 'ecl-search:ecl' },\n  { oldIcon: 'eui-ecl-settings', newIcon: 'ecl-settings:ecl' },\n  { oldIcon: 'eui-ecl-share', newIcon: 'ecl-share:ecl' },\n  { oldIcon: 'eui-ecl-shopping-bag', newIcon: 'ecl-shopping-bag:ecl' },\n  { oldIcon: 'eui-ecl-skype', newIcon: 'ecl-skype:ecl' },\n  { oldIcon: 'eui-ecl-sms', newIcon: 'ecl-sms:ecl' },\n  { oldIcon: 'eui-ecl-solid-arrow', newIcon: 'ecl-solid-arrow:ecl' },\n  { oldIcon: 'eui-ecl-spinner', newIcon: 'ecl-spinner:ecl' },\n  { oldIcon: 'eui-ecl-spotify', newIcon: 'ecl-spotify:ecl' },\n  { oldIcon: 'eui-ecl-spreadsheet', newIcon: 'ecl-spreadsheet:ecl' },\n  { oldIcon: 'eui-ecl-star-filled', newIcon: 'ecl-star-filled:ecl' },\n  { oldIcon: 'eui-ecl-star-outline', newIcon: 'ecl-star-outline:ecl' },\n  { oldIcon: 'eui-ecl-success', newIcon: 'ecl-success:ecl' },\n  { oldIcon: 'eui-ecl-tag', newIcon: 'ecl-tag:ecl' },\n  { oldIcon: 'eui-ecl-telegram', newIcon: 'ecl-telegram:ecl' },\n  { oldIcon: 'eui-ecl-trash', newIcon: 'ecl-trash:ecl' },\n  { oldIcon: 'eui-ecl-twitter', newIcon: 'ecl-twitter:ecl' },\n  { oldIcon: 'eui-ecl-typepad', newIcon: 'ecl-typepad:ecl' },\n  { oldIcon: 'eui-ecl-video', newIcon: 'ecl-video:ecl' },\n  { oldIcon: 'eui-ecl-warning', newIcon: 'ecl-warning:ecl' },\n  { oldIcon: 'eui-ecl-weibo', newIcon: 'ecl-weibo:ecl' },\n  { oldIcon: 'eui-ecl-whatasapp', newIcon: 'ecl-whatasapp:ecl' },\n  { oldIcon: 'eui-ecl-yahoomail', newIcon: 'ecl-yahoomail:ecl' },\n  { oldIcon: 'eui-ecl-yammer', newIcon: 'ecl-yammer:ecl' },\n  { oldIcon: 'eui-ecl-youtube', newIcon: 'ecl-youtube:ecl' },\n  // EUI icons continued\n  { oldIcon: 'eui-ellipse', newIcon: 'eui-circle' },\n  { oldIcon: 'eui-exclamation', newIcon: 'eui-alert' },\n  { oldIcon: 'eui-exit', newIcon: 'eui-sign-out' },\n  // File icons\n  { oldIcon: 'eui-file-archive-o', newIcon: 'eui-file-archive:eui-file' },\n  { oldIcon: 'eui-file-archive', newIcon: 'eui-file-archive:eui-file' },\n  { oldIcon: 'eui-file-audio-alt', newIcon: 'eui-file-audio:eui-file' },\n  { oldIcon: 'eui-file-audio-o', newIcon: 'eui-file-audio:eui-file' },\n  { oldIcon: 'eui-file-audio', newIcon: 'eui-file-audio:eui-file' },\n  { oldIcon: 'eui-file-checked', newIcon: 'check-square:regular' },\n  { oldIcon: 'eui-file-code', newIcon: 'eui-file-code:eui-file' },\n  { oldIcon: 'eui-file-csv', newIcon: 'eui-file-csv:eui-file' },\n  { oldIcon: 'eui-file-download', newIcon: 'eui-file-download:eui-file' },\n  { oldIcon: 'eui-file-edit-o', newIcon: 'eui-edit' },\n  { oldIcon: 'eui-file-edit', newIcon: 'eui-edit' },\n  { oldIcon: 'eui-file-empty-o', newIcon: 'eui-file-empty:eui-file' },\n  { oldIcon: 'eui-file-empty', newIcon: 'eui-file-empty:eui-file' },\n  { oldIcon: 'eui-file-excel-o', newIcon: 'eui-file-xls:eui-file' },\n  { oldIcon: 'eui-file-excel', newIcon: 'eui-file-xls:eui-file' },\n  { oldIcon: 'eui-file-export', newIcon: 'arrow-square-out:regular' },\n  { oldIcon: 'eui-file-image-o', newIcon: 'eui-file-image:eui-file' },\n  { oldIcon: 'eui-file-image', newIcon: 'eui-file-image:eui-file' },\n  { oldIcon: 'eui-file-import', newIcon: 'arrow-square-in:regular' },\n  { oldIcon: 'eui-file-odp', newIcon: 'new' },\n  { oldIcon: 'eui-file-ods', newIcon: 'new' },\n  { oldIcon: 'eui-file-odt', newIcon: 'new' },\n  { oldIcon: 'eui-file-pdf-o', newIcon: 'eui-file-pdf:eui-file' },\n  { oldIcon: 'eui-file-pdf', newIcon: 'eui-file-pdf:eui-file' },\n  { oldIcon: 'eui-file-powerpoint-o', newIcon: 'eui-file-ppt:eui-file' },\n  { oldIcon: 'eui-file-powerpoint', newIcon: 'eui-file-ppt:eui-file' },\n  { oldIcon: 'eui-file-signature', newIcon: 'pen-nib:regular' },\n  { oldIcon: 'eui-file-signed', newIcon: 'pen-nib:regular' },\n  { oldIcon: 'eui-file-text', newIcon: 'eui-file-text:eui-file' },\n  { oldIcon: 'eui-file-upload', newIcon: 'eui-file-upload:eui-file' },\n  { oldIcon: 'eui-file-video-o', newIcon: 'eui-file-video:eui-file' },\n  { oldIcon: 'eui-file-video', newIcon: 'eui-file-video:eui-file' },\n  { oldIcon: 'eui-file-word-o', newIcon: 'eui-file-doc:eui-file' },\n  { oldIcon: 'eui-file-word', newIcon: 'eui-file-doc:eui-file' },\n  // Misc icons\n  { oldIcon: 'eui-filter', newIcon: 'funnel:regular' },\n  { oldIcon: 'eui-flag-o', newIcon: 'flag:regular' },\n  { oldIcon: 'eui-flag', newIcon: 'flag:fill' },\n  { oldIcon: 'eui-indent', newIcon: 'text-indent:regular' },\n  { oldIcon: 'eui-info', newIcon: 'eui-state-info' },\n  { oldIcon: 'eui-logout-thin', newIcon: 'eui-sign-out' },\n  { oldIcon: 'eui-notifications-off', newIcon: 'eui-notifications' },\n  { oldIcon: 'eui-pencil', newIcon: 'eui-edit' },\n  { oldIcon: 'eui-person-thin-o', newIcon: 'eui-user' },\n  { oldIcon: 'eui-person-thin', newIcon: 'eui-user' },\n  { oldIcon: 'eui-pie-chart', newIcon: 'chart-pie:regular' },\n  { oldIcon: 'eui-plug', newIcon: 'plugs:regular' },\n  { oldIcon: 'eui-question-circle', newIcon: 'eui-state-primary' },\n  { oldIcon: 'eui-question', newIcon: 'eui-state-primary' },\n  { oldIcon: 'eui-radio-button-off', newIcon: 'eui-circle' },\n  { oldIcon: 'eui-radio-button-on', newIcon: 'eui-circle-fill' },\n  { oldIcon: 'eui-reload', newIcon: 'eui-refresh' },\n  { oldIcon: 'eui-reorder-three', newIcon: 'dots-six:regular' },\n  { oldIcon: 'eui-rss-o', newIcon: 'ecl-rss:ecl' },\n  { oldIcon: 'eui-rss', newIcon: 'ecl-rss:ecl' },\n  { oldIcon: 'eui-scheduled-list', newIcon: 'calendar-check:regular' },\n  { oldIcon: 'eui-sitemap', newIcon: 'eui-tree-view' },\n  { oldIcon: 'eui-square-outline', newIcon: 'eui-square' },\n  { oldIcon: 'eui-square', newIcon: 'eui-square-fill' },\n  { oldIcon: 'eui-swap-horizontal', newIcon: 'eui-arrows-left-right' },\n  { oldIcon: 'eui-swap-vertical', newIcon: 'eui-arrows-down-up' },\n  { oldIcon: 'eui-thumb-down', newIcon: 'eui-thumbs-down' },\n  { oldIcon: 'eui-thumb-up', newIcon: 'eui-thumbs-up' },\n  { oldIcon: 'eui-today-outline', newIcon: 'eui-calendar-today' },\n  { oldIcon: 'eui-user-preferences', newIcon: 'eui-user-gear' },\n  { oldIcon: 'eui-workspaces', newIcon: 'eui-stack' },\n]",
                "rawdescription": "Icon mapping from old eUI icon names to new ones.\nPorted from csdr-engine/migrate/index.js replaceIcons.",
                "description": "<p>Icon mapping from old eUI icon names to new ones.\nPorted from csdr-engine/migrate/index.js replaceIcons.</p>\n"
            },
            {
                "name": "iconLookup",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/icon-migrate/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new Map<string, string>()",
                "rawdescription": "Build a lookup map for O(1) icon replacement",
                "description": "<p>Build a lookup map for O(1) icon replacement</p>\n"
            },
            {
                "name": "init",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/app/eui-init-app.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(): Promise<unknown> => {\n    const locationInitialized = inject(LOCATION_INITIALIZED, { optional: true }) || Promise.resolve(null);\n    const appConfig: EuiAppConfig = inject(CONFIG_TOKEN);\n    const storeService = inject(StoreService);\n\n    return new Promise<void>(resolve => {\n\n        locationInitialized.then(() => {\n            // necessary config parameters\n            let appVersion: string;\n            if (appConfig && appConfig.versions && appConfig.versions.app) {\n                appVersion = appConfig.versions.app;\n            } else {\n                appVersion = '0.0.0';\n            }\n            let storageType: BrowserStorageType;\n            if (appConfig && appConfig['saveStateStorage']) {\n                storageType = appConfig['saveStateStorage'];\n            } else {\n                storageType = BrowserStorageType.local;\n            }\n\n            storeService.init(appVersion, storageType);\n            storeService.handleAutoSave();\n            resolve(null);\n        });\n    });\n}"
            },
            {
                "name": "initialState",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/eui-app-shell.service.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "UIState",
                "defaultValue": "{\n    appName: '',\n    appShortName: '',\n    appSubTitle: '',\n    appBaseFontSize: '',\n\n    isSidebarOpen: true,\n    isSidebarActive: false,\n    hasSidebar: false,\n    hasSideContainer: false,\n    hasHeader: false,\n    hasBreadcrumb: false,\n    hasHeaderLogo: false,\n    hasHeaderEnvironment: false,\n    hasToolbar: false,\n    hasToolbarMegaMenu: false,\n    hasToolbarMenu: false,\n    environmentValue: '',\n    isSidebarHidden: false,\n    isSidebarFocused: false,\n    hasSidebarCollapsedVariant: false,\n    hasTopMessage: false,\n    windowWidth: 0,\n    windowHeight: 0,\n    mainContentHeight: 0,\n    pageHeaderHeight: 0,\n    wrapperClasses: '',\n    breakpoint: '',\n    breakpoints: {\n        isMobile: false,\n        isTablet: false,\n        isLtLargeTablet: false,\n        isLtDesktop: false,\n        isDesktop: false,\n        isXL: false,\n        isXXL: false,\n        isFHD: false,\n        is2K: false,\n        is4K: false,\n    },\n    breakpointValues: [],\n    menuLinks: [],\n    sidebarLinks: [],\n    combinedLinks: [],\n    isBlockDocumentActive: false,\n    deviceInfo: null,\n    activeLanguage: 'en',\n    languages: EuiEuLanguages.getLanguages(),\n    appMetadata: null,\n    hasModalActive: false,\n    isDimmerActive: false,\n}"
            },
            {
                "name": "initialState",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/eui-theme.service.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "ThemeState",
                "defaultValue": "{\n    themes: [\n        { name: EuiTheme.DEFAULT, isActive: false, styleSheet: null, cssClass: null },\n        { name: EuiTheme.ECL_EC, isActive: false, styleSheet: 'eui-ecl-ec.css', cssClass: null },\n        { name: EuiTheme.ECL_EC_RTL, isActive: false, styleSheet: 'eui-ecl-ec.css', cssClass: null },\n        { name: EuiTheme.ECL_EU, isActive: false, styleSheet: 'eui-ecl-eu.css', cssClass: null },\n        { name: EuiTheme.ECL_EU_RTL, isActive: false, styleSheet: 'eui-ecl-eu.css', cssClass: null },\n        { name: EuiTheme.DARK, isActive: false, styleSheet: null, cssClass: 'eui-t-dark' },\n        { name: EuiTheme.HIGH_CONTRAST, isActive: false, styleSheet: null, cssClass: 'eui-t-high-contrast' },\n        { name: EuiTheme.COMPACT, isActive: false, styleSheet: null, cssClass: 'eui-t-compact' },\n    ],\n    theme: {\n        isDefault: false,\n        isEclEc: false,\n        isEclEcRtl: false,\n        isEclEu: false,\n        isEclEuRtl: false,\n        isDark: false,\n        isHighContrast: false,\n        isCompact: false,\n    },\n}"
            },
            {
                "name": "INPUT_RENAMES",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new Map([\n  ['variant', 'fillColor'],\n  ['aria-label', 'ariaLabel'],\n])"
            },
            {
                "name": "INPUT_RENAMES",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new Map([\n  ['iconLabelClass', 'icon'],\n  ['iconLabelStyleClass', 'fillColor'],\n])"
            },
            {
                "name": "isDefined",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/helpers/utils.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "<T>(value: T | undefined | null): value is T => <T>value !== undefined && <T>value !== null",
                "rawdescription": "check if a value is null or undefined. If it's not both returns true otherwise false",
                "description": "<p>check if a value is null or undefined. If it&#39;s not both returns true otherwise false</p>\n"
            },
            {
                "name": "isStaticPositioned",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/helpers/dom-helpers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(nativeEl: Element): boolean => (getStyle(nativeEl, 'position') || 'static') === 'static'",
                "rawdescription": "Checks if a given element is statically positioned",
                "description": "<p>Checks if a given element is statically positioned</p>\n"
            },
            {
                "name": "JSZip",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/dist/docs/template-playground/zip-export.service.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "any"
            },
            {
                "name": "LANG_PARAM_KEY",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/interceptors/add-lang-param.interceptor.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'X-Lang-Param'"
            },
            {
                "name": "loadState",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/meta.reducers.ts",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "type": "unknown",
                "defaultValue": "<S extends CoreState>(storage: Storage | null = null): S => {\n    if (!storage) {\n        return undefined;\n    }\n\n    try {\n        // by default falls back to localStorage\n        const serializedState = storage.getItem('state');\n\n        if (serializedState === null) {\n            return undefined;\n        }\n\n        // deserialize state\n        let state: S = JSON.parse(serializedState);\n\n        // filter AppState and replace\n        state = { ...state, app: filterAppState(state?.app) };\n\n        return state;\n    } catch (err) {\n        return undefined;\n    }\n}"
            },
            {
                "name": "LOCAL_FORAGE_SERVICE_CONFIG_TOKEN",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/storage/local-forage.service.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new InjectionToken<any>('LOCAL_FORAGE_SERVICE_CONFIG')"
            },
            {
                "name": "LOCALE_ID_MAPPER",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/locale/locale.service.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new InjectionToken<LocaleMapper>('localeIdMapper')"
            },
            {
                "name": "LOG_APPENDERS_TOKEN",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/log/log.service.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new InjectionToken<LogAppender[]>('LOG_APPENDERS')"
            },
            {
                "name": "LOG_INSTANCES",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/app/factories/log.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "object",
                "defaultValue": "{}"
            },
            {
                "name": "LOG_LEVEL_TOKEN",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/log/log.service.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new InjectionToken<LogLevel>('LOG_LEVEL')"
            },
            {
                "name": "LOG_MODULE_CONFIG_TOKEN",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/log/log.module.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new InjectionToken<LogConfig>('LOG_CONFIG')"
            },
            {
                "name": "markControlsTouched",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/helpers/form-helpers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(group: FormGroup | FormArray): void => {\n    Object.keys(group.controls).forEach((key: string) => {\n        const abstractControl = group.controls[key];\n        if (abstractControl instanceof FormGroup || abstractControl instanceof FormArray) {\n            markControlsTouched(abstractControl);\n        } else {\n            abstractControl.markAsTouched();\n        }\n    });\n}"
            },
            {
                "name": "markFormGroupTouched",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/helpers/form-helpers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(FormControls: { [key: string]: AbstractControl } | AbstractControl[]): void => {\n    const forOwn = (object, iteratee): void => {\n        object = Object(object);\n        Object.keys(object).forEach((key) => iteratee(object[key], key, object));\n    };\n\n    const markFormGroupTouchedRecursive = (controls: { [key: string]: AbstractControl } | AbstractControl[]): void => {\n        forOwn(controls, (c) => {\n            if (c instanceof FormGroup || c instanceof FormArray) {\n                markFormGroupTouchedRecursive(c.controls);\n            } else {\n                c.markAsTouched();\n                c.updateValueAndValidity();\n            }\n        });\n    };\n    markFormGroupTouchedRecursive(FormControls);\n}"
            },
            {
                "name": "messages",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/errors/eui.error.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "object",
                "defaultValue": "{\n    ERR_GENERIC: 'An error occured',\n}"
            },
            {
                "name": "MODULE_CONFIG_TOKEN",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/config/tokens.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new InjectionToken<ModuleConfig>('moduleConfig')"
            },
            {
                "name": "MODULE_MAPPINGS",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "Record<string, ModuleMapping>",
                "defaultValue": "{\n  EuiAccordionModule: {\n    importPath: '@eui/components/eui-accordion',\n    selectors: {\n      'eui-accordion': 'EuiAccordionComponent',\n      'eui-accordion-item': 'EuiAccordionItemComponent',\n      euiAccordionItemHeader: 'EuiAccordionItemHeaderDirective',\n    },\n  },\n  EuiAlertModule: {\n    importPath: '@eui/components/eui-alert',\n    selectors: {\n      'eui-alert': 'EuiAlertComponent',\n      euiAlert: 'EuiAlertComponent',\n      'eui-alert-title': 'EuiAlertTitleComponent',\n    },\n  },\n  EuiAutocompleteModule: {\n    importPath: '@eui/components/eui-autocomplete',\n    selectors: {\n      'eui-autocomplete': 'EuiAutocompleteComponent',\n      euiAutocomplete: 'EuiAutocompleteComponent',\n      'eui-autocomplete-option': 'EuiAutocompleteOptionComponent',\n      'eui-autocomplete-option-group': 'EuiAutocompleteOptionGroupComponent',\n      'eui-autocomplete-panel': 'EuiAutocompletePanelComponent',\n    },\n  },\n  EuiAvatarModule: {\n    importPath: '@eui/components/eui-avatar',\n    selectors: {\n      'eui-avatar': 'EuiAvatarComponent',\n      euiAvatar: 'EuiAvatarComponent',\n    },\n  },\n  EuiBadgeModule: {\n    importPath: '@eui/components/eui-badge',\n    selectors: {\n      'eui-badge': 'EuiBadgeComponent',\n      euiBadge: 'EuiBadgeComponent',\n    },\n  },\n  EuiBlockContentModule: {\n    importPath: '@eui/components/eui-block-content',\n    selectors: {\n      'eui-block-content': 'EuiBlockContentComponent',\n    },\n  },\n  EuiBreadcrumbModule: {\n    importPath: '@eui/components/eui-breadcrumb',\n    selectors: {\n      'eui-breadcrumb': 'EuiBreadcrumbComponent',\n    },\n  },\n  EuiButtonModule: {\n    importPath: '@eui/components/eui-button',\n    selectors: {\n      euiButton: 'EuiButtonComponent',\n    },\n  },\n  EuiButtonGroupModule: {\n    importPath: '@eui/components/eui-button-group',\n    selectors: {\n      'eui-button-group': 'EuiButtonGroupComponent',\n    },\n  },\n  EuiCardModule: {\n    importPath: '@eui/components/eui-card',\n    selectors: {\n      'eui-card': 'EuiCardComponent',\n      'eui-card-header': 'EuiCardHeaderComponent',\n      'eui-card-header-title': 'EuiCardHeaderTitleComponent',\n      'eui-card-content': 'EuiCardContentComponent',\n      'eui-card-footer': 'EuiCardFooterComponent',\n      'eui-card-media': 'EuiCardMediaComponent',\n    },\n  },\n  EuiChipModule: {\n    importPath: '@eui/components/eui-chip',\n    selectors: {\n      'eui-chip': 'EuiChipComponent',\n      euiChip: 'EuiChipComponent',\n    },\n  },\n  EuiChipListModule: {\n    importPath: '@eui/components/eui-chip-list',\n    selectors: {\n      'eui-chip-list': 'EuiChipListComponent',\n    },\n  },\n  EuiChipGroupModule: {\n    importPath: '@eui/components/eui-chip-group',\n    selectors: {\n      'eui-chip-group': 'EuiChipGroupComponent',\n    },\n  },\n  EuiDashboardCardModule: {\n    importPath: '@eui/components/eui-dashboard-card',\n    selectors: {\n      'eui-dashboard-card': 'EuiDashboardCardComponent',\n      'eui-dashboard-card-content': 'EuiDashboardCardContentComponent',\n      'eui-dashboard-card-content-header': 'EuiDashboardCardContentHeaderComponent',\n      'eui-dashboard-card-content-body': 'EuiDashboardCardContentBodyComponent',\n      'eui-dashboard-card-content-footer': 'EuiDashboardCardContentFooterComponent',\n    },\n  },\n  EuiDashboardButtonModule: {\n    importPath: '@eui/components/eui-dashboard-card',\n    selectors: {\n      'eui-dashboard-card': 'EuiDashboardCardComponent',\n      'eui-dashboard-card-content': 'EuiDashboardCardContentComponent',\n      'eui-dashboard-card-content-header': 'EuiDashboardCardContentHeaderComponent',\n      'eui-dashboard-card-content-body': 'EuiDashboardCardContentBodyComponent',\n      'eui-dashboard-card-content-footer': 'EuiDashboardCardContentFooterComponent',\n    },\n  },\n  EuiDatepickerModule: {\n    importPath: '@eui/components/eui-datepicker',\n    selectors: {\n      'eui-datepicker': 'EuiDatepickerComponent',\n    },\n  },\n  EuiDateRangeSelectorModule: {\n    importPath: '@eui/components/eui-date-range-selector',\n    selectors: {\n      'eui-date-range-selector': 'EuiDateRangeSelectorComponent',\n    },\n  },\n  EuiDialogModule: {\n    importPath: '@eui/components/eui-dialog',\n    selectors: {\n      'eui-dialog': 'EuiDialogComponent',\n      'eui-dialog-header': 'EuiDialogHeaderDirective',\n      'eui-dialog-footer': 'EuiDialogFooterDirective',\n      'eui-dialog-container': 'EuiDialogContainerComponent',\n    },\n  },\n  EuiDisableContentModule: {\n    importPath: '@eui/components/eui-disable-content',\n    selectors: {\n      'eui-disable-content': 'EuiDisableContentComponent',\n    },\n  },\n  EuiDiscussionThreadModule: {\n    importPath: '@eui/components/eui-discussion-thread',\n    selectors: {\n      'eui-discussion-thread': 'EuiDiscussionThreadComponent',\n      'eui-discussion-thread-item': 'EuiDiscussionThreadItemComponent',\n    },\n  },\n  EuiDropdownModule: {\n    importPath: '@eui/components/eui-dropdown',\n    selectors: {\n      'eui-dropdown': 'EuiDropdownComponent',\n    },\n  },\n  EuiFeedbackMessageModule: {\n    importPath: '@eui/components/eui-feedback-message',\n    selectors: {\n      'eui-feedback-message': 'EuiFeedbackMessageComponent',\n    },\n  },\n  EuiFieldsetModule: {\n    importPath: '@eui/components/eui-fieldset',\n    selectors: {\n      'eui-fieldset': 'EuiFieldsetComponent',\n      euiFieldsetLabelRightContent: 'EuiFieldsetLabelRightContentTagDirective',\n      euiFieldsetLabelExtraContent: 'EuiFieldsetLabelExtraContentTagDirective',\n    },\n  },\n  EuiFileUploadModule: {\n    importPath: '@eui/components/eui-file-upload',\n    selectors: {\n      'eui-file-upload': 'EuiFileUploadComponent',\n    },\n  },\n  EuiGrowlModule: {\n    importPath: '@eui/components/eui-growl',\n    selectors: {\n      'eui-growl': 'EuiGrowlComponent',\n    },\n  },\n  EuiIconModule: {\n    importPath: '@eui/components/eui-icon',\n    selectors: {\n      'eui-icon-svg': 'EuiIconSvgComponent',\n      euiIconSvg: 'EuiIconSvgComponent',\n    },\n  },\n  EuiIconButtonModule: {\n    importPath: '@eui/components/eui-icon-button',\n    selectors: {\n      'eui-icon-button': 'EuiIconButtonComponent',\n    },\n  },\n  EuiIconToggleModule: {\n    importPath: '@eui/components/eui-icon-toggle',\n    selectors: {\n      'eui-icon-toggle': 'EuiIconToggleComponent',\n    },\n  },\n  EuiInputCheckboxModule: {\n    importPath: '@eui/components/eui-input-checkbox',\n    selectors: {\n      euiInputCheckBox: 'EuiInputCheckboxComponent',\n    },\n  },\n  EuiInputGroupModule: {\n    importPath: '@eui/components/eui-input-group',\n    selectors: {\n      euiInputGroup: 'EuiInputGroupComponent',\n      'eui-input-group-addon': 'EuiInputGroupAddOnComponent',\n      euiInputGroupAddOn: 'EuiInputGroupAddOnComponent',\n      'eui-input-group-addon-item': 'EuiInputGroupAddOnItemComponent',\n      euiInputGroupAddOnItem: 'EuiInputGroupAddOnItemComponent',\n    },\n  },\n  EuiInputNumberModule: {\n    importPath: '@eui/components/eui-input-number',\n    selectors: {\n      euiInputNumber: 'EuiInputNumberComponent',\n    },\n  },\n  EuiInputRadioModule: {\n    importPath: '@eui/components/eui-input-radio',\n    selectors: {\n      euiInputRadio: 'EuiInputRadioComponent',\n    },\n  },\n  EuiInputTextModule: {\n    importPath: '@eui/components/eui-input-text',\n    selectors: {\n      euiInputText: 'EuiInputTextComponent',\n    },\n  },\n  EuiLabelModule: {\n    importPath: '@eui/components/eui-label',\n    selectors: {\n      'eui-label': 'EuiLabelComponent',\n      euiLabel: 'EuiLabelComponent',\n    },\n  },\n  EuiListModule: {\n    importPath: '@eui/components/eui-list',\n    selectors: {\n      'eui-list': 'EuiListComponent',\n      euiList: 'EuiListComponent',\n      'eui-list-item': 'EuiListItemComponent',\n      euiListItem: 'EuiListItemComponent',\n    },\n  },\n  EuiMenuModule: {\n    importPath: '@eui/components/eui-menu',\n    selectors: {\n      'eui-menu': 'EuiMenuComponent',\n      'eui-menu-item': 'EuiMenuItemComponent',\n    },\n  },\n  EuiMessageBoxModule: {\n    importPath: '@eui/components/eui-message-box',\n    selectors: {\n      'eui-message-box': 'EuiMessageBoxComponent',\n      'eui-message-box-footer': 'EuiMessageBoxFooterDirective',\n    },\n  },\n  EuiOverlayModule: {\n    importPath: '@eui/components/eui-overlay',\n    selectors: {\n      'eui-overlay': 'EuiOverlayComponent',\n    },\n  },\n  EuiPageModule: {\n    importPath: '@eui/components/eui-page',\n    selectors: {\n      'eui-page': 'EuiPageComponent',\n    },\n  },\n  EuiPaginatorModule: {\n    importPath: '@eui/components/eui-paginator',\n    selectors: {\n      'eui-paginator': 'EuiPaginatorComponent',\n    },\n  },\n  EuiPopoverModule: {\n    importPath: '@eui/components/eui-popover',\n    selectors: {\n      'eui-popover': 'EuiPopoverComponent',\n    },\n  },\n  EuiProgressBarModule: {\n    importPath: '@eui/components/eui-progress-bar',\n    selectors: {\n      'eui-progress-bar': 'EuiProgressBarComponent',\n    },\n  },\n  EuiProgressCircleModule: {\n    importPath: '@eui/components/eui-progress-circle',\n    selectors: {\n      'eui-progress-circle': 'EuiProgressCircleComponent',\n    },\n  },\n  EuiSelectModule: {\n    importPath: '@eui/components/eui-select',\n    selectors: {\n      euiSelect: 'EuiSelectComponent',\n    },\n  },\n  EuiSidebarMenuModule: {\n    importPath: '@eui/components/eui-sidebar-menu',\n    selectors: {\n      'eui-sidebar-menu': 'EuiSidebarMenuComponent',\n    },\n  },\n  EuiSkeletonModule: {\n    importPath: '@eui/components/eui-skeleton',\n    selectors: {\n      'eui-skeleton': 'EuiSkeletonComponent',\n    },\n  },\n  EuiSlideToggleModule: {\n    importPath: '@eui/components/eui-slide-toggle',\n    selectors: {\n      'eui-slide-toggle': 'EuiSlideToggleComponent',\n    },\n  },\n  EuiTableModule: {\n    importPath: '@eui/components/eui-table',\n    selectors: {\n      'eui-table': 'EuiTableComponent',\n      euiTable: 'EuiTableComponent',\n      'eui-table-filter': 'EuiTableFilterComponent',\n      isSortable: 'EuiTableSortableColComponent',\n      isStickyCol: 'EuiTableStickyColDirective',\n      isHeaderSelectable: 'EuiTableSelectableHeaderComponent',\n      isDataSelectable: 'EuiTableSelectableRowComponent',\n      isExpandableRow: 'EuiTableExpandableRowDirective',\n    },\n  },\n  EuiTableV2Module: {\n      importPath: '@eui/components/eui-table',\n      selectors: {\n          'eui-table': 'EuiTableComponent',\n          euiTable: 'EuiTableComponent',\n          'eui-table-filter': 'EuiTableFilterComponent',\n          isSortable: 'EuiTableSortableColComponent',\n          isStickyCol: 'EuiTableStickyColDirective',\n          isHeaderSelectable: 'EuiTableSelectableHeaderComponent',\n          isDataSelectable: 'EuiTableSelectableRowComponent',\n          isExpandableRow: 'EuiTableExpandableRowDirective',\n      },\n  },\n  EuiTabsModule: {\n    importPath: '@eui/components/eui-tabs',\n    selectors: {\n      'eui-tabs': 'EuiTabsComponent',\n      'eui-tab': 'EuiTabComponent',\n      'eui-tab-header': 'EuiTabHeaderComponent',\n      'eui-tab-body': 'EuiTabBodyComponent',\n    },\n  },\n  EuiTextAreaModule: {\n    importPath: '@eui/components/eui-textarea',\n    selectors: {\n      euiTextArea: 'EuiTextareaComponent',\n    },\n  },\n  EuiTimelineModule: {\n    importPath: '@eui/components/eui-timeline',\n    selectors: {\n      'eui-timeline': 'EuiTimelineComponent',\n      'eui-timeline-item': 'EuiTimelineItemComponent',\n    },\n  },\n  EuiTimepickerModule: {\n    importPath: '@eui/components/eui-timepicker',\n    selectors: {\n      'eui-timepicker': 'EuiTimepickerComponent',\n    },\n  },\n  EuiTreeModule: {\n    importPath: '@eui/components/eui-tree',\n    selectors: {\n      'eui-tree': 'EuiTreeComponent',\n    },\n  },\n  EuiTreeListModule: {\n    importPath: '@eui/components/eui-tree-list',\n    selectors: {\n      'eui-tree-list': 'EuiTreeListComponent',\n      'eui-tree-list-item': 'EuiTreeListItemComponent',\n    },\n  },\n  EuiUserProfileModule: {\n    importPath: '@eui/components/eui-user-profile',\n    selectors: {\n      'eui-user-profile': 'EuiUserProfileComponent',\n    },\n  },\n  EuiWizardModule: {\n    importPath: '@eui/components/eui-wizard',\n    selectors: {\n      'eui-wizard': 'EuiWizardComponent',\n      'eui-wizard-step': 'EuiWizardStepComponent',\n    },\n  },\n  EuiTooltipDirectiveModule: {\n    importPath: '@eui/components/directives',\n    selectors: {\n      euiTooltip: 'EuiTooltipDirective',\n    },\n  },\n  EuiTemplateDirectiveModule: {\n    importPath: '@eui/components/directives',\n    selectors: {\n      euiTemplate: 'EuiTemplateDirective',\n    },\n  },\n  EuiResizableDirectiveModule: {\n    importPath: '@eui/components/directives',\n    selectors: {\n      euiResizable: 'EuiResizableDirective',\n      'eui-resizable': 'EuiResizableComponent',\n    },\n  },\n  EuiMaxLengthDirectiveModule: {\n    importPath: '@eui/components/directives',\n    selectors: {\n      euiEditorMaxlength: 'EuiMaxLengthDirective',\n    },\n  },\n  EuiTruncatePipeModule: {\n    importPath: '@eui/components/pipes',\n    selectors: {\n      euiTruncate: 'EuiTruncatePipe',\n    },\n  },\n  EuiLayoutModule: {\n    importPath: '@eui/components/layout',\n    selectors: {\n      'eui-app': 'EuiAppComponent',\n      'eui-header': 'EuiHeaderComponent',\n      'eui-footer': 'EuiFooterComponent',\n      'eui-toolbar': 'EuiToolbarComponent',\n      'eui-sidebar-toggle': 'EuiSidebarToggleComponent',\n    },\n  },\n}"
            },
            {
                "name": "MODULE_NAME_TOKEN",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/config/tokens.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new InjectionToken<string>('moduleName')"
            },
            {
                "name": "monaco",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/dist/docs/template-playground/template-editor.service.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "any"
            },
            {
                "name": "MULTIPLE_EMPTY_LINES",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/fix-no-multiple-empty-lines/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "/\\n{3,}/g"
            },
            {
                "name": "NEW_BODY",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'eui-tab-body'"
            },
            {
                "name": "NEW_COMPONENT",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'EuiToolbarMegaMenuComponent'"
            },
            {
                "name": "NEW_COMPONENT_PATH",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'@eui/components/layout'"
            },
            {
                "name": "NEW_HEADER",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'eui-tab-header'"
            },
            {
                "name": "NEW_HEADER_LABEL",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'eui-tab-header-label'"
            },
            {
                "name": "NEW_HEADER_SUB_LABEL",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'eui-tab-header-sub-label'"
            },
            {
                "name": "NEW_INTERFACE",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'EuiMenuItem'"
            },
            {
                "name": "NEW_INTERFACE_PATH",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'@eui/core'"
            },
            {
                "name": "NEW_NAME",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'euiPrimary'"
            },
            {
                "name": "NEW_NAME",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-button/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'euiCTAButton'"
            },
            {
                "name": "NEW_NAME",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'contentChange'"
            },
            {
                "name": "NEW_NAME",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'iconSvgName'"
            },
            {
                "name": "NEW_NAME",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'iconSvgName'"
            },
            {
                "name": "NEW_PIPE",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'euiTableHighlight'"
            },
            {
                "name": "NEW_TAG",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'eui-toolbar-mega-menu'"
            },
            {
                "name": "offset",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/helpers/dom-helpers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(nativeEl: HTMLElement): { width: number; height: number; top: number; left: number } => {\n    const boundingClientRect = nativeEl.getBoundingClientRect();\n    return {\n        width: boundingClientRect.width || nativeEl.offsetWidth,\n        height: boundingClientRect.height || nativeEl.offsetHeight,\n        top: boundingClientRect.top + (window.pageYOffset || document.documentElement.scrollTop),\n        left: boundingClientRect.left + (window.pageXOffset || document.documentElement.scrollLeft),\n    };\n}",
                "rawdescription": "Provides read-only equivalent of jQuery's offset function:\nhttp://api.jquery.com/offset/",
                "description": "<p>Provides read-only equivalent of jQuery&#39;s offset function:\n<a href=\"http://api.jquery.com/offset/\">http://api.jquery.com/offset/</a></p>\n"
            },
            {
                "name": "OLD_COMPONENT",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'EuiToolbarMenuComponent'"
            },
            {
                "name": "OLD_CONTENT",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'eui-tab-content'"
            },
            {
                "name": "OLD_INTERFACE",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'ToolbarItem'"
            },
            {
                "name": "OLD_LABEL",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'eui-tab-label'"
            },
            {
                "name": "OLD_NAME",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'euiAccent'"
            },
            {
                "name": "OLD_NAME",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-button/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'euiButtonCall'"
            },
            {
                "name": "OLD_NAME",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'onEditorChanged'"
            },
            {
                "name": "OLD_NAME",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'iconSvgType'"
            },
            {
                "name": "OLD_NAME",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'iconSet'"
            },
            {
                "name": "OLD_PIPE",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'euiTableHighlightFilter'"
            },
            {
                "name": "OLD_SUB_LABEL",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'euiTabSubLabel'"
            },
            {
                "name": "OLD_TAG",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'eui-toolbar-menu'"
            },
            {
                "name": "OUTPUT_RENAMES",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new Map([['selectedRows', 'rowsSelect']])"
            },
            {
                "name": "PAGINATOR_COMPONENT",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'EuiPaginatorComponent'"
            },
            {
                "name": "PAGINATOR_IMPORT_PATH",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'@eui/components/eui-paginator'"
            },
            {
                "name": "parentOffsetEl",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/helpers/dom-helpers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(nativeEl: HTMLElement): Element | Document => {\n    let offsetParent = nativeEl.offsetParent || document;\n    while (offsetParent && offsetParent !== document && isStaticPositioned(offsetParent as Element)) {\n        offsetParent = (offsetParent as HTMLElement).offsetParent;\n    }\n    return offsetParent || document;\n}",
                "rawdescription": "returns the closest, non-statically positioned parentOffset of a given element",
                "description": "<p>returns the closest, non-statically positioned parentOffset of a given element</p>\n"
            },
            {
                "name": "PLATFORM_BROWSER_ID",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/store.service.mock.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'browser'"
            },
            {
                "name": "position",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/helpers/dom-helpers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(nativeEl: HTMLElement): { width: number; height: number; top: number; left: number } => {\n    const elBCR = offset(nativeEl);\n    let offsetParentBCR = { top: 0, left: 0 };\n    const offsetParentEl = parentOffsetEl(nativeEl);\n    if (offsetParentEl !== document) {\n        offsetParentBCR = offset(offsetParentEl as HTMLElement);\n        offsetParentBCR.top += (offsetParentEl as Element).clientTop - (offsetParentEl as Element).scrollTop;\n        offsetParentBCR.left += (offsetParentEl as Element).clientLeft - (offsetParentEl as Element).scrollLeft;\n    }\n\n    const boundingClientRect = nativeEl.getBoundingClientRect();\n    return {\n        width: boundingClientRect.width || nativeEl.offsetWidth,\n        height: boundingClientRect.height || nativeEl.offsetHeight,\n        top: elBCR.top - offsetParentBCR.top,\n        left: elBCR.left - offsetParentBCR.left,\n    };\n}",
                "rawdescription": "Provides read-only equivalent of jQuery's position function:\nhttp://api.jquery.com/position/",
                "description": "<p>Provides read-only equivalent of jQuery&#39;s position function:\n<a href=\"http://api.jquery.com/position/\">http://api.jquery.com/position/</a></p>\n"
            },
            {
                "name": "PROPAGATED_INPUTS",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new Set([\n  'euiPrimary', 'euiSecondary', 'euiSuccess', 'euiInfo', 'euiWarning',\n  'euiDanger', 'euiAccent', 'euiVariant', 'euiSizeS', 'euiSizeVariant',\n  'euiOutline', 'euiDisabled',\n])"
            },
            {
                "name": "removeApiQueueItem",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/app.reducers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(state: AppState, action: RemoveApiQueueItemAction): AppState => {\n    // remove the specified id from the list of item ids and recreate the apiQueue from the remaining ids\n    const apiQueue = Object.keys(state.apiQueue)\n        .filter((id) => id !== action.payload)\n        .reduce((queue, key) => {\n            queue[key] = state.apiQueue[key];\n            return queue;\n        }, {});\n    return Object.assign({}, state, { apiQueue });\n}"
            },
            {
                "name": "REMOVED_INPUTS",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-alert/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new Set(['alertIconType', 'alertIconFillColor', 'isMuted', 'isBordered'])"
            },
            {
                "name": "REMOVED_INPUTS",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new Set(['isFlat'])"
            },
            {
                "name": "REMOVED_INPUTS",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new Set(['maxVisibleChipsCount', 'isMaxVisibleChipsOpened', 'toggleLinkMoreLabel', 'toggleLinkLessLabel', 'isChipsSorted', 'chipsSortOrder'])"
            },
            {
                "name": "REMOVED_INPUTS",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-chip/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new Set(['isSquared'])"
            },
            {
                "name": "REMOVED_INPUTS",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-popover/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new Set(['type'])"
            },
            {
                "name": "REMOVED_INPUTS",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new Set(['euiTableBordered', 'isHoverable', 'defaultMultiOrder', 'paginable'])"
            },
            {
                "name": "REMOVED_OUTPUT",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'menuItemClick'"
            },
            {
                "name": "REMOVED_OUTPUTS",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new Set(['multiSortChange'])"
            },
            {
                "name": "RESET",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/utils/dry-run.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'\\x1b[0m'"
            },
            {
                "name": "ROOT_LOG_CONFIG_TOKEN",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/config/tokens.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new InjectionToken<LogConfig>('logConfig')"
            },
            {
                "name": "roundUpNumber",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/helpers/format-helpers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(decimalPart: string, fractionSize: number): string => {\n    return (Math.round(parseFloat(`0.${decimalPart}`) * Math.pow(10, fractionSize)) / Math.pow(10, fractionSize))\n        .toFixed(fractionSize)\n        .split('.')[1];\n}"
            },
            {
                "name": "SELECTOR_MAP",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/add-eui-imports/selector-map.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "SelectorEntry[]",
                "defaultValue": "buildSelectorMap()",
                "rawdescription": "All known EUI selectors with their import metadata",
                "description": "<p>All known EUI selectors with their import metadata</p>\n"
            },
            {
                "name": "SHOW_CONNECTION_STATUS_TOKEN",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/config/tokens.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new InjectionToken<boolean>('SHOW_CONNECTION_STATUS')"
            },
            {
                "name": "SUFFIX_MAP",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/icon-migrate/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown[]",
                "defaultValue": "[\n  [':sharp', ':ion-filled'],\n  [':outline', ':ion-outline'],\n]",
                "rawdescription": "Suffix-based mapping: :sharp -> :ion-filled, :outline -> :ion-outline",
                "description": "<p>Suffix-based mapping: :sharp -&gt; :ion-filled, :outline -&gt; :ion-outline</p>\n"
            },
            {
                "name": "TABLE_INPUT_RENAMES",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new Map([\n  ['rows', 'data'],\n  ['loading', 'isLoading'],\n  ['asyncTable', 'isAsync'],\n  ['euiTableResponsive', 'isTableResponsive'],\n  ['euiTableFixedLayout', 'isTableFixedLayout'],\n  ['euiTableCompact', 'isTableCompact'],\n  ['hasStickyColumns', 'hasStickyCols'],\n])"
            },
            {
                "name": "testBed",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/test-setup.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "getTestBed()"
            },
            {
                "name": "TH_TD_INPUT_RENAMES",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new Map([\n  ['isStickyColumn', 'isStickyCol'],\n  ['sortable', 'isSortable'],\n])"
            },
            {
                "name": "TR_INPUT_RENAMES",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new Map([\n  ['isSelectableHeader', 'isHeaderSelectable'],\n  ['isSelectable', 'isDataSelectable'],\n])"
            },
            {
                "name": "translateConfig",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/i18n/i18n.loader.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "object",
                "defaultValue": "{\n    loader: {\n        provide: TranslateLoader,\n        useClass: I18nLoader,\n    },\n}"
            },
            {
                "name": "TRANSLATED_STRING",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/mocks/translate.module.mock.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'i18n'"
            },
            {
                "name": "TRUNCATE_PIPE_IMPORT",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'EuiTruncatePipe'"
            },
            {
                "name": "TRUNCATE_PIPE_PATH",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'@eui/components/pipes'"
            },
            {
                "name": "TS_PROPERTY_RENAMES",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new Map([\n  ['variant', 'fillColor'],\n])"
            },
            {
                "name": "TS_PROPERTY_RENAMES",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new Map([['filteredRows', 'getFilteredData']])"
            },
            {
                "name": "uniqueId",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/helpers/format-helpers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(): string => Math.random().toString(36).substring(2, 9)",
                "rawdescription": "returns a random string with radix=36",
                "description": "<p>returns a random string with radix=36</p>\n"
            },
            {
                "name": "updateAppConnection",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/app.reducers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(state: AppState, action: UpdateAppConnectionAction): AppState => ({ ...state, connected: action.payload })"
            },
            {
                "name": "updateAppStatus",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/app.reducers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(state: AppState, action: UpdateAppStatusAction): AppState => ({ ...state, status: action.payload })"
            },
            {
                "name": "updateAppVersion",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/app.reducers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(state: AppState, action: UpdateAppVersionAction): AppState => ({ ...state, version: action.payload })"
            },
            {
                "name": "updateCurrentModule",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/app.reducers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(state: AppState, action: UpdateCurrentModuleAction): AppState =>\n    Object.assign({}, state, { currentModule: action.payload })"
            },
            {
                "name": "updateI18nState",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/i18n.reducers.ts",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "type": "unknown",
                "defaultValue": "(state: I18nState, action: UpdateI18nStateAction): {activeLang: string} => ({\n    ...state,\n    ...action.payload,\n})"
            },
            {
                "name": "updateLocaleState",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/locale.reducers.ts",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "type": "unknown",
                "defaultValue": "(state: LocaleState, action: UpdateLocaleStateAction): LocaleState => ({\n    ...state,\n    ...action.payload,\n})"
            },
            {
                "name": "updateNotificationsList",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/notifications.reducers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(state: NotificationsState, action: UpdateNotificationsListAction): NotificationsState =>\n    Object.assign({}, state, { list: [...action.payload] })"
            },
            {
                "name": "updateUser",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/user.reducers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(state: UserState, action: UpdateUserStateAction): UserState => {\n    let fullName = action.payload.fullName;\n    if (!fullName) {\n        fullName = `${action.payload.firstName || ''} ${action.payload.lastName || ''}`.trim();\n    }\n    return Object.assign({}, state, action.payload, { fullName });\n}"
            },
            {
                "name": "updateUserDashboard",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/user.reducers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(state: UserState, action: UpdateUserDashboardAction): UserState & { preferences: UserPreferences } => {\n    // apply the dashboard to preferences\n    const preferences = Object.assign({}, state.preferences, { dashboard: action.payload });\n    // update the state\n    return { ...state, preferences };\n}"
            },
            {
                "name": "updateUserDetails",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/user.reducers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(state: UserState, action: UpdateUserDetailsAction): UserState => {\n    let fullName = action.payload.fullName;\n    if (!fullName) {\n        fullName = `${action.payload.firstName || ''} ${action.payload.lastName || ''}`.trim();\n    }\n    // todo should be checked if state.details is really there\n    const details = Object.assign({}, state['details'], action.payload, { fullName });\n    return Object.assign({}, state, details);\n}"
            },
            {
                "name": "updateUserPreferences",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/user.reducers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(state: UserState, action: UpdateUserPreferencesAction): UserState => {\n    const preferences = Object.assign({}, state.preferences, action.payload);\n    return Object.assign({}, state, { preferences });\n}"
            },
            {
                "name": "updateUserRights",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/services/store/reducers/user.reducers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(state: UserState, action: UpdateUserRightsAction): UserState =>\n    Object.assign({}, state, { rights: [...action.payload] })"
            },
            {
                "name": "UX_ERROR_MAPPING_HANDLER_TOKEN",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/interceptors/ux-request-error-model.interceptor.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new InjectionToken<ErrorMappingHandler>('UX_ERROR_MAPPING_HANDLER')"
            },
            {
                "name": "validateEmail",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/src/lib/helpers/form-helpers.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(c: FormControl): { validateEmail: { valid: boolean } } => {\n    const EMAIL_REGEXP =\n        // eslint-disable-next-line max-len, no-useless-escape\n        /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\n    const error = {\n        validateEmail: {\n            valid: false,\n        },\n    };\n    return EMAIL_REGEXP.test(c.value) ? null : error;\n}"
            },
            {
                "name": "WARN_PROPERTIES",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new Set([...PROPAGATED_INPUTS, 'chipRemove', 'isChipsRemovable', 'chipsLabelTruncateCount',\n  'maxVisibleChipsCount', 'isMaxVisibleChipsOpened', 'toggleLinkMoreLabel', 'toggleLinkLessLabel',\n  'isChipsSorted', 'chipsSortOrder'])"
            },
            {
                "name": "YELLOW",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/core/schematics/utils/dry-run.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'\\x1b[33m'"
            }
        ],
        "functions": [
            {
                "name": "addEsImports",
                "file": "packages/core/schematics/add-eui-imports/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "imports",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "imports",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "addEuiImports",
                "file": "packages/core/schematics/add-eui-imports/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "returnType": "Rule",
                "jsdoctags": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "addImportsToFile",
                "file": "packages/core/schematics/add-eui-imports/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "decoratorStartHint",
                        "type": "number",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "imports",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "useClassArray",
                        "type": "boolean",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "decoratorStartHint",
                        "type": "number",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "imports",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "useClassArray",
                        "type": "boolean",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "addPaginatorImport",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "addTruncatePipeImport",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "AlertHttpErrorCallbackFn",
                "file": "packages/core/src/lib/services/errors/http-error-handler-callback-functions.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "error",
                        "type": "HttpErrorResponse",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "error",
                        "type": "HttpErrorResponse",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "applyChanges",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "changes",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "changes",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "applyEdits",
                "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "applyEdits",
                "file": "packages/core/schematics/migrate-eui-button/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "applyEdits",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "applyEdits",
                "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "applyEdits",
                "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "applyEdits",
                "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "applyEdits",
                "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "applyEdits",
                "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "applyEdits",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "applyEdits",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "applyReplacements",
                "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "replacements",
                        "type": "Map",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "replacements",
                        "type": "Map",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "buildBodyReplacement",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "content",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "content",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "buildHeaderReplacement",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "label",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "label",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "buildNgModuleIndex",
                "file": "packages/core/schematics/add-eui-imports/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "tree",
                        "type": "Tree",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "NgModuleInfo[]",
                "jsdoctags": [
                    {
                        "name": "tree",
                        "type": "Tree",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "buildReplacements",
                "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "moduleNames",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "templateSelectors",
                        "type": "Set",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "Map<string, literal type>",
                "jsdoctags": [
                    {
                        "name": "moduleNames",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "templateSelectors",
                        "type": "Set",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "buildSelectorMap",
                "file": "packages/core/schematics/add-eui-imports/selector-map.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [],
                "returnType": "SelectorEntry[]"
            },
            {
                "name": "buildTruncatePipeEdit",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "chip",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "truncateValue",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "Edit | null",
                "jsdoctags": [
                    {
                        "name": "chip",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "truncateValue",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectChildElementRenames",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectChildInputRemovals",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectEmptyMessageRename",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectInputRemovals",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectOutputChanges",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectOutputRemovals",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectPaginatorMigration",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectPipeRenames",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectRemovals",
                "file": "packages/core/schematics/migrate-eui-alert/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "removals",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "removals",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectRemovals",
                "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "removals",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "removals",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectRemovals",
                "file": "packages/core/schematics/migrate-eui-chip/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "removals",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "removals",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectRemovals",
                "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "removals",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "removals",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectRemovals",
                "file": "packages/core/schematics/migrate-eui-popover/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "removals",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "removals",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectRenames",
                "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectRenames",
                "file": "packages/core/schematics/migrate-eui-button/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectRenames",
                "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectRenames",
                "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectRenames",
                "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectRenames",
                "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectRenames",
                "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectTableInputRenames",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectTagRenames",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "collectTemplateEmptyMessageRename",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "template",
                        "type": "TmplAstTemplate",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "template",
                        "type": "TmplAstTemplate",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "ConsoleHttpErrorCallbackFn",
                "file": "packages/core/src/lib/services/errors/http-error-handler-callback-functions.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "error",
                        "type": "HttpErrorResponse",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "error",
                        "type": "HttpErrorResponse",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "convertLegacyInterpolations",
                "file": "packages/core/src/lib/services/i18n/i18n-utils.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Converts legacy ngx-translate interpolations ({{var}}) to ICU-compatible format ({var}).\nDouble braces are never valid ICU syntax, so any {{word}} is guaranteed to be legacy.</p>\n",
                "args": [
                    {
                        "name": "value",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "value",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "createSelector",
                "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "s1",
                        "type": "Selector",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "projector",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "MemoizedSelector<State, Result, unknown>",
                "jsdoctags": [
                    {
                        "name": "s1",
                        "type": "Selector",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "projector",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "createSelector",
                "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "selectors",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "projector",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "MemoizedSelector<State, Result, Result>",
                "jsdoctags": [
                    {
                        "name": "selectors",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "projector",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "createSelector",
                "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "input",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "dotDotDotToken": true
                    }
                ],
                "returnType": "MemoizedSelector | MemoizedSelectorWithProps",
                "jsdoctags": [
                    {
                        "name": "input",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "dotDotDotToken": true,
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "createSelectorFactory",
                "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "memoize",
                        "type": "MemoizeFn",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "MemoizedSelector<T | V>",
                "jsdoctags": [
                    {
                        "name": "memoize",
                        "type": "MemoizeFn",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "createSelectorFactory",
                "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "memoize",
                        "type": "MemoizeFn",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "options",
                        "type": "SelectorFactoryConfig",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{\n        stateFn: defaultStateFn,\n    }"
                    }
                ],
                "jsdoctags": [
                    {
                        "name": {
                            "pos": 5183,
                            "end": 5190,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "memoize"
                        },
                        "type": "MemoizeFn",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "pos": 5177,
                            "end": 5182,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "param"
                        },
                        "comment": "<p>The function used to memoize selectors</p>\n"
                    },
                    {
                        "name": {
                            "pos": 5240,
                            "end": 5247,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "options"
                        },
                        "type": "SelectorFactoryConfig",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{\n        stateFn: defaultStateFn,\n    }",
                        "tagName": {
                            "pos": 5234,
                            "end": 5239,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "param"
                        },
                        "comment": "<p>Config Object that may include a <code>stateFn</code> function defining how to return the selector&#39;s value, given the entire <code>Store</code>&#39;s state, parent <code>Selector</code>s, <code>Props</code>, and a <code>MemoizedProjection</code></p>\n"
                    }
                ]
            },
            {
                "name": "deduplicateEdits",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "Edit[]",
                "jsdoctags": [
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "deduplicateEdits",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "Edit[]",
                "jsdoctags": [
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "defaultMemoize",
                "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "projectionFn",
                        "type": "AnyFn",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "isArgumentsEqual",
                        "type": "unknown",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "isEqualCheck"
                    },
                    {
                        "name": "isResultEqual",
                        "type": "unknown",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "isEqualCheck"
                    }
                ],
                "returnType": "MemoizedProjection",
                "jsdoctags": [
                    {
                        "name": "projectionFn",
                        "type": "AnyFn",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "isArgumentsEqual",
                        "type": "unknown",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "isEqualCheck",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "isResultEqual",
                        "type": "unknown",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "isEqualCheck",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "defaultStateFn",
                "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "state",
                        "type": "any",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "selectors",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "props",
                        "type": "any",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "memoizedProjector",
                        "type": "MemoizedProjection",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "any",
                "jsdoctags": [
                    {
                        "name": "state",
                        "type": "any",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "selectors",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "props",
                        "type": "any",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "memoizedProjector",
                        "type": "MemoizedProjection",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "detectEuiVersion",
                "file": "packages/core/schematics/migrate/utils.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Auto-detects the eUI version from the installed</p>\n",
                "args": [
                    {
                        "name": "tree",
                        "type": "Tree",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string | null",
                "jsdoctags": [
                    {
                        "name": "tree",
                        "type": "Tree",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "detectIndent",
                "file": "packages/core/schematics/add-eui-imports/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "pos",
                        "type": "number",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "pos",
                        "type": "number",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "euiLogServiceFactory",
                "file": "packages/core/src/lib/services/app/factories/log.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "injector",
                        "type": "Injector",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "rootBaseLoggerName",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "rootConfig",
                        "type": "LogConfig",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "childBaseLoggerName",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "null"
                    },
                    {
                        "name": "childConfig",
                        "type": "LogConfig",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "returnType": "LogService",
                "jsdoctags": [
                    {
                        "name": "injector",
                        "type": "Injector",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "rootBaseLoggerName",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "rootConfig",
                        "type": "LogConfig",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "childBaseLoggerName",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "null",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "childConfig",
                        "type": "LogConfig",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "extractArgsFromSelectorsDictionary",
                "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "selectorsDictionary",
                        "type": "Record",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "unknown",
                "jsdoctags": [
                    {
                        "name": "selectorsDictionary",
                        "type": "Record",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "extractArrayProperty",
                "file": "packages/core/schematics/add-eui-imports/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "decorator",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "propName",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string[]",
                "jsdoctags": [
                    {
                        "name": "decorator",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "propName",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "extractAttrName",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "insertion",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "insertion",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "extractBindingValue",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "input",
                        "type": "TmplAstBoundAttribute",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "input",
                        "type": "TmplAstBoundAttribute",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "extractHandlerExpression",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "output",
                        "type": "TmplAstBoundEvent",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "output",
                        "type": "TmplAstBoundEvent",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "findChildChips",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "TmplAstElement[]",
                "jsdoctags": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "findComponentDecorators",
                "file": "packages/core/schematics/add-eui-imports/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "sourceFile",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "ComponentInfo[]",
                "jsdoctags": [
                    {
                        "name": "sourceFile",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "findComponentDecorators",
                "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "sourceFile",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "ts.Decorator[]",
                "jsdoctags": [
                    {
                        "name": "sourceFile",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "findDeclaringModule",
                "file": "packages/core/schematics/add-eui-imports/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "modules",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "componentClassName",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "NgModuleInfo | undefined",
                "jsdoctags": [
                    {
                        "name": "modules",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "componentClassName",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "findDecoratorImportsArray",
                "file": "packages/core/schematics/add-eui-imports/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "sf",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "decoratorStartHint",
                        "type": "number",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "ImportsArrayInfo | null",
                "jsdoctags": [
                    {
                        "name": "sf",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "decoratorStartHint",
                        "type": "number",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "findDirectChild",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "name",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "TmplAstElement | undefined",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "name",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "findElements",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "name",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "TmplAstElement[]",
                "jsdoctags": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "name",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "findImportsArrayInSource",
                "file": "packages/core/schematics/add-eui-imports/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "sf",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "ts.ArrayLiteralExpression | null",
                "jsdoctags": [
                    {
                        "name": "sf",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "findImportsArrayNode",
                "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "decorator",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "ts.ArrayLiteralExpression | undefined",
                "jsdoctags": [
                    {
                        "name": "decorator",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "findLabelElement",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "TmplAstElement | null",
                "jsdoctags": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "findSelectorsInTemplate",
                "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "html",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "knownSelectors",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "Set<string>",
                "jsdoctags": [
                    {
                        "name": "html",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "knownSelectors",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "fixNoMultipleEmptyLines",
                "file": "packages/core/schematics/fix-no-multiple-empty-lines/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "returnType": "Rule",
                "jsdoctags": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "formatInnerLines",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "indent",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string[]",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "indent",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "getAttributeSpan",
                "file": "packages/core/schematics/migrate-eui-alert/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "attr",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "literal type",
                "jsdoctags": [
                    {
                        "name": "attr",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "getAttributeSpan",
                "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "attr",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "literal type",
                "jsdoctags": [
                    {
                        "name": "attr",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "getAttributeSpan",
                "file": "packages/core/schematics/migrate-eui-chip/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "attr",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "literal type",
                "jsdoctags": [
                    {
                        "name": "attr",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "getAttributeSpan",
                "file": "packages/core/schematics/migrate-eui-popover/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "attr",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "literal type",
                "jsdoctags": [
                    {
                        "name": "attr",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "getAttributeText",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "tagName",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "tagName",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "getClassNamesForArray",
                "file": "packages/core/schematics/add-eui-imports/selector-map.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Given a classArray name, returns all class names that belong to that array.\nUsed to detect when individual class names can be consolidated into a spread.</p>\n",
                "args": [
                    {
                        "name": "arrayName",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string[]",
                "jsdoctags": [
                    {
                        "name": "arrayName",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "getCoreChildProviders",
                "file": "packages/core/src/lib/services/app/eui-startup.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "moduleName",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "Provider[]",
                "jsdoctags": [
                    {
                        "name": "moduleName",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "getCoreProviders",
                "file": "packages/core/src/lib/services/app/eui-startup.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [],
                "returnType": "Provider[]"
            },
            {
                "name": "getDependencyProviders",
                "file": "packages/core/src/lib/services/app/eui-startup.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [],
                "returnType": "Provider[]"
            },
            {
                "name": "getEndImportBlockPos",
                "file": "packages/core/schematics/migrate/utils.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Finds the position where the import block ends.\nLooks for</p>\n",
                "args": [
                    {
                        "name": "lines",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "number",
                "jsdoctags": [
                    {
                        "name": "lines",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "getExistingAttrNames",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "Set<string>",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "getFilesFromTree",
                "file": "packages/core/schematics/migrate/utils.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Collects all file paths matching given extensions under a directory in the Tree.</p>\n",
                "args": [
                    {
                        "name": "tree",
                        "type": "Tree",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "dirPath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "extensions",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string[]",
                "jsdoctags": [
                    {
                        "name": "tree",
                        "type": "Tree",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "dirPath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "extensions",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "getGlobalConfig",
                "file": "packages/core/src/lib/services/config/tokens.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "appConfig",
                        "type": "EuiAppConfig",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "GlobalConfig",
                "jsdoctags": [
                    {
                        "name": "appConfig",
                        "type": "EuiAppConfig",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "getHttpErrorHandlingConfig",
                "file": "packages/core/src/lib/services/config/tokens.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "appConfig",
                        "type": "EuiAppConfig",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "HttpErrorHandlerConfig",
                "jsdoctags": [
                    {
                        "name": "appConfig",
                        "type": "EuiAppConfig",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "getIndent",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "offset",
                        "type": "number",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "offset",
                        "type": "number",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "getInnerText",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "getLogAppendersConfig",
                "file": "packages/core/src/lib/services/app/factories/log.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Helper function to provide a list of log appenders from a log configuration</p>\n",
                "args": [
                    {
                        "name": "config",
                        "type": "LogConfig",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "DEFAULT_LOG_CONFIG"
                    },
                    {
                        "name": "injector",
                        "type": "Injector",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "null"
                    }
                ],
                "returnType": "LogAppender[]",
                "jsdoctags": [
                    {
                        "name": "config",
                        "type": "LogConfig",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "DEFAULT_LOG_CONFIG",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "injector",
                        "type": "Injector",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "null",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "tagName": {
                            "pos": 815,
                            "end": 822,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "returns"
                        },
                        "comment": "<p>an array of log appenders</p>\n"
                    }
                ]
            },
            {
                "name": "getModuleConfig",
                "file": "packages/core/src/lib/services/config/tokens.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "appConfig",
                        "type": "EuiAppConfig",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "moduleName",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "ModuleConfig",
                "jsdoctags": [
                    {
                        "name": "appConfig",
                        "type": "EuiAppConfig",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "moduleName",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "getRootLogConfig",
                "file": "packages/core/src/lib/services/config/tokens.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "appConfig",
                        "type": "EuiAppConfig",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "LogConfig",
                "jsdoctags": [
                    {
                        "name": "appConfig",
                        "type": "EuiAppConfig",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "getShowConnectionStatus",
                "file": "packages/core/src/lib/services/config/tokens.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "globalConfig",
                        "type": "GlobalConfig",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "ConnectionStatus",
                "jsdoctags": [
                    {
                        "name": "globalConfig",
                        "type": "GlobalConfig",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "getSiblingHtmlFiles",
                "file": "packages/core/schematics/migrate/utils.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Gets sibling HTML files for a given TS file path from the Tree.</p>\n",
                "args": [
                    {
                        "name": "tree",
                        "type": "Tree",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "tsFilePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string[]",
                "jsdoctags": [
                    {
                        "name": "tree",
                        "type": "Tree",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "tsFilePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "getTemplateContent",
                "file": "packages/core/schematics/add-eui-imports/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "tree",
                        "type": "Tree",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "tsPath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "decorator",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string | null",
                "jsdoctags": [
                    {
                        "name": "tree",
                        "type": "Tree",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "tsPath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "decorator",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "getTemplateSelectors",
                "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "tree",
                        "type": "Tree",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "tsPath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "decorator",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "Set<string>",
                "jsdoctags": [
                    {
                        "name": "tree",
                        "type": "Tree",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "tsPath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "decorator",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "GrowlHttpErrorCallbackFn",
                "file": "packages/core/src/lib/services/errors/http-error-handler-callback-functions.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "error",
                        "type": "HttpErrorResponse",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "injector",
                        "type": "Injector",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "error",
                        "type": "HttpErrorResponse",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "injector",
                        "type": "Injector",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "hasAttribute",
                "file": "packages/core/schematics/migrate-eui-alert/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "name",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "name",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "hasEuiButtonAttribute",
                "file": "packages/core/schematics/migrate-eui-button/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "hasEuiTableAttribute",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "hasModuleInArray",
                "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "array",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "moduleName",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "array",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "moduleName",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "hasStandaloneFalse",
                "file": "packages/core/schematics/add-eui-imports/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "decorator",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "decorator",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "iconMigrate",
                "file": "packages/core/schematics/icon-migrate/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "Rule",
                "jsdoctags": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "injectOptional",
                "file": "packages/core/src/lib/helpers/injector.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Safely resolves a service from the injector only when needed.\nAvoids instantiation errors that can occur with <code>inject(..., { optional: true })</code>.</p>\n",
                "args": [
                    {
                        "name": "token",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "injector",
                        "type": "unknown",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "inject(Injector)"
                    }
                ],
                "returnType": "T | null",
                "jsdoctags": [
                    {
                        "name": {
                            "pos": 241,
                            "end": 246,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "token"
                        },
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "pos": 235,
                            "end": 240,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "param"
                        },
                        "comment": "<p>The service token to inject</p>\n"
                    },
                    {
                        "name": {
                            "pos": 285,
                            "end": 293,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "injector"
                        },
                        "type": "unknown",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "inject(Injector)",
                        "tagName": {
                            "pos": 279,
                            "end": 284,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "param"
                        },
                        "comment": "<p>The injector to use (defaults to the current injector)</p>\n"
                    },
                    {
                        "tagName": {
                            "pos": 353,
                            "end": 360,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "returns"
                        },
                        "comment": "<p>The service instance or null if unavailable</p>\n"
                    }
                ]
            },
            {
                "name": "isArgumentsChanged",
                "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "args",
                        "type": "IArguments",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "lastArguments",
                        "type": "IArguments",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "comparator",
                        "type": "ComparatorFn",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "jsdoctags": [
                    {
                        "name": "args",
                        "type": "IArguments",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "lastArguments",
                        "type": "IArguments",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "comparator",
                        "type": "ComparatorFn",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isAvatarElement",
                "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isChipElement",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isChipElement",
                "file": "packages/core/schematics/migrate-eui-chip/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isChipListElement",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isComponentMetadataProperty",
                "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isComponentMetadataProperty",
                "file": "packages/core/schematics/migrate-eui-button/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isComponentMetadataProperty",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isComponentMetadataProperty",
                "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isComponentMetadataProperty",
                "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isComponentMetadataProperty",
                "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isComponentMetadataProperty",
                "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isComponentMetadataProperty",
                "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isComponentMetadataProperty",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isComponentMetadataProperty",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isComponentMetadataProperty",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isElement",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "type": "TmplAstNode",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "TmplAstElement",
                "jsdoctags": [
                    {
                        "name": "node",
                        "type": "TmplAstNode",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isEqualCheck",
                "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "a",
                        "type": "any",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "b",
                        "type": "any",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "a",
                        "type": "any",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "b",
                        "type": "any",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isEuiElement",
                "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isLogConfigDefined",
                "file": "packages/core/src/lib/services/app/factories/log.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Helper function to check if the log config is defined.\nDoes not check only for empty object, because the config can have  other (non-log) parameters</p>\n",
                "args": [
                    {
                        "name": "config",
                        "type": "LogConfig",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "config",
                        "type": "LogConfig",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "tagName": {
                            "pos": 495,
                            "end": 502,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "returns"
                        },
                        "comment": "<p>true/false</p>\n"
                    }
                ]
            },
            {
                "name": "isSelectorsDictionary",
                "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "selectors",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "Record<string | Selector<unknown, unknown>>",
                "jsdoctags": [
                    {
                        "name": "selectors",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isTemplateProperty",
                "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isTemplateProperty",
                "file": "packages/core/schematics/migrate-eui-button/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isTemplateProperty",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isTemplateProperty",
                "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isTemplateProperty",
                "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isTemplateProperty",
                "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isTemplateProperty",
                "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isTemplateProperty",
                "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isTemplateProperty",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isTemplateProperty",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "isTemplateProperty",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "loadEuiDynamicEnvironmentConfig",
                "file": "packages/core/src/lib/services/app/eui-pre-init-app.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Function to load asynchronously a dynamic configuration (from a local path or a web service)</p>\n",
                "args": [
                    {
                        "name": "url",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "timeout",
                        "type": "number",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "optional": true
                    }
                ],
                "returnType": "Promise<EuiAppJsonConfig>",
                "jsdoctags": [
                    {
                        "name": {
                            "pos": 991,
                            "end": 994,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "url"
                        },
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "pos": 985,
                            "end": 990,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "param"
                        },
                        "comment": "<p>the path to the configuration</p>\n"
                    },
                    {
                        "name": {
                            "pos": 1035,
                            "end": 1042,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "timeout"
                        },
                        "type": "number",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "optional": true,
                        "tagName": {
                            "pos": 1029,
                            "end": 1034,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "param"
                        },
                        "comment": "<p>possible timeout</p>\n"
                    },
                    {
                        "tagName": {
                            "pos": 1064,
                            "end": 1071,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "returns"
                        },
                        "comment": "<p>EuiAppJsonConfig promise</p>\n"
                    }
                ]
            },
            {
                "name": "localStorageSync",
                "file": "packages/core/src/lib/services/store/reducers/meta.reducers.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "description": "<p>Utility meta-reducer to load the state from the local storage</p>\n",
                "args": [
                    {
                        "name": "platformId",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "function",
                "jsdoctags": [
                    {
                        "name": {
                            "pos": 487,
                            "end": 497,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "platformId"
                        },
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "pos": 481,
                            "end": 486,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "param"
                        },
                        "comment": "<p>the platformId based on PLATFORM_ID token of Angular</p>\n"
                    }
                ]
            },
            {
                "name": "localStorageSync",
                "file": "packages/core/src/lib/services/store/reducers/meta.reducers.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Utility meta-reducer to load the state from the local storage</p>\n",
                "args": [
                    {
                        "name": "reducer",
                        "type": "ActionReducer",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "S",
                "jsdoctags": [
                    {
                        "name": {
                            "pos": 836,
                            "end": 843,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "reducer"
                        },
                        "type": "ActionReducer",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "pos": 830,
                            "end": 835,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "param"
                        },
                        "comment": "<p>the action reducer</p>\n"
                    }
                ]
            },
            {
                "name": "localStorageSync",
                "file": "packages/core/src/lib/services/store/reducers/meta.reducers.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "reducer",
                        "type": "ActionReducer",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "platformId",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "optional": true
                    }
                ],
                "returnType": "Function",
                "jsdoctags": [
                    {
                        "name": "reducer",
                        "type": "ActionReducer",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "platformId",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "optional": true,
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "logDryRun",
                "file": "packages/core/schematics/utils/dry-run.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "message",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "message",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "logDryRunNote",
                "file": "packages/core/schematics/utils/dry-run.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "LogHttpErrorCallbackFn",
                "file": "packages/core/src/lib/services/errors/http-error-handler-callback-functions.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "error",
                        "type": "HttpErrorResponse",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "injector",
                        "type": "Injector",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "error",
                        "type": "HttpErrorResponse",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "injector",
                        "type": "Injector",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "logRemovalWarning",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "name",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "name",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "logServiceFactory",
                "file": "packages/core/src/lib/services/app/factories/log.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Helper function to provide an instance of LogService from a configuration</p>\n",
                "args": [
                    {
                        "name": "config",
                        "type": "LogConfig",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "DEFAULT_LOG_CONFIG"
                    },
                    {
                        "name": "injector",
                        "type": "Injector",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "null"
                    }
                ],
                "returnType": "LogService",
                "jsdoctags": [
                    {
                        "name": "config",
                        "type": "LogConfig",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "DEFAULT_LOG_CONFIG",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "injector",
                        "type": "Injector",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "null",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "tagName": {
                            "pos": 1629,
                            "end": 1636,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "returns"
                        },
                        "comment": "<p>an instance of log service</p>\n"
                    }
                ]
            },
            {
                "name": "mapIconSuffix",
                "file": "packages/core/schematics/icon-migrate/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "icon",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string | undefined",
                "jsdoctags": [
                    {
                        "name": "icon",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "matchElement",
                "file": "packages/core/schematics/add-eui-imports/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "matched",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "matched",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "matchSelectorsInTemplate",
                "file": "packages/core/schematics/add-eui-imports/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "html",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "SelectorEntry[]",
                "jsdoctags": [
                    {
                        "name": "html",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "mergeAppHandlerConfigToAppConfig",
                "file": "packages/core/src/lib/services/config/tokens.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "euiAppConfig",
                        "type": "EuiAppConfig",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "envAppHandler",
                        "type": "EuiAppHandlersConfig",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "EuiAppConfig",
                "jsdoctags": [
                    {
                        "name": "euiAppConfig",
                        "type": "EuiAppConfig",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "envAppHandler",
                        "type": "EuiAppHandlersConfig",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "mergeAppJsonConfigToAppConfig",
                "file": "packages/core/src/lib/services/config/tokens.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "euiAppConfig",
                        "type": "EuiAppConfig",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "envAppJsonConfig",
                        "type": "EuiAppJsonConfig",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "merge",
                        "type": "Array",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "isDeepMerge",
                        "type": "boolean",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "EuiAppConfig",
                "jsdoctags": [
                    {
                        "name": "euiAppConfig",
                        "type": "EuiAppConfig",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "envAppJsonConfig",
                        "type": "EuiAppJsonConfig",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "merge",
                        "type": "Array",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "isDeepMerge",
                        "type": "boolean",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrate",
                "file": "packages/core/schematics/migrate/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "Rule",
                "jsdoctags": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateAll",
                "file": "packages/core/schematics/migrate-all/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "options",
                        "type": "MigrateAllSchema",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "Rule",
                "jsdoctags": [
                    {
                        "name": "options",
                        "type": "MigrateAllSchema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateChipListElement",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateEuiAccent",
                "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "returnType": "Rule",
                "jsdoctags": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateEuiAlert",
                "file": "packages/core/schematics/migrate-eui-alert/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "returnType": "Rule",
                "jsdoctags": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateEuiAvatar",
                "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "returnType": "Rule",
                "jsdoctags": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateEuiButton",
                "file": "packages/core/schematics/migrate-eui-button/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "returnType": "Rule",
                "jsdoctags": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateEuiChip",
                "file": "packages/core/schematics/migrate-eui-chip/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "returnType": "Rule",
                "jsdoctags": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateEuiChipList",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "returnType": "Rule",
                "jsdoctags": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateEuiDiscussionThread",
                "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "returnType": "Rule",
                "jsdoctags": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateEuiEditor",
                "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "returnType": "Rule",
                "jsdoctags": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateEuiFieldset",
                "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "returnType": "Rule",
                "jsdoctags": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateEuiIconSvg",
                "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "returnType": "Rule",
                "jsdoctags": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateEuiIconToggle",
                "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "returnType": "Rule",
                "jsdoctags": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateEuiPopover",
                "file": "packages/core/schematics/migrate-eui-popover/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "returnType": "Rule",
                "jsdoctags": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateEuiProgressCircle",
                "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "returnType": "Rule",
                "jsdoctags": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateEuiTable",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "returnType": "Rule",
                "jsdoctags": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateEuiTabs",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "returnType": "Rule",
                "jsdoctags": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateEuiToolbarMenu",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "returnType": "Rule",
                "jsdoctags": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateImportsAndTypes",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateInlineTemplates",
                "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateInlineTemplates",
                "file": "packages/core/schematics/migrate-eui-alert/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateInlineTemplates",
                "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateInlineTemplates",
                "file": "packages/core/schematics/migrate-eui-button/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateInlineTemplates",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateInlineTemplates",
                "file": "packages/core/schematics/migrate-eui-chip/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateInlineTemplates",
                "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateInlineTemplates",
                "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateInlineTemplates",
                "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateInlineTemplates",
                "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateInlineTemplates",
                "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateInlineTemplates",
                "file": "packages/core/schematics/migrate-eui-popover/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateInlineTemplates",
                "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateInlineTemplates",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "MigrationResult",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateInlineTemplates",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateTemplate",
                "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateTemplate",
                "file": "packages/core/schematics/migrate-eui-alert/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateTemplate",
                "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateTemplate",
                "file": "packages/core/schematics/migrate-eui-button/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateTemplate",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateTemplate",
                "file": "packages/core/schematics/migrate-eui-chip/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateTemplate",
                "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateTemplate",
                "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateTemplate",
                "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateTemplate",
                "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateTemplate",
                "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateTemplate",
                "file": "packages/core/schematics/migrate-eui-popover/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateTemplate",
                "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateTemplate",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateTemplate",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "MigrationResult",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateTemplate",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateTemplateWithPaginator",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "literal type",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateToStandalone",
                "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "returnType": "Rule",
                "jsdoctags": [
                    {
                        "name": "options",
                        "type": "Schema",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateTypeScript",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "literal type",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "migrateTypeScript",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "parseSelector",
                "file": "packages/core/schematics/add-eui-imports/selector-map.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Parses a raw CSS-like selector string into element + attributes.\nExamples:\n  &quot;button[euiButton]&quot; → { element: &quot;button&quot;, attributes: [&quot;euiButton&quot;] }\n  &quot;[euiTooltip]&quot; → { element: null, attributes: [&quot;euiTooltip&quot;] }\n  &quot;eui-tabs&quot; → { element: &quot;eui-tabs&quot;, attributes: [] }\n  &quot;input[euiInputNumber][formControlName]&quot; → { element: &quot;input&quot;, attributes: [&quot;euiInputNumber&quot;, &quot;formControlName&quot;] }</p>\n",
                "args": [
                    {
                        "name": "raw",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "literal type",
                "jsdoctags": [
                    {
                        "name": "raw",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "preInitApp",
                "file": "packages/core/src/lib/services/app/eui-pre-init-app.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Function to be used before the AppModule is bootstrapped. It is currently used to load dynamic configurations.\nIt needs to be added in your application main.ts file.</p>\n",
                "args": [
                    {
                        "name": "envConfig",
                        "type": "EuiEnvConfig",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "Promise<EuiEnvConfig>",
                "jsdoctags": [
                    {
                        "name": {
                            "pos": 270,
                            "end": 279,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "envConfig"
                        },
                        "type": "EuiEnvConfig",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "pos": 264,
                            "end": 269,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "param"
                        },
                        "comment": "<p>the current environment configuration</p>\n"
                    },
                    {
                        "tagName": {
                            "pos": 322,
                            "end": 329,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "returns"
                        },
                        "comment": "<p>the updated environment configuration, as a promise</p>\n"
                    }
                ]
            },
            {
                "name": "prepareEuiAppConfigToken",
                "file": "packages/core/src/lib/services/config/tokens.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "euiConfig",
                        "type": "EuiConfig",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "EuiAppConfig",
                "jsdoctags": [
                    {
                        "name": "euiConfig",
                        "type": "EuiConfig",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "provideEuiInitializer",
                "file": "packages/core/src/lib/services/app/eui-init-app.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Initializes the app with the necessary configurations. Use this in combination with <code>provideAppInitializer(euiInitApp_Env)</code></p>\n",
                "args": [],
                "returnType": "EnvironmentProviders"
            },
            {
                "name": "removalEdit",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "Edit",
                "jsdoctags": [
                    {
                        "name": "node",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "removeAttribute",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "start",
                        "type": "number",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "end",
                        "type": "number",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "start",
                        "type": "number",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "end",
                        "type": "number",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "removeElementRanges",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "parent",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "elements",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "parent",
                        "type": "TmplAstElement",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "elements",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "removeFromEsImports",
                "file": "packages/core/schematics/add-eui-imports/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "symbolsToRemove",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "symbolsToRemove",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "removeImportSpecifier",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "namedImports",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "specifier",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "sourceFile",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "namedImports",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "specifier",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "sourceFile",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "renameTsProperties",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "renameTsPropertyAccesses",
                "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "renameTsPropertyAccesses",
                "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "renameTsPropertyAccesses",
                "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "replaceEclAllModule",
                "file": "packages/core/schematics/migrate/replacements/eui-modules.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Replaces EclAllModule with specific ECL component imports detected from sibling HTML files.</p>\n",
                "args": [
                    {
                        "name": "tree",
                        "type": "Tree",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "content",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "tree",
                        "type": "Tree",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "content",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "replaceEuiAllModule",
                "file": "packages/core/schematics/migrate/replacements/eui-modules.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Replaces EuiAllModule with specific component imports detected from sibling HTML files.</p>\n",
                "args": [
                    {
                        "name": "tree",
                        "type": "Tree",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "content",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "tree",
                        "type": "Tree",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "content",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "replaceEuiBreakingChanges",
                "file": "packages/core/schematics/migrate/replacements/breaking-changes.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Applies EUI and ECL breaking change replacements to a single line.\nPorted from csdr-engine/migrate/index.js replaceEuiBreakingChanges.\nReturns true if the line was modified.</p>\n",
                "args": [
                    {
                        "name": "lines",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "index",
                        "type": "number",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "lines",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "index",
                        "type": "number",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "replaceEuiModules",
                "file": "packages/core/schematics/migrate/replacements/eui-modules.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Replaces individual EUI module references with their new standalone imports.\nHandles import statements (removes module, adds new import) and usage in arrays (replaces with spread).</p>\n",
                "args": [
                    {
                        "name": "fileContent",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "lines",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "literal type",
                "jsdoctags": [
                    {
                        "name": "fileContent",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "lines",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "replaceIcons",
                "file": "packages/core/schematics/migrate/replacements/icons.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Replaces old icon names with new ones in a single line.\nOnly replaces in quoted strings, skipping import lines and element tags.\nReturns true if the line was modified.</p>\n",
                "args": [
                    {
                        "name": "lines",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "index",
                        "type": "number",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "lines",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "index",
                        "type": "number",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "replaceIconsInTemplate",
                "file": "packages/core/schematics/icon-migrate/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Replaces icon values in HTML template content by matching component selectors and their icon inputs.\nHandles both static bindings (icon=&quot;value&quot;) and bound bindings ([icon]=&quot;&#39;value&#39;&quot;).</p>\n",
                "args": [
                    {
                        "name": "content",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "literal type",
                "jsdoctags": [
                    {
                        "name": "content",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "replaceIconsInTypeScript",
                "file": "packages/core/schematics/icon-migrate/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Replaces icon string literals in TypeScript files where icons are assigned to component inputs.\nTargets patterns like: icon = &#39;eui-delete&#39;, icon: &#39;eui-delete&#39;, expandedSvgIconClass: &#39;eui-chevron-right&#39;</p>\n",
                "args": [
                    {
                        "name": "content",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "literal type",
                "jsdoctags": [
                    {
                        "name": "content",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "replaceInImportsArray",
                "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "sourceFile",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "replacements",
                        "type": "Map",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "sourceFile",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "replacements",
                        "type": "Map",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "replaceMwp",
                "file": "packages/core/schematics/migrate/replacements/mwp.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Applies MyWorkplace-specific replacements to a single line.\nPorted from csdr-engine/migrate/index.js replaceMwp.\nReturns true if the line was modified.</p>\n",
                "args": [
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "lines",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "index",
                        "type": "number",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "lines",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "index",
                        "type": "number",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "resolveIcon",
                "file": "packages/core/schematics/icon-migrate/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Resolve icon: first try exact match in ICON_MAP, then apply suffix mapping</p>\n",
                "args": [
                    {
                        "name": "icon",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string | undefined",
                "jsdoctags": [
                    {
                        "name": "icon",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "resolveImports",
                "file": "packages/core/schematics/add-eui-imports/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "matched",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "useClassArray",
                        "type": "boolean",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "ImportToAdd[]",
                "jsdoctags": [
                    {
                        "name": "matched",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "useClassArray",
                        "type": "boolean",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "sessionStorageSync",
                "file": "packages/core/src/lib/services/store/reducers/meta.reducers.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "description": "<p>Utility meta-reducer to load the state from the session storage</p>\n",
                "args": [
                    {
                        "name": "platformId",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "function",
                "jsdoctags": [
                    {
                        "name": {
                            "pos": 2007,
                            "end": 2017,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "platformId"
                        },
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "pos": 2001,
                            "end": 2006,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "param"
                        },
                        "comment": "<p>the platformId based on PLATFORM_ID token of Angular</p>\n"
                    }
                ]
            },
            {
                "name": "sessionStorageSync",
                "file": "packages/core/src/lib/services/store/reducers/meta.reducers.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "description": "<p>Utility meta-reducer to load the state from the session storage</p>\n",
                "args": [
                    {
                        "name": "reducer",
                        "type": "ActionReducer",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "S",
                "jsdoctags": [
                    {
                        "name": {
                            "pos": 2360,
                            "end": 2367,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "reducer"
                        },
                        "type": "ActionReducer",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "pos": 2354,
                            "end": 2359,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "param"
                        },
                        "comment": "<p>the action reducer</p>\n"
                    }
                ]
            },
            {
                "name": "sessionStorageSync",
                "file": "packages/core/src/lib/services/store/reducers/meta.reducers.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "reducer",
                        "type": "ActionReducer",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "platformId",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "optional": true
                    }
                ],
                "returnType": "Function",
                "jsdoctags": [
                    {
                        "name": "reducer",
                        "type": "ActionReducer",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "platformId",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "optional": true,
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "transformTranslations",
                "file": "packages/core/src/lib/services/i18n/i18n-utils.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Recursively walks a translation object and converts all legacy {{var}} interpolations\nto ICU-compatible {var} format in string leaf values.</p>\n",
                "args": [
                    {
                        "name": "translations",
                        "type": "T",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "T",
                "jsdoctags": [
                    {
                        "name": "translations",
                        "type": "T",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "unwrapExpression",
                "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "expression",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "ts.Expression",
                "jsdoctags": [
                    {
                        "name": "expression",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "unwrapExpression",
                "file": "packages/core/schematics/migrate-eui-button/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "expression",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "ts.Expression",
                "jsdoctags": [
                    {
                        "name": "expression",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "unwrapExpression",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "expression",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "ts.Expression",
                "jsdoctags": [
                    {
                        "name": "expression",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "unwrapExpression",
                "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "expression",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "ts.Expression",
                "jsdoctags": [
                    {
                        "name": "expression",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "unwrapExpression",
                "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "expression",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "ts.Expression",
                "jsdoctags": [
                    {
                        "name": "expression",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "unwrapExpression",
                "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "expression",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "ts.Expression",
                "jsdoctags": [
                    {
                        "name": "expression",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "unwrapExpression",
                "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "expression",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "ts.Expression",
                "jsdoctags": [
                    {
                        "name": "expression",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "unwrapExpression",
                "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "expression",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "ts.Expression",
                "jsdoctags": [
                    {
                        "name": "expression",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "unwrapExpression",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "expression",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "ts.Expression",
                "jsdoctags": [
                    {
                        "name": "expression",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "unwrapExpression",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "expression",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "ts.Expression",
                "jsdoctags": [
                    {
                        "name": "expression",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "unwrapExpression",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "expression",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "ts.Expression",
                "jsdoctags": [
                    {
                        "name": "expression",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "updateDecoratorImportsArray",
                "file": "packages/core/schematics/add-eui-imports/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "arrayNode",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "toAdd",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "toRemove",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "arrayNode",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "toAdd",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "toRemove",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "updateEsImports",
                "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "replacements",
                        "type": "Map",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "replacements",
                        "type": "Map",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitAstForPipes",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "ast",
                        "type": "AST",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "ast",
                        "type": "AST",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitDir",
                "file": "packages/core/schematics/add-eui-imports/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitDir",
                "file": "packages/core/schematics/fix-no-multiple-empty-lines/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitDir",
                "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitDir",
                "file": "packages/core/schematics/migrate-eui-alert/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitDir",
                "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitDir",
                "file": "packages/core/schematics/migrate-eui-button/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitDir",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitDir",
                "file": "packages/core/schematics/migrate-eui-chip/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitDir",
                "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitDir",
                "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitDir",
                "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitDir",
                "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitDir",
                "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitDir",
                "file": "packages/core/schematics/migrate-eui-popover/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitDir",
                "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitDir",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitDir",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitDir",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitDir",
                "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "dir",
                        "type": "DirEntry",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "callback",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitExpressionForPipes",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "expr",
                        "type": "AST",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "expr",
                        "type": "AST",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitNodes",
                "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitNodes",
                "file": "packages/core/schematics/migrate-eui-alert/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "removals",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "removals",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitNodes",
                "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "removals",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "removals",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitNodes",
                "file": "packages/core/schematics/migrate-eui-button/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitNodes",
                "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitNodes",
                "file": "packages/core/schematics/migrate-eui-chip/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "removals",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "removals",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitNodes",
                "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "removals",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "removals",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitNodes",
                "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitNodes",
                "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitNodes",
                "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitNodes",
                "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitNodes",
                "file": "packages/core/schematics/migrate-eui-popover/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "removals",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "removals",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitNodes",
                "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitNodes",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitNodesForTable",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "insideEuiTable",
                        "type": "boolean",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "boolean",
                "jsdoctags": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "edits",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "insideEuiTable",
                        "type": "boolean",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "visitTemplateNodes",
                "file": "packages/core/schematics/add-eui-imports/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "matched",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "nodes",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "matched",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "warnPropertyAccesses",
                "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "path",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "path",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "warnRemovedProperties",
                "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "sourceFile",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "sourceFile",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "warnSetSort",
                "file": "packages/core/schematics/migrate-eui-table/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "void",
                "jsdoctags": [
                    {
                        "name": "source",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "filePath",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "context",
                        "type": "SchematicContext",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "withoutOverlaps",
                "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "changes",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "TextChange[]",
                "jsdoctags": [
                    {
                        "name": "changes",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            }
        ],
        "typealiases": [
            {
                "name": "ActionReducerMap",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "unknown",
                "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 201
            },
            {
                "name": "AnyFn",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "function",
                "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 185
            },
            {
                "name": "ComparatorFn",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "function",
                "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 185
            },
            {
                "name": "CoreAppActions",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "InitStoreAction | UpdateAppVersionAction | UpdateAppConnectionAction | AddAppLoadedConfigModulesAction | UpdateAppStatusAction | UpdateCurrentModuleAction | ActivatedRouteAction | AddApiQueueItemAction | RemoveApiQueueItemAction",
                "file": "packages/core/src/lib/services/store/actions/app.actions.ts",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "description": "",
                "kind": 193
            },
            {
                "name": "CoreI18nActions",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "UpdateI18nStateAction",
                "file": "packages/core/src/lib/services/store/actions/i18n.actions.ts",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "description": "",
                "kind": 184
            },
            {
                "name": "CoreLocaleActions",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "UpdateLocaleStateAction",
                "file": "packages/core/src/lib/services/store/actions/locale.actions.ts",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "description": "",
                "kind": 184
            },
            {
                "name": "CoreNotificationsActions",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "UpdateNotificationsListAction",
                "file": "packages/core/src/lib/services/store/actions/notifications.actions.ts",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "description": "",
                "kind": 184
            },
            {
                "name": "CoreUserActions",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "UpdateUserDetailsAction | UpdateUserPreferencesAction | UpdateUserRightsAction | UpdateUserDashboardAction",
                "file": "packages/core/src/lib/services/store/actions/user.actions.ts",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "description": "",
                "kind": 193
            },
            {
                "name": "DefaultProjectorFn",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "function",
                "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 185
            },
            {
                "name": "Handler",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "function",
                "file": "packages/core/src/lib/services/store/store.service.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 185
            },
            {
                "name": "LocaleMapper",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "function",
                "file": "packages/core/src/lib/services/locale/locale.service.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 185
            },
            {
                "name": "MemoizedProjection",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "literal type",
                "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 188
            },
            {
                "name": "MemoizeFn",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "function",
                "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 185
            },
            {
                "name": "Selector",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "function",
                "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 185
            },
            {
                "name": "SelectorFactoryConfig",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "literal type",
                "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 188
            },
            {
                "name": "SelectorWithProps",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "function",
                "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 185
            }
        ],
        "enumerations": [
            {
                "name": "BrowserStorageType",
                "childs": [
                    {
                        "name": "local",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "session",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "ctype": "miscellaneous",
                "subtype": "enum",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "file": "packages/core/src/lib/services/store/store.service.ts"
            },
            {
                "name": "CoreAppActionTypes",
                "childs": [
                    {
                        "name": "INIT_STORE",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "[App] Init store"
                    },
                    {
                        "name": "UPDATE_APP_VERSION",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "[App] Update version"
                    },
                    {
                        "name": "UPDATE_APP_CONNECTION",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "[App] Update connection"
                    },
                    {
                        "name": "ADD_APP_LOADED_CONFIG_MODULES",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "[App] Update app loaded config modules"
                    },
                    {
                        "name": "UPDATE_APP_STATUS",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "[App] Update status"
                    },
                    {
                        "name": "UPDATE_CURRENT_MODULE",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "[App] Update current module"
                    },
                    {
                        "name": "ACTIVATED_ROUTE",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "[App] Activated route"
                    },
                    {
                        "name": "ADD_API_QUEUE_ITEM",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "[App] Add API queue item"
                    },
                    {
                        "name": "REMOVE_API_QUEUE_ITEM",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "[App] Remove API queue item"
                    },
                    {
                        "name": "EMPTY_API_QUEUE",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "[App] empty API queue"
                    }
                ],
                "ctype": "miscellaneous",
                "subtype": "enum",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "description": "",
                "file": "packages/core/src/lib/services/store/actions/app.actions.ts"
            },
            {
                "name": "CoreI18nActionTypes",
                "childs": [
                    {
                        "name": "UPDATE_I18N_STATE",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "[I18n] Update I18n State"
                    }
                ],
                "ctype": "miscellaneous",
                "subtype": "enum",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "description": "",
                "file": "packages/core/src/lib/services/store/actions/i18n.actions.ts"
            },
            {
                "name": "CoreLocaleActionTypes",
                "childs": [
                    {
                        "name": "UPDATE_LOCALE_STATE",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "[Locale] Update Locale State"
                    }
                ],
                "ctype": "miscellaneous",
                "subtype": "enum",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "description": "",
                "file": "packages/core/src/lib/services/store/actions/locale.actions.ts"
            },
            {
                "name": "CoreNotificationsActionTypes",
                "childs": [
                    {
                        "name": "UPDATE_NOTIFICATIONS_LIST",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "[Notif] Update list"
                    }
                ],
                "ctype": "miscellaneous",
                "subtype": "enum",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "description": "",
                "file": "packages/core/src/lib/services/store/actions/notifications.actions.ts"
            },
            {
                "name": "CoreUserActionTypes",
                "childs": [
                    {
                        "name": "UPDATE_USER_STATE",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "[User] Update User state"
                    },
                    {
                        "name": "UPDATE_USER_DETAILS",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "[User] Update details"
                    },
                    {
                        "name": "UPDATE_USER_PREFERENCES",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "[User] Update preferences"
                    },
                    {
                        "name": "UPDATE_USER_RIGHTS",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "[User] Update rights"
                    },
                    {
                        "name": "UPDATE_USER_DASHBOARD",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "[User] Update dashboard"
                    }
                ],
                "ctype": "miscellaneous",
                "subtype": "enum",
                "deprecated": true,
                "deprecationMessage": "it will be removed in the next major version",
                "description": "",
                "file": "packages/core/src/lib/services/store/actions/user.actions.ts"
            },
            {
                "name": "EuiTheme",
                "childs": [
                    {
                        "name": "DEFAULT",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "default"
                    },
                    {
                        "name": "ECL_EC",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "ecl-ec"
                    },
                    {
                        "name": "ECL_EC_RTL",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "ecl-ec-rtl"
                    },
                    {
                        "name": "ECL_EU",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "ecl-eu"
                    },
                    {
                        "name": "ECL_EU_RTL",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "ecl-eu-rtl"
                    },
                    {
                        "name": "DARK",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "dark"
                    },
                    {
                        "name": "HIGH_CONTRAST",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "high-contrast"
                    },
                    {
                        "name": "COMPACT",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "compact"
                    }
                ],
                "ctype": "miscellaneous",
                "subtype": "enum",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "file": "packages/core/src/lib/services/eui-theme.service.ts"
            },
            {
                "name": "Status",
                "childs": [
                    {
                        "name": "LOADING",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "loading"
                    },
                    {
                        "name": "LOADED",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "loaded"
                    },
                    {
                        "name": "ERROR",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "error"
                    }
                ],
                "ctype": "miscellaneous",
                "subtype": "enum",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>The status of a library</p>\n",
                "file": "packages/core/src/lib/services/loader/eui-loader.model.ts"
            }
        ],
        "groupedVariables": {
            "packages/core/src/lib/services/store/reducers/app.reducers.ts": [
                {
                    "name": "actionToReducerMap",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/app.reducers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "defaultValue": "{\n    [CoreAppActionTypes.UPDATE_APP_VERSION]: updateAppVersion,\n    [CoreAppActionTypes.UPDATE_APP_CONNECTION]: updateAppConnection,\n    [CoreAppActionTypes.UPDATE_APP_STATUS]: updateAppStatus,\n    [CoreAppActionTypes.UPDATE_CURRENT_MODULE]: updateCurrentModule,\n    [CoreAppActionTypes.ADD_API_QUEUE_ITEM]: addApiQueueItem,\n    [CoreAppActionTypes.REMOVE_API_QUEUE_ITEM]: removeApiQueueItem,\n    [CoreAppActionTypes.EMPTY_API_QUEUE]: emptyApiQueue,\n}"
                },
                {
                    "name": "addApiQueueItem",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/app.reducers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(state: AppState, action: AddApiQueueItemAction): AppState => {\n    // apply the timestamp to the queue item\n    const apiQueueItem = Object.assign({}, action.payload.item, { timestamp: new Date().getTime() });\n    // update the queue\n    const apiQueue = Object.assign({}, state.apiQueue, { [action.payload.id]: apiQueueItem });\n    return Object.assign({}, state, { apiQueue });\n}"
                },
                {
                    "name": "coreAppReducers",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/app.reducers.ts",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "type": "AppState",
                    "defaultValue": "(state = initialAppState, action: CoreAppActions) => {\n    if (actionToReducerMap[action.type]) {\n        return actionToReducerMap[action.type](state, action);\n    }\n    // if the action type is not in the map, call the base reducers method\n    return state;\n}"
                },
                {
                    "name": "emptyApiQueue",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/app.reducers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(state: AppState, action: EmptyApiQueueAction): AppState =>\n    // remove all items in the Api Queue\n    Object.assign({}, state, { apiQueue: {} })"
                },
                {
                    "name": "removeApiQueueItem",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/app.reducers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(state: AppState, action: RemoveApiQueueItemAction): AppState => {\n    // remove the specified id from the list of item ids and recreate the apiQueue from the remaining ids\n    const apiQueue = Object.keys(state.apiQueue)\n        .filter((id) => id !== action.payload)\n        .reduce((queue, key) => {\n            queue[key] = state.apiQueue[key];\n            return queue;\n        }, {});\n    return Object.assign({}, state, { apiQueue });\n}"
                },
                {
                    "name": "updateAppConnection",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/app.reducers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(state: AppState, action: UpdateAppConnectionAction): AppState => ({ ...state, connected: action.payload })"
                },
                {
                    "name": "updateAppStatus",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/app.reducers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(state: AppState, action: UpdateAppStatusAction): AppState => ({ ...state, status: action.payload })"
                },
                {
                    "name": "updateAppVersion",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/app.reducers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(state: AppState, action: UpdateAppVersionAction): AppState => ({ ...state, version: action.payload })"
                },
                {
                    "name": "updateCurrentModule",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/app.reducers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(state: AppState, action: UpdateCurrentModuleAction): AppState =>\n    Object.assign({}, state, { currentModule: action.payload })"
                }
            ],
            "packages/core/src/lib/services/store/reducers/i18n.reducers.ts": [
                {
                    "name": "actionToReducerMap",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/i18n.reducers.ts",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "type": "literal type",
                    "defaultValue": "{\n    [CoreI18nActionTypes.UPDATE_I18N_STATE]: updateI18nState,\n}"
                },
                {
                    "name": "corI18nReducers",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/i18n.reducers.ts",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "type": "I18nState",
                    "defaultValue": "(state = initialI18nState, action: CoreI18nActions) => {\n    if (actionToReducerMap[action.type]) {\n        return actionToReducerMap[action.type](state, action);\n    }\n    return state;\n}"
                },
                {
                    "name": "updateI18nState",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/i18n.reducers.ts",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "type": "unknown",
                    "defaultValue": "(state: I18nState, action: UpdateI18nStateAction): {activeLang: string} => ({\n    ...state,\n    ...action.payload,\n})"
                }
            ],
            "packages/core/src/lib/services/store/reducers/locale.reducers.ts": [
                {
                    "name": "actionToReducerMap",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/locale.reducers.ts",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "type": "literal type",
                    "defaultValue": "{\n    [CoreLocaleActionTypes.UPDATE_LOCALE_STATE]: updateLocaleState,\n}"
                },
                {
                    "name": "coreLocaleReducers",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/locale.reducers.ts",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "type": "LocaleState",
                    "defaultValue": "(\n    state = initialLocaleState,\n    action: CoreLocaleActions,\n) => {\n    if (actionToReducerMap[action.type]) {\n        return actionToReducerMap[action.type](state, action);\n    }\n    return state;\n}"
                },
                {
                    "name": "updateLocaleState",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/locale.reducers.ts",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "type": "unknown",
                    "defaultValue": "(state: LocaleState, action: UpdateLocaleStateAction): LocaleState => ({\n    ...state,\n    ...action.payload,\n})"
                }
            ],
            "packages/core/src/lib/services/store/reducers/notifications.reducers.ts": [
                {
                    "name": "actionToReducerMap",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/notifications.reducers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "defaultValue": "{\n    [CoreNotificationsActionTypes.UPDATE_NOTIFICATIONS_LIST]: updateNotificationsList,\n}"
                },
                {
                    "name": "coreNotificationsReducers",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/notifications.reducers.ts",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "type": "NotificationsState",
                    "defaultValue": "(\n    state = initialNotificationsState,\n    action: CoreNotificationsActions,\n) => {\n    if (actionToReducerMap[action.type]) {\n        return actionToReducerMap[action.type](state, action);\n    }\n    return state;\n}"
                },
                {
                    "name": "updateNotificationsList",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/notifications.reducers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(state: NotificationsState, action: UpdateNotificationsListAction): NotificationsState =>\n    Object.assign({}, state, { list: [...action.payload] })"
                }
            ],
            "packages/core/src/lib/services/store/reducers/user.reducers.ts": [
                {
                    "name": "actionToReducerMap",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/user.reducers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "defaultValue": "{\n    [CoreUserActionTypes.UPDATE_USER_DETAILS]: updateUserDetails,\n    [CoreUserActionTypes.UPDATE_USER_PREFERENCES]: updateUserPreferences,\n    [CoreUserActionTypes.UPDATE_USER_STATE]: updateUser,\n    [CoreUserActionTypes.UPDATE_USER_RIGHTS]: updateUserRights,\n    [CoreUserActionTypes.UPDATE_USER_DASHBOARD]: updateUserDashboard,\n}"
                },
                {
                    "name": "coreUserReducers",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/user.reducers.ts",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "type": "UserState",
                    "defaultValue": "(state = initialUserState, action: CoreUserActions) => {\n    if (actionToReducerMap[action.type]) {\n        return actionToReducerMap[action.type](state, action);\n    }\n    return state;\n}"
                },
                {
                    "name": "updateUser",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/user.reducers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(state: UserState, action: UpdateUserStateAction): UserState => {\n    let fullName = action.payload.fullName;\n    if (!fullName) {\n        fullName = `${action.payload.firstName || ''} ${action.payload.lastName || ''}`.trim();\n    }\n    return Object.assign({}, state, action.payload, { fullName });\n}"
                },
                {
                    "name": "updateUserDashboard",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/user.reducers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(state: UserState, action: UpdateUserDashboardAction): UserState & { preferences: UserPreferences } => {\n    // apply the dashboard to preferences\n    const preferences = Object.assign({}, state.preferences, { dashboard: action.payload });\n    // update the state\n    return { ...state, preferences };\n}"
                },
                {
                    "name": "updateUserDetails",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/user.reducers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(state: UserState, action: UpdateUserDetailsAction): UserState => {\n    let fullName = action.payload.fullName;\n    if (!fullName) {\n        fullName = `${action.payload.firstName || ''} ${action.payload.lastName || ''}`.trim();\n    }\n    // todo should be checked if state.details is really there\n    const details = Object.assign({}, state['details'], action.payload, { fullName });\n    return Object.assign({}, state, details);\n}"
                },
                {
                    "name": "updateUserPreferences",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/user.reducers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(state: UserState, action: UpdateUserPreferencesAction): UserState => {\n    const preferences = Object.assign({}, state.preferences, action.payload);\n    return Object.assign({}, state, { preferences });\n}"
                },
                {
                    "name": "updateUserRights",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/user.reducers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(state: UserState, action: UpdateUserRightsAction): UserState =>\n    Object.assign({}, state, { rights: [...action.payload] })"
                }
            ],
            "packages/core/src/lib/eui-core.module.ts": [
                {
                    "name": "AddAppLoadedConfigModules",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/eui-core.module.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(state: CoreState, action: { moduleName, moduleConfig }): CoreState => ({\n    ...state,\n    app: {\n        ...state.app,\n        loadedConfigModules: {\n            lastAddedModule: action.moduleName,\n            modulesConfig: {\n                ...state.app.loadedConfigModules.modulesConfig,\n                [action.moduleName]: {\n                    ...action.moduleConfig,\n                },\n            },\n        },\n    },\n})"
                },
                {
                    "name": "CORE_ROOT_GUARD",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/eui-core.module.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new InjectionToken<void>('Internal Theme ForRoot Guard')"
                },
                {
                    "name": "createEuiCoreRootGuard",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/eui-core.module.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(core): string => {\n    if (core) {\n        throw new TypeError('CoreModule.forRoot() called twice. Feature modules should use ThemeModule.forChild() instead.');\n    }\n    return 'guarded';\n}"
                },
                {
                    "name": "euiCoreRootGuardClass",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/eui-core.module.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(): EuiCoreRootGuardClass => new EuiCoreRootGuardClass()"
                }
            ],
            "packages/core/src/lib/services/log/log.service.ts": [
                {
                    "name": "BASE_LOGGER_NAME_TOKEN",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/log/log.service.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new InjectionToken<string>('BASE_LOGGER_NAME')"
                },
                {
                    "name": "LOG_APPENDERS_TOKEN",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/log/log.service.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new InjectionToken<LogAppender[]>('LOG_APPENDERS')"
                },
                {
                    "name": "LOG_LEVEL_TOKEN",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/log/log.service.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new InjectionToken<LogLevel>('LOG_LEVEL')"
                }
            ],
            "packages/core/src/lib/services/config/tokens.ts": [
                {
                    "name": "BASE_NAME_TOKEN",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/config/tokens.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new InjectionToken<string>('baseName')"
                },
                {
                    "name": "CONFIG_TOKEN",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/config/tokens.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new InjectionToken<EuiAppConfig>('finalConfigToken')"
                },
                {
                    "name": "EUI_CONFIG_TOKEN",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/config/tokens.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new InjectionToken<EuiConfig>('EuiConfig')"
                },
                {
                    "name": "GLOBAL_CONFIG_TOKEN",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/config/tokens.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new InjectionToken<GlobalConfig>('globalConfig')"
                },
                {
                    "name": "HTTP_ERROR_HANDLER_CONFIG_TOKEN",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/config/tokens.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new InjectionToken<HttpErrorHandlerConfig>('HTTP_ERROR_HANDLER_CONFIG')"
                },
                {
                    "name": "MODULE_CONFIG_TOKEN",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/config/tokens.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new InjectionToken<ModuleConfig>('moduleConfig')"
                },
                {
                    "name": "MODULE_NAME_TOKEN",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/config/tokens.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new InjectionToken<string>('moduleName')"
                },
                {
                    "name": "ROOT_LOG_CONFIG_TOKEN",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/config/tokens.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new InjectionToken<LogConfig>('logConfig')"
                },
                {
                    "name": "SHOW_CONNECTION_STATUS_TOKEN",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/config/tokens.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new InjectionToken<boolean>('SHOW_CONNECTION_STATUS')"
                }
            ],
            "packages/core/src/lib/services/store/reducers/meta.reducers.ts": [
                {
                    "name": "cb",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/meta.reducers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "<S extends CoreState>(reducer: ActionReducer<S>, storage: Storage | null) =>\n    (state: S, action: Action): S => {\n        if (action.type === CoreAppActionTypes.INIT_STORE) {\n            // This action must be dispatched from an app initializer\n            // We load the state from a storage and compare the version and userId with the provided ones.\n            // If they are the same, we merge the local state into the initial state.\n            // If there is a mismatch, we don't merge the local state, but update only the initial state.\n\n            if (storage) {\n                // load the state from the localStorage\n                const localState: S = loadState<S>(storage);\n\n                // extract the details about user and app version from the action payload\n                const payloadVersion = (action as InitStoreAction).payload?.version;\n\n                if (localState) {\n                    // TODO: Why all these checks here? What is the purpose of this code?\n                    // extract the details about user and app version from the storage state\n                    const localVersion = localState?.app?.version;\n                    // const localUserId = localState.user && localState.user.userId;\n\n                    const isVersionOK = !localVersion || !payloadVersion || localVersion === payloadVersion;\n                    // const isUserIdOK = (localUserId === payloadUserId);\n\n                    // update the entire state with deep merge of states, if the version and user are the same\n                    if (isVersionOK) {\n                        state = { ...state, ...localState };\n                        // state = extend(true, {}, state, localState);\n                    }\n                }\n\n                // update the app version, if defined\n                if (payloadVersion) {\n                    state = { ...state, app: { ...state?.app, version: payloadVersion } };\n                }\n            }\n        }\n\n        return reducer(state, action);\n    }"
                },
                {
                    "name": "disallowedKeys",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/meta.reducers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "[]",
                    "defaultValue": "['loadedConfigModules', 'connect', 'currentModule', 'status', 'apiQueue']"
                },
                {
                    "name": "filterAppState",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/meta.reducers.ts",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "type": "unknown",
                    "defaultValue": "(app: AppState): AppState => {\n    // in case app is undefined or null it should return empty object\n    if (!app) {\n        return {};\n    }\n\n    return (\n        Object.keys(app)\n            // select keys that are present in the allowed list\n            .filter((key) => !disallowedKeys.includes(key))\n            // build a new object with only the allowed properties\n            .reduce((obj, key) => {\n                obj[key] = app[key];\n                return obj;\n            }, {})\n    );\n}",
                    "rawdescription": "filters the AppState by removing those keys from the state and return a new state Object",
                    "description": "<p>filters the AppState by removing those keys from the state and return a new state Object</p>\n"
                },
                {
                    "name": "loadState",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/meta.reducers.ts",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "type": "unknown",
                    "defaultValue": "<S extends CoreState>(storage: Storage | null = null): S => {\n    if (!storage) {\n        return undefined;\n    }\n\n    try {\n        // by default falls back to localStorage\n        const serializedState = storage.getItem('state');\n\n        if (serializedState === null) {\n            return undefined;\n        }\n\n        // deserialize state\n        let state: S = JSON.parse(serializedState);\n\n        // filter AppState and replace\n        state = { ...state, app: filterAppState(state?.app) };\n\n        return state;\n    } catch (err) {\n        return undefined;\n    }\n}"
                }
            ],
            "packages/core/schematics/migrate-eui-chip-list/index.ts": [
                {
                    "name": "CHIP_ATTR",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'euiChip'"
                },
                {
                    "name": "CHIP_LIST_ATTR",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'euiChipList'"
                },
                {
                    "name": "CHIP_LIST_TAG",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'eui-chip-list'"
                },
                {
                    "name": "CHIP_TAG",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'eui-chip'"
                },
                {
                    "name": "PROPAGATED_INPUTS",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new Set([\n  'euiPrimary', 'euiSecondary', 'euiSuccess', 'euiInfo', 'euiWarning',\n  'euiDanger', 'euiAccent', 'euiVariant', 'euiSizeS', 'euiSizeVariant',\n  'euiOutline', 'euiDisabled',\n])"
                },
                {
                    "name": "REMOVED_INPUTS",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new Set(['maxVisibleChipsCount', 'isMaxVisibleChipsOpened', 'toggleLinkMoreLabel', 'toggleLinkLessLabel', 'isChipsSorted', 'chipsSortOrder'])"
                },
                {
                    "name": "TRUNCATE_PIPE_IMPORT",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'EuiTruncatePipe'"
                },
                {
                    "name": "TRUNCATE_PIPE_PATH",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'@eui/components/pipes'"
                },
                {
                    "name": "WARN_PROPERTIES",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new Set([...PROPAGATED_INPUTS, 'chipRemove', 'isChipsRemovable', 'chipsLabelTruncateCount',\n  'maxVisibleChipsCount', 'isMaxVisibleChipsOpened', 'toggleLinkMoreLabel', 'toggleLinkLessLabel',\n  'isChipsSorted', 'chipsSortOrder'])"
                }
            ],
            "packages/core/src/lib/helpers/dom-helpers.ts": [
                {
                    "name": "closestMatchingParent",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/helpers/dom-helpers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(target: HTMLElement, className: string): HTMLElement | null => {\n    let element = target;\n\n    while (element && element.nodeType === Node.ELEMENT_NODE) {\n        if (element.classList.contains(className)) {\n            return element;\n        }\n\n        element = element.parentElement;\n    }\n\n    return null;\n}"
                },
                {
                    "name": "getStyle",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/helpers/dom-helpers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(nativeEl: Element, cssProp: keyof CSSStyleDeclaration): string => {\n    /* istanbul ignore if */\n    if (getComputedStyle(nativeEl)) {\n        return getComputedStyle(nativeEl)[cssProp] as string;\n    }\n\n    // finally try and get inline style\n    /* istanbul ignore next */\n    return (nativeEl as HTMLElement).style[cssProp] as string;\n}"
                },
                {
                    "name": "getViewElement",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/helpers/dom-helpers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "<F>(fixture: ComponentFixture<F>, componentClass: string, klass?: string): {de: DebugElement, el: HTMLElement, domElement: HTMLElement} => {\n    let el: HTMLElement, domElement: NodeList | HTMLElement;\n\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) as HTMLElement;\n            }\n        }\n    }\n\n    return { de, el, domElement: domElement as HTMLElement };\n}"
                },
                {
                    "name": "isStaticPositioned",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/helpers/dom-helpers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(nativeEl: Element): boolean => (getStyle(nativeEl, 'position') || 'static') === 'static'",
                    "rawdescription": "Checks if a given element is statically positioned",
                    "description": "<p>Checks if a given element is statically positioned</p>\n"
                },
                {
                    "name": "offset",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/helpers/dom-helpers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(nativeEl: HTMLElement): { width: number; height: number; top: number; left: number } => {\n    const boundingClientRect = nativeEl.getBoundingClientRect();\n    return {\n        width: boundingClientRect.width || nativeEl.offsetWidth,\n        height: boundingClientRect.height || nativeEl.offsetHeight,\n        top: boundingClientRect.top + (window.pageYOffset || document.documentElement.scrollTop),\n        left: boundingClientRect.left + (window.pageXOffset || document.documentElement.scrollLeft),\n    };\n}",
                    "rawdescription": "Provides read-only equivalent of jQuery's offset function:\nhttp://api.jquery.com/offset/",
                    "description": "<p>Provides read-only equivalent of jQuery&#39;s offset function:\n<a href=\"http://api.jquery.com/offset/\">http://api.jquery.com/offset/</a></p>\n"
                },
                {
                    "name": "parentOffsetEl",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/helpers/dom-helpers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(nativeEl: HTMLElement): Element | Document => {\n    let offsetParent = nativeEl.offsetParent || document;\n    while (offsetParent && offsetParent !== document && isStaticPositioned(offsetParent as Element)) {\n        offsetParent = (offsetParent as HTMLElement).offsetParent;\n    }\n    return offsetParent || document;\n}",
                    "rawdescription": "returns the closest, non-statically positioned parentOffset of a given element",
                    "description": "<p>returns the closest, non-statically positioned parentOffset of a given element</p>\n"
                },
                {
                    "name": "position",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/helpers/dom-helpers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(nativeEl: HTMLElement): { width: number; height: number; top: number; left: number } => {\n    const elBCR = offset(nativeEl);\n    let offsetParentBCR = { top: 0, left: 0 };\n    const offsetParentEl = parentOffsetEl(nativeEl);\n    if (offsetParentEl !== document) {\n        offsetParentBCR = offset(offsetParentEl as HTMLElement);\n        offsetParentBCR.top += (offsetParentEl as Element).clientTop - (offsetParentEl as Element).scrollTop;\n        offsetParentBCR.left += (offsetParentEl as Element).clientLeft - (offsetParentEl as Element).scrollLeft;\n    }\n\n    const boundingClientRect = nativeEl.getBoundingClientRect();\n    return {\n        width: boundingClientRect.width || nativeEl.offsetWidth,\n        height: boundingClientRect.height || nativeEl.offsetHeight,\n        top: elBCR.top - offsetParentBCR.top,\n        left: elBCR.left - offsetParentBCR.left,\n    };\n}",
                    "rawdescription": "Provides read-only equivalent of jQuery's position function:\nhttp://api.jquery.com/position/",
                    "description": "<p>Provides read-only equivalent of jQuery&#39;s position function:\n<a href=\"http://api.jquery.com/position/\">http://api.jquery.com/position/</a></p>\n"
                }
            ],
            "packages/core/schematics/migrate-eui-discussion-thread/index.ts": [
                {
                    "name": "COMPONENT_TAG",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'eui-discussion-thread'"
                }
            ],
            "packages/core/schematics/migrate-eui-editor/index.ts": [
                {
                    "name": "COMPONENT_TAG",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'eui-editor'"
                },
                {
                    "name": "NEW_NAME",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'contentChange'"
                },
                {
                    "name": "OLD_NAME",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'onEditorChanged'"
                }
            ],
            "packages/core/schematics/migrate-eui-fieldset/index.ts": [
                {
                    "name": "COMPONENT_TAG",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'eui-fieldset'"
                },
                {
                    "name": "NEW_NAME",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'iconSvgName'"
                },
                {
                    "name": "OLD_NAME",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'iconSvgType'"
                }
            ],
            "packages/core/schematics/migrate-eui-icon-svg/index.ts": [
                {
                    "name": "COMPONENT_TAG",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'eui-icon-svg'"
                },
                {
                    "name": "INPUT_RENAMES",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new Map([\n  ['variant', 'fillColor'],\n  ['aria-label', 'ariaLabel'],\n])"
                },
                {
                    "name": "TS_PROPERTY_RENAMES",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new Map([\n  ['variant', 'fillColor'],\n])"
                }
            ],
            "packages/core/schematics/migrate-eui-icon-toggle/index.ts": [
                {
                    "name": "COMPONENT_TAG",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'eui-icon-toggle'"
                },
                {
                    "name": "NEW_NAME",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'iconSvgName'"
                },
                {
                    "name": "OLD_NAME",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'iconSet'"
                }
            ],
            "packages/core/src/lib/helpers/event-helpers.ts": [
                {
                    "name": "consumeEvent",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/helpers/event-helpers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(event: Event): boolean => {\n    if (event) {\n        event.preventDefault();\n        event.stopPropagation();\n        event.cancelBubble = true;\n    }\n    return false;\n}"
                }
            ],
            "packages/core/src/lib/services/store/reducers/core.reducers.ts": [
                {
                    "name": "coreReducers",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/reducers/core.reducers.ts",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "type": "ActionReducerMap<CoreState, any>",
                    "defaultValue": "Object.assign(\n    {},\n    {\n        app: coreAppReducers,\n        user: coreUserReducers,\n        notifications: coreNotificationsReducers,\n        i18n: corI18nReducers,\n        locale: coreLocaleReducers,\n    },\n)"
                }
            ],
            "packages/core/schematics/utils/dry-run.ts": [
                {
                    "name": "CYAN",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/utils/dry-run.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'\\x1b[36m'"
                },
                {
                    "name": "RESET",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/utils/dry-run.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'\\x1b[0m'"
                },
                {
                    "name": "YELLOW",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/utils/dry-run.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'\\x1b[33m'"
                }
            ],
            "packages/core/src/lib/services/config/defaults.ts": [
                {
                    "name": "DEFAULT_EUI_APP_CONFIG",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/config/defaults.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiAppConfig",
                    "defaultValue": "{\n    global: {\n        ...DEFAULT_GLOBAL_CONFIG,\n    },\n}"
                },
                {
                    "name": "DEFAULT_EUI_CONFIG",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/config/defaults.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiConfig",
                    "defaultValue": "{\n    appConfig: {\n        ...DEFAULT_EUI_APP_CONFIG,\n    },\n    environment: {\n        ...DEFAULT_EUI_ENV_CONFIG,\n    },\n}"
                },
                {
                    "name": "DEFAULT_EUI_ENV_CONFIG",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/config/defaults.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiEnvConfig",
                    "defaultValue": "{\n    envAppHandlersConfig: {},\n}"
                },
                {
                    "name": "DEFAULT_GLOBAL_CONFIG",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/config/defaults.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "GlobalConfig",
                    "defaultValue": "{\n    showConnectionStatus: {\n        messageBox: {\n            lifespan: 0,\n        },\n        enabled: true,\n    },\n    i18n: {\n        i18nService: {\n            ...DEFAULT_I18N_SERVICE_CONFIG,\n        },\n        i18nLoader: {\n            ...DEFAULT_I18N_LOADER_CONFIG,\n        },\n    },\n    locale: {\n        ...DEFAULT_LOCALE_SERVICE_CONFIG,\n    },\n    user: {\n        defaultUserPreferences: {\n            locale: {\n                ...DEFAULT_LOCALE_SERVICE_CONFIG,\n            },\n        },\n    },\n}"
                },
                {
                    "name": "DEFAULT_HTTP_ERROR_HANDLER_CONFIG",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/config/defaults.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "HttpErrorHandlerConfig",
                    "defaultValue": "{\n    routes: [],\n}"
                },
                {
                    "name": "DEFAULT_I18N_LOADER_CONFIG",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/config/defaults.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "I18nLoaderConfig",
                    "defaultValue": "{}"
                },
                {
                    "name": "DEFAULT_I18N_SERVICE_CONFIG",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/config/defaults.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "I18nServiceConfig",
                    "defaultValue": "{\n    languages: ['en'],\n    defaultLanguage: 'en',\n}"
                },
                {
                    "name": "DEFAULT_LOCALE_SERVICE_CONFIG",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/config/defaults.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "LocaleServiceConfig",
                    "defaultValue": "{\n    bindWithTranslate: false,\n}"
                },
                {
                    "name": "DEFAULT_LOG_CONFIG",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/config/defaults.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "LogConfig",
                    "defaultValue": "{\n    baseLoggerName: 'root',\n    logLevel: LogLevel.ERROR,\n    logAppenders: {\n        type: ConsoleAppender,\n        prefixFormat: '[{level}]',\n    },\n}",
                    "rawdescription": "default log configuration",
                    "description": "<p>default log configuration</p>\n"
                }
            ],
            "packages/core/src/lib/mocks/translate.module.mock.ts": [
                {
                    "name": "DEFAULT_LANGUAGE",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/mocks/translate.module.mock.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'en'"
                },
                {
                    "name": "TRANSLATED_STRING",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/mocks/translate.module.mock.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'i18n'"
                }
            ],
            "packages/core/src/lib/helpers/date-helpers.ts": [
                {
                    "name": "diffDays",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/helpers/date-helpers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(dateStart: Date, dateEnd: Date): number =>\n    Math.round((dateEnd.getTime() - dateStart.getTime()) / 1000 / 60 / 60 / 24)"
                },
                {
                    "name": "diffDaysFromToday",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/helpers/date-helpers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(date: Date): number => diffDays(new Date(), date)"
                }
            ],
            "packages/core/src/lib/services/dynamic-component/dynamic-component.service.ts": [
                {
                    "name": "DYNAMIC_COMPONENT_CONFIG",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/dynamic-component/dynamic-component.service.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new InjectionToken<object>('DYNAMIC_COMPONENT_CONFIG')"
                }
            ],
            "packages/core/src/lib/services/errors/eui.error.ts": [
                {
                    "name": "errorCodes",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/errors/eui.error.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "object",
                    "defaultValue": "{\n    ERR_GENERIC: 'ERR_GENERIC',\n}"
                },
                {
                    "name": "messages",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/errors/eui.error.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "object",
                    "defaultValue": "{\n    ERR_GENERIC: 'An error occured',\n}"
                }
            ],
            "packages/core/schematics/migrate/replacements/eui-modules.ts": [
                {
                    "name": "EUI_COMPONENTS_BASE",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate/replacements/eui-modules.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiComponentEntry[]",
                    "defaultValue": "[\n  // ECL components\n  { selectorPrefix: 'ecl-app', module: 'EclAppComponentModule', importObj: 'EUI_ECL_APP', importLocation: '@eui/ecl/components/ecl-app' },\n  { selectorPrefix: 'ecl-menu', module: 'EclMenuComponentModule', importObj: 'EUI_ECL_MENU', importLocation: '@eui/ecl/components/ecl-menu' },\n  { selectorPrefix: 'ecl-site-header', module: 'EclSiteHeaderComponentModule', importObj: 'EUI_ECL_SITE_HEADER', importLocation: '@eui/ecl/components/ecl-site-header' },\n  { selectorPrefix: 'ecl-site-footer', module: 'EclSiteFooterComponentModule', importObj: 'EUI_ECL_SITE_FOOTER', importLocation: '@eui/ecl/components/ecl-site-footer' },\n  { module: 'EclBannerComponentModule', importObj: 'EUI_ECL_BANNER', importLocation: '@eui/ecl/components/ecl-banner' },\n  { module: 'EclButtonComponentModule', importObj: 'EUI_ECL_BUTTON', importLocation: '@eui/ecl/components/ecl-button' },\n  { module: 'EclCardComponentModule', importObj: 'EUI_ECL_CARD', importLocation: '@eui/ecl/components/ecl-card' },\n  { module: 'EclContentBlockComponentModule', importObj: 'EUI_ECL_CONTENT_BLOCK', importLocation: '@eui/ecl/components/ecl-content-block' },\n  { module: 'EclContentBlockModule', importObj: 'EUI_ECL_CONTENT_BLOCK', importLocation: '@eui/ecl/components/ecl-content-block' },\n  { module: 'EclContentItemComponentModule', importObj: 'EUI_ECL_CONTENT_ITEM', importLocation: '@eui/ecl/components/ecl-content-item' },\n  { module: 'EclFactFiguresComponentModule', importObj: 'EUI_ECL_FACT_FIGURES', importLocation: '@eui/ecl/components/ecl-fact-figures' },\n  { module: 'EclIconComponentModule', importObj: 'EUI_ECL_ICON', importLocation: '@eui/ecl/components/ecl-icon' },\n  { module: 'EclLinkDirectiveModule', importObj: 'EUI_ECL_LINK', importLocation: '@eui/ecl/components/ecl-link' },\n  { module: 'EclBreadcrumbComponentModule', importObj: 'EUI_ECL_BREADCRUMB', importLocation: '@eui/ecl/components/ecl-breadcrumb' },\n  { module: 'EclPageHeaderComponentModule', importObj: 'EUI_ECL_PAGE_HEADER', importLocation: '@eui/ecl/components/ecl-page-header' },\n  { module: 'EclAccordionComponentModule', importObj: 'EUI_ECL_ACCORDION', importLocation: '@eui/ecl/components/ecl-accordion' },\n  { module: 'EclAccordionToggleEvent', importObj: 'EclAccordionToggleEvent', importLocation: '@eui/ecl/components/ecl-accordion', cmpArray: false },\n  // EUI components\n  { module: 'EuiLayoutModule', importObj: 'EUI_LAYOUT', importLocation: '@eui/components/layout' },\n  { module: 'EuiGrowlModule', importObj: 'EUI_GROWL', importLocation: '@eui/components/eui-growl' },\n  { selectorPrefix: 'eui-page', module: 'EuiPageModule', importObj: 'EUI_PAGE', importLocation: '@eui/components/eui-page' },\n  { selectorPrefix: 'eui-card', module: 'EuiCardModule', importObj: 'EUI_CARD', importLocation: '@eui/components/eui-card' },\n  { module: 'EuiSelectModule', importObj: 'EUI_SELECT', importLocation: '@eui/components/eui-select' },\n  { module: 'EuiDialogModule', importObj: 'EUI_DIALOG', importLocation: '@eui/components/eui-dialog' },\n  { module: 'EuiChipModule', importObj: 'EUI_CHIP', importLocation: '@eui/components/eui-chip' },\n  { module: 'EuiChipListModule', importObj: 'EUI_CHIP_LIST', importLocation: '@eui/components/eui-chip-list' },\n  { module: 'EuiInputGroupModule', importObj: 'EUI_INPUT_GROUP', importLocation: '@eui/components/eui-input-group' },\n  { selectorPrefix: 'eui-icon-svg', module: 'EuiIconModule', importObj: 'EUI_ICON', importLocation: '@eui/components/eui-icon' },\n  { module: 'EuiMessageBoxModule', importObj: 'EUI_MESSAGE_BOX', importLocation: '@eui/components/eui-message-box' },\n  { module: 'EuiListModule', importObj: 'EUI_LIST', importLocation: '@eui/components/eui-list' },\n  { module: 'EuiAutocompleteModule', importObj: 'EUI_AUTOCOMPLETE', importLocation: '@eui/components/eui-autocomplete' },\n  { module: 'EuiLabelModule', importObj: 'EUI_LABEL', importLocation: '@eui/components/eui-label' },\n  { module: 'EuiButtonModule', importObj: 'EUI_BUTTON', importLocation: '@eui/components/eui-button' },\n  { module: 'EuiBadgeModule', importObj: 'EUI_BADGE', importLocation: '@eui/components/eui-badge' },\n  { module: 'EuiInputTextModule', importObj: 'EUI_INPUT_TEXT', importLocation: '@eui/components/eui-input-text' },\n  { module: 'EuiInputCheckboxModule', importObj: 'EUI_INPUT_CHECKBOX', importLocation: '@eui/components/eui-input-checkbox' },\n  { module: 'EuiDatepickerModule', importObj: 'EUI_DATEPICKER', importLocation: '@eui/components/eui-datepicker' },\n  { module: 'EuiDisableContentModule', importObj: 'EUI_DISABLE_CONTENT', importLocation: '@eui/components/eui-disable-content' },\n  { selectorPrefix: 'eui-table', module: 'EuiTableModule', importObj: 'EUI_TABLE', importLocation: '@eui/components/eui-table' },\n  { module: 'EuiTableV2Module', importObj: 'EUI_TABLE', importLocation: '@eui/components/eui-table' },\n  { selectorPrefix: 'eui-paginator', module: 'EuiPaginatorModule', importObj: 'EUI_PAGINATOR', importLocation: '@eui/components/eui-paginator' },\n  { selectorPrefix: 'eui-feedback-message', module: 'EuiFeedbackMessageModule', importObj: 'EUI_FEEDBACK_MESSAGE', importLocation: '@eui/components/eui-feedback-message' },\n  { module: 'EuiTextAreaModule', importObj: 'EUI_TEXTAREA', importLocation: '@eui/components/eui-textarea' },\n  { module: 'EuiDropdownModule', importObj: 'EUI_DROPDOWN', importLocation: '@eui/components/eui-dropdown' },\n  { module: 'EuiAlertModule', importObj: 'EUI_ALERT', importLocation: '@eui/components/eui-alert' },\n  { module: 'EuiSlideToggleModule', importObj: 'EUI_SLIDE_TOGGLE', importLocation: '@eui/components/eui-slide-toggle' },\n  { module: 'EuiInputRadioModule', importObj: 'EUI_INPUT_RADIO', importLocation: '@eui/components/eui-input-radio' },\n  { module: 'EuiButtonGroupModule', importObj: 'EUI_BUTTON_GROUP', importLocation: '@eui/components/eui-button-group' },\n  { module: 'EuiFieldsetModule', importObj: 'EUI_FIELDSET', importLocation: '@eui/components/eui-fieldset' },\n  { module: 'EuiSidebarMenuModule', importObj: 'EUI_SIDEBAR_MENU', importLocation: '@eui/components/eui-sidebar-menu' },\n  { module: 'EuiIconToggleModule', importObj: 'EUI_ICON_TOGGLE', importLocation: '@eui/components/eui-icon-toggle' },\n  { module: 'EuiTreeModule', importObj: 'EUI_TREE', importLocation: '@eui/components/eui-tree' },\n  { module: 'EuiWizardModule', importObj: 'EUI_WIZARD', importLocation: '@eui/components/eui-wizard' },\n  { module: 'EuiPopoverModule', importObj: 'EUI_POPOVER', importLocation: '@eui/components/eui-popover' },\n  { module: 'EuiBlockContentModule', importObj: 'EUI_BLOCK_CONTENT', importLocation: '@eui/components/eui-block-content' },\n  { module: 'EuiDateRangeSelectorModule', importObj: 'EUI_DATE_RANGE_SELECTOR', importLocation: '@eui/components/eui-date-range-selector' },\n  { module: 'EuiFileUploadModule', importObj: 'EUI_FILE_UPLOAD', importLocation: '@eui/components/eui-file-upload' },\n  { selectorPrefix: 'eui-tab', module: 'EuiTabsModule', importObj: 'EUI_TABS', importLocation: '@eui/components/eui-tabs' },\n  { module: 'EuiTimepickerModule', importObj: 'EUI_TIMEPICKER', importLocation: '@eui/components/eui-timepicker' },\n  { module: 'EuiOverlayModule', importObj: 'EUI_OVERLAY', importLocation: '@eui/components/eui-overlay' },\n  { module: 'EuiProgressBarModule', importObj: 'EUI_PROGRESS_BAR', importLocation: '@eui/components/eui-progress-bar' },\n  { module: 'EuiTreeListModule', importObj: 'EUI_TREE_LIST', importLocation: '@eui/components/eui-tree-list' },\n  { module: 'EuiBreadcrumbModule', importObj: 'EUI_BREADCRUMB', importLocation: '@eui/components/eui-breadcrumb' },\n  { module: 'EuiProgressCircleModule', importObj: 'EUI_PROGRESS_CIRCLE', importLocation: '@eui/components/eui-progress-circle' },\n  { module: 'EuiSkeletonModule', importObj: 'EUI_SKELETON', importLocation: '@eui/components/eui-skeleton' },\n  { module: 'EuiAvatarModule', importObj: 'EUI_AVATAR', importLocation: '@eui/components/eui-avatar' },\n  { module: 'EuiIconButtonModule', importObj: 'EUI_ICON_BUTTON', importLocation: '@eui/components/eui-icon-button' },\n  { module: 'EuiUserProfileModule', importObj: 'EUI_USER_PROFILE', importLocation: '@eui/components/eui-user-profile' },\n  { module: 'EuiInputNumberModule', importObj: 'EUI_INPUT_NUMBER', importLocation: '@eui/components/eui-input-number' },\n  { module: 'EuiInputNumberDirectiveModule', importObj: 'EUI_INPUT_NUMBER', importLocation: '@eui/components/eui-input-number' },\n  { module: 'EuiDashboardCardModule', importObj: 'EUI_DASHBOARD_CARD', importLocation: '@eui/components/eui-dashboard-card' },\n  { module: 'EuiMenuModule', importObj: 'EUI_MENU', importLocation: '@eui/components/eui-menu' },\n  { module: 'EuiChartsModule', importObj: 'EUI_CHARTS', importLocation: '@eui/components/externals/charts' },\n  { module: 'EuiChipGroupModule', importObj: 'EUI_CHIP_GROUP', importLocation: '@eui/components/eui-chip-group' },\n  { module: 'EuiTimelineModule', importObj: 'EUI_TIMELINE', importLocation: '@eui/components/eui-timeline' },\n  { selectorPrefix: 'eui-discussion-thread', module: 'EuiDiscussionThreadModule', importObj: 'EUI_DISCUSSION_THREAD', importLocation: '@eui/components/eui-discussion-thread' },\n  { module: 'EuiDashboardButtonModule', importObj: 'EUI_DASHBOARD_CARD', importLocation: '@eui/components/eui-dashboard-card' },\n  // Directives and pipes (cmpArray: false means no spread)\n  { module: 'EuiTooltipDirectiveModule', importObj: 'EuiTooltipDirective', importLocation: '@eui/components/directives', cmpArray: false },\n  { module: 'EuiTemplateDirectiveModule', importObj: 'EuiTemplateDirective', importLocation: '@eui/components/directives', cmpArray: false },\n  { module: 'EuiResizableDirectiveModule', importObj: 'EuiResizableDirective', importLocation: '@eui/components/directives', cmpArray: false },\n  { module: 'EuiMaxLengthDirectiveModule', importObj: 'EuiMaxLengthDirective', importLocation: '@eui/components/directives', cmpArray: false },\n  { module: 'EuiTruncatePipeModule', importObj: 'EuiTruncatePipe', importLocation: '@eui/components/pipes', cmpArray: false },\n  { module: 'EuiDropdownTreeDirectiveModule', importObj: 'EuiDropdownTreeDirective', importLocation: '@eui/components/eui-tree', cmpArray: false },\n]",
                    "rawdescription": "Full mapping of old EUI/ECL modules to their new standalone import equivalents.\nPorted from csdr-engine/migrate/index.js euiComponentsBase.",
                    "description": "<p>Full mapping of old EUI/ECL modules to their new standalone import equivalents.\nPorted from csdr-engine/migrate/index.js euiComponentsBase.</p>\n"
                }
            ],
            "packages/core/src/lib/services/eui-timezone.service.ts": [
                {
                    "name": "EUI_COUNTRIES",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/eui-timezone.service.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "object",
                    "defaultValue": "{\n    AF: 'Afghanistan',\n    AX: 'Aland Islands',\n    AL: 'Albania',\n    DZ: 'Algeria',\n    AS: 'American Samoa',\n    AD: 'Andorra',\n    AO: 'Angola',\n    AI: 'Anguilla',\n    AQ: 'Antarctica',\n    AG: 'Antigua and Barbuda',\n    AR: 'Argentina',\n    AM: 'Armenia',\n    AW: 'Aruba',\n    AU: 'Australia',\n    AT: 'Austria',\n    AZ: 'Azerbaijan',\n    BS: 'Bahamas',\n    BH: 'Bahrain',\n    BD: 'Bangladesh',\n    BB: 'Barbados',\n    BY: 'Belarus',\n    BE: 'Belgium',\n    BZ: 'Belize',\n    BJ: 'Benin',\n    BM: 'Bermuda',\n    BT: 'Bhutan',\n    BO: 'Bolivia',\n    BA: 'Bosnia and Herzegovina',\n    BW: 'Botswana',\n    BV: 'Bouvet Island',\n    BR: 'Brazil',\n    VG: 'British Virgin Islands',\n    IO: 'British Indian Ocean Territory',\n    BN: 'Brunei Darussalam',\n    BG: 'Bulgaria',\n    BF: 'Burkina Faso',\n    BI: 'Burundi',\n    KH: 'Cambodia',\n    CM: 'Cameroon',\n    CA: 'Canada',\n    CV: 'Cape Verde',\n    KY: 'Cayman Islands',\n    CF: 'Central African Republic',\n    TD: 'Chad',\n    CL: 'Chile',\n    CN: 'China',\n    HK: 'Hong Kong',\n    MO: 'Macao',\n    CX: 'Christmas Island',\n    CC: 'Cocos (Keeling) Islands',\n    CO: 'Colombia',\n    KM: 'Comoros',\n    CG: 'Congo (Brazzaville)',\n    CD: 'Congo, (Kinshasa)',\n    CK: 'Cook Islands',\n    CR: 'Costa Rica',\n    CI: \"Côte d'Ivoire\",\n    HR: 'Croatia',\n    CU: 'Cuba',\n    CY: 'Cyprus',\n    CZ: 'Czech Republic',\n    DK: 'Denmark',\n    DJ: 'Djibouti',\n    DM: 'Dominica',\n    DO: 'Dominican Republic',\n    EC: 'Ecuador',\n    EG: 'Egypt',\n    SV: 'El Salvador',\n    GQ: 'Equatorial Guinea',\n    ER: 'Eritrea',\n    EE: 'Estonia',\n    ET: 'Ethiopia',\n    FK: 'Falkland Islands (Malvinas)',\n    FO: 'Faroe Islands',\n    FJ: 'Fiji',\n    FI: 'Finland',\n    FR: 'France',\n    GF: 'French Guiana',\n    PF: 'French Polynesia',\n    TF: 'French Southern Territories',\n    GA: 'Gabon',\n    GM: 'Gambia',\n    GE: 'Georgia',\n    DE: 'Germany',\n    GH: 'Ghana',\n    GI: 'Gibraltar',\n    GR: 'Greece',\n    GL: 'Greenland',\n    GD: 'Grenada',\n    GP: 'Guadeloupe',\n    GU: 'Guam',\n    GT: 'Guatemala',\n    GG: 'Guernsey',\n    GN: 'Guinea',\n    GW: 'Guinea-Bissau',\n    GY: 'Guyana',\n    HT: 'Haiti',\n    HM: 'Heard and Mcdonald Islands',\n    VA: 'Vatican City State',\n    HN: 'Honduras',\n    HU: 'Hungary',\n    IS: 'Iceland',\n    IN: 'India',\n    ID: 'Indonesia',\n    IR: 'Iran',\n    IQ: 'Iraq',\n    IE: 'Ireland',\n    IM: 'Isle of Man',\n    IL: 'Israel',\n    IT: 'Italy',\n    JM: 'Jamaica',\n    JP: 'Japan',\n    JE: 'Jersey',\n    JO: 'Jordan',\n    KZ: 'Kazakhstan',\n    KE: 'Kenya',\n    KI: 'Kiribati',\n    KP: 'Korea (North)',\n    KR: 'Korea (South)',\n    KW: 'Kuwait',\n    KG: 'Kyrgyzstan',\n    LA: 'Lao PDR',\n    LV: 'Latvia',\n    LB: 'Lebanon',\n    LS: 'Lesotho',\n    LR: 'Liberia',\n    LY: 'Libya',\n    LI: 'Liechtenstein',\n    LT: 'Lithuania',\n    LU: 'Luxembourg',\n    MK: 'Macedonia',\n    MG: 'Madagascar',\n    MW: 'Malawi',\n    MY: 'Malaysia',\n    MV: 'Maldives',\n    ML: 'Mali',\n    MT: 'Malta',\n    MH: 'Marshall Islands',\n    MQ: 'Martinique',\n    MR: 'Mauritania',\n    MU: 'Mauritius',\n    YT: 'Mayotte',\n    MX: 'Mexico',\n    FM: 'Micronesia',\n    MD: 'Moldova',\n    MC: 'Monaco',\n    MN: 'Mongolia',\n    ME: 'Montenegro',\n    MS: 'Montserrat',\n    MA: 'Morocco',\n    MZ: 'Mozambique',\n    MM: 'Myanmar',\n    NA: 'Namibia',\n    NR: 'Nauru',\n    NP: 'Nepal',\n    NL: 'Netherlands',\n    AN: 'Netherlands Antilles',\n    NC: 'New Caledonia',\n    NZ: 'New Zealand',\n    NI: 'Nicaragua',\n    NE: 'Niger',\n    NG: 'Nigeria',\n    NU: 'Niue',\n    NF: 'Norfolk Island',\n    MP: 'Northern Mariana Islands',\n    NO: 'Norway',\n    OM: 'Oman',\n    PK: 'Pakistan',\n    PW: 'Palau',\n    PS: 'Palestinian Territory',\n    PA: 'Panama',\n    PG: 'Papua New Guinea',\n    PY: 'Paraguay',\n    PE: 'Peru',\n    PH: 'Philippines',\n    PN: 'Pitcairn',\n    PL: 'Poland',\n    PT: 'Portugal',\n    PR: 'Puerto Rico',\n    QA: 'Qatar',\n    RE: 'Réunion',\n    RO: 'Romania',\n    RU: 'Russian Federation',\n    RW: 'Rwanda',\n    BL: 'Saint-Barthélemy',\n    SH: 'Saint Helena',\n    KN: 'Saint Kitts and Nevis',\n    LC: 'Saint Lucia',\n    MF: 'Saint-Martin (French part)',\n    PM: 'Saint Pierre and Miquelon',\n    VC: 'Saint Vincent and Grenadines',\n    WS: 'Samoa',\n    SM: 'San Marino',\n    ST: 'Sao Tome and Principe',\n    SA: 'Saudi Arabia',\n    SN: 'Senegal',\n    RS: 'Serbia',\n    SC: 'Seychelles',\n    SL: 'Sierra Leone',\n    SG: 'Singapore',\n    SK: 'Slovakia',\n    SI: 'Slovenia',\n    SB: 'Solomon Islands',\n    SO: 'Somalia',\n    ZA: 'South Africa',\n    GS: 'South Georgia and the South Sandwich Islands',\n    SS: 'South Sudan',\n    ES: 'Spain',\n    LK: 'Sri Lanka',\n    SD: 'Sudan',\n    SR: 'Suriname',\n    SJ: 'Svalbard and Jan Mayen Islands',\n    SZ: 'Swaziland',\n    SE: 'Sweden',\n    CH: 'Switzerland',\n    SY: 'Syria',\n    TW: 'Taiwan',\n    TJ: 'Tajikistan',\n    TZ: 'Tanzania',\n    TH: 'Thailand',\n    TL: 'Timor-Leste',\n    TG: 'Togo',\n    TK: 'Tokelau',\n    TO: 'Tonga',\n    TT: 'Trinidad and Tobago',\n    TN: 'Tunisia',\n    TR: 'Turkey',\n    TM: 'Turkmenistan',\n    TC: 'Turks and Caicos Islands',\n    TV: 'Tuvalu',\n    UG: 'Uganda',\n    UA: 'Ukraine',\n    AE: 'United Arab Emirates',\n    GB: 'United Kingdom (GB)',\n    US: 'United States of America (USA)',\n    UM: 'US Minor Outlying Islands',\n    UY: 'Uruguay',\n    UZ: 'Uzbekistan',\n    VU: 'Vanuatu',\n    VE: 'Venezuela',\n    VN: 'Viet Nam',\n    VI: 'Virgin Islands, US',\n    WF: 'Wallis and Futuna Islands',\n    EH: 'Western Sahara',\n    YE: 'Yemen',\n    ZM: 'Zambia',\n    ZW: 'Zimbabwe',\n}"
                },
                {
                    "name": "EUI_TIMEZONES",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/eui-timezone.service.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiTimeZone[]",
                    "defaultValue": "[\n    { name: 'Europe/Andorra', desc: 'Andorra - Andorra (GMT+02:00)' },\n    { name: 'Asia/Dubai', desc: 'United Arab Emirates - Dubai (GMT+04:00)' },\n    { name: 'Asia/Kabul', desc: 'Afghanistan - Kabul (GMT+04:30)' },\n    { name: 'America/Antigua', desc: 'Antigua and Barbuda - Antigua (GMT-04:00)' },\n    { name: 'America/Anguilla', desc: 'Anguilla - Anguilla (GMT-04:00)' },\n    { name: 'Europe/Tirane', desc: 'Albania - Tirane (GMT+02:00)' },\n    { name: 'Asia/Yerevan', desc: 'Armenia - Yerevan (GMT+04:00)' },\n    { name: 'Africa/Luanda', desc: 'Angola - Luanda (GMT+01:00)' },\n    { name: 'Antarctica/McMurdo', desc: 'Antarctica - McMurdo (GMT+12:00)' },\n    { name: 'Antarctica/Rothera', desc: 'Antarctica - Rothera (GMT-03:00)' },\n    { name: 'Antarctica/Palmer', desc: 'Antarctica - Palmer (GMT-03:00)' },\n    { name: 'Antarctica/Mawson', desc: 'Antarctica - Mawson (GMT+05:00)' },\n    { name: 'Antarctica/Davis', desc: 'Antarctica - Davis (GMT+07:00)' },\n    { name: 'Antarctica/Casey', desc: 'Antarctica - Casey (GMT+08:00)' },\n    { name: 'Antarctica/Vostok', desc: 'Antarctica - Vostok (GMT+06:00)' },\n    { name: 'Antarctica/DumontDUrville', desc: 'Antarctica - DumontDUrville (GMT+10:00)' },\n    { name: 'Antarctica/Syowa', desc: 'Antarctica - Syowa (GMT+03:00)' },\n    { name: 'Antarctica/Troll', desc: 'Antarctica - Troll (GMT+02:00)' },\n    { name: 'America/Argentina/Buenos_Aires', desc: 'Argentina - Buenos Aires (GMT-03:00)' },\n    { name: 'America/Argentina/Cordoba', desc: 'Argentina - Cordoba (GMT-03:00)' },\n    { name: 'America/Argentina/Salta', desc: 'Argentina - Salta (GMT-03:00)' },\n    { name: 'America/Argentina/Jujuy', desc: 'Argentina - Jujuy (GMT-03:00)' },\n    { name: 'America/Argentina/Tucuman', desc: 'Argentina - Tucuman (GMT-03:00)' },\n    { name: 'America/Argentina/Catamarca', desc: 'Argentina - Catamarca (GMT-03:00)' },\n    { name: 'America/Argentina/La_Rioja', desc: 'Argentina - La Rioja (GMT-03:00)' },\n    { name: 'America/Argentina/San_Juan', desc: 'Argentina - San Juan (GMT-03:00)' },\n    { name: 'America/Argentina/Mendoza', desc: 'Argentina - Mendoza (GMT-03:00)' },\n    { name: 'America/Argentina/San_Luis', desc: 'Argentina - San Luis (GMT-03:00)' },\n    { name: 'America/Argentina/Rio_Gallegos', desc: 'Argentina - Rio Gallegos (GMT-03:00)' },\n    { name: 'America/Argentina/Ushuaia', desc: 'Argentina - Ushuaia (GMT-03:00)' },\n    { name: 'Pacific/Pago_Pago', desc: 'American Samoa - Pago Pago (GMT-11:00)' },\n    { name: 'Pacific/Samoa', desc: 'American Samoa - Samoa (GMT-11:00)' },\n    { name: 'Europe/Vienna', desc: 'Austria - Vienna (GMT+02:00)' },\n    { name: 'Australia/Lord_Howe', desc: 'Australia - Lord Howe (GMT+10:30)' },\n    { name: 'Antarctica/Macquarie', desc: 'Australia - Macquarie (GMT+11:00)' },\n    { name: 'Australia/Hobart', desc: 'Australia - Hobart (GMT+10:00)' },\n    { name: 'Australia/Currie', desc: 'Australia - Currie (GMT+10:00)' },\n    { name: 'Australia/Melbourne', desc: 'Australia - Melbourne (GMT+10:00)' },\n    { name: 'Australia/Sydney', desc: 'Australia - Sydney (GMT+10:00)' },\n    { name: 'Australia/Broken_Hill', desc: 'Australia - Broken Hill (GMT+09:30)' },\n    { name: 'Australia/Brisbane', desc: 'Australia - Brisbane (GMT+10:00)' },\n    { name: 'Australia/Lindeman', desc: 'Australia - Lindeman (GMT+10:00)' },\n    { name: 'Australia/Adelaide', desc: 'Australia - Adelaide (GMT+09:30)' },\n    { name: 'Australia/Darwin', desc: 'Australia - Darwin (GMT+09:30)' },\n    { name: 'Australia/Perth', desc: 'Australia - Perth (GMT+08:00)' },\n    { name: 'Australia/Eucla', desc: 'Australia - Eucla (GMT+08:45)' },\n    { name: 'Australia/Canberra', desc: 'Australia - Canberra (GMT+10:00)' },\n    { name: 'Australia/Queensland', desc: 'Australia - Queensland (GMT+10:00)' },\n    { name: 'Australia/Tasmania', desc: 'Australia - Tasmania (GMT+10:00)' },\n    { name: 'Australia/Victoria', desc: 'Australia - Victoria (GMT+10:00)' },\n    { name: 'America/Aruba', desc: 'Aruba - Aruba (GMT-04:00)' },\n    { name: 'Europe/Mariehamn', desc: 'Aland Islands - Mariehamn (GMT+03:00)' },\n    { name: 'Asia/Baku', desc: 'Azerbaijan - Baku (GMT+04:00)' },\n    { name: 'Europe/Sarajevo', desc: 'Bosnia and Herzegovina - Sarajevo (GMT+02:00)' },\n    { name: 'America/Barbados', desc: 'Barbados - Barbados (GMT-04:00)' },\n    { name: 'Asia/Dhaka', desc: 'Bangladesh - Dhaka (GMT+06:00)' },\n    { name: 'Europe/Brussels', desc: 'Belgium - Brussels (GMT+02:00)' },\n    { name: 'Africa/Ouagadougou', desc: 'Burkina Faso - Ouagadougou (GMT+00:00)' },\n    { name: 'Europe/Sofia', desc: 'Bulgaria - Sofia (GMT+03:00)' },\n    { name: 'Asia/Bahrain', desc: 'Bahrain - Bahrain (GMT+03:00)' },\n    { name: 'Africa/Bujumbura', desc: 'Burundi - Bujumbura (GMT+02:00)' },\n    { name: 'Africa/Porto-Novo', desc: 'Benin - Porto-Novo (GMT+01:00)' },\n    { name: 'America/St_Barthelemy', desc: 'Saint-Barthélemy - St Barthelemy (GMT-04:00)' },\n    { name: 'Atlantic/Bermuda', desc: 'Bermuda - Bermuda (GMT-03:00)' },\n    { name: 'Asia/Brunei', desc: 'Brunei Darussalam - Brunei (GMT+08:00)' },\n    { name: 'America/La_Paz', desc: 'Bolivia - La Paz (GMT-04:00)' },\n    { name: 'America/Kralendijk', desc: 'BQ - Kralendijk (GMT-04:00)' },\n    { name: 'America/Noronha', desc: 'Brazil - Noronha (GMT-02:00)' },\n    { name: 'America/Belem', desc: 'Brazil - Belem (GMT-03:00)' },\n    { name: 'America/Fortaleza', desc: 'Brazil - Fortaleza (GMT-03:00)' },\n    { name: 'America/Recife', desc: 'Brazil - Recife (GMT-03:00)' },\n    { name: 'America/Araguaina', desc: 'Brazil - Araguaina (GMT-03:00)' },\n    { name: 'America/Maceio', desc: 'Brazil - Maceio (GMT-03:00)' },\n    { name: 'America/Bahia', desc: 'Brazil - Bahia (GMT-03:00)' },\n    { name: 'America/Sao_Paulo', desc: 'Brazil - Sao Paulo (GMT-03:00)' },\n    { name: 'America/Campo_Grande', desc: 'Brazil - Campo Grande (GMT-04:00)' },\n    { name: 'America/Cuiaba', desc: 'Brazil - Cuiaba (GMT-04:00)' },\n    { name: 'America/Santarem', desc: 'Brazil - Santarem (GMT-03:00)' },\n    { name: 'America/Porto_Velho', desc: 'Brazil - Porto Velho (GMT-04:00)' },\n    { name: 'America/Boa_Vista', desc: 'Brazil - Boa Vista (GMT-04:00)' },\n    { name: 'America/Manaus', desc: 'Brazil - Manaus (GMT-04:00)' },\n    { name: 'America/Eirunepe', desc: 'Brazil - Eirunepe (GMT-05:00)' },\n    { name: 'America/Rio_Branco', desc: 'Brazil - Rio Branco (GMT-05:00)' },\n    { name: 'America/Nassau', desc: 'Bahamas - Nassau (GMT-04:00)' },\n    { name: 'Asia/Thimphu', desc: 'Bhutan - Thimphu (GMT+06:00)' },\n    { name: 'Africa/Gaborone', desc: 'Botswana - Gaborone (GMT+02:00)' },\n    { name: 'Europe/Minsk', desc: 'Belarus - Minsk (GMT+03:00)' },\n    { name: 'America/Belize', desc: 'Belize - Belize (GMT-06:00)' },\n    { name: 'America/St_Johns', desc: 'Canada - St Johns (GMT-02:30)' },\n    { name: 'America/Halifax', desc: 'Canada - Halifax (GMT-03:00)' },\n    { name: 'America/Glace_Bay', desc: 'Canada - Glace Bay (GMT-03:00)' },\n    { name: 'America/Moncton', desc: 'Canada - Moncton (GMT-03:00)' },\n    { name: 'America/Goose_Bay', desc: 'Canada - Goose Bay (GMT-03:00)' },\n    { name: 'America/Blanc-Sablon', desc: 'Canada - Blanc-Sablon (GMT-04:00)' },\n    { name: 'America/Toronto', desc: 'Canada - Toronto (GMT-04:00)' },\n    { name: 'America/Nipigon', desc: 'Canada - Nipigon (GMT-04:00)' },\n    { name: 'America/Thunder_Bay', desc: 'Canada - Thunder Bay (GMT-04:00)' },\n    { name: 'America/Iqaluit', desc: 'Canada - Iqaluit (GMT-04:00)' },\n    { name: 'America/Pangnirtung', desc: 'Canada - Pangnirtung (GMT-04:00)' },\n    { name: 'America/Resolute', desc: 'Canada - Resolute (GMT-05:00)' },\n    { name: 'America/Atikokan', desc: 'Canada - Atikokan (GMT-05:00)' },\n    { name: 'America/Rankin_Inlet', desc: 'Canada - Rankin Inlet (GMT-05:00)' },\n    { name: 'America/Winnipeg', desc: 'Canada - Winnipeg (GMT-05:00)' },\n    { name: 'America/Rainy_River', desc: 'Canada - Rainy River (GMT-05:00)' },\n    { name: 'America/Regina', desc: 'Canada - Regina (GMT-06:00)' },\n    { name: 'America/Swift_Current', desc: 'Canada - Swift Current (GMT-06:00)' },\n    { name: 'America/Edmonton', desc: 'Canada - Edmonton (GMT-06:00)' },\n    { name: 'America/Cambridge_Bay', desc: 'Canada - Cambridge Bay (GMT-06:00)' },\n    { name: 'America/Yellowknife', desc: 'Canada - Yellowknife (GMT-06:00)' },\n    { name: 'America/Inuvik', desc: 'Canada - Inuvik (GMT-06:00)' },\n    { name: 'America/Creston', desc: 'Canada - Creston (GMT-07:00)' },\n    { name: 'America/Dawson_Creek', desc: 'Canada - Dawson Creek (GMT-07:00)' },\n    { name: 'America/Vancouver', desc: 'Canada - Vancouver (GMT-07:00)' },\n    { name: 'America/Whitehorse', desc: 'Canada - Whitehorse (GMT-07:00)' },\n    { name: 'America/Dawson', desc: 'Canada - Dawson (GMT-07:00)' },\n    { name: 'America/Montreal', desc: 'Canada - Montreal (GMT-04:00)' },\n    { name: 'Canada/Atlantic', desc: 'Canada - Atlantic (GMT-03:00)' },\n    { name: 'Canada/Central', desc: 'Canada - Central (GMT-05:00)' },\n    { name: 'Canada/Eastern', desc: 'Canada - Eastern (GMT-04:00)' },\n    { name: 'Canada/Mountain', desc: 'Canada - Mountain (GMT-06:00)' },\n    { name: 'Canada/Newfoundland', desc: 'Canada - Newfoundland (GMT-02:30)' },\n    { name: 'Canada/Pacific', desc: 'Canada - Pacific (GMT-07:00)' },\n    { name: 'Canada/Saskatchewan', desc: 'Canada - Saskatchewan (GMT-06:00)' },\n    { name: 'Canada/Yukon', desc: 'Canada - Yukon (GMT-07:00)' },\n    { name: 'Indian/Cocos', desc: 'Cocos (Keeling) Islands - Cocos (GMT+06:30)' },\n    { name: 'Africa/Kinshasa', desc: 'Congo, (Kinshasa) - Kinshasa (GMT+01:00)' },\n    { name: 'Africa/Lubumbashi', desc: 'Congo, (Kinshasa) - Lubumbashi (GMT+02:00)' },\n    { name: 'Africa/Bangui', desc: 'Central African Republic - Bangui (GMT+01:00)' },\n    { name: 'Africa/Brazzaville', desc: 'Congo (Brazzaville) - Brazzaville (GMT+01:00)' },\n    { name: 'Europe/Zurich', desc: 'Switzerland - Zurich (GMT+02:00)' },\n    { name: 'Africa/Abidjan', desc: \"Côte d'Ivoire - Abidjan (GMT+00:00)\" },\n    { name: 'Pacific/Rarotonga', desc: 'Cook Islands - Rarotonga (GMT-10:00)' },\n    { name: 'America/Santiago', desc: 'Chile - Santiago (GMT-04:00)' },\n    { name: 'Pacific/Easter', desc: 'Chile - Easter (GMT-06:00)' },\n    { name: 'Chile/Continental', desc: 'Chile - Continental (GMT-04:00)' },\n    { name: 'Chile/EasterIsland', desc: 'Chile - EasterIsland (GMT-06:00)' },\n    { name: 'Africa/Douala', desc: 'Cameroon - Douala (GMT+01:00)' },\n    { name: 'Asia/Shanghai', desc: 'China - Shanghai (GMT+08:00)' },\n    { name: 'Asia/Harbin', desc: 'China - Harbin (GMT+08:00)' },\n    { name: 'Asia/Chongqing', desc: 'China - Chongqing (GMT+08:00)' },\n    { name: 'Asia/Urumqi', desc: 'China - Urumqi (GMT+06:00)' },\n    { name: 'Asia/Kashgar', desc: 'China - Kashgar (GMT+06:00)' },\n    { name: 'America/Bogota', desc: 'Colombia - Bogota (GMT-05:00)' },\n    { name: 'America/Costa_Rica', desc: 'Costa Rica - Costa Rica (GMT-06:00)' },\n    { name: 'America/Havana', desc: 'Cuba - Havana (GMT-04:00)' },\n    { name: 'Atlantic/Cape_Verde', desc: 'Cape Verde - Cape Verde (GMT-01:00)' },\n    { name: 'America/Curacao', desc: 'CW - Curacao (GMT-04:00)' },\n    { name: 'Indian/Christmas', desc: 'Christmas Island - Christmas (GMT+07:00)' },\n    { name: 'Asia/Nicosia', desc: 'Cyprus - Nicosia (GMT+03:00)' },\n    { name: 'Europe/Prague', desc: 'Czech Republic - Prague (GMT+02:00)' },\n    { name: 'Europe/Berlin', desc: 'Germany - Berlin (GMT+02:00)' },\n    { name: 'Africa/Djibouti', desc: 'Djibouti - Djibouti (GMT+03:00)' },\n    { name: 'Europe/Copenhagen', desc: 'Denmark - Copenhagen (GMT+02:00)' },\n    { name: 'America/Dominica', desc: 'Dominica - Dominica (GMT-04:00)' },\n    { name: 'America/Santo_Domingo', desc: 'Dominican Republic - Santo Domingo (GMT-04:00)' },\n    { name: 'Africa/Algiers', desc: 'Algeria - Algiers (GMT+01:00)' },\n    { name: 'America/Guayaquil', desc: 'Ecuador - Guayaquil (GMT-05:00)' },\n    { name: 'Pacific/Galapagos', desc: 'Ecuador - Galapagos (GMT-06:00)' },\n    { name: 'Europe/Tallinn', desc: 'Estonia - Tallinn (GMT+03:00)' },\n    { name: 'Egypt', desc: 'Egypt - Egypt (GMT+02:00)' },\n    { name: 'Africa/El_Aaiun', desc: 'Western Sahara - El Aaiun (GMT+00:00)' },\n    { name: 'Africa/Asmara', desc: 'Eritrea - Asmara (GMT+03:00)' },\n    { name: 'Europe/Madrid', desc: 'Spain - Madrid (GMT+02:00)' },\n    { name: 'Africa/Ceuta', desc: 'Spain - Ceuta (GMT+02:00)' },\n    { name: 'Atlantic/Canary', desc: 'Spain - Canary (GMT+01:00)' },\n    { name: 'Africa/Addis_Ababa', desc: 'Ethiopia - Addis Ababa (GMT+03:00)' },\n    { name: 'Europe/Helsinki', desc: 'Finland - Helsinki (GMT+03:00)' },\n    { name: 'Pacific/Fiji', desc: 'Fiji - Fiji (GMT+12:00)' },\n    { name: 'Atlantic/Stanley', desc: 'Falkland Islands (Malvinas) - Stanley (GMT-03:00)' },\n    { name: 'Pacific/Chuuk', desc: 'Micronesia - Chuuk (GMT+10:00)' },\n    { name: 'Pacific/Pohnpei', desc: 'Micronesia - Pohnpei (GMT+11:00)' },\n    { name: 'Pacific/Kosrae', desc: 'Micronesia - Kosrae (GMT+11:00)' },\n    { name: 'Atlantic/Faroe', desc: 'Faroe Islands - Faroe (GMT+01:00)' },\n    { name: 'Europe/Paris', desc: 'France - Paris (GMT+02:00)' },\n    { name: 'Africa/Libreville', desc: 'Gabon - Libreville (GMT+01:00)' },\n    { name: 'Europe/London', desc: 'United Kingdom (GB) - London (GMT+01:00)' },\n    { name: 'America/Grenada', desc: 'Grenada - Grenada (GMT-04:00)' },\n    { name: 'Asia/Tbilisi', desc: 'Georgia - Tbilisi (GMT+04:00)' },\n    { name: 'America/Cayenne', desc: 'French Guiana - Cayenne (GMT-03:00)' },\n    { name: 'Europe/Guernsey', desc: 'Guernsey - Guernsey (GMT+01:00)' },\n    { name: 'Africa/Accra', desc: 'Ghana - Accra (GMT+00:00)' },\n    { name: 'Europe/Gibraltar', desc: 'Gibraltar - Gibraltar (GMT+02:00)' },\n    { name: 'America/Godthab', desc: 'Greenland - Godthab (GMT-02:00)' },\n    { name: 'America/Danmarkshavn', desc: 'Greenland - Danmarkshavn (GMT+00:00)' },\n    { name: 'America/Scoresbysund', desc: 'Greenland - Scoresbysund (GMT+00:00)' },\n    { name: 'America/Thule', desc: 'Greenland - Thule (GMT-03:00)' },\n    { name: 'Africa/Banjul', desc: 'Gambia - Banjul (GMT+00:00)' },\n    { name: 'Africa/Conakry', desc: 'Guinea - Conakry (GMT+00:00)' },\n    { name: 'America/Guadeloupe', desc: 'Guadeloupe - Guadeloupe (GMT-04:00)' },\n    { name: 'Africa/Malabo', desc: 'Equatorial Guinea - Malabo (GMT+01:00)' },\n    { name: 'Europe/Athens', desc: 'Greece - Athens (GMT+03:00)' },\n    { name: 'Atlantic/South_Georgia', desc: 'South Georgia and the South Sandwich Islands - South Georgia (GMT-02:00)' },\n    { name: 'America/Guatemala', desc: 'Guatemala - Guatemala (GMT-06:00)' },\n    { name: 'Pacific/Guam', desc: 'Guam - Guam (GMT+10:00)' },\n    { name: 'Africa/Bissau', desc: 'Guinea-Bissau - Bissau (GMT+00:00)' },\n    { name: 'America/Guyana', desc: 'Guyana - Guyana (GMT-04:00)' },\n    { name: 'Asia/Hong_Kong', desc: 'Hong Kong - Hong Kong (GMT+08:00)' },\n    { name: 'America/Tegucigalpa', desc: 'Honduras - Tegucigalpa (GMT-06:00)' },\n    { name: 'Europe/Zagreb', desc: 'Croatia - Zagreb (GMT+02:00)' },\n    { name: 'America/Port-au-Prince', desc: 'Haiti - Port-au-Prince (GMT-04:00)' },\n    { name: 'Europe/Budapest', desc: 'Hungary - Budapest (GMT+02:00)' },\n    { name: 'Asia/Jakarta', desc: 'Indonesia - Jakarta (GMT+07:00)' },\n    { name: 'Asia/Pontianak', desc: 'Indonesia - Pontianak (GMT+07:00)' },\n    { name: 'Asia/Makassar', desc: 'Indonesia - Makassar (GMT+08:00)' },\n    { name: 'Asia/Jayapura', desc: 'Indonesia - Jayapura (GMT+09:00)' },\n    { name: 'Europe/Dublin', desc: 'Ireland - Dublin (GMT+01:00)' },\n    { name: 'Asia/Jerusalem', desc: 'Israel - Jerusalem (GMT+03:00)' },\n    { name: 'Europe/Isle_of_Man', desc: 'Isle of Man - Isle of_Man (GMT+01:00)' },\n    { name: 'Asia/Kolkata', desc: 'India - Kolkata (GMT+05:30)' },\n    { name: 'Indian/Chagos', desc: 'British Indian Ocean Territory - Chagos (GMT+06:00)' },\n    { name: 'Asia/Baghdad', desc: 'Iraq - Baghdad (GMT+03:00)' },\n    { name: 'Asia/Tehran', desc: 'Iran - Tehran (GMT+04:30)' },\n    { name: 'Atlantic/Reykjavik', desc: 'Iceland - Reykjavik (GMT+00:00)' },\n    { name: 'Europe/Rome', desc: 'Italy - Rome (GMT+02:00)' },\n    { name: 'Europe/Jersey', desc: 'Jersey - Jersey (GMT+01:00)' },\n    { name: 'America/Jamaica', desc: 'Jamaica - Jamaica (GMT-05:00)' },\n    { name: 'Asia/Amman', desc: 'Jordan - Amman (GMT+03:00)' },\n    { name: 'Asia/Tokyo', desc: 'Japan - Tokyo (GMT+09:00)' },\n    { name: 'Africa/Nairobi', desc: 'Kenya - Nairobi (GMT+03:00)' },\n    { name: 'Asia/Bishkek', desc: 'Kyrgyzstan - Bishkek (GMT+06:00)' },\n    { name: 'Asia/Phnom_Penh', desc: 'Cambodia - Phnom Penh (GMT+07:00)' },\n    { name: 'Pacific/Tarawa', desc: 'Kiribati - Tarawa (GMT+12:00)' },\n    { name: 'Pacific/Enderbury', desc: 'Kiribati - Enderbury (GMT+13:00)' },\n    { name: 'Pacific/Kiritimati', desc: 'Kiribati - Kiritimati (GMT+14:00)' },\n    { name: 'Indian/Comoro', desc: 'Comoros - Comoro (GMT+03:00)' },\n    { name: 'America/St_Kitts', desc: 'Saint Kitts and Nevis - St Kitts (GMT-04:00)' },\n    { name: 'Asia/Pyongyang', desc: 'Korea (North) - Pyongyang (GMT+09:00)' },\n    { name: 'Asia/Seoul', desc: 'Korea (South) - Seoul (GMT+09:00)' },\n    { name: 'Asia/Kuwait', desc: 'Kuwait - Kuwait (GMT+03:00)' },\n    { name: 'America/Cayman', desc: 'Cayman Islands - Cayman (GMT-05:00)' },\n    { name: 'Asia/Almaty', desc: 'Kazakhstan - Almaty (GMT+06:00)' },\n    { name: 'Asia/Qyzylorda', desc: 'Kazakhstan - Qyzylorda (GMT+06:00)' },\n    { name: 'Asia/Aqtobe', desc: 'Kazakhstan - Aqtobe (GMT+05:00)' },\n    { name: 'Asia/Aqtau', desc: 'Kazakhstan - Aqtau (GMT+05:00)' },\n    { name: 'Asia/Oral', desc: 'Kazakhstan - Oral (GMT+05:00)' },\n    { name: 'Asia/Vientiane', desc: 'Lao PDR - Vientiane (GMT+07:00)' },\n    { name: 'Asia/Beirut', desc: 'Lebanon - Beirut (GMT+03:00)' },\n    { name: 'America/St_Lucia', desc: 'Saint Lucia - St Lucia (GMT-04:00)' },\n    { name: 'Europe/Vaduz', desc: 'Liechtenstein - Vaduz (GMT+02:00)' },\n    { name: 'Asia/Colombo', desc: 'Sri Lanka - Colombo (GMT+05:30)' },\n    { name: 'Africa/Monrovia', desc: 'Liberia - Monrovia (GMT+00:00)' },\n    { name: 'Africa/Maseru', desc: 'Lesotho - Maseru (GMT+02:00)' },\n    { name: 'Europe/Vilnius', desc: 'Lithuania - Vilnius (GMT+03:00)' },\n    { name: 'Europe/Luxembourg', desc: 'Luxembourg - Luxembourg (GMT+02:00)' },\n    { name: 'Europe/Riga', desc: 'Latvia - Riga (GMT+03:00)' },\n    { name: 'Africa/Tripoli', desc: 'Libya - Tripoli (GMT+02:00)' },\n    { name: 'Africa/Casablanca', desc: 'Morocco - Casablanca (GMT+00:00)' },\n    { name: 'Europe/Monaco', desc: 'Monaco - Monaco (GMT+02:00)' },\n    { name: 'Europe/Chisinau', desc: 'Moldova - Chisinau (GMT+03:00)' },\n    { name: 'Europe/Podgorica', desc: 'Montenegro - Podgorica (GMT+02:00)' },\n    { name: 'America/Marigot', desc: 'Saint-Martin (French part) - Marigot (GMT-04:00)' },\n    { name: 'Indian/Antananarivo', desc: 'Madagascar - Antananarivo (GMT+03:00)' },\n    { name: 'Pacific/Majuro', desc: 'Marshall Islands - Majuro (GMT+12:00)' },\n    { name: 'Pacific/Kwajalein', desc: 'Marshall Islands - Kwajalein (GMT+12:00)' },\n    { name: 'Europe/Skopje', desc: 'Macedonia - Skopje (GMT+02:00)' },\n    { name: 'Africa/Bamako', desc: 'Mali - Bamako (GMT+00:00)' },\n    { name: 'Asia/Rangoon', desc: 'Myanmar - Rangoon (GMT+06:30)' },\n    { name: 'Asia/Ulaanbaatar', desc: 'Mongolia - Ulaanbaatar (GMT+08:00)' },\n    { name: 'Asia/Hovd', desc: 'Mongolia - Hovd (GMT+07:00)' },\n    { name: 'Asia/Choibalsan', desc: 'Mongolia - Choibalsan (GMT+08:00)' },\n    { name: 'Asia/Macau', desc: 'Macao - Macau (GMT+08:00)' },\n    { name: 'Pacific/Saipan', desc: 'Northern Mariana Islands - Saipan (GMT+10:00)' },\n    { name: 'America/Martinique', desc: 'Martinique - Martinique (GMT-04:00)' },\n    { name: 'Africa/Nouakchott', desc: 'Mauritania - Nouakchott (GMT+00:00)' },\n    { name: 'America/Montserrat', desc: 'Montserrat - Montserrat (GMT-04:00)' },\n    { name: 'Europe/Malta', desc: 'Malta - Malta (GMT+02:00)' },\n    { name: 'Indian/Mauritius', desc: 'Mauritius - Mauritius (GMT+04:00)' },\n    { name: 'Indian/Maldives', desc: 'Maldives - Maldives (GMT+05:00)' },\n    { name: 'Africa/Blantyre', desc: 'Malawi - Blantyre (GMT+02:00)' },\n    { name: 'America/Mexico_City', desc: 'Mexico - Mexico City (GMT-05:00)' },\n    { name: 'America/Cancun', desc: 'Mexico - Cancun (GMT-05:00)' },\n    { name: 'America/Merida', desc: 'Mexico - Merida (GMT-05:00)' },\n    { name: 'America/Monterrey', desc: 'Mexico - Monterrey (GMT-05:00)' },\n    { name: 'America/Matamoros', desc: 'Mexico - Matamoros (GMT-05:00)' },\n    { name: 'America/Mazatlan', desc: 'Mexico - Mazatlan (GMT-06:00)' },\n    { name: 'America/Chihuahua', desc: 'Mexico - Chihuahua (GMT-06:00)' },\n    { name: 'America/Ojinaga', desc: 'Mexico - Ojinaga (GMT-06:00)' },\n    { name: 'America/Hermosillo', desc: 'Mexico - Hermosillo (GMT-07:00)' },\n    { name: 'America/Tijuana', desc: 'Mexico - Tijuana (GMT-07:00)' },\n    { name: 'America/Santa_Isabel', desc: 'Mexico - Santa Isabel (GMT-07:00)' },\n    { name: 'America/Bahia_Banderas', desc: 'Mexico - Bahia Banderas (GMT-05:00)' },\n    { name: 'Asia/Kuala_Lumpur', desc: 'Malaysia - Kuala Lumpur (GMT+08:00)' },\n    { name: 'Asia/Kuching', desc: 'Malaysia - Kuching (GMT+08:00)' },\n    { name: 'Africa/Maputo', desc: 'Mozambique - Maputo (GMT+02:00)' },\n    { name: 'Africa/Windhoek', desc: 'Namibia - Windhoek (GMT+02:00)' },\n    { name: 'Pacific/Noumea', desc: 'New Caledonia - Noumea (GMT+11:00)' },\n    { name: 'Africa/Niamey', desc: 'Niger - Niamey (GMT+01:00)' },\n    { name: 'Pacific/Norfolk', desc: 'Norfolk Island - Norfolk (GMT+11:00)' },\n    { name: 'Africa/Lagos', desc: 'Nigeria - Lagos (GMT+01:00)' },\n    { name: 'America/Managua', desc: 'Nicaragua - Managua (GMT-06:00)' },\n    { name: 'Europe/Amsterdam', desc: 'Netherlands - Amsterdam (GMT+02:00)' },\n    { name: 'Europe/Oslo', desc: 'Norway - Oslo (GMT+02:00)' },\n    { name: 'Asia/Kathmandu', desc: 'Nepal - Kathmandu (GMT+05:45)' },\n    { name: 'Pacific/Nauru', desc: 'Nauru - Nauru (GMT+12:00)' },\n    { name: 'Pacific/Niue', desc: 'Niue - Niue (GMT-11:00)' },\n    { name: 'Pacific/Auckland', desc: 'New Zealand - Auckland (GMT+12:00)' },\n    { name: 'Pacific/Chatham', desc: 'New Zealand - Chatham (GMT+12:45)' },\n    { name: 'Asia/Muscat', desc: 'Oman - Muscat (GMT+04:00)' },\n    { name: 'America/Panama', desc: 'Panama - Panama (GMT-05:00)' },\n    { name: 'America/Lima', desc: 'Peru - Lima (GMT-05:00)' },\n    { name: 'Pacific/Tahiti', desc: 'French Polynesia - Tahiti (GMT-10:00)' },\n    { name: 'Pacific/Marquesas', desc: 'French Polynesia - Marquesas (GMT-09:30)' },\n    { name: 'Pacific/Gambier', desc: 'French Polynesia - Gambier (GMT-09:00)' },\n    { name: 'Pacific/Port_Moresby', desc: 'Papua New Guinea - Port Moresby (GMT+10:00)' },\n    { name: 'Asia/Manila', desc: 'Philippines - Manila (GMT+08:00)' },\n    { name: 'Asia/Karachi', desc: 'Pakistan - Karachi (GMT+05:00)' },\n    { name: 'Europe/Warsaw', desc: 'Poland - Warsaw (GMT+02:00)' },\n    { name: 'Poland', desc: 'Poland - Poland (GMT+02:00)' },\n    { name: 'America/Miquelon', desc: 'Saint Pierre and Miquelon - Miquelon (GMT-02:00)' },\n    { name: 'Pacific/Pitcairn', desc: 'Pitcairn - Pitcairn (GMT-08:00)' },\n    { name: 'America/Puerto_Rico', desc: 'Puerto Rico - Puerto Rico (GMT-04:00)' },\n    { name: 'Asia/Gaza', desc: 'Palestinian Territory - Gaza (GMT+03:00)' },\n    { name: 'Asia/Hebron', desc: 'Palestinian Territory - Hebron (GMT+03:00)' },\n    { name: 'Europe/Lisbon', desc: 'Portugal - Lisbon (GMT+01:00)' },\n    { name: 'Atlantic/Madeira', desc: 'Portugal - Madeira (GMT+01:00)' },\n    { name: 'Atlantic/Azores', desc: 'Portugal - Azores (GMT+00:00)' },\n    { name: 'Pacific/Palau', desc: 'Palau - Palau (GMT+09:00)' },\n    { name: 'America/Asuncion', desc: 'Paraguay - Asuncion (GMT-04:00)' },\n    { name: 'Asia/Qatar', desc: 'Qatar - Qatar (GMT+03:00)' },\n    { name: 'Indian/Reunion', desc: 'Réunion - Reunion (GMT+04:00)' },\n    { name: 'Europe/Bucharest', desc: 'Romania - Bucharest (GMT+03:00)' },\n    { name: 'Europe/Belgrade', desc: 'Serbia - Belgrade (GMT+02:00)' },\n    { name: 'Europe/Kaliningrad', desc: 'Russian Federation - Kaliningrad (GMT+02:00)' },\n    { name: 'Europe/Moscow', desc: 'Russian Federation - Moscow (GMT+03:00)' },\n    { name: 'Europe/Volgograd', desc: 'Russian Federation - Volgograd (GMT+03:00)' },\n    { name: 'Europe/Samara', desc: 'Russian Federation - Samara (GMT+04:00)' },\n    { name: 'Europe/Simferopol', desc: 'Russian Federation - Simferopol (GMT+03:00)' },\n    { name: 'Asia/Yekaterinburg', desc: 'Russian Federation - Yekaterinburg (GMT+05:00)' },\n    { name: 'Asia/Omsk', desc: 'Russian Federation - Omsk (GMT+06:00)' },\n    { name: 'Asia/Novosibirsk', desc: 'Russian Federation - Novosibirsk (GMT+07:00)' },\n    { name: 'Asia/Novokuznetsk', desc: 'Russian Federation - Novokuznetsk (GMT+07:00)' },\n    { name: 'Asia/Krasnoyarsk', desc: 'Russian Federation - Krasnoyarsk (GMT+07:00)' },\n    { name: 'Asia/Irkutsk', desc: 'Russian Federation - Irkutsk (GMT+08:00)' },\n    { name: 'Asia/Yakutsk', desc: 'Russian Federation - Yakutsk (GMT+09:00)' },\n    { name: 'Asia/Khandyga', desc: 'Russian Federation - Khandyga (GMT+09:00)' },\n    { name: 'Asia/Vladivostok', desc: 'Russian Federation - Vladivostok (GMT+10:00)' },\n    { name: 'Asia/Sakhalin', desc: 'Russian Federation - Sakhalin (GMT+11:00)' },\n    { name: 'Asia/Ust-Nera', desc: 'Russian Federation - Ust-Nera (GMT+10:00)' },\n    { name: 'Asia/Magadan', desc: 'Russian Federation - Magadan (GMT+11:00)' },\n    { name: 'Asia/Kamchatka', desc: 'Russian Federation - Kamchatka (GMT+12:00)' },\n    { name: 'Asia/Anadyr', desc: 'Russian Federation - Anadyr (GMT+12:00)' },\n    { name: 'Africa/Kigali', desc: 'Rwanda - Kigali (GMT+02:00)' },\n    { name: 'Asia/Riyadh', desc: 'Saudi Arabia - Riyadh (GMT+03:00)' },\n    { name: 'Pacific/Guadalcanal', desc: 'Solomon Islands - Guadalcanal (GMT+11:00)' },\n    { name: 'Indian/Mahe', desc: 'Seychelles - Mahe (GMT+04:00)' },\n    { name: 'Africa/Khartoum', desc: 'Sudan - Khartoum (GMT+02:00)' },\n    { name: 'Europe/Stockholm', desc: 'Sweden - Stockholm (GMT+02:00)' },\n    { name: 'Asia/Singapore', desc: 'Singapore - Singapore (GMT+08:00)' },\n    { name: 'Atlantic/St_Helena', desc: 'Saint Helena - St Helena (GMT+00:00)' },\n    { name: 'Europe/Ljubljana', desc: 'Slovenia - Ljubljana (GMT+02:00)' },\n    { name: 'Arctic/Longyearbyen', desc: 'Svalbard and Jan Mayen Islands - Longyearbyen (GMT+02:00)' },\n    { name: 'Europe/Bratislava', desc: 'Slovakia - Bratislava (GMT+02:00)' },\n    { name: 'Africa/Freetown', desc: 'Sierra Leone - Freetown (GMT+00:00)' },\n    { name: 'Europe/San_Marino', desc: 'San Marino - San Marino (GMT+02:00)' },\n    { name: 'Africa/Dakar', desc: 'Senegal - Dakar (GMT+00:00)' },\n    { name: 'Africa/Mogadishu', desc: 'Somalia - Mogadishu (GMT+03:00)' },\n    { name: 'America/Paramaribo', desc: 'Suriname - Paramaribo (GMT-03:00)' },\n    { name: 'Africa/Juba', desc: 'South Sudan - Juba (GMT+03:00)' },\n    { name: 'Africa/Sao_Tome', desc: 'Sao Tome and Principe - Sao Tome (GMT+01:00)' },\n    { name: 'America/El_Salvador', desc: 'El Salvador - El Salvador (GMT-06:00)' },\n    { name: 'America/Lower_Princes', desc: 'SX - Lower Princes (GMT-04:00)' },\n    { name: 'Asia/Damascus', desc: 'Syria - Damascus (GMT+03:00)' },\n    { name: 'Africa/Mbabane', desc: 'Swaziland - Mbabane (GMT+02:00)' },\n    { name: 'America/Grand_Turk', desc: 'Turks and Caicos Islands - Grand Turk (GMT-04:00)' },\n    { name: 'Africa/Ndjamena', desc: 'Chad - Ndjamena (GMT+01:00)' },\n    { name: 'Indian/Kerguelen', desc: 'French Southern Territories - Kerguelen (GMT+05:00)' },\n    { name: 'Africa/Lome', desc: 'Togo - Lome (GMT+00:00)' },\n    { name: 'Asia/Bangkok', desc: 'Thailand - Bangkok (GMT+07:00)' },\n    { name: 'Asia/Dushanbe', desc: 'Tajikistan - Dushanbe (GMT+05:00)' },\n    { name: 'Pacific/Fakaofo', desc: 'Tokelau - Fakaofo (GMT+13:00)' },\n    { name: 'Asia/Dili', desc: 'Timor-Leste - Dili (GMT+09:00)' },\n    { name: 'Asia/Ashgabat', desc: 'Turkmenistan - Ashgabat (GMT+05:00)' },\n    { name: 'Africa/Tunis', desc: 'Tunisia - Tunis (GMT+01:00)' },\n    { name: 'Pacific/Tongatapu', desc: 'Tonga - Tongatapu (GMT+13:00)' },\n    { name: 'Europe/Istanbul', desc: 'Turkey - Istanbul (GMT+03:00)' },\n    { name: 'America/Port_of_Spain', desc: 'Trinidad and Tobago - Port of_Spain (GMT-04:00)' },\n    { name: 'Pacific/Funafuti', desc: 'Tuvalu - Funafuti (GMT+12:00)' },\n    { name: 'Asia/Taipei', desc: 'Taiwan - Taipei (GMT+08:00)' },\n    { name: 'Africa/Dar_es_Salaam', desc: 'Tanzania - Dar es_Salaam (GMT+03:00)' },\n    { name: 'Europe/Kiev', desc: 'Ukraine - Kiev (GMT+03:00)' },\n    { name: 'Europe/Uzhgorod', desc: 'Ukraine - Uzhgorod (GMT+03:00)' },\n    { name: 'Europe/Zaporozhye', desc: 'Ukraine - Zaporozhye (GMT+03:00)' },\n    { name: 'Africa/Kampala', desc: 'Uganda - Kampala (GMT+03:00)' },\n    { name: 'Pacific/Johnston', desc: 'US Minor Outlying Islands - Johnston (GMT-10:00)' },\n    { name: 'Pacific/Midway', desc: 'US Minor Outlying Islands - Midway (GMT-11:00)' },\n    { name: 'Pacific/Wake', desc: 'US Minor Outlying Islands - Wake (GMT+12:00)' },\n    { name: 'America/New_York', desc: 'United States of America (USA) - New York (GMT-04:00)' },\n    { name: 'America/Detroit', desc: 'United States of America (USA) - Detroit (GMT-04:00)' },\n    { name: 'America/Kentucky/Louisville', desc: 'United States of America (USA) - Louisville (GMT-04:00)' },\n    { name: 'America/Kentucky/Monticello', desc: 'United States of America (USA) - Monticello (GMT-04:00)' },\n    { name: 'America/Indiana/Indianapolis', desc: 'United States of America (USA) - Indianapolis (GMT-04:00)' },\n    { name: 'America/Indiana/Vincennes', desc: 'United States of America (USA) - Vincennes (GMT-04:00)' },\n    { name: 'America/Indiana/Winamac', desc: 'United States of America (USA) - Winamac (GMT-04:00)' },\n    { name: 'America/Indiana/Marengo', desc: 'United States of America (USA) - Marengo (GMT-04:00)' },\n    { name: 'America/Indiana/Petersburg', desc: 'United States of America (USA) - Petersburg (GMT-04:00)' },\n    { name: 'America/Indiana/Vevay', desc: 'United States of America (USA) - Vevay (GMT-04:00)' },\n    { name: 'America/Chicago', desc: 'United States of America (USA) - Chicago (GMT-05:00)' },\n    { name: 'America/Indiana/Tell_City', desc: 'United States of America (USA) - Tell City (GMT-05:00)' },\n    { name: 'America/Indiana/Knox', desc: 'United States of America (USA) - Knox (GMT-05:00)' },\n    { name: 'America/Menominee', desc: 'United States of America (USA) - Menominee (GMT-05:00)' },\n    { name: 'America/North_Dakota/Center', desc: 'United States of America (USA) - Center (GMT-05:00)' },\n    { name: 'America/North_Dakota/New_Salem', desc: 'United States of America (USA) - New Salem (GMT-05:00)' },\n    { name: 'America/North_Dakota/Beulah', desc: 'United States of America (USA) - Beulah (GMT-05:00)' },\n    { name: 'America/Denver', desc: 'United States of America (USA) - Denver (GMT-06:00)' },\n    { name: 'America/Boise', desc: 'United States of America (USA) - Boise (GMT-06:00)' },\n    { name: 'America/Phoenix', desc: 'United States of America (USA) - Phoenix (GMT-07:00)' },\n    { name: 'America/Los_Angeles', desc: 'United States of America (USA) - Los Angeles (GMT-07:00)' },\n    { name: 'America/Anchorage', desc: 'United States of America (USA) - Anchorage (GMT-08:00)' },\n    { name: 'America/Juneau', desc: 'United States of America (USA) - Juneau (GMT-08:00)' },\n    { name: 'America/Sitka', desc: 'United States of America (USA) - Sitka (GMT-08:00)' },\n    { name: 'America/Yakutat', desc: 'United States of America (USA) - Yakutat (GMT-08:00)' },\n    { name: 'America/Nome', desc: 'United States of America (USA) - Nome (GMT-08:00)' },\n    { name: 'America/Adak', desc: 'United States of America (USA) - Adak (GMT-09:00)' },\n    { name: 'America/Metlakatla', desc: 'United States of America (USA) - Metlakatla (GMT-08:00)' },\n    { name: 'Pacific/Honolulu', desc: 'United States of America (USA) - Honolulu (GMT-10:00)' },\n    { name: 'America/Montevideo', desc: 'Uruguay - Montevideo (GMT-03:00)' },\n    { name: 'Asia/Samarkand', desc: 'Uzbekistan - Samarkand (GMT+05:00)' },\n    { name: 'Asia/Tashkent', desc: 'Uzbekistan - Tashkent (GMT+05:00)' },\n    { name: 'Europe/Vatican', desc: 'Vatican City State - Vatican (GMT+02:00)' },\n    { name: 'America/St_Vincent', desc: 'Saint Vincent and Grenadines - St Vincent (GMT-04:00)' },\n    { name: 'America/Caracas', desc: 'Venezuela - Caracas (GMT-04:00)' },\n    { name: 'America/Tortola', desc: 'British Virgin Islands - Tortola (GMT-04:00)' },\n    { name: 'America/St_Thomas', desc: 'Virgin Islands, US - St Thomas (GMT-04:00)' },\n    { name: 'Asia/Ho_Chi_Minh', desc: 'Viet Nam - Ho Chi_Minh (GMT+07:00)' },\n    { name: 'Pacific/Efate', desc: 'Vanuatu - Efate (GMT+11:00)' },\n    { name: 'Pacific/Wallis', desc: 'Wallis and Futuna Islands - Wallis (GMT+12:00)' },\n    { name: 'Pacific/Apia', desc: 'Samoa - Apia (GMT+13:00)' },\n    { name: 'Asia/Aden', desc: 'Yemen - Aden (GMT+03:00)' },\n    { name: 'Indian/Mayotte', desc: 'Mayotte - Mayotte (GMT+03:00)' },\n    { name: 'Africa/Johannesburg', desc: 'South Africa - Johannesburg (GMT+02:00)' },\n    { name: 'Africa/Lusaka', desc: 'Zambia - Lusaka (GMT+02:00)' },\n    { name: 'Africa/Harare', desc: 'Zimbabwe - Harare (GMT+02:00)' },\n]"
                }
            ],
            "packages/core/schematics/migrate-eui-accent/index.ts": [
                {
                    "name": "EUI_DIRECTIVES",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "[]",
                    "defaultValue": "['euiButton', 'euiList', 'euiListItem']"
                },
                {
                    "name": "NEW_NAME",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'euiPrimary'"
                },
                {
                    "name": "OLD_NAME",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'euiAccent'"
                }
            ],
            "packages/core/src/lib/helpers/format-helpers.ts": [
                {
                    "name": "formatNumber",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/helpers/format-helpers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(value: number | string, fractionSize = 2, inDecimalSeparator = ',', inThousandSeparator = ''): string => {\n    // in case value is not a number throw an error\n    if (typeof value === 'string' && isNaN(parseFloat(value))) {\n        console.error(`Value ${value} is not a number`);\n        return null;\n    }\n\n    let decimalSeparator = '';\n    let thousandsSeparator = '';\n\n    if (value === null || value === undefined) {\n        return null;\n    }\n\n    if (typeof value === 'string') {\n        // get all non characters\n        const nonChars: string[] = value.match(/\\D+/g) || [];\n\n        // get all unique chars\n        const uniqueChars = nonChars.reduce((acc, e) => acc.set(e, (acc.get(e) || 0) + 1), new Map());\n\n        // get separators\n        const separators = Array.from<string>(uniqueChars.keys());\n\n        // sense where decimal separator and where a thousand separator is\n        if (separators.length > 1) {\n            // left detected separator will be a thousand and second will be decimal\n            thousandsSeparator = separators[0];\n            decimalSeparator = separators[1];\n        } else if (separators.length > 0) {\n            // in case there is only one separator you don't know exactly who this separator is.\n            // in case there are more than two occurrences means we have a thousand otherwise we'll\n            // agree by conventions that is decimal\n            if (nonChars.length > 1) {\n                return value\n                    .split(separators[0])\n                    .join('')\n                    .replace(/\\B(?=(\\d{3})+(?!\\d))/g, inThousandSeparator);\n            } else {\n                return value.replace(separators[0], inDecimalSeparator).replace(/\\B(?=(\\d{3})+(?!\\d))/g, inThousandSeparator);\n            }\n        } else {\n            // in case there are no separators then only format based on thousand one\n            return value.replace(/\\B(?=(\\d{3})+(?!\\d))/g, inThousandSeparator) + (fractionSize > 0 ? inDecimalSeparator + '0'.repeat(fractionSize) : '');\n        }\n\n        // do the replacement of separators and parseInt\n        // Beware! Always replace a thousand separator first and then decimal\n        value = value.split(thousandsSeparator).join('').replace(decimalSeparator, '.');\n    }\n\n    decimalSeparator = inDecimalSeparator;\n    thousandsSeparator = inThousandSeparator;\n\n    const maxFraction = '0'.repeat(fractionSize);\n\n    // eslint-disable-next-line prefer-const\n    let [integer, fraction = maxFraction] = (value || '0').toString().split('.');\n    fraction = fractionSize > 0 ? roundUpNumber(fraction + maxFraction, fractionSize) : '';\n\n    // this rule makes sense only in number in case fraction is all zero\n    fraction = fraction.length > 0 ? decimalSeparator + fraction : '';\n\n    // if fraction is all zero then round up the number\n    if(fractionSize === 0) {\n        integer = Math.round(parseFloat((value).toString())).toString();\n    }\n\n    return integer.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandsSeparator) + fraction;\n}",
                    "rawdescription": "Its job is to parse number and format it based on given input.",
                    "description": "<p>Its job is to parse number and format it based on given input.</p>\n"
                },
                {
                    "name": "roundUpNumber",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/helpers/format-helpers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(decimalPart: string, fractionSize: number): string => {\n    return (Math.round(parseFloat(`0.${decimalPart}`) * Math.pow(10, fractionSize)) / Math.pow(10, fractionSize))\n        .toFixed(fractionSize)\n        .split('.')[1];\n}"
                },
                {
                    "name": "uniqueId",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/helpers/format-helpers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(): string => Math.random().toString(36).substring(2, 9)",
                    "rawdescription": "returns a random string with radix=36",
                    "description": "<p>returns a random string with radix=36</p>\n"
                }
            ],
            "packages/core/src/lib/services/i18n/i18n.service.ts": [
                {
                    "name": "getLastAddedModule",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/i18n/i18n.service.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Selector<CoreState, string>",
                    "defaultValue": "(state: CoreState) => state.app.loadedConfigModules.lastAddedModule"
                }
            ],
            "packages/core/dist/docs/template-playground/hbs-render.service.ts": [
                {
                    "name": "Handlebars",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/dist/docs/template-playground/hbs-render.service.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any"
                }
            ],
            "packages/core/src/lib/helpers/http-helpers.ts": [
                {
                    "name": "handleError",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/helpers/http-helpers.ts",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the future. Consult the angular documentation for a replacement.",
                    "type": "unknown",
                    "defaultValue": "(error: HttpErrorResponse): Observable<never> => {\n    const errMsg = error.message ? error.message : error.status ? `${error.status} - ${error.statusText}` : 'Server error';\n    throw new Error(errMsg);\n}"
                }
            ],
            "packages/core/schematics/icon-migrate/index.ts": [
                {
                    "name": "ICON_INPUT_SELECTORS",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/icon-migrate/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type[]",
                    "defaultValue": "[\n  {\n    // <eui-icon-svg icon=\"...\"> / <span euiIconSvg icon=\"...\"> / <i euiIconSvg icon=\"...\">\n    elements: ['eui-icon-svg'],\n    attrs: ['icon'],\n  },\n  {\n    // <eui-icon-button icon=\"...\">\n    elements: ['eui-icon-button'],\n    attrs: ['icon'],\n  },\n  {\n    // <eui-tree [expandedSvgIconClass]=\"...\" [collapsedSvgIconClass]=\"...\">\n    elements: ['eui-tree'],\n    attrs: ['expandedSvgIconClass', 'collapsedSvgIconClass'],\n  },\n]",
                    "rawdescription": "Defines which components have icon inputs and what those input names are.\nEach entry maps element selectors to the input attribute names that hold icon values.",
                    "description": "<p>Defines which components have icon inputs and what those input names are.\nEach entry maps element selectors to the input attribute names that hold icon values.</p>\n"
                },
                {
                    "name": "iconLookup",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/icon-migrate/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new Map<string, string>()",
                    "rawdescription": "Build a lookup map for O(1) icon replacement",
                    "description": "<p>Build a lookup map for O(1) icon replacement</p>\n"
                },
                {
                    "name": "SUFFIX_MAP",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/icon-migrate/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown[]",
                    "defaultValue": "[\n  [':sharp', ':ion-filled'],\n  [':outline', ':ion-outline'],\n]",
                    "rawdescription": "Suffix-based mapping: :sharp -> :ion-filled, :outline -> :ion-outline",
                    "description": "<p>Suffix-based mapping: :sharp -&gt; :ion-filled, :outline -&gt; :ion-outline</p>\n"
                }
            ],
            "packages/core/schematics/migrate/replacements/icons.ts": [
                {
                    "name": "ICON_MAP",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate/replacements/icons.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type[]",
                    "defaultValue": "[\n  { oldIcon: 'eui-alert-circle', newIcon: 'eui-state-danger' },\n  { oldIcon: 'eui-arrow-back', newIcon: 'eui-arrow-left' },\n  { oldIcon: 'eui-arrow-down-thin', newIcon: 'eui-arrow-down' },\n  { oldIcon: 'eui-arrow-forward', newIcon: 'eui-arrow-right' },\n  { oldIcon: 'eui-arrow-left-thin', newIcon: 'eui-arrow-left' },\n  { oldIcon: 'eui-arrow-redo', newIcon: 'eui-redo' },\n  { oldIcon: 'eui-arrow-right-thin', newIcon: 'eui-arrow-right' },\n  { oldIcon: 'eui-arrow-undo', newIcon: 'eui-undo' },\n  { oldIcon: 'eui-arrow-up-thin', newIcon: 'eui-arrow-up' },\n  { oldIcon: 'eui-bolt', newIcon: 'eui-flash' },\n  { oldIcon: 'eui-bookmark-outline', newIcon: 'bookmark-simple:regular' },\n  { oldIcon: 'eui-bookmark', newIcon: 'bookmark-simple:fill' },\n  { oldIcon: 'eui-calendar-outline', newIcon: 'eui-calendar' },\n  { oldIcon: 'eui-camera-add', newIcon: 'camera-plus:regular' },\n  { oldIcon: 'eui-chain', newIcon: 'eui-link' },\n  { oldIcon: 'eui-chart-area', newIcon: 'chart-pie:regular' },\n  { oldIcon: 'eui-chart-bar', newIcon: 'chart-bar:regular' },\n  { oldIcon: 'eui-chart-line', newIcon: 'chart-line:regular' },\n  { oldIcon: 'eui-check', newIcon: 'check-square:regular' },\n  { oldIcon: 'eui-checkbox-intermediate', newIcon: 'minus-square:fill' },\n  { oldIcon: 'eui-checkbox-outline', newIcon: 'check-square:regular' },\n  { oldIcon: 'eui-checkbox', newIcon: 'check-square:fill' },\n  { oldIcon: 'eui-chevron-back', newIcon: 'eui-chevron-left' },\n  { oldIcon: 'eui-chevron-forward', newIcon: 'eui-chevron-right' },\n  { oldIcon: 'eui-clock-history', newIcon: 'clock-counter-clockwise:regular' },\n  { oldIcon: 'eui-comment', newIcon: 'chat-circle:regular' },\n  { oldIcon: 'eui-create', newIcon: 'eui-add' },\n  { oldIcon: 'eui-dedent', newIcon: 'text-outdent:regular' },\n  { oldIcon: 'eui-delete-forever', newIcon: 'eui-trash' },\n  { oldIcon: 'eui-delete', newIcon: 'eui-trash' },\n  { oldIcon: 'eui-e-help', newIcon: 'none' },\n  // ECL icons\n  { oldIcon: 'eui-ecl-arrow-left', newIcon: 'ecl-arrow-left:ecl' },\n  { oldIcon: 'eui-ecl-audio', newIcon: 'ecl-audio:ecl' },\n  { oldIcon: 'eui-ecl-back', newIcon: 'ecl-back:ecl' },\n  { oldIcon: 'eui-ecl-blog', newIcon: 'ecl-blog:ecl' },\n  { oldIcon: 'eui-ecl-book', newIcon: 'ecl-book:ecl' },\n  { oldIcon: 'eui-ecl-brochure', newIcon: 'ecl-brochure:ecl' },\n  { oldIcon: 'eui-ecl-budget', newIcon: 'ecl-budget:ecl' },\n  { oldIcon: 'eui-ecl-calendar', newIcon: 'ecl-calendar:ecl' },\n  { oldIcon: 'eui-ecl-camera', newIcon: 'ecl-camera:ecl' },\n  { oldIcon: 'eui-ecl-chain', newIcon: 'ecl-chain:ecl' },\n  { oldIcon: 'eui-ecl-check-filled', newIcon: 'ecl-check-filled:ecl' },\n  { oldIcon: 'eui-ecl-check', newIcon: 'ecl-check:ecl' },\n  { oldIcon: 'eui-ecl-clock-filled', newIcon: 'ecl-clock-filled:ecl' },\n  { oldIcon: 'eui-ecl-clock', newIcon: 'ecl-clock:ecl' },\n  { oldIcon: 'eui-ecl-close-filled', newIcon: 'ecl-close-filled:ecl' },\n  { oldIcon: 'eui-ecl-close-outline', newIcon: 'ecl-close-outline:ecl' },\n  { oldIcon: 'eui-ecl-close', newIcon: 'ecl-close:ecl' },\n  { oldIcon: 'eui-ecl-copy', newIcon: 'ecl-copy:ecl' },\n  { oldIcon: 'eui-ecl-corner-arrow', newIcon: 'ecl-corner-arrow:ecl' },\n  { oldIcon: 'eui-ecl-data', newIcon: 'ecl-data:ecl' },\n  { oldIcon: 'eui-ecl-digital', newIcon: 'ecl-digital:ecl' },\n  { oldIcon: 'eui-ecl-document', newIcon: 'ecl-document:ecl' },\n  { oldIcon: 'eui-ecl-download', newIcon: 'ecl-download:ecl' },\n  { oldIcon: 'eui-ecl-edit', newIcon: 'ecl-edit:ecl' },\n  { oldIcon: 'eui-ecl-email', newIcon: 'ecl-email:ecl' },\n  { oldIcon: 'eui-ecl-energy', newIcon: 'ecl-energy:ecl' },\n  { oldIcon: 'eui-ecl-error', newIcon: 'ecl-error:ecl' },\n  { oldIcon: 'eui-ecl-euro', newIcon: 'ecl-euro:ecl' },\n  { oldIcon: 'eui-ecl-external-events', newIcon: 'ecl-external-events:ecl' },\n  { oldIcon: 'eui-ecl-external', newIcon: 'ecl-external:ecl' },\n  { oldIcon: 'eui-ecl-facebook', newIcon: 'ecl-facebook:ecl' },\n  { oldIcon: 'eui-ecl-faq', newIcon: 'ecl-faq:ecl' },\n  { oldIcon: 'eui-ecl-feedback', newIcon: 'ecl-feedback:ecl' },\n  { oldIcon: 'eui-ecl-file', newIcon: 'ecl-file:ecl' },\n  { oldIcon: 'eui-ecl-flickr', newIcon: 'ecl-flickr:ecl' },\n  { oldIcon: 'eui-ecl-folder', newIcon: 'ecl-folder:ecl' },\n  { oldIcon: 'eui-ecl-foursquare', newIcon: 'ecl-foursquare:ecl' },\n  { oldIcon: 'eui-ecl-fullscreen', newIcon: 'ecl-fullscreen:ecl' },\n  { oldIcon: 'eui-ecl-gear', newIcon: 'ecl-gear:ecl' },\n  { oldIcon: 'eui-ecl-generic-lang', newIcon: 'ecl-generic-lang:ecl' },\n  { oldIcon: 'eui-ecl-global', newIcon: 'ecl-global:ecl' },\n  { oldIcon: 'eui-ecl-gmail', newIcon: 'ecl-gmail:ecl' },\n  { oldIcon: 'eui-ecl-growth', newIcon: 'ecl-growth:ecl' },\n  { oldIcon: 'eui-ecl-hamburger', newIcon: 'ecl-hamburger:ecl' },\n  { oldIcon: 'eui-ecl-image', newIcon: 'ecl-image:ecl' },\n  { oldIcon: 'eui-ecl-information', newIcon: 'ecl-information:ecl' },\n  { oldIcon: 'eui-ecl-instagram', newIcon: 'ecl-instagram:ecl' },\n  { oldIcon: 'eui-ecl-laco-filled', newIcon: 'ecl-laco-filled:ecl' },\n  { oldIcon: 'eui-ecl-laco', newIcon: 'ecl-laco:ecl' },\n  { oldIcon: 'eui-ecl-language', newIcon: 'ecl-language:ecl' },\n  { oldIcon: 'eui-ecl-linkedin', newIcon: 'ecl-linkedin:ecl' },\n  { oldIcon: 'eui-ecl-list', newIcon: 'ecl-list:ecl' },\n  { oldIcon: 'eui-ecl-livestreaming', newIcon: 'ecl-livestreaming:ecl' },\n  { oldIcon: 'eui-ecl-location', newIcon: 'ecl-location:ecl' },\n  { oldIcon: 'eui-ecl-log-in', newIcon: 'ecl-log-in:ecl' },\n  { oldIcon: 'eui-ecl-logged-in', newIcon: 'ecl-logged-in:ecl' },\n  { oldIcon: 'eui-ecl-mastodon', newIcon: 'ecl-mastodon:ecl' },\n  { oldIcon: 'eui-ecl-messenger', newIcon: 'ecl-messenger:ecl' },\n  { oldIcon: 'eui-ecl-minus', newIcon: 'ecl-minus:ecl' },\n  { oldIcon: 'eui-ecl-multiple-files', newIcon: 'ecl-multiple-files:ecl' },\n  { oldIcon: 'eui-ecl-organigram', newIcon: 'ecl-organigram:ecl' },\n  { oldIcon: 'eui-ecl-package', newIcon: 'ecl-package:ecl' },\n  { oldIcon: 'eui-ecl-pause-filled', newIcon: 'ecl-pause-filled:ecl' },\n  { oldIcon: 'eui-ecl-pause', newIcon: 'ecl-pause:ecl' },\n  { oldIcon: 'eui-ecl-pinterest', newIcon: 'ecl-pinterest:ecl' },\n  { oldIcon: 'eui-ecl-play-filled', newIcon: 'ecl-play-filled:ecl' },\n  { oldIcon: 'eui-ecl-play-outline', newIcon: 'ecl-play-outline:ecl' },\n  { oldIcon: 'eui-ecl-play', newIcon: 'ecl-play:ecl' },\n  { oldIcon: 'eui-ecl-plus', newIcon: 'ecl-plus:ecl' },\n  { oldIcon: 'eui-ecl-print', newIcon: 'ecl-print:ecl' },\n  { oldIcon: 'eui-ecl-qzone', newIcon: 'ecl-qzone:ecl' },\n  { oldIcon: 'eui-ecl-reddit', newIcon: 'ecl-reddit:ecl' },\n  { oldIcon: 'eui-ecl-regulation', newIcon: 'ecl-regulation:ecl' },\n  { oldIcon: 'eui-ecl-rss', newIcon: 'ecl-rss:ecl' },\n  { oldIcon: 'eui-ecl-search', newIcon: 'ecl-search:ecl' },\n  { oldIcon: 'eui-ecl-settings', newIcon: 'ecl-settings:ecl' },\n  { oldIcon: 'eui-ecl-share', newIcon: 'ecl-share:ecl' },\n  { oldIcon: 'eui-ecl-shopping-bag', newIcon: 'ecl-shopping-bag:ecl' },\n  { oldIcon: 'eui-ecl-skype', newIcon: 'ecl-skype:ecl' },\n  { oldIcon: 'eui-ecl-sms', newIcon: 'ecl-sms:ecl' },\n  { oldIcon: 'eui-ecl-solid-arrow', newIcon: 'ecl-solid-arrow:ecl' },\n  { oldIcon: 'eui-ecl-spinner', newIcon: 'ecl-spinner:ecl' },\n  { oldIcon: 'eui-ecl-spotify', newIcon: 'ecl-spotify:ecl' },\n  { oldIcon: 'eui-ecl-spreadsheet', newIcon: 'ecl-spreadsheet:ecl' },\n  { oldIcon: 'eui-ecl-star-filled', newIcon: 'ecl-star-filled:ecl' },\n  { oldIcon: 'eui-ecl-star-outline', newIcon: 'ecl-star-outline:ecl' },\n  { oldIcon: 'eui-ecl-success', newIcon: 'ecl-success:ecl' },\n  { oldIcon: 'eui-ecl-tag', newIcon: 'ecl-tag:ecl' },\n  { oldIcon: 'eui-ecl-telegram', newIcon: 'ecl-telegram:ecl' },\n  { oldIcon: 'eui-ecl-trash', newIcon: 'ecl-trash:ecl' },\n  { oldIcon: 'eui-ecl-twitter', newIcon: 'ecl-twitter:ecl' },\n  { oldIcon: 'eui-ecl-typepad', newIcon: 'ecl-typepad:ecl' },\n  { oldIcon: 'eui-ecl-video', newIcon: 'ecl-video:ecl' },\n  { oldIcon: 'eui-ecl-warning', newIcon: 'ecl-warning:ecl' },\n  { oldIcon: 'eui-ecl-weibo', newIcon: 'ecl-weibo:ecl' },\n  { oldIcon: 'eui-ecl-whatasapp', newIcon: 'ecl-whatasapp:ecl' },\n  { oldIcon: 'eui-ecl-yahoomail', newIcon: 'ecl-yahoomail:ecl' },\n  { oldIcon: 'eui-ecl-yammer', newIcon: 'ecl-yammer:ecl' },\n  { oldIcon: 'eui-ecl-youtube', newIcon: 'ecl-youtube:ecl' },\n  // EUI icons continued\n  { oldIcon: 'eui-ellipse', newIcon: 'eui-circle' },\n  { oldIcon: 'eui-exclamation', newIcon: 'eui-alert' },\n  { oldIcon: 'eui-exit', newIcon: 'eui-sign-out' },\n  // File icons\n  { oldIcon: 'eui-file-archive-o', newIcon: 'eui-file-archive:eui-file' },\n  { oldIcon: 'eui-file-archive', newIcon: 'eui-file-archive:eui-file' },\n  { oldIcon: 'eui-file-audio-alt', newIcon: 'eui-file-audio:eui-file' },\n  { oldIcon: 'eui-file-audio-o', newIcon: 'eui-file-audio:eui-file' },\n  { oldIcon: 'eui-file-audio', newIcon: 'eui-file-audio:eui-file' },\n  { oldIcon: 'eui-file-checked', newIcon: 'check-square:regular' },\n  { oldIcon: 'eui-file-code', newIcon: 'eui-file-code:eui-file' },\n  { oldIcon: 'eui-file-csv', newIcon: 'eui-file-csv:eui-file' },\n  { oldIcon: 'eui-file-download', newIcon: 'eui-file-download:eui-file' },\n  { oldIcon: 'eui-file-edit-o', newIcon: 'eui-edit' },\n  { oldIcon: 'eui-file-edit', newIcon: 'eui-edit' },\n  { oldIcon: 'eui-file-empty-o', newIcon: 'eui-file-empty:eui-file' },\n  { oldIcon: 'eui-file-empty', newIcon: 'eui-file-empty:eui-file' },\n  { oldIcon: 'eui-file-excel-o', newIcon: 'eui-file-xls:eui-file' },\n  { oldIcon: 'eui-file-excel', newIcon: 'eui-file-xls:eui-file' },\n  { oldIcon: 'eui-file-export', newIcon: 'arrow-square-out:regular' },\n  { oldIcon: 'eui-file-image-o', newIcon: 'eui-file-image:eui-file' },\n  { oldIcon: 'eui-file-image', newIcon: 'eui-file-image:eui-file' },\n  { oldIcon: 'eui-file-import', newIcon: 'arrow-square-in:regular' },\n  { oldIcon: 'eui-file-odp', newIcon: 'new' },\n  { oldIcon: 'eui-file-ods', newIcon: 'new' },\n  { oldIcon: 'eui-file-odt', newIcon: 'new' },\n  { oldIcon: 'eui-file-pdf-o', newIcon: 'eui-file-pdf:eui-file' },\n  { oldIcon: 'eui-file-pdf', newIcon: 'eui-file-pdf:eui-file' },\n  { oldIcon: 'eui-file-powerpoint-o', newIcon: 'eui-file-ppt:eui-file' },\n  { oldIcon: 'eui-file-powerpoint', newIcon: 'eui-file-ppt:eui-file' },\n  { oldIcon: 'eui-file-signature', newIcon: 'pen-nib:regular' },\n  { oldIcon: 'eui-file-signed', newIcon: 'pen-nib:regular' },\n  { oldIcon: 'eui-file-text', newIcon: 'eui-file-text:eui-file' },\n  { oldIcon: 'eui-file-upload', newIcon: 'eui-file-upload:eui-file' },\n  { oldIcon: 'eui-file-video-o', newIcon: 'eui-file-video:eui-file' },\n  { oldIcon: 'eui-file-video', newIcon: 'eui-file-video:eui-file' },\n  { oldIcon: 'eui-file-word-o', newIcon: 'eui-file-doc:eui-file' },\n  { oldIcon: 'eui-file-word', newIcon: 'eui-file-doc:eui-file' },\n  // Misc icons\n  { oldIcon: 'eui-filter', newIcon: 'funnel:regular' },\n  { oldIcon: 'eui-flag-o', newIcon: 'flag:regular' },\n  { oldIcon: 'eui-flag', newIcon: 'flag:fill' },\n  { oldIcon: 'eui-indent', newIcon: 'text-indent:regular' },\n  { oldIcon: 'eui-info', newIcon: 'eui-state-info' },\n  { oldIcon: 'eui-logout-thin', newIcon: 'eui-sign-out' },\n  { oldIcon: 'eui-notifications-off', newIcon: 'eui-notifications' },\n  { oldIcon: 'eui-pencil', newIcon: 'eui-edit' },\n  { oldIcon: 'eui-person-thin-o', newIcon: 'eui-user' },\n  { oldIcon: 'eui-person-thin', newIcon: 'eui-user' },\n  { oldIcon: 'eui-pie-chart', newIcon: 'chart-pie:regular' },\n  { oldIcon: 'eui-plug', newIcon: 'plugs:regular' },\n  { oldIcon: 'eui-question-circle', newIcon: 'eui-state-primary' },\n  { oldIcon: 'eui-question', newIcon: 'eui-state-primary' },\n  { oldIcon: 'eui-radio-button-off', newIcon: 'eui-circle' },\n  { oldIcon: 'eui-radio-button-on', newIcon: 'eui-circle-fill' },\n  { oldIcon: 'eui-reload', newIcon: 'eui-refresh' },\n  { oldIcon: 'eui-reorder-three', newIcon: 'dots-six:regular' },\n  { oldIcon: 'eui-rss-o', newIcon: 'ecl-rss:ecl' },\n  { oldIcon: 'eui-rss', newIcon: 'ecl-rss:ecl' },\n  { oldIcon: 'eui-scheduled-list', newIcon: 'calendar-check:regular' },\n  { oldIcon: 'eui-sitemap', newIcon: 'eui-tree-view' },\n  { oldIcon: 'eui-square-outline', newIcon: 'eui-square' },\n  { oldIcon: 'eui-square', newIcon: 'eui-square-fill' },\n  { oldIcon: 'eui-swap-horizontal', newIcon: 'eui-arrows-left-right' },\n  { oldIcon: 'eui-swap-vertical', newIcon: 'eui-arrows-down-up' },\n  { oldIcon: 'eui-thumb-down', newIcon: 'eui-thumbs-down' },\n  { oldIcon: 'eui-thumb-up', newIcon: 'eui-thumbs-up' },\n  { oldIcon: 'eui-today-outline', newIcon: 'eui-calendar-today' },\n  { oldIcon: 'eui-user-preferences', newIcon: 'eui-user-gear' },\n  { oldIcon: 'eui-workspaces', newIcon: 'eui-stack' },\n]",
                    "rawdescription": "Icon mapping from old eUI icon names to new ones.\nPorted from csdr-engine/migrate/index.js replaceIcons.",
                    "description": "<p>Icon mapping from old eUI icon names to new ones.\nPorted from csdr-engine/migrate/index.js replaceIcons.</p>\n"
                }
            ],
            "packages/core/src/lib/services/app/eui-init-app.ts": [
                {
                    "name": "init",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/app/eui-init-app.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(): Promise<unknown> => {\n    const locationInitialized = inject(LOCATION_INITIALIZED, { optional: true }) || Promise.resolve(null);\n    const appConfig: EuiAppConfig = inject(CONFIG_TOKEN);\n    const storeService = inject(StoreService);\n\n    return new Promise<void>(resolve => {\n\n        locationInitialized.then(() => {\n            // necessary config parameters\n            let appVersion: string;\n            if (appConfig && appConfig.versions && appConfig.versions.app) {\n                appVersion = appConfig.versions.app;\n            } else {\n                appVersion = '0.0.0';\n            }\n            let storageType: BrowserStorageType;\n            if (appConfig && appConfig['saveStateStorage']) {\n                storageType = appConfig['saveStateStorage'];\n            } else {\n                storageType = BrowserStorageType.local;\n            }\n\n            storeService.init(appVersion, storageType);\n            storeService.handleAutoSave();\n            resolve(null);\n        });\n    });\n}"
                }
            ],
            "packages/core/src/lib/services/eui-app-shell.service.ts": [
                {
                    "name": "initialState",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/eui-app-shell.service.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "UIState",
                    "defaultValue": "{\n    appName: '',\n    appShortName: '',\n    appSubTitle: '',\n    appBaseFontSize: '',\n\n    isSidebarOpen: true,\n    isSidebarActive: false,\n    hasSidebar: false,\n    hasSideContainer: false,\n    hasHeader: false,\n    hasBreadcrumb: false,\n    hasHeaderLogo: false,\n    hasHeaderEnvironment: false,\n    hasToolbar: false,\n    hasToolbarMegaMenu: false,\n    hasToolbarMenu: false,\n    environmentValue: '',\n    isSidebarHidden: false,\n    isSidebarFocused: false,\n    hasSidebarCollapsedVariant: false,\n    hasTopMessage: false,\n    windowWidth: 0,\n    windowHeight: 0,\n    mainContentHeight: 0,\n    pageHeaderHeight: 0,\n    wrapperClasses: '',\n    breakpoint: '',\n    breakpoints: {\n        isMobile: false,\n        isTablet: false,\n        isLtLargeTablet: false,\n        isLtDesktop: false,\n        isDesktop: false,\n        isXL: false,\n        isXXL: false,\n        isFHD: false,\n        is2K: false,\n        is4K: false,\n    },\n    breakpointValues: [],\n    menuLinks: [],\n    sidebarLinks: [],\n    combinedLinks: [],\n    isBlockDocumentActive: false,\n    deviceInfo: null,\n    activeLanguage: 'en',\n    languages: EuiEuLanguages.getLanguages(),\n    appMetadata: null,\n    hasModalActive: false,\n    isDimmerActive: false,\n}"
                }
            ],
            "packages/core/src/lib/services/eui-theme.service.ts": [
                {
                    "name": "initialState",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/eui-theme.service.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ThemeState",
                    "defaultValue": "{\n    themes: [\n        { name: EuiTheme.DEFAULT, isActive: false, styleSheet: null, cssClass: null },\n        { name: EuiTheme.ECL_EC, isActive: false, styleSheet: 'eui-ecl-ec.css', cssClass: null },\n        { name: EuiTheme.ECL_EC_RTL, isActive: false, styleSheet: 'eui-ecl-ec.css', cssClass: null },\n        { name: EuiTheme.ECL_EU, isActive: false, styleSheet: 'eui-ecl-eu.css', cssClass: null },\n        { name: EuiTheme.ECL_EU_RTL, isActive: false, styleSheet: 'eui-ecl-eu.css', cssClass: null },\n        { name: EuiTheme.DARK, isActive: false, styleSheet: null, cssClass: 'eui-t-dark' },\n        { name: EuiTheme.HIGH_CONTRAST, isActive: false, styleSheet: null, cssClass: 'eui-t-high-contrast' },\n        { name: EuiTheme.COMPACT, isActive: false, styleSheet: null, cssClass: 'eui-t-compact' },\n    ],\n    theme: {\n        isDefault: false,\n        isEclEc: false,\n        isEclEcRtl: false,\n        isEclEu: false,\n        isEclEuRtl: false,\n        isDark: false,\n        isHighContrast: false,\n        isCompact: false,\n    },\n}"
                }
            ],
            "packages/core/schematics/migrate-eui-progress-circle/index.ts": [
                {
                    "name": "INPUT_RENAMES",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new Map([\n  ['iconLabelClass', 'icon'],\n  ['iconLabelStyleClass', 'fillColor'],\n])"
                }
            ],
            "packages/core/src/lib/helpers/utils.ts": [
                {
                    "name": "isDefined",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/helpers/utils.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "<T>(value: T | undefined | null): value is T => <T>value !== undefined && <T>value !== null",
                    "rawdescription": "check if a value is null or undefined. If it's not both returns true otherwise false",
                    "description": "<p>check if a value is null or undefined. If it&#39;s not both returns true otherwise false</p>\n"
                }
            ],
            "packages/core/dist/docs/template-playground/zip-export.service.ts": [
                {
                    "name": "JSZip",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/dist/docs/template-playground/zip-export.service.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any"
                }
            ],
            "packages/core/src/lib/interceptors/add-lang-param.interceptor.ts": [
                {
                    "name": "LANG_PARAM_KEY",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/interceptors/add-lang-param.interceptor.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'X-Lang-Param'"
                }
            ],
            "packages/core/src/lib/services/storage/local-forage.service.ts": [
                {
                    "name": "LOCAL_FORAGE_SERVICE_CONFIG_TOKEN",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/storage/local-forage.service.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new InjectionToken<any>('LOCAL_FORAGE_SERVICE_CONFIG')"
                }
            ],
            "packages/core/src/lib/services/locale/locale.service.ts": [
                {
                    "name": "LOCALE_ID_MAPPER",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/locale/locale.service.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new InjectionToken<LocaleMapper>('localeIdMapper')"
                }
            ],
            "packages/core/src/lib/services/app/factories/log.ts": [
                {
                    "name": "LOG_INSTANCES",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/app/factories/log.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "object",
                    "defaultValue": "{}"
                }
            ],
            "packages/core/src/lib/services/log/log.module.ts": [
                {
                    "name": "LOG_MODULE_CONFIG_TOKEN",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/log/log.module.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new InjectionToken<LogConfig>('LOG_CONFIG')"
                }
            ],
            "packages/core/src/lib/helpers/form-helpers.ts": [
                {
                    "name": "markControlsTouched",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/helpers/form-helpers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(group: FormGroup | FormArray): void => {\n    Object.keys(group.controls).forEach((key: string) => {\n        const abstractControl = group.controls[key];\n        if (abstractControl instanceof FormGroup || abstractControl instanceof FormArray) {\n            markControlsTouched(abstractControl);\n        } else {\n            abstractControl.markAsTouched();\n        }\n    });\n}"
                },
                {
                    "name": "markFormGroupTouched",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/helpers/form-helpers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(FormControls: { [key: string]: AbstractControl } | AbstractControl[]): void => {\n    const forOwn = (object, iteratee): void => {\n        object = Object(object);\n        Object.keys(object).forEach((key) => iteratee(object[key], key, object));\n    };\n\n    const markFormGroupTouchedRecursive = (controls: { [key: string]: AbstractControl } | AbstractControl[]): void => {\n        forOwn(controls, (c) => {\n            if (c instanceof FormGroup || c instanceof FormArray) {\n                markFormGroupTouchedRecursive(c.controls);\n            } else {\n                c.markAsTouched();\n                c.updateValueAndValidity();\n            }\n        });\n    };\n    markFormGroupTouchedRecursive(FormControls);\n}"
                },
                {
                    "name": "validateEmail",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/helpers/form-helpers.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(c: FormControl): { validateEmail: { valid: boolean } } => {\n    const EMAIL_REGEXP =\n        // eslint-disable-next-line max-len, no-useless-escape\n        /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\n    const error = {\n        validateEmail: {\n            valid: false,\n        },\n    };\n    return EMAIL_REGEXP.test(c.value) ? null : error;\n}"
                }
            ],
            "packages/core/schematics/migrate-to-standalone/index.ts": [
                {
                    "name": "MODULE_MAPPINGS",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Record<string, ModuleMapping>",
                    "defaultValue": "{\n  EuiAccordionModule: {\n    importPath: '@eui/components/eui-accordion',\n    selectors: {\n      'eui-accordion': 'EuiAccordionComponent',\n      'eui-accordion-item': 'EuiAccordionItemComponent',\n      euiAccordionItemHeader: 'EuiAccordionItemHeaderDirective',\n    },\n  },\n  EuiAlertModule: {\n    importPath: '@eui/components/eui-alert',\n    selectors: {\n      'eui-alert': 'EuiAlertComponent',\n      euiAlert: 'EuiAlertComponent',\n      'eui-alert-title': 'EuiAlertTitleComponent',\n    },\n  },\n  EuiAutocompleteModule: {\n    importPath: '@eui/components/eui-autocomplete',\n    selectors: {\n      'eui-autocomplete': 'EuiAutocompleteComponent',\n      euiAutocomplete: 'EuiAutocompleteComponent',\n      'eui-autocomplete-option': 'EuiAutocompleteOptionComponent',\n      'eui-autocomplete-option-group': 'EuiAutocompleteOptionGroupComponent',\n      'eui-autocomplete-panel': 'EuiAutocompletePanelComponent',\n    },\n  },\n  EuiAvatarModule: {\n    importPath: '@eui/components/eui-avatar',\n    selectors: {\n      'eui-avatar': 'EuiAvatarComponent',\n      euiAvatar: 'EuiAvatarComponent',\n    },\n  },\n  EuiBadgeModule: {\n    importPath: '@eui/components/eui-badge',\n    selectors: {\n      'eui-badge': 'EuiBadgeComponent',\n      euiBadge: 'EuiBadgeComponent',\n    },\n  },\n  EuiBlockContentModule: {\n    importPath: '@eui/components/eui-block-content',\n    selectors: {\n      'eui-block-content': 'EuiBlockContentComponent',\n    },\n  },\n  EuiBreadcrumbModule: {\n    importPath: '@eui/components/eui-breadcrumb',\n    selectors: {\n      'eui-breadcrumb': 'EuiBreadcrumbComponent',\n    },\n  },\n  EuiButtonModule: {\n    importPath: '@eui/components/eui-button',\n    selectors: {\n      euiButton: 'EuiButtonComponent',\n    },\n  },\n  EuiButtonGroupModule: {\n    importPath: '@eui/components/eui-button-group',\n    selectors: {\n      'eui-button-group': 'EuiButtonGroupComponent',\n    },\n  },\n  EuiCardModule: {\n    importPath: '@eui/components/eui-card',\n    selectors: {\n      'eui-card': 'EuiCardComponent',\n      'eui-card-header': 'EuiCardHeaderComponent',\n      'eui-card-header-title': 'EuiCardHeaderTitleComponent',\n      'eui-card-content': 'EuiCardContentComponent',\n      'eui-card-footer': 'EuiCardFooterComponent',\n      'eui-card-media': 'EuiCardMediaComponent',\n    },\n  },\n  EuiChipModule: {\n    importPath: '@eui/components/eui-chip',\n    selectors: {\n      'eui-chip': 'EuiChipComponent',\n      euiChip: 'EuiChipComponent',\n    },\n  },\n  EuiChipListModule: {\n    importPath: '@eui/components/eui-chip-list',\n    selectors: {\n      'eui-chip-list': 'EuiChipListComponent',\n    },\n  },\n  EuiChipGroupModule: {\n    importPath: '@eui/components/eui-chip-group',\n    selectors: {\n      'eui-chip-group': 'EuiChipGroupComponent',\n    },\n  },\n  EuiDashboardCardModule: {\n    importPath: '@eui/components/eui-dashboard-card',\n    selectors: {\n      'eui-dashboard-card': 'EuiDashboardCardComponent',\n      'eui-dashboard-card-content': 'EuiDashboardCardContentComponent',\n      'eui-dashboard-card-content-header': 'EuiDashboardCardContentHeaderComponent',\n      'eui-dashboard-card-content-body': 'EuiDashboardCardContentBodyComponent',\n      'eui-dashboard-card-content-footer': 'EuiDashboardCardContentFooterComponent',\n    },\n  },\n  EuiDashboardButtonModule: {\n    importPath: '@eui/components/eui-dashboard-card',\n    selectors: {\n      'eui-dashboard-card': 'EuiDashboardCardComponent',\n      'eui-dashboard-card-content': 'EuiDashboardCardContentComponent',\n      'eui-dashboard-card-content-header': 'EuiDashboardCardContentHeaderComponent',\n      'eui-dashboard-card-content-body': 'EuiDashboardCardContentBodyComponent',\n      'eui-dashboard-card-content-footer': 'EuiDashboardCardContentFooterComponent',\n    },\n  },\n  EuiDatepickerModule: {\n    importPath: '@eui/components/eui-datepicker',\n    selectors: {\n      'eui-datepicker': 'EuiDatepickerComponent',\n    },\n  },\n  EuiDateRangeSelectorModule: {\n    importPath: '@eui/components/eui-date-range-selector',\n    selectors: {\n      'eui-date-range-selector': 'EuiDateRangeSelectorComponent',\n    },\n  },\n  EuiDialogModule: {\n    importPath: '@eui/components/eui-dialog',\n    selectors: {\n      'eui-dialog': 'EuiDialogComponent',\n      'eui-dialog-header': 'EuiDialogHeaderDirective',\n      'eui-dialog-footer': 'EuiDialogFooterDirective',\n      'eui-dialog-container': 'EuiDialogContainerComponent',\n    },\n  },\n  EuiDisableContentModule: {\n    importPath: '@eui/components/eui-disable-content',\n    selectors: {\n      'eui-disable-content': 'EuiDisableContentComponent',\n    },\n  },\n  EuiDiscussionThreadModule: {\n    importPath: '@eui/components/eui-discussion-thread',\n    selectors: {\n      'eui-discussion-thread': 'EuiDiscussionThreadComponent',\n      'eui-discussion-thread-item': 'EuiDiscussionThreadItemComponent',\n    },\n  },\n  EuiDropdownModule: {\n    importPath: '@eui/components/eui-dropdown',\n    selectors: {\n      'eui-dropdown': 'EuiDropdownComponent',\n    },\n  },\n  EuiFeedbackMessageModule: {\n    importPath: '@eui/components/eui-feedback-message',\n    selectors: {\n      'eui-feedback-message': 'EuiFeedbackMessageComponent',\n    },\n  },\n  EuiFieldsetModule: {\n    importPath: '@eui/components/eui-fieldset',\n    selectors: {\n      'eui-fieldset': 'EuiFieldsetComponent',\n      euiFieldsetLabelRightContent: 'EuiFieldsetLabelRightContentTagDirective',\n      euiFieldsetLabelExtraContent: 'EuiFieldsetLabelExtraContentTagDirective',\n    },\n  },\n  EuiFileUploadModule: {\n    importPath: '@eui/components/eui-file-upload',\n    selectors: {\n      'eui-file-upload': 'EuiFileUploadComponent',\n    },\n  },\n  EuiGrowlModule: {\n    importPath: '@eui/components/eui-growl',\n    selectors: {\n      'eui-growl': 'EuiGrowlComponent',\n    },\n  },\n  EuiIconModule: {\n    importPath: '@eui/components/eui-icon',\n    selectors: {\n      'eui-icon-svg': 'EuiIconSvgComponent',\n      euiIconSvg: 'EuiIconSvgComponent',\n    },\n  },\n  EuiIconButtonModule: {\n    importPath: '@eui/components/eui-icon-button',\n    selectors: {\n      'eui-icon-button': 'EuiIconButtonComponent',\n    },\n  },\n  EuiIconToggleModule: {\n    importPath: '@eui/components/eui-icon-toggle',\n    selectors: {\n      'eui-icon-toggle': 'EuiIconToggleComponent',\n    },\n  },\n  EuiInputCheckboxModule: {\n    importPath: '@eui/components/eui-input-checkbox',\n    selectors: {\n      euiInputCheckBox: 'EuiInputCheckboxComponent',\n    },\n  },\n  EuiInputGroupModule: {\n    importPath: '@eui/components/eui-input-group',\n    selectors: {\n      euiInputGroup: 'EuiInputGroupComponent',\n      'eui-input-group-addon': 'EuiInputGroupAddOnComponent',\n      euiInputGroupAddOn: 'EuiInputGroupAddOnComponent',\n      'eui-input-group-addon-item': 'EuiInputGroupAddOnItemComponent',\n      euiInputGroupAddOnItem: 'EuiInputGroupAddOnItemComponent',\n    },\n  },\n  EuiInputNumberModule: {\n    importPath: '@eui/components/eui-input-number',\n    selectors: {\n      euiInputNumber: 'EuiInputNumberComponent',\n    },\n  },\n  EuiInputRadioModule: {\n    importPath: '@eui/components/eui-input-radio',\n    selectors: {\n      euiInputRadio: 'EuiInputRadioComponent',\n    },\n  },\n  EuiInputTextModule: {\n    importPath: '@eui/components/eui-input-text',\n    selectors: {\n      euiInputText: 'EuiInputTextComponent',\n    },\n  },\n  EuiLabelModule: {\n    importPath: '@eui/components/eui-label',\n    selectors: {\n      'eui-label': 'EuiLabelComponent',\n      euiLabel: 'EuiLabelComponent',\n    },\n  },\n  EuiListModule: {\n    importPath: '@eui/components/eui-list',\n    selectors: {\n      'eui-list': 'EuiListComponent',\n      euiList: 'EuiListComponent',\n      'eui-list-item': 'EuiListItemComponent',\n      euiListItem: 'EuiListItemComponent',\n    },\n  },\n  EuiMenuModule: {\n    importPath: '@eui/components/eui-menu',\n    selectors: {\n      'eui-menu': 'EuiMenuComponent',\n      'eui-menu-item': 'EuiMenuItemComponent',\n    },\n  },\n  EuiMessageBoxModule: {\n    importPath: '@eui/components/eui-message-box',\n    selectors: {\n      'eui-message-box': 'EuiMessageBoxComponent',\n      'eui-message-box-footer': 'EuiMessageBoxFooterDirective',\n    },\n  },\n  EuiOverlayModule: {\n    importPath: '@eui/components/eui-overlay',\n    selectors: {\n      'eui-overlay': 'EuiOverlayComponent',\n    },\n  },\n  EuiPageModule: {\n    importPath: '@eui/components/eui-page',\n    selectors: {\n      'eui-page': 'EuiPageComponent',\n    },\n  },\n  EuiPaginatorModule: {\n    importPath: '@eui/components/eui-paginator',\n    selectors: {\n      'eui-paginator': 'EuiPaginatorComponent',\n    },\n  },\n  EuiPopoverModule: {\n    importPath: '@eui/components/eui-popover',\n    selectors: {\n      'eui-popover': 'EuiPopoverComponent',\n    },\n  },\n  EuiProgressBarModule: {\n    importPath: '@eui/components/eui-progress-bar',\n    selectors: {\n      'eui-progress-bar': 'EuiProgressBarComponent',\n    },\n  },\n  EuiProgressCircleModule: {\n    importPath: '@eui/components/eui-progress-circle',\n    selectors: {\n      'eui-progress-circle': 'EuiProgressCircleComponent',\n    },\n  },\n  EuiSelectModule: {\n    importPath: '@eui/components/eui-select',\n    selectors: {\n      euiSelect: 'EuiSelectComponent',\n    },\n  },\n  EuiSidebarMenuModule: {\n    importPath: '@eui/components/eui-sidebar-menu',\n    selectors: {\n      'eui-sidebar-menu': 'EuiSidebarMenuComponent',\n    },\n  },\n  EuiSkeletonModule: {\n    importPath: '@eui/components/eui-skeleton',\n    selectors: {\n      'eui-skeleton': 'EuiSkeletonComponent',\n    },\n  },\n  EuiSlideToggleModule: {\n    importPath: '@eui/components/eui-slide-toggle',\n    selectors: {\n      'eui-slide-toggle': 'EuiSlideToggleComponent',\n    },\n  },\n  EuiTableModule: {\n    importPath: '@eui/components/eui-table',\n    selectors: {\n      'eui-table': 'EuiTableComponent',\n      euiTable: 'EuiTableComponent',\n      'eui-table-filter': 'EuiTableFilterComponent',\n      isSortable: 'EuiTableSortableColComponent',\n      isStickyCol: 'EuiTableStickyColDirective',\n      isHeaderSelectable: 'EuiTableSelectableHeaderComponent',\n      isDataSelectable: 'EuiTableSelectableRowComponent',\n      isExpandableRow: 'EuiTableExpandableRowDirective',\n    },\n  },\n  EuiTableV2Module: {\n      importPath: '@eui/components/eui-table',\n      selectors: {\n          'eui-table': 'EuiTableComponent',\n          euiTable: 'EuiTableComponent',\n          'eui-table-filter': 'EuiTableFilterComponent',\n          isSortable: 'EuiTableSortableColComponent',\n          isStickyCol: 'EuiTableStickyColDirective',\n          isHeaderSelectable: 'EuiTableSelectableHeaderComponent',\n          isDataSelectable: 'EuiTableSelectableRowComponent',\n          isExpandableRow: 'EuiTableExpandableRowDirective',\n      },\n  },\n  EuiTabsModule: {\n    importPath: '@eui/components/eui-tabs',\n    selectors: {\n      'eui-tabs': 'EuiTabsComponent',\n      'eui-tab': 'EuiTabComponent',\n      'eui-tab-header': 'EuiTabHeaderComponent',\n      'eui-tab-body': 'EuiTabBodyComponent',\n    },\n  },\n  EuiTextAreaModule: {\n    importPath: '@eui/components/eui-textarea',\n    selectors: {\n      euiTextArea: 'EuiTextareaComponent',\n    },\n  },\n  EuiTimelineModule: {\n    importPath: '@eui/components/eui-timeline',\n    selectors: {\n      'eui-timeline': 'EuiTimelineComponent',\n      'eui-timeline-item': 'EuiTimelineItemComponent',\n    },\n  },\n  EuiTimepickerModule: {\n    importPath: '@eui/components/eui-timepicker',\n    selectors: {\n      'eui-timepicker': 'EuiTimepickerComponent',\n    },\n  },\n  EuiTreeModule: {\n    importPath: '@eui/components/eui-tree',\n    selectors: {\n      'eui-tree': 'EuiTreeComponent',\n    },\n  },\n  EuiTreeListModule: {\n    importPath: '@eui/components/eui-tree-list',\n    selectors: {\n      'eui-tree-list': 'EuiTreeListComponent',\n      'eui-tree-list-item': 'EuiTreeListItemComponent',\n    },\n  },\n  EuiUserProfileModule: {\n    importPath: '@eui/components/eui-user-profile',\n    selectors: {\n      'eui-user-profile': 'EuiUserProfileComponent',\n    },\n  },\n  EuiWizardModule: {\n    importPath: '@eui/components/eui-wizard',\n    selectors: {\n      'eui-wizard': 'EuiWizardComponent',\n      'eui-wizard-step': 'EuiWizardStepComponent',\n    },\n  },\n  EuiTooltipDirectiveModule: {\n    importPath: '@eui/components/directives',\n    selectors: {\n      euiTooltip: 'EuiTooltipDirective',\n    },\n  },\n  EuiTemplateDirectiveModule: {\n    importPath: '@eui/components/directives',\n    selectors: {\n      euiTemplate: 'EuiTemplateDirective',\n    },\n  },\n  EuiResizableDirectiveModule: {\n    importPath: '@eui/components/directives',\n    selectors: {\n      euiResizable: 'EuiResizableDirective',\n      'eui-resizable': 'EuiResizableComponent',\n    },\n  },\n  EuiMaxLengthDirectiveModule: {\n    importPath: '@eui/components/directives',\n    selectors: {\n      euiEditorMaxlength: 'EuiMaxLengthDirective',\n    },\n  },\n  EuiTruncatePipeModule: {\n    importPath: '@eui/components/pipes',\n    selectors: {\n      euiTruncate: 'EuiTruncatePipe',\n    },\n  },\n  EuiLayoutModule: {\n    importPath: '@eui/components/layout',\n    selectors: {\n      'eui-app': 'EuiAppComponent',\n      'eui-header': 'EuiHeaderComponent',\n      'eui-footer': 'EuiFooterComponent',\n      'eui-toolbar': 'EuiToolbarComponent',\n      'eui-sidebar-toggle': 'EuiSidebarToggleComponent',\n    },\n  },\n}"
                }
            ],
            "packages/core/dist/docs/template-playground/template-editor.service.ts": [
                {
                    "name": "monaco",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/dist/docs/template-playground/template-editor.service.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any"
                }
            ],
            "packages/core/schematics/fix-no-multiple-empty-lines/index.ts": [
                {
                    "name": "MULTIPLE_EMPTY_LINES",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/fix-no-multiple-empty-lines/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "/\\n{3,}/g"
                }
            ],
            "packages/core/schematics/migrate-eui-tabs/index.ts": [
                {
                    "name": "NEW_BODY",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'eui-tab-body'"
                },
                {
                    "name": "NEW_HEADER",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'eui-tab-header'"
                },
                {
                    "name": "NEW_HEADER_LABEL",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'eui-tab-header-label'"
                },
                {
                    "name": "NEW_HEADER_SUB_LABEL",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'eui-tab-header-sub-label'"
                },
                {
                    "name": "OLD_CONTENT",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'eui-tab-content'"
                },
                {
                    "name": "OLD_LABEL",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'eui-tab-label'"
                },
                {
                    "name": "OLD_SUB_LABEL",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'euiTabSubLabel'"
                }
            ],
            "packages/core/schematics/migrate-eui-toolbar-menu/index.ts": [
                {
                    "name": "NEW_COMPONENT",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'EuiToolbarMegaMenuComponent'"
                },
                {
                    "name": "NEW_COMPONENT_PATH",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'@eui/components/layout'"
                },
                {
                    "name": "NEW_INTERFACE",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'EuiMenuItem'"
                },
                {
                    "name": "NEW_INTERFACE_PATH",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'@eui/core'"
                },
                {
                    "name": "NEW_TAG",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'eui-toolbar-mega-menu'"
                },
                {
                    "name": "OLD_COMPONENT",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'EuiToolbarMenuComponent'"
                },
                {
                    "name": "OLD_INTERFACE",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'ToolbarItem'"
                },
                {
                    "name": "OLD_TAG",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'eui-toolbar-menu'"
                },
                {
                    "name": "REMOVED_OUTPUT",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'menuItemClick'"
                }
            ],
            "packages/core/schematics/migrate-eui-button/index.ts": [
                {
                    "name": "NEW_NAME",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-button/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'euiCTAButton'"
                },
                {
                    "name": "OLD_NAME",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-button/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'euiButtonCall'"
                }
            ],
            "packages/core/schematics/migrate-eui-table/index.ts": [
                {
                    "name": "NEW_PIPE",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'euiTableHighlight'"
                },
                {
                    "name": "OLD_PIPE",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'euiTableHighlightFilter'"
                },
                {
                    "name": "OUTPUT_RENAMES",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new Map([['selectedRows', 'rowsSelect']])"
                },
                {
                    "name": "PAGINATOR_COMPONENT",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'EuiPaginatorComponent'"
                },
                {
                    "name": "PAGINATOR_IMPORT_PATH",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'@eui/components/eui-paginator'"
                },
                {
                    "name": "REMOVED_INPUTS",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new Set(['euiTableBordered', 'isHoverable', 'defaultMultiOrder', 'paginable'])"
                },
                {
                    "name": "REMOVED_OUTPUTS",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new Set(['multiSortChange'])"
                },
                {
                    "name": "TABLE_INPUT_RENAMES",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new Map([\n  ['rows', 'data'],\n  ['loading', 'isLoading'],\n  ['asyncTable', 'isAsync'],\n  ['euiTableResponsive', 'isTableResponsive'],\n  ['euiTableFixedLayout', 'isTableFixedLayout'],\n  ['euiTableCompact', 'isTableCompact'],\n  ['hasStickyColumns', 'hasStickyCols'],\n])"
                },
                {
                    "name": "TH_TD_INPUT_RENAMES",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new Map([\n  ['isStickyColumn', 'isStickyCol'],\n  ['sortable', 'isSortable'],\n])"
                },
                {
                    "name": "TR_INPUT_RENAMES",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new Map([\n  ['isSelectableHeader', 'isHeaderSelectable'],\n  ['isSelectable', 'isDataSelectable'],\n])"
                },
                {
                    "name": "TS_PROPERTY_RENAMES",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new Map([['filteredRows', 'getFilteredData']])"
                }
            ],
            "packages/core/src/lib/services/store/store.service.mock.ts": [
                {
                    "name": "PLATFORM_BROWSER_ID",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/store/store.service.mock.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'browser'"
                }
            ],
            "packages/core/schematics/migrate-eui-alert/index.ts": [
                {
                    "name": "REMOVED_INPUTS",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-alert/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new Set(['alertIconType', 'alertIconFillColor', 'isMuted', 'isBordered'])"
                }
            ],
            "packages/core/schematics/migrate-eui-avatar/index.ts": [
                {
                    "name": "REMOVED_INPUTS",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new Set(['isFlat'])"
                }
            ],
            "packages/core/schematics/migrate-eui-chip/index.ts": [
                {
                    "name": "REMOVED_INPUTS",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-chip/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new Set(['isSquared'])"
                }
            ],
            "packages/core/schematics/migrate-eui-popover/index.ts": [
                {
                    "name": "REMOVED_INPUTS",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/migrate-eui-popover/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new Set(['type'])"
                }
            ],
            "packages/core/schematics/add-eui-imports/selector-map.ts": [
                {
                    "name": "SELECTOR_MAP",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/schematics/add-eui-imports/selector-map.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "SelectorEntry[]",
                    "defaultValue": "buildSelectorMap()",
                    "rawdescription": "All known EUI selectors with their import metadata",
                    "description": "<p>All known EUI selectors with their import metadata</p>\n"
                }
            ],
            "packages/core/test-setup.ts": [
                {
                    "name": "testBed",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/test-setup.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "getTestBed()"
                }
            ],
            "packages/core/src/lib/services/i18n/i18n.loader.ts": [
                {
                    "name": "translateConfig",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/services/i18n/i18n.loader.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "object",
                    "defaultValue": "{\n    loader: {\n        provide: TranslateLoader,\n        useClass: I18nLoader,\n    },\n}"
                }
            ],
            "packages/core/src/lib/interceptors/ux-request-error-model.interceptor.ts": [
                {
                    "name": "UX_ERROR_MAPPING_HANDLER_TOKEN",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/core/src/lib/interceptors/ux-request-error-model.interceptor.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new InjectionToken<ErrorMappingHandler>('UX_ERROR_MAPPING_HANDLER')"
                }
            ]
        },
        "groupedFunctions": {
            "packages/core/schematics/add-eui-imports/index.ts": [
                {
                    "name": "addEsImports",
                    "file": "packages/core/schematics/add-eui-imports/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "imports",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "imports",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "addEuiImports",
                    "file": "packages/core/schematics/add-eui-imports/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "returnType": "Rule",
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "addImportsToFile",
                    "file": "packages/core/schematics/add-eui-imports/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "decoratorStartHint",
                            "type": "number",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "imports",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "useClassArray",
                            "type": "boolean",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "decoratorStartHint",
                            "type": "number",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "imports",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "useClassArray",
                            "type": "boolean",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "buildNgModuleIndex",
                    "file": "packages/core/schematics/add-eui-imports/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "tree",
                            "type": "Tree",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "NgModuleInfo[]",
                    "jsdoctags": [
                        {
                            "name": "tree",
                            "type": "Tree",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "detectIndent",
                    "file": "packages/core/schematics/add-eui-imports/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "pos",
                            "type": "number",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "pos",
                            "type": "number",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "extractArrayProperty",
                    "file": "packages/core/schematics/add-eui-imports/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "decorator",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "propName",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string[]",
                    "jsdoctags": [
                        {
                            "name": "decorator",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "propName",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "findComponentDecorators",
                    "file": "packages/core/schematics/add-eui-imports/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "sourceFile",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "ComponentInfo[]",
                    "jsdoctags": [
                        {
                            "name": "sourceFile",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "findDeclaringModule",
                    "file": "packages/core/schematics/add-eui-imports/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "modules",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "componentClassName",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "NgModuleInfo | undefined",
                    "jsdoctags": [
                        {
                            "name": "modules",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "componentClassName",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "findDecoratorImportsArray",
                    "file": "packages/core/schematics/add-eui-imports/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "sf",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "decoratorStartHint",
                            "type": "number",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "ImportsArrayInfo | null",
                    "jsdoctags": [
                        {
                            "name": "sf",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "decoratorStartHint",
                            "type": "number",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "findImportsArrayInSource",
                    "file": "packages/core/schematics/add-eui-imports/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "sf",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "ts.ArrayLiteralExpression | null",
                    "jsdoctags": [
                        {
                            "name": "sf",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getTemplateContent",
                    "file": "packages/core/schematics/add-eui-imports/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "tree",
                            "type": "Tree",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "tsPath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "decorator",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string | null",
                    "jsdoctags": [
                        {
                            "name": "tree",
                            "type": "Tree",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "tsPath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "decorator",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "hasStandaloneFalse",
                    "file": "packages/core/schematics/add-eui-imports/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "decorator",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "decorator",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "matchElement",
                    "file": "packages/core/schematics/add-eui-imports/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "matched",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "matched",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "matchSelectorsInTemplate",
                    "file": "packages/core/schematics/add-eui-imports/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "html",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "SelectorEntry[]",
                    "jsdoctags": [
                        {
                            "name": "html",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "removeFromEsImports",
                    "file": "packages/core/schematics/add-eui-imports/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "symbolsToRemove",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "symbolsToRemove",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "resolveImports",
                    "file": "packages/core/schematics/add-eui-imports/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "matched",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "useClassArray",
                            "type": "boolean",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "ImportToAdd[]",
                    "jsdoctags": [
                        {
                            "name": "matched",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "useClassArray",
                            "type": "boolean",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "updateDecoratorImportsArray",
                    "file": "packages/core/schematics/add-eui-imports/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "arrayNode",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "toAdd",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "toRemove",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "arrayNode",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "toAdd",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "toRemove",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitDir",
                    "file": "packages/core/schematics/add-eui-imports/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitTemplateNodes",
                    "file": "packages/core/schematics/add-eui-imports/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "matched",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "matched",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate-eui-table/index.ts": [
                {
                    "name": "addPaginatorImport",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "applyEdits",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "collectChildElementRenames",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "collectChildInputRemovals",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "collectEmptyMessageRename",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "collectInputRemovals",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "collectOutputChanges",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "collectPaginatorMigration",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "collectPipeRenames",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "collectTableInputRenames",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "collectTemplateEmptyMessageRename",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "template",
                            "type": "TmplAstTemplate",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "template",
                            "type": "TmplAstTemplate",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "hasEuiTableAttribute",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isComponentMetadataProperty",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isTemplateProperty",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "logRemovalWarning",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "name",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "name",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateEuiTable",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "returnType": "Rule",
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateTemplate",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateTemplateWithPaginator",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "literal type",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateTypeScript",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "literal type",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "removeAttribute",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "start",
                            "type": "number",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "end",
                            "type": "number",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "start",
                            "type": "number",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "end",
                            "type": "number",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "renameTsProperties",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "unwrapExpression",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "expression",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "ts.Expression",
                    "jsdoctags": [
                        {
                            "name": "expression",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitAstForPipes",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "ast",
                            "type": "AST",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "ast",
                            "type": "AST",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitDir",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitExpressionForPipes",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "expr",
                            "type": "AST",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "expr",
                            "type": "AST",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitNodesForTable",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "insideEuiTable",
                            "type": "boolean",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "insideEuiTable",
                            "type": "boolean",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "warnSetSort",
                    "file": "packages/core/schematics/migrate-eui-table/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate-eui-chip-list/index.ts": [
                {
                    "name": "addTruncatePipeImport",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "applyEdits",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "buildTruncatePipeEdit",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "chip",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "truncateValue",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "Edit | null",
                    "jsdoctags": [
                        {
                            "name": "chip",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "truncateValue",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "deduplicateEdits",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "Edit[]",
                    "jsdoctags": [
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "extractAttrName",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "insertion",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "insertion",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "extractBindingValue",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "input",
                            "type": "TmplAstBoundAttribute",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "input",
                            "type": "TmplAstBoundAttribute",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "extractHandlerExpression",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "output",
                            "type": "TmplAstBoundEvent",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "output",
                            "type": "TmplAstBoundEvent",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "findChildChips",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "TmplAstElement[]",
                    "jsdoctags": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "findLabelElement",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "TmplAstElement | null",
                    "jsdoctags": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getExistingAttrNames",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "Set<string>",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isChipElement",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isChipListElement",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isComponentMetadataProperty",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isTemplateProperty",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateChipListElement",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateEuiChipList",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "returnType": "Rule",
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateInlineTemplates",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateTemplate",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "removalEdit",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "Edit",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "unwrapExpression",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "expression",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "ts.Expression",
                    "jsdoctags": [
                        {
                            "name": "expression",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitDir",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitNodes",
                    "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/src/lib/services/errors/http-error-handler-callback-functions.ts": [
                {
                    "name": "AlertHttpErrorCallbackFn",
                    "file": "packages/core/src/lib/services/errors/http-error-handler-callback-functions.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "error",
                            "type": "HttpErrorResponse",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "error",
                            "type": "HttpErrorResponse",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ConsoleHttpErrorCallbackFn",
                    "file": "packages/core/src/lib/services/errors/http-error-handler-callback-functions.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "error",
                            "type": "HttpErrorResponse",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "error",
                            "type": "HttpErrorResponse",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "GrowlHttpErrorCallbackFn",
                    "file": "packages/core/src/lib/services/errors/http-error-handler-callback-functions.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "error",
                            "type": "HttpErrorResponse",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "injector",
                            "type": "Injector",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "error",
                            "type": "HttpErrorResponse",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "injector",
                            "type": "Injector",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "LogHttpErrorCallbackFn",
                    "file": "packages/core/src/lib/services/errors/http-error-handler-callback-functions.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "error",
                            "type": "HttpErrorResponse",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "injector",
                            "type": "Injector",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "error",
                            "type": "HttpErrorResponse",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "injector",
                            "type": "Injector",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate-eui-tabs/index.ts": [
                {
                    "name": "applyChanges",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "changes",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "changes",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "buildBodyReplacement",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "content",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "content",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "buildHeaderReplacement",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "label",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "label",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "findDirectChild",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "name",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "TmplAstElement | undefined",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "name",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "findElements",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "name",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "TmplAstElement[]",
                    "jsdoctags": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "name",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "formatInnerLines",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "indent",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string[]",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "indent",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getAttributeText",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "tagName",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "tagName",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getIndent",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "offset",
                            "type": "number",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "offset",
                            "type": "number",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getInnerText",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isComponentMetadataProperty",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isElement",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "type": "TmplAstNode",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "TmplAstElement",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "type": "TmplAstNode",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isTemplateProperty",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateEuiTabs",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "returnType": "Rule",
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateInlineTemplates",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "MigrationResult",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateTemplate",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "MigrationResult",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "removeElementRanges",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "parent",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "elements",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "parent",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "elements",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "unwrapExpression",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "expression",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "ts.Expression",
                    "jsdoctags": [
                        {
                            "name": "expression",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitDir",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "withoutOverlaps",
                    "file": "packages/core/schematics/migrate-eui-tabs/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "changes",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "TextChange[]",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate-eui-accent/index.ts": [
                {
                    "name": "applyEdits",
                    "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "collectRenames",
                    "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isComponentMetadataProperty",
                    "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isEuiElement",
                    "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isTemplateProperty",
                    "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateEuiAccent",
                    "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "returnType": "Rule",
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateInlineTemplates",
                    "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateTemplate",
                    "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "renameTsPropertyAccesses",
                    "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "unwrapExpression",
                    "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "expression",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "ts.Expression",
                    "jsdoctags": [
                        {
                            "name": "expression",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitDir",
                    "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitNodes",
                    "file": "packages/core/schematics/migrate-eui-accent/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate-eui-button/index.ts": [
                {
                    "name": "applyEdits",
                    "file": "packages/core/schematics/migrate-eui-button/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "collectRenames",
                    "file": "packages/core/schematics/migrate-eui-button/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "hasEuiButtonAttribute",
                    "file": "packages/core/schematics/migrate-eui-button/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isComponentMetadataProperty",
                    "file": "packages/core/schematics/migrate-eui-button/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isTemplateProperty",
                    "file": "packages/core/schematics/migrate-eui-button/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateEuiButton",
                    "file": "packages/core/schematics/migrate-eui-button/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "returnType": "Rule",
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateInlineTemplates",
                    "file": "packages/core/schematics/migrate-eui-button/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateTemplate",
                    "file": "packages/core/schematics/migrate-eui-button/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "unwrapExpression",
                    "file": "packages/core/schematics/migrate-eui-button/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "expression",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "ts.Expression",
                    "jsdoctags": [
                        {
                            "name": "expression",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitDir",
                    "file": "packages/core/schematics/migrate-eui-button/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitNodes",
                    "file": "packages/core/schematics/migrate-eui-button/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate-eui-editor/index.ts": [
                {
                    "name": "applyEdits",
                    "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "collectRenames",
                    "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isComponentMetadataProperty",
                    "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isTemplateProperty",
                    "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateEuiEditor",
                    "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "returnType": "Rule",
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateInlineTemplates",
                    "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateTemplate",
                    "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "unwrapExpression",
                    "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "expression",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "ts.Expression",
                    "jsdoctags": [
                        {
                            "name": "expression",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitDir",
                    "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitNodes",
                    "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "warnPropertyAccesses",
                    "file": "packages/core/schematics/migrate-eui-editor/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "path",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "path",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate-eui-fieldset/index.ts": [
                {
                    "name": "applyEdits",
                    "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "collectRenames",
                    "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isComponentMetadataProperty",
                    "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isTemplateProperty",
                    "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateEuiFieldset",
                    "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "returnType": "Rule",
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateInlineTemplates",
                    "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateTemplate",
                    "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "unwrapExpression",
                    "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "expression",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "ts.Expression",
                    "jsdoctags": [
                        {
                            "name": "expression",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitDir",
                    "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitNodes",
                    "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate-eui-icon-svg/index.ts": [
                {
                    "name": "applyEdits",
                    "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "collectRenames",
                    "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isComponentMetadataProperty",
                    "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isTemplateProperty",
                    "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateEuiIconSvg",
                    "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "returnType": "Rule",
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateInlineTemplates",
                    "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateTemplate",
                    "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "renameTsPropertyAccesses",
                    "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "unwrapExpression",
                    "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "expression",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "ts.Expression",
                    "jsdoctags": [
                        {
                            "name": "expression",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitDir",
                    "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitNodes",
                    "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate-eui-icon-toggle/index.ts": [
                {
                    "name": "applyEdits",
                    "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "collectRenames",
                    "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isComponentMetadataProperty",
                    "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isTemplateProperty",
                    "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateEuiIconToggle",
                    "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "returnType": "Rule",
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateInlineTemplates",
                    "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateTemplate",
                    "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "renameTsPropertyAccesses",
                    "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "unwrapExpression",
                    "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "expression",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "ts.Expression",
                    "jsdoctags": [
                        {
                            "name": "expression",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitDir",
                    "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitNodes",
                    "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate-eui-progress-circle/index.ts": [
                {
                    "name": "applyEdits",
                    "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "collectRenames",
                    "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isComponentMetadataProperty",
                    "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isTemplateProperty",
                    "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateEuiProgressCircle",
                    "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "returnType": "Rule",
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateInlineTemplates",
                    "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateTemplate",
                    "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "unwrapExpression",
                    "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "expression",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "ts.Expression",
                    "jsdoctags": [
                        {
                            "name": "expression",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitDir",
                    "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitNodes",
                    "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate-eui-toolbar-menu/index.ts": [
                {
                    "name": "applyEdits",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "collectOutputRemovals",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "collectTagRenames",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "deduplicateEdits",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "Edit[]",
                    "jsdoctags": [
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isComponentMetadataProperty",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isTemplateProperty",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "node",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateEuiToolbarMenu",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "returnType": "Rule",
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateImportsAndTypes",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateInlineTemplates",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateTemplate",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateTypeScript",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "removeImportSpecifier",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "namedImports",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "specifier",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "sourceFile",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "namedImports",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "specifier",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "sourceFile",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "unwrapExpression",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "expression",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "ts.Expression",
                    "jsdoctags": [
                        {
                            "name": "expression",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitDir",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitNodes",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "edits",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "warnRemovedProperties",
                    "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "sourceFile",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "sourceFile",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate-to-standalone/index.ts": [
                {
                    "name": "applyReplacements",
                    "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "replacements",
                            "type": "Map",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "replacements",
                            "type": "Map",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "buildReplacements",
                    "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "moduleNames",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "templateSelectors",
                            "type": "Set",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "Map<string, literal type>",
                    "jsdoctags": [
                        {
                            "name": "moduleNames",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "templateSelectors",
                            "type": "Set",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "findComponentDecorators",
                    "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "sourceFile",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "ts.Decorator[]",
                    "jsdoctags": [
                        {
                            "name": "sourceFile",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "findImportsArrayNode",
                    "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "decorator",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "ts.ArrayLiteralExpression | undefined",
                    "jsdoctags": [
                        {
                            "name": "decorator",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "findSelectorsInTemplate",
                    "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "html",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "knownSelectors",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "Set<string>",
                    "jsdoctags": [
                        {
                            "name": "html",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "knownSelectors",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getTemplateSelectors",
                    "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "tree",
                            "type": "Tree",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "tsPath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "decorator",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "Set<string>",
                    "jsdoctags": [
                        {
                            "name": "tree",
                            "type": "Tree",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "tsPath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "decorator",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "hasModuleInArray",
                    "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "array",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "moduleName",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "array",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "moduleName",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateToStandalone",
                    "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "returnType": "Rule",
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "replaceInImportsArray",
                    "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "sourceFile",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "replacements",
                            "type": "Map",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "sourceFile",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "replacements",
                            "type": "Map",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "updateEsImports",
                    "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "replacements",
                            "type": "Map",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "replacements",
                            "type": "Map",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitDir",
                    "file": "packages/core/schematics/migrate-to-standalone/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/add-eui-imports/selector-map.ts": [
                {
                    "name": "buildSelectorMap",
                    "file": "packages/core/schematics/add-eui-imports/selector-map.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [],
                    "returnType": "SelectorEntry[]"
                },
                {
                    "name": "getClassNamesForArray",
                    "file": "packages/core/schematics/add-eui-imports/selector-map.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Given a classArray name, returns all class names that belong to that array.\nUsed to detect when individual class names can be consolidated into a spread.</p>\n",
                    "args": [
                        {
                            "name": "arrayName",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string[]",
                    "jsdoctags": [
                        {
                            "name": "arrayName",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "parseSelector",
                    "file": "packages/core/schematics/add-eui-imports/selector-map.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Parses a raw CSS-like selector string into element + attributes.\nExamples:\n  &quot;button[euiButton]&quot; → { element: &quot;button&quot;, attributes: [&quot;euiButton&quot;] }\n  &quot;[euiTooltip]&quot; → { element: null, attributes: [&quot;euiTooltip&quot;] }\n  &quot;eui-tabs&quot; → { element: &quot;eui-tabs&quot;, attributes: [] }\n  &quot;input[euiInputNumber][formControlName]&quot; → { element: &quot;input&quot;, attributes: [&quot;euiInputNumber&quot;, &quot;formControlName&quot;] }</p>\n",
                    "args": [
                        {
                            "name": "raw",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "literal type",
                    "jsdoctags": [
                        {
                            "name": "raw",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate-eui-alert/index.ts": [
                {
                    "name": "collectRemovals",
                    "file": "packages/core/schematics/migrate-eui-alert/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "removals",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "removals",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getAttributeSpan",
                    "file": "packages/core/schematics/migrate-eui-alert/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "attr",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "literal type",
                    "jsdoctags": [
                        {
                            "name": "attr",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "hasAttribute",
                    "file": "packages/core/schematics/migrate-eui-alert/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "name",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "name",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateEuiAlert",
                    "file": "packages/core/schematics/migrate-eui-alert/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "returnType": "Rule",
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateInlineTemplates",
                    "file": "packages/core/schematics/migrate-eui-alert/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateTemplate",
                    "file": "packages/core/schematics/migrate-eui-alert/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitDir",
                    "file": "packages/core/schematics/migrate-eui-alert/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitNodes",
                    "file": "packages/core/schematics/migrate-eui-alert/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "removals",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "removals",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate-eui-avatar/index.ts": [
                {
                    "name": "collectRemovals",
                    "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "removals",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "removals",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getAttributeSpan",
                    "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "attr",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "literal type",
                    "jsdoctags": [
                        {
                            "name": "attr",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isAvatarElement",
                    "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateEuiAvatar",
                    "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "returnType": "Rule",
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateInlineTemplates",
                    "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateTemplate",
                    "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitDir",
                    "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitNodes",
                    "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "removals",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "removals",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate-eui-chip/index.ts": [
                {
                    "name": "collectRemovals",
                    "file": "packages/core/schematics/migrate-eui-chip/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "removals",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "removals",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getAttributeSpan",
                    "file": "packages/core/schematics/migrate-eui-chip/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "attr",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "literal type",
                    "jsdoctags": [
                        {
                            "name": "attr",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isChipElement",
                    "file": "packages/core/schematics/migrate-eui-chip/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateEuiChip",
                    "file": "packages/core/schematics/migrate-eui-chip/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "returnType": "Rule",
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateInlineTemplates",
                    "file": "packages/core/schematics/migrate-eui-chip/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateTemplate",
                    "file": "packages/core/schematics/migrate-eui-chip/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitDir",
                    "file": "packages/core/schematics/migrate-eui-chip/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitNodes",
                    "file": "packages/core/schematics/migrate-eui-chip/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "removals",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "removals",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate-eui-discussion-thread/index.ts": [
                {
                    "name": "collectRemovals",
                    "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "removals",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "removals",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateEuiDiscussionThread",
                    "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "returnType": "Rule",
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateInlineTemplates",
                    "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateTemplate",
                    "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitDir",
                    "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitNodes",
                    "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "removals",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "removals",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate-eui-popover/index.ts": [
                {
                    "name": "collectRemovals",
                    "file": "packages/core/schematics/migrate-eui-popover/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "removals",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "element",
                            "type": "TmplAstElement",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "removals",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getAttributeSpan",
                    "file": "packages/core/schematics/migrate-eui-popover/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "attr",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "literal type",
                    "jsdoctags": [
                        {
                            "name": "attr",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateEuiPopover",
                    "file": "packages/core/schematics/migrate-eui-popover/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "returnType": "Rule",
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateInlineTemplates",
                    "file": "packages/core/schematics/migrate-eui-popover/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "migrateTemplate",
                    "file": "packages/core/schematics/migrate-eui-popover/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "source",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitDir",
                    "file": "packages/core/schematics/migrate-eui-popover/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitNodes",
                    "file": "packages/core/schematics/migrate-eui-popover/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "removals",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "nodes",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "removals",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/src/lib/services/i18n/i18n-utils.ts": [
                {
                    "name": "convertLegacyInterpolations",
                    "file": "packages/core/src/lib/services/i18n/i18n-utils.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Converts legacy ngx-translate interpolations ({{var}}) to ICU-compatible format ({var}).\nDouble braces are never valid ICU syntax, so any {{word}} is guaranteed to be legacy.</p>\n",
                    "args": [
                        {
                            "name": "value",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "transformTranslations",
                    "file": "packages/core/src/lib/services/i18n/i18n-utils.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Recursively walks a translation object and converts all legacy {{var}} interpolations\nto ICU-compatible {var} format in string leaf values.</p>\n",
                    "args": [
                        {
                            "name": "translations",
                            "type": "T",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "T",
                    "jsdoctags": [
                        {
                            "name": "translations",
                            "type": "T",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/src/lib/services/store/ngrx_kit.ts": [
                {
                    "name": "createSelector",
                    "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "s1",
                            "type": "Selector",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "projector",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "MemoizedSelector<State, Result, unknown>",
                    "jsdoctags": [
                        {
                            "name": "s1",
                            "type": "Selector",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "projector",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "createSelector",
                    "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "selectors",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "projector",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "MemoizedSelector<State, Result, Result>",
                    "jsdoctags": [
                        {
                            "name": "selectors",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "projector",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "createSelector",
                    "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "input",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "dotDotDotToken": true
                        }
                    ],
                    "returnType": "MemoizedSelector | MemoizedSelectorWithProps",
                    "jsdoctags": [
                        {
                            "name": "input",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "dotDotDotToken": true,
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "createSelectorFactory",
                    "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "memoize",
                            "type": "MemoizeFn",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "MemoizedSelector<T | V>",
                    "jsdoctags": [
                        {
                            "name": "memoize",
                            "type": "MemoizeFn",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "createSelectorFactory",
                    "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "memoize",
                            "type": "MemoizeFn",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "options",
                            "type": "SelectorFactoryConfig",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{\n        stateFn: defaultStateFn,\n    }"
                        }
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 5183,
                                "end": 5190,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "memoize"
                            },
                            "type": "MemoizeFn",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 5177,
                                "end": 5182,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The function used to memoize selectors</p>\n"
                        },
                        {
                            "name": {
                                "pos": 5240,
                                "end": 5247,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "options"
                            },
                            "type": "SelectorFactoryConfig",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{\n        stateFn: defaultStateFn,\n    }",
                            "tagName": {
                                "pos": 5234,
                                "end": 5239,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Config Object that may include a <code>stateFn</code> function defining how to return the selector&#39;s value, given the entire <code>Store</code>&#39;s state, parent <code>Selector</code>s, <code>Props</code>, and a <code>MemoizedProjection</code></p>\n"
                        }
                    ]
                },
                {
                    "name": "defaultMemoize",
                    "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "projectionFn",
                            "type": "AnyFn",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "isArgumentsEqual",
                            "type": "unknown",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "isEqualCheck"
                        },
                        {
                            "name": "isResultEqual",
                            "type": "unknown",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "isEqualCheck"
                        }
                    ],
                    "returnType": "MemoizedProjection",
                    "jsdoctags": [
                        {
                            "name": "projectionFn",
                            "type": "AnyFn",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "isArgumentsEqual",
                            "type": "unknown",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "isEqualCheck",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "isResultEqual",
                            "type": "unknown",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "isEqualCheck",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "defaultStateFn",
                    "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "state",
                            "type": "any",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "selectors",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "props",
                            "type": "any",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "memoizedProjector",
                            "type": "MemoizedProjection",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "any",
                    "jsdoctags": [
                        {
                            "name": "state",
                            "type": "any",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "selectors",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "props",
                            "type": "any",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "memoizedProjector",
                            "type": "MemoizedProjection",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "extractArgsFromSelectorsDictionary",
                    "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "selectorsDictionary",
                            "type": "Record",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "unknown",
                    "jsdoctags": [
                        {
                            "name": "selectorsDictionary",
                            "type": "Record",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isArgumentsChanged",
                    "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "args",
                            "type": "IArguments",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "lastArguments",
                            "type": "IArguments",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "comparator",
                            "type": "ComparatorFn",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "jsdoctags": [
                        {
                            "name": "args",
                            "type": "IArguments",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "lastArguments",
                            "type": "IArguments",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "comparator",
                            "type": "ComparatorFn",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isEqualCheck",
                    "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "a",
                            "type": "any",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "b",
                            "type": "any",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "a",
                            "type": "any",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "b",
                            "type": "any",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "isSelectorsDictionary",
                    "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "selectors",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "Record<string | Selector<unknown, unknown>>",
                    "jsdoctags": [
                        {
                            "name": "selectors",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate/utils.ts": [
                {
                    "name": "detectEuiVersion",
                    "file": "packages/core/schematics/migrate/utils.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Auto-detects the eUI version from the installed</p>\n",
                    "args": [
                        {
                            "name": "tree",
                            "type": "Tree",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string | null",
                    "jsdoctags": [
                        {
                            "name": "tree",
                            "type": "Tree",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getEndImportBlockPos",
                    "file": "packages/core/schematics/migrate/utils.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Finds the position where the import block ends.\nLooks for</p>\n",
                    "args": [
                        {
                            "name": "lines",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "number",
                    "jsdoctags": [
                        {
                            "name": "lines",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getFilesFromTree",
                    "file": "packages/core/schematics/migrate/utils.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Collects all file paths matching given extensions under a directory in the Tree.</p>\n",
                    "args": [
                        {
                            "name": "tree",
                            "type": "Tree",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "dirPath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "extensions",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string[]",
                    "jsdoctags": [
                        {
                            "name": "tree",
                            "type": "Tree",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "dirPath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "extensions",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getSiblingHtmlFiles",
                    "file": "packages/core/schematics/migrate/utils.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Gets sibling HTML files for a given TS file path from the Tree.</p>\n",
                    "args": [
                        {
                            "name": "tree",
                            "type": "Tree",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "tsFilePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string[]",
                    "jsdoctags": [
                        {
                            "name": "tree",
                            "type": "Tree",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "tsFilePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/src/lib/services/app/factories/log.ts": [
                {
                    "name": "euiLogServiceFactory",
                    "file": "packages/core/src/lib/services/app/factories/log.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "injector",
                            "type": "Injector",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "rootBaseLoggerName",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "rootConfig",
                            "type": "LogConfig",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "childBaseLoggerName",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "null"
                        },
                        {
                            "name": "childConfig",
                            "type": "LogConfig",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "returnType": "LogService",
                    "jsdoctags": [
                        {
                            "name": "injector",
                            "type": "Injector",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "rootBaseLoggerName",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "rootConfig",
                            "type": "LogConfig",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "childBaseLoggerName",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "null",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "childConfig",
                            "type": "LogConfig",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getLogAppendersConfig",
                    "file": "packages/core/src/lib/services/app/factories/log.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Helper function to provide a list of log appenders from a log configuration</p>\n",
                    "args": [
                        {
                            "name": "config",
                            "type": "LogConfig",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "DEFAULT_LOG_CONFIG"
                        },
                        {
                            "name": "injector",
                            "type": "Injector",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "null"
                        }
                    ],
                    "returnType": "LogAppender[]",
                    "jsdoctags": [
                        {
                            "name": "config",
                            "type": "LogConfig",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "DEFAULT_LOG_CONFIG",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "injector",
                            "type": "Injector",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "null",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "tagName": {
                                "pos": 815,
                                "end": 822,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>an array of log appenders</p>\n"
                        }
                    ]
                },
                {
                    "name": "isLogConfigDefined",
                    "file": "packages/core/src/lib/services/app/factories/log.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Helper function to check if the log config is defined.\nDoes not check only for empty object, because the config can have  other (non-log) parameters</p>\n",
                    "args": [
                        {
                            "name": "config",
                            "type": "LogConfig",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "config",
                            "type": "LogConfig",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "tagName": {
                                "pos": 495,
                                "end": 502,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>true/false</p>\n"
                        }
                    ]
                },
                {
                    "name": "logServiceFactory",
                    "file": "packages/core/src/lib/services/app/factories/log.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Helper function to provide an instance of LogService from a configuration</p>\n",
                    "args": [
                        {
                            "name": "config",
                            "type": "LogConfig",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "DEFAULT_LOG_CONFIG"
                        },
                        {
                            "name": "injector",
                            "type": "Injector",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "null"
                        }
                    ],
                    "returnType": "LogService",
                    "jsdoctags": [
                        {
                            "name": "config",
                            "type": "LogConfig",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "DEFAULT_LOG_CONFIG",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "injector",
                            "type": "Injector",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "null",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "tagName": {
                                "pos": 1629,
                                "end": 1636,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>an instance of log service</p>\n"
                        }
                    ]
                }
            ],
            "packages/core/schematics/fix-no-multiple-empty-lines/index.ts": [
                {
                    "name": "fixNoMultipleEmptyLines",
                    "file": "packages/core/schematics/fix-no-multiple-empty-lines/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "returnType": "Rule",
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "visitDir",
                    "file": "packages/core/schematics/fix-no-multiple-empty-lines/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "dir",
                            "type": "DirEntry",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "callback",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/src/lib/services/app/eui-startup.ts": [
                {
                    "name": "getCoreChildProviders",
                    "file": "packages/core/src/lib/services/app/eui-startup.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "moduleName",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "Provider[]",
                    "jsdoctags": [
                        {
                            "name": "moduleName",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getCoreProviders",
                    "file": "packages/core/src/lib/services/app/eui-startup.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [],
                    "returnType": "Provider[]"
                },
                {
                    "name": "getDependencyProviders",
                    "file": "packages/core/src/lib/services/app/eui-startup.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [],
                    "returnType": "Provider[]"
                }
            ],
            "packages/core/src/lib/services/config/tokens.ts": [
                {
                    "name": "getGlobalConfig",
                    "file": "packages/core/src/lib/services/config/tokens.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "appConfig",
                            "type": "EuiAppConfig",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "GlobalConfig",
                    "jsdoctags": [
                        {
                            "name": "appConfig",
                            "type": "EuiAppConfig",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getHttpErrorHandlingConfig",
                    "file": "packages/core/src/lib/services/config/tokens.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "appConfig",
                            "type": "EuiAppConfig",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "HttpErrorHandlerConfig",
                    "jsdoctags": [
                        {
                            "name": "appConfig",
                            "type": "EuiAppConfig",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getModuleConfig",
                    "file": "packages/core/src/lib/services/config/tokens.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "appConfig",
                            "type": "EuiAppConfig",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "moduleName",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "ModuleConfig",
                    "jsdoctags": [
                        {
                            "name": "appConfig",
                            "type": "EuiAppConfig",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "moduleName",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getRootLogConfig",
                    "file": "packages/core/src/lib/services/config/tokens.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "appConfig",
                            "type": "EuiAppConfig",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "LogConfig",
                    "jsdoctags": [
                        {
                            "name": "appConfig",
                            "type": "EuiAppConfig",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getShowConnectionStatus",
                    "file": "packages/core/src/lib/services/config/tokens.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "globalConfig",
                            "type": "GlobalConfig",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "ConnectionStatus",
                    "jsdoctags": [
                        {
                            "name": "globalConfig",
                            "type": "GlobalConfig",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "mergeAppHandlerConfigToAppConfig",
                    "file": "packages/core/src/lib/services/config/tokens.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "euiAppConfig",
                            "type": "EuiAppConfig",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "envAppHandler",
                            "type": "EuiAppHandlersConfig",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "EuiAppConfig",
                    "jsdoctags": [
                        {
                            "name": "euiAppConfig",
                            "type": "EuiAppConfig",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "envAppHandler",
                            "type": "EuiAppHandlersConfig",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "mergeAppJsonConfigToAppConfig",
                    "file": "packages/core/src/lib/services/config/tokens.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "euiAppConfig",
                            "type": "EuiAppConfig",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "envAppJsonConfig",
                            "type": "EuiAppJsonConfig",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "merge",
                            "type": "Array",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "isDeepMerge",
                            "type": "boolean",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "EuiAppConfig",
                    "jsdoctags": [
                        {
                            "name": "euiAppConfig",
                            "type": "EuiAppConfig",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "envAppJsonConfig",
                            "type": "EuiAppJsonConfig",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "merge",
                            "type": "Array",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "isDeepMerge",
                            "type": "boolean",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "prepareEuiAppConfigToken",
                    "file": "packages/core/src/lib/services/config/tokens.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "euiConfig",
                            "type": "EuiConfig",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "EuiAppConfig",
                    "jsdoctags": [
                        {
                            "name": "euiConfig",
                            "type": "EuiConfig",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/icon-migrate/index.ts": [
                {
                    "name": "iconMigrate",
                    "file": "packages/core/schematics/icon-migrate/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "Rule",
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "mapIconSuffix",
                    "file": "packages/core/schematics/icon-migrate/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "icon",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string | undefined",
                    "jsdoctags": [
                        {
                            "name": "icon",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "replaceIconsInTemplate",
                    "file": "packages/core/schematics/icon-migrate/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Replaces icon values in HTML template content by matching component selectors and their icon inputs.\nHandles both static bindings (icon=&quot;value&quot;) and bound bindings ([icon]=&quot;&#39;value&#39;&quot;).</p>\n",
                    "args": [
                        {
                            "name": "content",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "literal type",
                    "jsdoctags": [
                        {
                            "name": "content",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "replaceIconsInTypeScript",
                    "file": "packages/core/schematics/icon-migrate/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Replaces icon string literals in TypeScript files where icons are assigned to component inputs.\nTargets patterns like: icon = &#39;eui-delete&#39;, icon: &#39;eui-delete&#39;, expandedSvgIconClass: &#39;eui-chevron-right&#39;</p>\n",
                    "args": [
                        {
                            "name": "content",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "literal type",
                    "jsdoctags": [
                        {
                            "name": "content",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "resolveIcon",
                    "file": "packages/core/schematics/icon-migrate/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Resolve icon: first try exact match in ICON_MAP, then apply suffix mapping</p>\n",
                    "args": [
                        {
                            "name": "icon",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string | undefined",
                    "jsdoctags": [
                        {
                            "name": "icon",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/src/lib/helpers/injector.ts": [
                {
                    "name": "injectOptional",
                    "file": "packages/core/src/lib/helpers/injector.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Safely resolves a service from the injector only when needed.\nAvoids instantiation errors that can occur with <code>inject(..., { optional: true })</code>.</p>\n",
                    "args": [
                        {
                            "name": "token",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "injector",
                            "type": "unknown",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "inject(Injector)"
                        }
                    ],
                    "returnType": "T | null",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 241,
                                "end": 246,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "token"
                            },
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 235,
                                "end": 240,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The service token to inject</p>\n"
                        },
                        {
                            "name": {
                                "pos": 285,
                                "end": 293,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "injector"
                            },
                            "type": "unknown",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "inject(Injector)",
                            "tagName": {
                                "pos": 279,
                                "end": 284,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The injector to use (defaults to the current injector)</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 353,
                                "end": 360,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>The service instance or null if unavailable</p>\n"
                        }
                    ]
                }
            ],
            "packages/core/src/lib/services/app/eui-pre-init-app.ts": [
                {
                    "name": "loadEuiDynamicEnvironmentConfig",
                    "file": "packages/core/src/lib/services/app/eui-pre-init-app.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Function to load asynchronously a dynamic configuration (from a local path or a web service)</p>\n",
                    "args": [
                        {
                            "name": "url",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "timeout",
                            "type": "number",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "optional": true
                        }
                    ],
                    "returnType": "Promise<EuiAppJsonConfig>",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 991,
                                "end": 994,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "url"
                            },
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 985,
                                "end": 990,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the path to the configuration</p>\n"
                        },
                        {
                            "name": {
                                "pos": 1035,
                                "end": 1042,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "timeout"
                            },
                            "type": "number",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "optional": true,
                            "tagName": {
                                "pos": 1029,
                                "end": 1034,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>possible timeout</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 1064,
                                "end": 1071,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>EuiAppJsonConfig promise</p>\n"
                        }
                    ]
                },
                {
                    "name": "preInitApp",
                    "file": "packages/core/src/lib/services/app/eui-pre-init-app.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Function to be used before the AppModule is bootstrapped. It is currently used to load dynamic configurations.\nIt needs to be added in your application main.ts file.</p>\n",
                    "args": [
                        {
                            "name": "envConfig",
                            "type": "EuiEnvConfig",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "Promise<EuiEnvConfig>",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 270,
                                "end": 279,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "envConfig"
                            },
                            "type": "EuiEnvConfig",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 264,
                                "end": 269,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the current environment configuration</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 322,
                                "end": 329,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>the updated environment configuration, as a promise</p>\n"
                        }
                    ]
                }
            ],
            "packages/core/src/lib/services/store/reducers/meta.reducers.ts": [
                {
                    "name": "localStorageSync",
                    "file": "packages/core/src/lib/services/store/reducers/meta.reducers.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "description": "<p>Utility meta-reducer to load the state from the local storage</p>\n",
                    "args": [
                        {
                            "name": "platformId",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "function",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 487,
                                "end": 497,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "platformId"
                            },
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 481,
                                "end": 486,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the platformId based on PLATFORM_ID token of Angular</p>\n"
                        }
                    ]
                },
                {
                    "name": "localStorageSync",
                    "file": "packages/core/src/lib/services/store/reducers/meta.reducers.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Utility meta-reducer to load the state from the local storage</p>\n",
                    "args": [
                        {
                            "name": "reducer",
                            "type": "ActionReducer",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "S",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 836,
                                "end": 843,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "reducer"
                            },
                            "type": "ActionReducer",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 830,
                                "end": 835,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the action reducer</p>\n"
                        }
                    ]
                },
                {
                    "name": "localStorageSync",
                    "file": "packages/core/src/lib/services/store/reducers/meta.reducers.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "reducer",
                            "type": "ActionReducer",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "platformId",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "optional": true
                        }
                    ],
                    "returnType": "Function",
                    "jsdoctags": [
                        {
                            "name": "reducer",
                            "type": "ActionReducer",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "platformId",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "optional": true,
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "sessionStorageSync",
                    "file": "packages/core/src/lib/services/store/reducers/meta.reducers.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "description": "<p>Utility meta-reducer to load the state from the session storage</p>\n",
                    "args": [
                        {
                            "name": "platformId",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "function",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2007,
                                "end": 2017,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "platformId"
                            },
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2001,
                                "end": 2006,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the platformId based on PLATFORM_ID token of Angular</p>\n"
                        }
                    ]
                },
                {
                    "name": "sessionStorageSync",
                    "file": "packages/core/src/lib/services/store/reducers/meta.reducers.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "description": "<p>Utility meta-reducer to load the state from the session storage</p>\n",
                    "args": [
                        {
                            "name": "reducer",
                            "type": "ActionReducer",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "S",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2360,
                                "end": 2367,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "reducer"
                            },
                            "type": "ActionReducer",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2354,
                                "end": 2359,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>the action reducer</p>\n"
                        }
                    ]
                },
                {
                    "name": "sessionStorageSync",
                    "file": "packages/core/src/lib/services/store/reducers/meta.reducers.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "reducer",
                            "type": "ActionReducer",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "platformId",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "optional": true
                        }
                    ],
                    "returnType": "Function",
                    "jsdoctags": [
                        {
                            "name": "reducer",
                            "type": "ActionReducer",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "platformId",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "optional": true,
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/utils/dry-run.ts": [
                {
                    "name": "logDryRun",
                    "file": "packages/core/schematics/utils/dry-run.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "message",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "message",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "logDryRunNote",
                    "file": "packages/core/schematics/utils/dry-run.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "void",
                    "jsdoctags": [
                        {
                            "name": "context",
                            "type": "SchematicContext",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate/index.ts": [
                {
                    "name": "migrate",
                    "file": "packages/core/schematics/migrate/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "Rule",
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "Schema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate-all/index.ts": [
                {
                    "name": "migrateAll",
                    "file": "packages/core/schematics/migrate-all/index.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "options",
                            "type": "MigrateAllSchema",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "Rule",
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "MigrateAllSchema",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/src/lib/services/app/eui-init-app.ts": [
                {
                    "name": "provideEuiInitializer",
                    "file": "packages/core/src/lib/services/app/eui-init-app.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Initializes the app with the necessary configurations. Use this in combination with <code>provideAppInitializer(euiInitApp_Env)</code></p>\n",
                    "args": [],
                    "returnType": "EnvironmentProviders"
                }
            ],
            "packages/core/schematics/migrate/replacements/eui-modules.ts": [
                {
                    "name": "replaceEclAllModule",
                    "file": "packages/core/schematics/migrate/replacements/eui-modules.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Replaces EclAllModule with specific ECL component imports detected from sibling HTML files.</p>\n",
                    "args": [
                        {
                            "name": "tree",
                            "type": "Tree",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "content",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "tree",
                            "type": "Tree",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "content",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "replaceEuiAllModule",
                    "file": "packages/core/schematics/migrate/replacements/eui-modules.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Replaces EuiAllModule with specific component imports detected from sibling HTML files.</p>\n",
                    "args": [
                        {
                            "name": "tree",
                            "type": "Tree",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "content",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "tree",
                            "type": "Tree",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "content",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "replaceEuiModules",
                    "file": "packages/core/schematics/migrate/replacements/eui-modules.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Replaces individual EUI module references with their new standalone imports.\nHandles import statements (removes module, adds new import) and usage in arrays (replaces with spread).</p>\n",
                    "args": [
                        {
                            "name": "fileContent",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "lines",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "literal type",
                    "jsdoctags": [
                        {
                            "name": "fileContent",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "lines",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate/replacements/breaking-changes.ts": [
                {
                    "name": "replaceEuiBreakingChanges",
                    "file": "packages/core/schematics/migrate/replacements/breaking-changes.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Applies EUI and ECL breaking change replacements to a single line.\nPorted from csdr-engine/migrate/index.js replaceEuiBreakingChanges.\nReturns true if the line was modified.</p>\n",
                    "args": [
                        {
                            "name": "lines",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "index",
                            "type": "number",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "lines",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "index",
                            "type": "number",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate/replacements/icons.ts": [
                {
                    "name": "replaceIcons",
                    "file": "packages/core/schematics/migrate/replacements/icons.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Replaces old icon names with new ones in a single line.\nOnly replaces in quoted strings, skipping import lines and element tags.\nReturns true if the line was modified.</p>\n",
                    "args": [
                        {
                            "name": "lines",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "index",
                            "type": "number",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "lines",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "index",
                            "type": "number",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/core/schematics/migrate/replacements/mwp.ts": [
                {
                    "name": "replaceMwp",
                    "file": "packages/core/schematics/migrate/replacements/mwp.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Applies MyWorkplace-specific replacements to a single line.\nPorted from csdr-engine/migrate/index.js replaceMwp.\nReturns true if the line was modified.</p>\n",
                    "args": [
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "lines",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "index",
                            "type": "number",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "boolean",
                    "jsdoctags": [
                        {
                            "name": "filePath",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "lines",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "index",
                            "type": "number",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ]
        },
        "groupedEnumerations": {
            "packages/core/src/lib/services/store/store.service.ts": [
                {
                    "name": "BrowserStorageType",
                    "childs": [
                        {
                            "name": "local",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "session",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "ctype": "miscellaneous",
                    "subtype": "enum",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "file": "packages/core/src/lib/services/store/store.service.ts"
                }
            ],
            "packages/core/src/lib/services/store/actions/app.actions.ts": [
                {
                    "name": "CoreAppActionTypes",
                    "childs": [
                        {
                            "name": "INIT_STORE",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "[App] Init store"
                        },
                        {
                            "name": "UPDATE_APP_VERSION",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "[App] Update version"
                        },
                        {
                            "name": "UPDATE_APP_CONNECTION",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "[App] Update connection"
                        },
                        {
                            "name": "ADD_APP_LOADED_CONFIG_MODULES",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "[App] Update app loaded config modules"
                        },
                        {
                            "name": "UPDATE_APP_STATUS",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "[App] Update status"
                        },
                        {
                            "name": "UPDATE_CURRENT_MODULE",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "[App] Update current module"
                        },
                        {
                            "name": "ACTIVATED_ROUTE",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "[App] Activated route"
                        },
                        {
                            "name": "ADD_API_QUEUE_ITEM",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "[App] Add API queue item"
                        },
                        {
                            "name": "REMOVE_API_QUEUE_ITEM",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "[App] Remove API queue item"
                        },
                        {
                            "name": "EMPTY_API_QUEUE",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "[App] empty API queue"
                        }
                    ],
                    "ctype": "miscellaneous",
                    "subtype": "enum",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "description": "",
                    "file": "packages/core/src/lib/services/store/actions/app.actions.ts"
                }
            ],
            "packages/core/src/lib/services/store/actions/i18n.actions.ts": [
                {
                    "name": "CoreI18nActionTypes",
                    "childs": [
                        {
                            "name": "UPDATE_I18N_STATE",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "[I18n] Update I18n State"
                        }
                    ],
                    "ctype": "miscellaneous",
                    "subtype": "enum",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "description": "",
                    "file": "packages/core/src/lib/services/store/actions/i18n.actions.ts"
                }
            ],
            "packages/core/src/lib/services/store/actions/locale.actions.ts": [
                {
                    "name": "CoreLocaleActionTypes",
                    "childs": [
                        {
                            "name": "UPDATE_LOCALE_STATE",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "[Locale] Update Locale State"
                        }
                    ],
                    "ctype": "miscellaneous",
                    "subtype": "enum",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "description": "",
                    "file": "packages/core/src/lib/services/store/actions/locale.actions.ts"
                }
            ],
            "packages/core/src/lib/services/store/actions/notifications.actions.ts": [
                {
                    "name": "CoreNotificationsActionTypes",
                    "childs": [
                        {
                            "name": "UPDATE_NOTIFICATIONS_LIST",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "[Notif] Update list"
                        }
                    ],
                    "ctype": "miscellaneous",
                    "subtype": "enum",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "description": "",
                    "file": "packages/core/src/lib/services/store/actions/notifications.actions.ts"
                }
            ],
            "packages/core/src/lib/services/store/actions/user.actions.ts": [
                {
                    "name": "CoreUserActionTypes",
                    "childs": [
                        {
                            "name": "UPDATE_USER_STATE",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "[User] Update User state"
                        },
                        {
                            "name": "UPDATE_USER_DETAILS",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "[User] Update details"
                        },
                        {
                            "name": "UPDATE_USER_PREFERENCES",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "[User] Update preferences"
                        },
                        {
                            "name": "UPDATE_USER_RIGHTS",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "[User] Update rights"
                        },
                        {
                            "name": "UPDATE_USER_DASHBOARD",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "[User] Update dashboard"
                        }
                    ],
                    "ctype": "miscellaneous",
                    "subtype": "enum",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "description": "",
                    "file": "packages/core/src/lib/services/store/actions/user.actions.ts"
                }
            ],
            "packages/core/src/lib/services/eui-theme.service.ts": [
                {
                    "name": "EuiTheme",
                    "childs": [
                        {
                            "name": "DEFAULT",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "default"
                        },
                        {
                            "name": "ECL_EC",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "ecl-ec"
                        },
                        {
                            "name": "ECL_EC_RTL",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "ecl-ec-rtl"
                        },
                        {
                            "name": "ECL_EU",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "ecl-eu"
                        },
                        {
                            "name": "ECL_EU_RTL",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "ecl-eu-rtl"
                        },
                        {
                            "name": "DARK",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "dark"
                        },
                        {
                            "name": "HIGH_CONTRAST",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "high-contrast"
                        },
                        {
                            "name": "COMPACT",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "compact"
                        }
                    ],
                    "ctype": "miscellaneous",
                    "subtype": "enum",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "file": "packages/core/src/lib/services/eui-theme.service.ts"
                }
            ],
            "packages/core/src/lib/services/loader/eui-loader.model.ts": [
                {
                    "name": "Status",
                    "childs": [
                        {
                            "name": "LOADING",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "loading"
                        },
                        {
                            "name": "LOADED",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "loaded"
                        },
                        {
                            "name": "ERROR",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "error"
                        }
                    ],
                    "ctype": "miscellaneous",
                    "subtype": "enum",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>The status of a library</p>\n",
                    "file": "packages/core/src/lib/services/loader/eui-loader.model.ts"
                }
            ]
        },
        "groupedTypeAliases": {
            "packages/core/src/lib/services/store/ngrx_kit.ts": [
                {
                    "name": "ActionReducerMap",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "unknown",
                    "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 201
                },
                {
                    "name": "AnyFn",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "function",
                    "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 185
                },
                {
                    "name": "ComparatorFn",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "function",
                    "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 185
                },
                {
                    "name": "DefaultProjectorFn",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "function",
                    "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 185
                },
                {
                    "name": "MemoizedProjection",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "literal type",
                    "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 188
                },
                {
                    "name": "MemoizeFn",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "function",
                    "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 185
                },
                {
                    "name": "Selector",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "function",
                    "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 185
                },
                {
                    "name": "SelectorFactoryConfig",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "literal type",
                    "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 188
                },
                {
                    "name": "SelectorWithProps",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "function",
                    "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 185
                }
            ],
            "packages/core/src/lib/services/store/actions/app.actions.ts": [
                {
                    "name": "CoreAppActions",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "InitStoreAction | UpdateAppVersionAction | UpdateAppConnectionAction | AddAppLoadedConfigModulesAction | UpdateAppStatusAction | UpdateCurrentModuleAction | ActivatedRouteAction | AddApiQueueItemAction | RemoveApiQueueItemAction",
                    "file": "packages/core/src/lib/services/store/actions/app.actions.ts",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "description": "",
                    "kind": 193
                }
            ],
            "packages/core/src/lib/services/store/actions/i18n.actions.ts": [
                {
                    "name": "CoreI18nActions",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "UpdateI18nStateAction",
                    "file": "packages/core/src/lib/services/store/actions/i18n.actions.ts",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "description": "",
                    "kind": 184
                }
            ],
            "packages/core/src/lib/services/store/actions/locale.actions.ts": [
                {
                    "name": "CoreLocaleActions",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "UpdateLocaleStateAction",
                    "file": "packages/core/src/lib/services/store/actions/locale.actions.ts",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "description": "",
                    "kind": 184
                }
            ],
            "packages/core/src/lib/services/store/actions/notifications.actions.ts": [
                {
                    "name": "CoreNotificationsActions",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "UpdateNotificationsListAction",
                    "file": "packages/core/src/lib/services/store/actions/notifications.actions.ts",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "description": "",
                    "kind": 184
                }
            ],
            "packages/core/src/lib/services/store/actions/user.actions.ts": [
                {
                    "name": "CoreUserActions",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "UpdateUserDetailsAction | UpdateUserPreferencesAction | UpdateUserRightsAction | UpdateUserDashboardAction",
                    "file": "packages/core/src/lib/services/store/actions/user.actions.ts",
                    "deprecated": true,
                    "deprecationMessage": "it will be removed in the next major version",
                    "description": "",
                    "kind": 193
                }
            ],
            "packages/core/src/lib/services/store/store.service.ts": [
                {
                    "name": "Handler",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "function",
                    "file": "packages/core/src/lib/services/store/store.service.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 185
                }
            ],
            "packages/core/src/lib/services/locale/locale.service.ts": [
                {
                    "name": "LocaleMapper",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "function",
                    "file": "packages/core/src/lib/services/locale/locale.service.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 185
                }
            ]
        }
    },
    "routes": {
        "name": "<root>",
        "kind": "module",
        "className": "TemplatePlaygroundModule",
        "children": []
    }
}