@eui/core 23.0.0-alpha.5 → 23.0.0-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/CHANGELOG.md +93 -0
  2. package/docs/changelog.html +98 -0
  3. package/docs/interfaces/Edit-3.html +395 -0
  4. package/docs/interfaces/Schema-1.html +13 -1
  5. package/docs/interfaces/Schema-13.html +1 -1
  6. package/docs/interfaces/Schema-14.html +1 -1
  7. package/docs/interfaces/Schema-15.html +1 -1
  8. package/docs/interfaces/Schema-16.html +1 -1
  9. package/docs/interfaces/Schema-17.html +1 -1
  10. package/docs/interfaces/Schema-18.html +1 -1
  11. package/docs/interfaces/Schema-19.html +1 -1
  12. package/docs/interfaces/Schema-2.html +52 -1
  13. package/docs/interfaces/Schema-21.html +368 -0
  14. package/docs/interfaces/Schema-3.html +15 -33
  15. package/docs/interfaces/Schema-6.html +1 -1
  16. package/docs/interfaces/Schema-7.html +1 -1
  17. package/docs/interfaces/Schema-8.html +1 -1
  18. package/docs/interfaces/Schema.html +1 -46
  19. package/docs/interfaces/UIState.html +45 -0
  20. package/docs/js/menu-wc.js +6 -0
  21. package/docs/js/search/search_index.js +2 -2
  22. package/docs/json/documentation.json +1589 -793
  23. package/docs/llms.txt +97 -61
  24. package/docs/miscellaneous/functions.html +1044 -528
  25. package/docs/miscellaneous/variables.html +103 -41
  26. package/docs/overview.html +1 -1
  27. package/docs/properties.html +1 -1
  28. package/fesm2022/eui-core.mjs +7 -0
  29. package/fesm2022/eui-core.mjs.map +1 -1
  30. package/package.json +2 -2
  31. package/schematics/collection.json +5 -0
  32. package/schematics/migrate-all/index.js +1 -0
  33. package/schematics/migrate-all/index.js.map +1 -1
  34. package/schematics/migrate-eui-tooltip/index.d.ts +7 -0
  35. package/schematics/migrate-eui-tooltip/index.js +263 -0
  36. package/schematics/migrate-eui-tooltip/index.js.map +1 -0
  37. package/types/eui-core.d.ts +1 -0
  38. package/types/eui-core.d.ts.map +1 -1
@@ -909,7 +909,66 @@
909
909
  },
910
910
  {
911
911
  "name": "Edit",
912
- "id": "interface-Edit-e1cd02924eb82a618c71a0b26c081bdd020519d2699aa0e2dc98640c4e0f347c3649b967c5fc87543e41bbbfabd1304835850ccc38f40684d6521c242b2030ed-2",
912
+ "id": "interface-Edit-d36032102ed30a7ada1e3d36bb9ca41b7234b855760cac9783a25818f7ffe2097e1ebd8e808b574ddec0760f827272f6cd561f45f3eb1578f87f39ee2633730a-2",
913
+ "file": "packages/core/schematics/migrate-eui-tooltip/index.ts",
914
+ "deprecated": false,
915
+ "deprecationMessage": "",
916
+ "type": "interface",
917
+ "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\ninterface Edit {\n start: number;\n end: number;\n replacement: string;\n}\n\nconst OLD_CLASS = 'EuiTooltipConfig';\nconst NEW_INTERFACE = 'EuiTooltipInterface';\n\nexport function migrateEuiTooltip(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 if (!path.endsWith('.ts')) return;\n\n const buffer = tree.read(path);\n if (!buffer) return;\n\n const original = buffer.toString('utf-8');\n if (!original.includes(OLD_CLASS)) return;\n\n const result = migrateTypeScript(original, path, context);\n\n if (result !== original) {\n if (options.dryRun) {\n logDryRun(context, `Would migrate EuiTooltipConfig → EuiTooltipInterface in ${path}`);\n } else {\n tree.overwrite(path, result);\n }\n fileCount++;\n }\n });\n\n context.logger.info(`Migrated EuiTooltipConfig → EuiTooltipInterface in ${fileCount} file(s).`);\n if (options.dryRun) {\n logDryRunNote(context);\n }\n return tree;\n };\n}\n\nfunction migrateTypeScript(source: string, filePath: string, context: SchematicContext): string {\n const sourceFile = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n const edits: Edit[] = [];\n\n // Track if EuiTooltipInterface is already imported\n let hasInterfaceImport = false;\n let classImportDecl: ts.ImportDeclaration | null = null;\n let classImportModuleSpecifier: string | null = null;\n\n // First pass: analyze imports\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 for (const specifier of namedBindings.elements) {\n if (specifier.name.text === NEW_INTERFACE) {\n hasInterfaceImport = true;\n }\n if (specifier.name.text === OLD_CLASS) {\n classImportDecl = stmt;\n classImportModuleSpecifier = (stmt.moduleSpecifier as ts.StringLiteral).text;\n }\n }\n }\n\n // Second pass: handle 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 specifiers = namedBindings.elements;\n const classSpecifier = specifiers.find((s) => s.name.text === OLD_CLASS);\n if (!classSpecifier) continue;\n\n if (hasInterfaceImport) {\n // EuiTooltipInterface is already imported elsewhere → remove EuiTooltipConfig from this import\n removeImportSpecifier(namedBindings, classSpecifier, sourceFile, edits);\n } else {\n // Rename EuiTooltipConfig → EuiTooltipInterface in the import\n edits.push({\n start: classSpecifier.name.getStart(sourceFile),\n end: classSpecifier.name.getEnd(),\n replacement: NEW_INTERFACE,\n });\n hasInterfaceImport = true;\n }\n }\n\n // Third pass: replace `new EuiTooltipConfig(...)` → spread/cast to interface\n const visitNewExpressions = (node: ts.Node): void => {\n if (ts.isNewExpression(node) && ts.isIdentifier(node.expression) && node.expression.text === OLD_CLASS) {\n const args = node.arguments;\n if (args && args.length === 1) {\n const arg = args[0];\n // `new EuiTooltipConfig({ ... })` → `{ ... } as EuiTooltipInterface`\n // But if the argument is just a variable, we keep it: `varName as EuiTooltipInterface`\n const argText = source.slice(arg.getStart(sourceFile), arg.getEnd());\n\n if (ts.isObjectLiteralExpression(arg)) {\n // Inline object: `new EuiTooltipConfig({ x: 1 })` → `{ x: 1 }`\n edits.push({\n start: node.getStart(sourceFile),\n end: node.getEnd(),\n replacement: argText,\n });\n } else {\n // Variable or expression: `new EuiTooltipConfig(opts)` → `opts`\n edits.push({\n start: node.getStart(sourceFile),\n end: node.getEnd(),\n replacement: argText,\n });\n }\n } else if (!args || args.length === 0) {\n // `new EuiTooltipConfig()` → `{} as EuiTooltipInterface`\n edits.push({\n start: node.getStart(sourceFile),\n end: node.getEnd(),\n replacement: `{} as ${NEW_INTERFACE}`,\n });\n }\n return; // don't recurse into children we've already replaced\n }\n ts.forEachChild(node, visitNewExpressions);\n };\n\n for (const stmt of sourceFile.statements) {\n if (!ts.isImportDeclaration(stmt)) {\n visitNewExpressions(stmt);\n }\n }\n\n // Fourth pass: rename all remaining identifier references (type annotations, etc.)\n const visitRefs = (node: ts.Node): void => {\n if (ts.isImportDeclaration(node)) return;\n // Skip nodes we already covered in new expressions\n if (ts.isNewExpression(node) && ts.isIdentifier(node.expression) && node.expression.text === OLD_CLASS) return;\n\n if (ts.isIdentifier(node) && node.text === OLD_CLASS) {\n // Ensure this is not part of an import declaration\n if (!isPartOfImport(node)) {\n edits.push({\n start: node.getStart(sourceFile),\n end: node.getEnd(),\n replacement: NEW_INTERFACE,\n });\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 return applyEdits(source, edits);\n}\n\nfunction isPartOfImport(node: ts.Node): boolean {\n let current: ts.Node | undefined = node.parent;\n while (current) {\n if (ts.isImportDeclaration(current)) return true;\n current = current.parent;\n }\n return false;\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 let end = importDecl.getEnd();\n // Also remove trailing newline if present\n const fullText = sourceFile.getFullText();\n if (fullText[end] === '\\n') end++;\n edits.push({\n start: importDecl.getStart(sourceFile),\n end,\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 // Not the last → remove from this specifier start to next specifier start\n start = specifier.getStart(sourceFile);\n end = elements[idx + 1].getStart(sourceFile);\n } else {\n // Last element → remove from previous element end to this end\n start = elements[idx - 1].getEnd();\n end = specifier.getEnd();\n }\n edits.push({ start, end, replacement: '' });\n }\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 const key = `${edit.start}:${edit.end}`;\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('.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",
918
+ "displayName": "Edit",
919
+ "properties": [
920
+ {
921
+ "name": "end",
922
+ "coverageIgnore": false,
923
+ "deprecated": false,
924
+ "deprecationMessage": "",
925
+ "type": "number",
926
+ "indexKey": "",
927
+ "optional": false,
928
+ "description": "",
929
+ "line": 12,
930
+ "rawdescription": "\n"
931
+ },
932
+ {
933
+ "name": "replacement",
934
+ "coverageIgnore": false,
935
+ "deprecated": false,
936
+ "deprecationMessage": "",
937
+ "type": "string",
938
+ "indexKey": "",
939
+ "optional": false,
940
+ "description": "",
941
+ "line": 13,
942
+ "rawdescription": "\n"
943
+ },
944
+ {
945
+ "name": "start",
946
+ "coverageIgnore": false,
947
+ "deprecated": false,
948
+ "deprecationMessage": "",
949
+ "type": "number",
950
+ "indexKey": "",
951
+ "optional": false,
952
+ "description": "",
953
+ "line": 11,
954
+ "rawdescription": "\n"
955
+ }
956
+ ],
957
+ "indexSignatures": [],
958
+ "kind": 172,
959
+ "methods": [],
960
+ "extends": [],
961
+ "isDuplicate": true,
962
+ "duplicateId": 2,
963
+ "duplicateName": "Edit-2",
964
+ "relationships": {
965
+ "incoming": [],
966
+ "outgoing": []
967
+ }
968
+ },
969
+ {
970
+ "name": "Edit",
971
+ "id": "interface-Edit-e1cd02924eb82a618c71a0b26c081bdd020519d2699aa0e2dc98640c4e0f347c3649b967c5fc87543e41bbbfabd1304835850ccc38f40684d6521c242b2030ed-3",
913
972
  "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
914
973
  "deprecated": false,
915
974
  "deprecationMessage": "",
@@ -959,8 +1018,8 @@
959
1018
  "methods": [],
960
1019
  "extends": [],
961
1020
  "isDuplicate": true,
962
- "duplicateId": 2,
963
- "duplicateName": "Edit-2",
1021
+ "duplicateId": 3,
1022
+ "duplicateName": "Edit-3",
964
1023
  "relationships": {
965
1024
  "incoming": [],
966
1025
  "outgoing": []
@@ -1583,12 +1642,12 @@
1583
1642
  },
1584
1643
  {
1585
1644
  "name": "MigrateAllSchema",
1586
- "id": "interface-MigrateAllSchema-8ad49a7d7ec0e96d956c359abfd2ff1a50646e4ae266dc1b8551748a4adc28001b70d82db00003df7176aaf20aea356471838107fcf9a064ae60ceaed89ecd10",
1645
+ "id": "interface-MigrateAllSchema-37175caf2db4e728d285d5a8d2261bef3f77ac6b132960846be25241de1387993b11f30e57a3c71bb7a5a5b2b8ebcae465c22562e7b570e634ab547299274e59",
1587
1646
  "file": "packages/core/schematics/migrate-all/index.ts",
1588
1647
  "deprecated": false,
1589
1648
  "deprecationMessage": "",
1590
1649
  "type": "interface",
1591
- "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",
1650
+ "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('migrate-eui-tooltip', base),\n schematic('add-eui-imports', { ...base, useClassArray: options.useClassArray || false }),\n schematic('fix-no-multiple-empty-lines', base),\n ]);\n}\n",
1592
1651
  "displayName": "MigrateAllSchema",
1593
1652
  "properties": [
1594
1653
  {
@@ -2468,12 +2527,12 @@
2468
2527
  },
2469
2528
  {
2470
2529
  "name": "Schema",
2471
- "id": "interface-Schema-869dfc324e9111966817cbebb3553eabfe200acfe33bb77efa71a6c46e1cba0ff5852de7b9ade3060f87264035b99591361331a9e0622daaac22b8d59146c761-10",
2472
- "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
2530
+ "id": "interface-Schema-375dc0924084a2acbafe4a6a32577d59f631c9a386d151180d8fb1c89e7e7cd23da9fd459e597592ed823692adb6ad2633c50baf16621f003246e8c9bb1c6ce0-10",
2531
+ "file": "packages/core/schematics/migrate-eui-editor/index.ts",
2473
2532
  "deprecated": false,
2474
2533
  "deprecationMessage": "",
2475
2534
  "type": "interface",
2476
- "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",
2535
+ "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",
2477
2536
  "displayName": "Schema",
2478
2537
  "properties": [
2479
2538
  {
@@ -2485,7 +2544,7 @@
2485
2544
  "indexKey": "",
2486
2545
  "optional": true,
2487
2546
  "description": "",
2488
- "line": 8,
2547
+ "line": 12,
2489
2548
  "rawdescription": "\n"
2490
2549
  },
2491
2550
  {
@@ -2497,7 +2556,7 @@
2497
2556
  "indexKey": "",
2498
2557
  "optional": true,
2499
2558
  "description": "",
2500
- "line": 7,
2559
+ "line": 11,
2501
2560
  "rawdescription": "\n"
2502
2561
  }
2503
2562
  ],
@@ -2515,12 +2574,12 @@
2515
2574
  },
2516
2575
  {
2517
2576
  "name": "Schema",
2518
- "id": "interface-Schema-375dc0924084a2acbafe4a6a32577d59f631c9a386d151180d8fb1c89e7e7cd23da9fd459e597592ed823692adb6ad2633c50baf16621f003246e8c9bb1c6ce0-11",
2519
- "file": "packages/core/schematics/migrate-eui-editor/index.ts",
2577
+ "id": "interface-Schema-869dfc324e9111966817cbebb3553eabfe200acfe33bb77efa71a6c46e1cba0ff5852de7b9ade3060f87264035b99591361331a9e0622daaac22b8d59146c761-11",
2578
+ "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
2520
2579
  "deprecated": false,
2521
2580
  "deprecationMessage": "",
2522
2581
  "type": "interface",
2523
- "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",
2582
+ "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",
2524
2583
  "displayName": "Schema",
2525
2584
  "properties": [
2526
2585
  {
@@ -2532,7 +2591,7 @@
2532
2591
  "indexKey": "",
2533
2592
  "optional": true,
2534
2593
  "description": "",
2535
- "line": 12,
2594
+ "line": 8,
2536
2595
  "rawdescription": "\n"
2537
2596
  },
2538
2597
  {
@@ -2544,7 +2603,7 @@
2544
2603
  "indexKey": "",
2545
2604
  "optional": true,
2546
2605
  "description": "",
2547
- "line": 11,
2606
+ "line": 7,
2548
2607
  "rawdescription": "\n"
2549
2608
  }
2550
2609
  ],
@@ -2891,12 +2950,12 @@
2891
2950
  },
2892
2951
  {
2893
2952
  "name": "Schema",
2894
- "id": "interface-Schema-e1cd02924eb82a618c71a0b26c081bdd020519d2699aa0e2dc98640c4e0f347c3649b967c5fc87543e41bbbfabd1304835850ccc38f40684d6521c242b2030ed-19",
2895
- "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
2953
+ "id": "interface-Schema-d36032102ed30a7ada1e3d36bb9ca41b7234b855760cac9783a25818f7ffe2097e1ebd8e808b574ddec0760f827272f6cd561f45f3eb1578f87f39ee2633730a-19",
2954
+ "file": "packages/core/schematics/migrate-eui-tooltip/index.ts",
2896
2955
  "deprecated": false,
2897
2956
  "deprecationMessage": "",
2898
2957
  "type": "interface",
2899
- "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",
2958
+ "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\ninterface Edit {\n start: number;\n end: number;\n replacement: string;\n}\n\nconst OLD_CLASS = 'EuiTooltipConfig';\nconst NEW_INTERFACE = 'EuiTooltipInterface';\n\nexport function migrateEuiTooltip(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 if (!path.endsWith('.ts')) return;\n\n const buffer = tree.read(path);\n if (!buffer) return;\n\n const original = buffer.toString('utf-8');\n if (!original.includes(OLD_CLASS)) return;\n\n const result = migrateTypeScript(original, path, context);\n\n if (result !== original) {\n if (options.dryRun) {\n logDryRun(context, `Would migrate EuiTooltipConfig → EuiTooltipInterface in ${path}`);\n } else {\n tree.overwrite(path, result);\n }\n fileCount++;\n }\n });\n\n context.logger.info(`Migrated EuiTooltipConfig → EuiTooltipInterface in ${fileCount} file(s).`);\n if (options.dryRun) {\n logDryRunNote(context);\n }\n return tree;\n };\n}\n\nfunction migrateTypeScript(source: string, filePath: string, context: SchematicContext): string {\n const sourceFile = ts.createSourceFile(filePath, source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n const edits: Edit[] = [];\n\n // Track if EuiTooltipInterface is already imported\n let hasInterfaceImport = false;\n let classImportDecl: ts.ImportDeclaration | null = null;\n let classImportModuleSpecifier: string | null = null;\n\n // First pass: analyze imports\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 for (const specifier of namedBindings.elements) {\n if (specifier.name.text === NEW_INTERFACE) {\n hasInterfaceImport = true;\n }\n if (specifier.name.text === OLD_CLASS) {\n classImportDecl = stmt;\n classImportModuleSpecifier = (stmt.moduleSpecifier as ts.StringLiteral).text;\n }\n }\n }\n\n // Second pass: handle 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 specifiers = namedBindings.elements;\n const classSpecifier = specifiers.find((s) => s.name.text === OLD_CLASS);\n if (!classSpecifier) continue;\n\n if (hasInterfaceImport) {\n // EuiTooltipInterface is already imported elsewhere → remove EuiTooltipConfig from this import\n removeImportSpecifier(namedBindings, classSpecifier, sourceFile, edits);\n } else {\n // Rename EuiTooltipConfig → EuiTooltipInterface in the import\n edits.push({\n start: classSpecifier.name.getStart(sourceFile),\n end: classSpecifier.name.getEnd(),\n replacement: NEW_INTERFACE,\n });\n hasInterfaceImport = true;\n }\n }\n\n // Third pass: replace `new EuiTooltipConfig(...)` → spread/cast to interface\n const visitNewExpressions = (node: ts.Node): void => {\n if (ts.isNewExpression(node) && ts.isIdentifier(node.expression) && node.expression.text === OLD_CLASS) {\n const args = node.arguments;\n if (args && args.length === 1) {\n const arg = args[0];\n // `new EuiTooltipConfig({ ... })` → `{ ... } as EuiTooltipInterface`\n // But if the argument is just a variable, we keep it: `varName as EuiTooltipInterface`\n const argText = source.slice(arg.getStart(sourceFile), arg.getEnd());\n\n if (ts.isObjectLiteralExpression(arg)) {\n // Inline object: `new EuiTooltipConfig({ x: 1 })` → `{ x: 1 }`\n edits.push({\n start: node.getStart(sourceFile),\n end: node.getEnd(),\n replacement: argText,\n });\n } else {\n // Variable or expression: `new EuiTooltipConfig(opts)` → `opts`\n edits.push({\n start: node.getStart(sourceFile),\n end: node.getEnd(),\n replacement: argText,\n });\n }\n } else if (!args || args.length === 0) {\n // `new EuiTooltipConfig()` → `{} as EuiTooltipInterface`\n edits.push({\n start: node.getStart(sourceFile),\n end: node.getEnd(),\n replacement: `{} as ${NEW_INTERFACE}`,\n });\n }\n return; // don't recurse into children we've already replaced\n }\n ts.forEachChild(node, visitNewExpressions);\n };\n\n for (const stmt of sourceFile.statements) {\n if (!ts.isImportDeclaration(stmt)) {\n visitNewExpressions(stmt);\n }\n }\n\n // Fourth pass: rename all remaining identifier references (type annotations, etc.)\n const visitRefs = (node: ts.Node): void => {\n if (ts.isImportDeclaration(node)) return;\n // Skip nodes we already covered in new expressions\n if (ts.isNewExpression(node) && ts.isIdentifier(node.expression) && node.expression.text === OLD_CLASS) return;\n\n if (ts.isIdentifier(node) && node.text === OLD_CLASS) {\n // Ensure this is not part of an import declaration\n if (!isPartOfImport(node)) {\n edits.push({\n start: node.getStart(sourceFile),\n end: node.getEnd(),\n replacement: NEW_INTERFACE,\n });\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 return applyEdits(source, edits);\n}\n\nfunction isPartOfImport(node: ts.Node): boolean {\n let current: ts.Node | undefined = node.parent;\n while (current) {\n if (ts.isImportDeclaration(current)) return true;\n current = current.parent;\n }\n return false;\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 let end = importDecl.getEnd();\n // Also remove trailing newline if present\n const fullText = sourceFile.getFullText();\n if (fullText[end] === '\\n') end++;\n edits.push({\n start: importDecl.getStart(sourceFile),\n end,\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 // Not the last → remove from this specifier start to next specifier start\n start = specifier.getStart(sourceFile);\n end = elements[idx + 1].getStart(sourceFile);\n } else {\n // Last element → remove from previous element end to this end\n start = elements[idx - 1].getEnd();\n end = specifier.getEnd();\n }\n edits.push({ start, end, replacement: '' });\n }\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 const key = `${edit.start}:${edit.end}`;\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('.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",
2900
2959
  "displayName": "Schema",
2901
2960
  "properties": [
2902
2961
  {
@@ -2908,7 +2967,7 @@
2908
2967
  "indexKey": "",
2909
2968
  "optional": true,
2910
2969
  "description": "",
2911
- "line": 18,
2970
+ "line": 7,
2912
2971
  "rawdescription": "\n"
2913
2972
  },
2914
2973
  {
@@ -2920,7 +2979,7 @@
2920
2979
  "indexKey": "",
2921
2980
  "optional": true,
2922
2981
  "description": "",
2923
- "line": 17,
2982
+ "line": 6,
2924
2983
  "rawdescription": "\n"
2925
2984
  }
2926
2985
  ],
@@ -2983,6 +3042,53 @@
2983
3042
  "outgoing": []
2984
3043
  }
2985
3044
  },
3045
+ {
3046
+ "name": "Schema",
3047
+ "id": "interface-Schema-e1cd02924eb82a618c71a0b26c081bdd020519d2699aa0e2dc98640c4e0f347c3649b967c5fc87543e41bbbfabd1304835850ccc38f40684d6521c242b2030ed-21",
3048
+ "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
3049
+ "deprecated": false,
3050
+ "deprecationMessage": "",
3051
+ "type": "interface",
3052
+ "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",
3053
+ "displayName": "Schema",
3054
+ "properties": [
3055
+ {
3056
+ "name": "dryRun",
3057
+ "coverageIgnore": false,
3058
+ "deprecated": false,
3059
+ "deprecationMessage": "",
3060
+ "type": "boolean",
3061
+ "indexKey": "",
3062
+ "optional": true,
3063
+ "description": "",
3064
+ "line": 18,
3065
+ "rawdescription": "\n"
3066
+ },
3067
+ {
3068
+ "name": "path",
3069
+ "coverageIgnore": false,
3070
+ "deprecated": false,
3071
+ "deprecationMessage": "",
3072
+ "type": "string",
3073
+ "indexKey": "",
3074
+ "optional": true,
3075
+ "description": "",
3076
+ "line": 17,
3077
+ "rawdescription": "\n"
3078
+ }
3079
+ ],
3080
+ "indexSignatures": [],
3081
+ "kind": 172,
3082
+ "methods": [],
3083
+ "extends": [],
3084
+ "isDuplicate": true,
3085
+ "duplicateId": 21,
3086
+ "duplicateName": "Schema-21",
3087
+ "relationships": {
3088
+ "incoming": [],
3089
+ "outgoing": []
3090
+ }
3091
+ },
2986
3092
  {
2987
3093
  "name": "SelectorEntry",
2988
3094
  "id": "interface-SelectorEntry-467f1c85aa5f4f6713415ed73430d4d0b04537b3c37cfe5f2803754a6e6d3095edcf5c0c4c221320627f9ba2a32ca444704ca2ea0f7aafe20b54dcb0eafc02b6",
@@ -3318,12 +3424,12 @@
3318
3424
  },
3319
3425
  {
3320
3426
  "name": "UIState",
3321
- "id": "interface-UIState-bfaa9f6270d915c4863163b9e4ecefb08375cb6aa213f37d6112501a800ecb988315566a096e4f16f380bf9ca862b10c87dcf84348591cf9fabd6814ab659923",
3427
+ "id": "interface-UIState-2b10e519e4a4b60702c2f5da03d8ea5dc23dbec19cc7d660553b4aac90c5bdcd38a9eee6e4f6c9e5e9f468f5f00d106dcd82a7d9667028ef3f85483af3b8ffee",
3322
3428
  "file": "packages/core/src/lib/services/eui-app-shell.service.ts",
3323
3429
  "deprecated": false,
3324
3430
  "deprecationMessage": "",
3325
3431
  "type": "interface",
3326
- "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",
3432
+ "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 hasFixedPosition?: 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 hasFixedPosition: true,\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 if (state.hasFixedPosition) {\n classes.push('fixed-position');\n } else {\n classes.push('relative-position');\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",
3327
3433
  "displayName": "UIState<BP = any, DI = any, AMD =any, BPV = any>",
3328
3434
  "typeParameters": [
3329
3435
  "BP = any",
@@ -3341,7 +3447,7 @@
3341
3447
  "indexKey": "",
3342
3448
  "optional": false,
3343
3449
  "description": "",
3344
- "line": 62,
3450
+ "line": 63,
3345
3451
  "rawdescription": "\n"
3346
3452
  },
3347
3453
  {
@@ -3365,7 +3471,7 @@
3365
3471
  "indexKey": "",
3366
3472
  "optional": false,
3367
3473
  "description": "",
3368
- "line": 66,
3474
+ "line": 67,
3369
3475
  "rawdescription": "\n"
3370
3476
  },
3371
3477
  {
@@ -3413,7 +3519,7 @@
3413
3519
  "indexKey": "",
3414
3520
  "optional": true,
3415
3521
  "description": "",
3416
- "line": 45,
3522
+ "line": 46,
3417
3523
  "rawdescription": "\n"
3418
3524
  },
3419
3525
  {
@@ -3425,7 +3531,7 @@
3425
3531
  "indexKey": "",
3426
3532
  "optional": true,
3427
3533
  "description": "",
3428
- "line": 47,
3534
+ "line": 48,
3429
3535
  "rawdescription": "\n"
3430
3536
  },
3431
3537
  {
@@ -3437,7 +3543,7 @@
3437
3543
  "indexKey": "",
3438
3544
  "optional": true,
3439
3545
  "description": "",
3440
- "line": 48,
3546
+ "line": 49,
3441
3547
  "rawdescription": "\n"
3442
3548
  },
3443
3549
  {
@@ -3449,7 +3555,7 @@
3449
3555
  "indexKey": "",
3450
3556
  "optional": true,
3451
3557
  "description": "",
3452
- "line": 53,
3558
+ "line": 54,
3453
3559
  "rawdescription": "\n"
3454
3560
  },
3455
3561
  {
@@ -3461,7 +3567,7 @@
3461
3567
  "indexKey": "",
3462
3568
  "optional": false,
3463
3569
  "description": "",
3464
- "line": 59,
3570
+ "line": 60,
3465
3571
  "rawdescription": "\n"
3466
3572
  },
3467
3573
  {
@@ -3473,7 +3579,7 @@
3473
3579
  "indexKey": "",
3474
3580
  "optional": true,
3475
3581
  "description": "",
3476
- "line": 34,
3582
+ "line": 35,
3477
3583
  "rawdescription": "\n"
3478
3584
  },
3479
3585
  {
@@ -3485,7 +3591,19 @@
3485
3591
  "indexKey": "",
3486
3592
  "optional": true,
3487
3593
  "description": "",
3488
- "line": 27,
3594
+ "line": 28,
3595
+ "rawdescription": "\n"
3596
+ },
3597
+ {
3598
+ "name": "hasFixedPosition",
3599
+ "coverageIgnore": false,
3600
+ "deprecated": false,
3601
+ "deprecationMessage": "",
3602
+ "type": "boolean",
3603
+ "indexKey": "",
3604
+ "optional": true,
3605
+ "description": "",
3606
+ "line": 25,
3489
3607
  "rawdescription": "\n"
3490
3608
  },
3491
3609
  {
@@ -3497,7 +3615,7 @@
3497
3615
  "indexKey": "",
3498
3616
  "optional": true,
3499
3617
  "description": "",
3500
- "line": 28,
3618
+ "line": 29,
3501
3619
  "rawdescription": "\n"
3502
3620
  },
3503
3621
  {
@@ -3509,7 +3627,7 @@
3509
3627
  "indexKey": "",
3510
3628
  "optional": true,
3511
3629
  "description": "",
3512
- "line": 30,
3630
+ "line": 31,
3513
3631
  "rawdescription": "\n"
3514
3632
  },
3515
3633
  {
@@ -3521,7 +3639,7 @@
3521
3639
  "indexKey": "",
3522
3640
  "optional": true,
3523
3641
  "description": "",
3524
- "line": 29,
3642
+ "line": 30,
3525
3643
  "rawdescription": "\n"
3526
3644
  },
3527
3645
  {
@@ -3533,7 +3651,7 @@
3533
3651
  "indexKey": "",
3534
3652
  "optional": true,
3535
3653
  "description": "",
3536
- "line": 69,
3654
+ "line": 70,
3537
3655
  "rawdescription": "\n"
3538
3656
  },
3539
3657
  {
@@ -3545,7 +3663,7 @@
3545
3663
  "indexKey": "",
3546
3664
  "optional": true,
3547
3665
  "description": "",
3548
- "line": 25,
3666
+ "line": 26,
3549
3667
  "rawdescription": "\n"
3550
3668
  },
3551
3669
  {
@@ -3557,7 +3675,7 @@
3557
3675
  "indexKey": "",
3558
3676
  "optional": true,
3559
3677
  "description": "",
3560
- "line": 37,
3678
+ "line": 38,
3561
3679
  "rawdescription": "\n"
3562
3680
  },
3563
3681
  {
@@ -3569,7 +3687,7 @@
3569
3687
  "indexKey": "",
3570
3688
  "optional": true,
3571
3689
  "description": "",
3572
- "line": 26,
3690
+ "line": 27,
3573
3691
  "rawdescription": "\n"
3574
3692
  },
3575
3693
  {
@@ -3581,7 +3699,7 @@
3581
3699
  "indexKey": "",
3582
3700
  "optional": true,
3583
3701
  "description": "",
3584
- "line": 31,
3702
+ "line": 32,
3585
3703
  "rawdescription": "\n"
3586
3704
  },
3587
3705
  {
@@ -3593,7 +3711,7 @@
3593
3711
  "indexKey": "",
3594
3712
  "optional": true,
3595
3713
  "description": "",
3596
- "line": 32,
3714
+ "line": 33,
3597
3715
  "rawdescription": "\n"
3598
3716
  },
3599
3717
  {
@@ -3605,7 +3723,7 @@
3605
3723
  "indexKey": "",
3606
3724
  "optional": true,
3607
3725
  "description": "",
3608
- "line": 33,
3726
+ "line": 34,
3609
3727
  "rawdescription": "\n"
3610
3728
  },
3611
3729
  {
@@ -3617,7 +3735,7 @@
3617
3735
  "indexKey": "",
3618
3736
  "optional": true,
3619
3737
  "description": "",
3620
- "line": 38,
3738
+ "line": 39,
3621
3739
  "rawdescription": "\n"
3622
3740
  },
3623
3741
  {
@@ -3629,7 +3747,7 @@
3629
3747
  "indexKey": "",
3630
3748
  "optional": true,
3631
3749
  "description": "",
3632
- "line": 56,
3750
+ "line": 57,
3633
3751
  "rawdescription": "\n"
3634
3752
  },
3635
3753
  {
@@ -3641,7 +3759,7 @@
3641
3759
  "indexKey": "",
3642
3760
  "optional": true,
3643
3761
  "description": "",
3644
- "line": 70,
3762
+ "line": 71,
3645
3763
  "rawdescription": "\n"
3646
3764
  },
3647
3765
  {
@@ -3665,7 +3783,7 @@
3665
3783
  "indexKey": "",
3666
3784
  "optional": true,
3667
3785
  "description": "",
3668
- "line": 36,
3786
+ "line": 37,
3669
3787
  "rawdescription": "\n"
3670
3788
  },
3671
3789
  {
@@ -3677,7 +3795,7 @@
3677
3795
  "indexKey": "",
3678
3796
  "optional": true,
3679
3797
  "description": "",
3680
- "line": 35,
3798
+ "line": 36,
3681
3799
  "rawdescription": "\n"
3682
3800
  },
3683
3801
  {
@@ -3701,7 +3819,7 @@
3701
3819
  "indexKey": "",
3702
3820
  "optional": false,
3703
3821
  "description": "",
3704
- "line": 63,
3822
+ "line": 64,
3705
3823
  "rawdescription": "\n"
3706
3824
  },
3707
3825
  {
@@ -3713,7 +3831,7 @@
3713
3831
  "indexKey": "",
3714
3832
  "optional": true,
3715
3833
  "description": "",
3716
- "line": 43,
3834
+ "line": 44,
3717
3835
  "rawdescription": "\n"
3718
3836
  },
3719
3837
  {
@@ -3725,7 +3843,7 @@
3725
3843
  "indexKey": "",
3726
3844
  "optional": true,
3727
3845
  "description": "",
3728
- "line": 51,
3846
+ "line": 52,
3729
3847
  "rawdescription": "\n"
3730
3848
  },
3731
3849
  {
@@ -3737,7 +3855,7 @@
3737
3855
  "indexKey": "",
3738
3856
  "optional": true,
3739
3857
  "description": "",
3740
- "line": 44,
3858
+ "line": 45,
3741
3859
  "rawdescription": "\n"
3742
3860
  },
3743
3861
  {
@@ -3749,7 +3867,7 @@
3749
3867
  "indexKey": "",
3750
3868
  "optional": true,
3751
3869
  "description": "",
3752
- "line": 52,
3870
+ "line": 53,
3753
3871
  "rawdescription": "\n"
3754
3872
  },
3755
3873
  {
@@ -3761,7 +3879,7 @@
3761
3879
  "indexKey": "",
3762
3880
  "optional": true,
3763
3881
  "description": "",
3764
- "line": 42,
3882
+ "line": 43,
3765
3883
  "rawdescription": "\n"
3766
3884
  },
3767
3885
  {
@@ -3773,7 +3891,7 @@
3773
3891
  "indexKey": "",
3774
3892
  "optional": true,
3775
3893
  "description": "",
3776
- "line": 41,
3894
+ "line": 42,
3777
3895
  "rawdescription": "\n"
3778
3896
  },
3779
3897
  {
@@ -3785,7 +3903,7 @@
3785
3903
  "indexKey": "",
3786
3904
  "optional": true,
3787
3905
  "description": "",
3788
- "line": 46,
3906
+ "line": 47,
3789
3907
  "rawdescription": "\n"
3790
3908
  }
3791
3909
  ],
@@ -4767,7 +4885,7 @@
4767
4885
  },
4768
4886
  {
4769
4887
  "name": "EuiAppShellService",
4770
- "id": "injectable-EuiAppShellService-bfaa9f6270d915c4863163b9e4ecefb08375cb6aa213f37d6112501a800ecb988315566a096e4f16f380bf9ca862b10c87dcf84348591cf9fabd6814ab659923",
4888
+ "id": "injectable-EuiAppShellService-2b10e519e4a4b60702c2f5da03d8ea5dc23dbec19cc7d660553b4aac90c5bdcd38a9eee6e4f6c9e5e9f468f5f00d106dcd82a7d9667028ef3f85483af3b8ffee",
4771
4889
  "file": "packages/core/src/lib/services/eui-app-shell.service.ts",
4772
4890
  "coverageIgnore": false,
4773
4891
  "properties": [
@@ -4781,7 +4899,7 @@
4781
4899
  "indexKey": "",
4782
4900
  "optional": false,
4783
4901
  "description": "",
4784
- "line": 132,
4902
+ "line": 134,
4785
4903
  "rawdescription": "\n",
4786
4904
  "modifierKind": [
4787
4905
  124
@@ -4796,7 +4914,7 @@
4796
4914
  "indexKey": "",
4797
4915
  "optional": false,
4798
4916
  "description": "",
4799
- "line": 131,
4917
+ "line": 133,
4800
4918
  "rawdescription": "\n"
4801
4919
  },
4802
4920
  {
@@ -4808,7 +4926,7 @@
4808
4926
  "indexKey": "",
4809
4927
  "optional": false,
4810
4928
  "description": "",
4811
- "line": 130,
4929
+ "line": 132,
4812
4930
  "rawdescription": "\n"
4813
4931
  }
4814
4932
  ],
@@ -4820,7 +4938,7 @@
4820
4938
  "optional": false,
4821
4939
  "returnType": "void",
4822
4940
  "typeParameters": [],
4823
- "line": 399,
4941
+ "line": 401,
4824
4942
  "deprecated": false,
4825
4943
  "deprecationMessage": "",
4826
4944
  "rawdescription": "\n",
@@ -4836,7 +4954,7 @@
4836
4954
  "optional": false,
4837
4955
  "returnType": "void",
4838
4956
  "typeParameters": [],
4839
- "line": 391,
4957
+ "line": 393,
4840
4958
  "deprecated": false,
4841
4959
  "deprecationMessage": "",
4842
4960
  "rawdescription": "\n",
@@ -4852,7 +4970,7 @@
4852
4970
  "optional": false,
4853
4971
  "returnType": "void",
4854
4972
  "typeParameters": [],
4855
- "line": 354,
4973
+ "line": 356,
4856
4974
  "deprecated": false,
4857
4975
  "deprecationMessage": "",
4858
4976
  "rawdescription": "\n",
@@ -4868,7 +4986,7 @@
4868
4986
  "optional": false,
4869
4987
  "returnType": "void",
4870
4988
  "typeParameters": [],
4871
- "line": 387,
4989
+ "line": 389,
4872
4990
  "deprecated": false,
4873
4991
  "deprecationMessage": "",
4874
4992
  "rawdescription": "\n",
@@ -4884,7 +5002,7 @@
4884
5002
  "optional": false,
4885
5003
  "returnType": "void",
4886
5004
  "typeParameters": [],
4887
- "line": 383,
5005
+ "line": 385,
4888
5006
  "deprecated": false,
4889
5007
  "deprecationMessage": "",
4890
5008
  "rawdescription": "\n",
@@ -4900,7 +5018,7 @@
4900
5018
  "optional": false,
4901
5019
  "returnType": "void",
4902
5020
  "typeParameters": [],
4903
- "line": 365,
5021
+ "line": 367,
4904
5022
  "deprecated": false,
4905
5023
  "deprecationMessage": "",
4906
5024
  "rawdescription": "\n",
@@ -4916,7 +5034,7 @@
4916
5034
  "optional": false,
4917
5035
  "returnType": "void",
4918
5036
  "typeParameters": [],
4919
- "line": 415,
5037
+ "line": 417,
4920
5038
  "deprecated": false,
4921
5039
  "deprecationMessage": "",
4922
5040
  "rawdescription": "\n",
@@ -4932,7 +5050,7 @@
4932
5050
  "optional": false,
4933
5051
  "returnType": "void",
4934
5052
  "typeParameters": [],
4935
- "line": 423,
5053
+ "line": 425,
4936
5054
  "deprecated": false,
4937
5055
  "deprecationMessage": "",
4938
5056
  "rawdescription": "\n",
@@ -4948,7 +5066,7 @@
4948
5066
  "optional": false,
4949
5067
  "returnType": "void",
4950
5068
  "typeParameters": [],
4951
- "line": 431,
5069
+ "line": 433,
4952
5070
  "deprecated": false,
4953
5071
  "deprecationMessage": "",
4954
5072
  "rawdescription": "\n",
@@ -4973,7 +5091,7 @@
4973
5091
  "optional": false,
4974
5092
  "returnType": "void",
4975
5093
  "typeParameters": [],
4976
- "line": 407,
5094
+ "line": 409,
4977
5095
  "deprecated": false,
4978
5096
  "deprecationMessage": "",
4979
5097
  "rawdescription": "\n",
@@ -5002,7 +5120,7 @@
5002
5120
  "optional": false,
5003
5121
  "returnType": "void",
5004
5122
  "typeParameters": [],
5005
- "line": 374,
5123
+ "line": 376,
5006
5124
  "deprecated": false,
5007
5125
  "deprecationMessage": "",
5008
5126
  "rawdescription": "\n",
@@ -5018,7 +5136,7 @@
5018
5136
  "optional": false,
5019
5137
  "returnType": "void",
5020
5138
  "typeParameters": [],
5021
- "line": 325,
5139
+ "line": 327,
5022
5140
  "deprecated": false,
5023
5141
  "deprecationMessage": "",
5024
5142
  "rawdescription": "\n",
@@ -5044,7 +5162,7 @@
5044
5162
  "optional": false,
5045
5163
  "returnType": "void",
5046
5164
  "typeParameters": [],
5047
- "line": 345,
5165
+ "line": 347,
5048
5166
  "deprecated": false,
5049
5167
  "deprecationMessage": "",
5050
5168
  "rawdescription": "\n",
@@ -5074,7 +5192,7 @@
5074
5192
  "optional": false,
5075
5193
  "returnType": "string",
5076
5194
  "typeParameters": [],
5077
- "line": 441,
5195
+ "line": 443,
5078
5196
  "deprecated": false,
5079
5197
  "deprecationMessage": "",
5080
5198
  "rawdescription": "\n\nReturns the current value of --eui-f-size-base CSS variable\n",
@@ -5101,7 +5219,7 @@
5101
5219
  "typeParameters": [
5102
5220
  "T"
5103
5221
  ],
5104
- "line": 307,
5222
+ "line": 309,
5105
5223
  "deprecated": false,
5106
5224
  "deprecationMessage": "",
5107
5225
  "rawdescription": "\n\nEmits a slice from the state whether that changes\n\n",
@@ -5109,8 +5227,8 @@
5109
5227
  "jsdoctags": [
5110
5228
  {
5111
5229
  "name": {
5112
- "pos": 8924,
5113
- "end": 8927,
5230
+ "pos": 8984,
5231
+ "end": 8987,
5114
5232
  "kind": 80,
5115
5233
  "id": 0,
5116
5234
  "flags": 16842752,
@@ -5123,8 +5241,8 @@
5123
5241
  "deprecated": false,
5124
5242
  "deprecationMessage": "",
5125
5243
  "tagName": {
5126
- "pos": 8918,
5127
- "end": 8923,
5244
+ "pos": 8978,
5245
+ "end": 8983,
5128
5246
  "kind": 80,
5129
5247
  "id": 0,
5130
5248
  "flags": 16842752,
@@ -5151,7 +5269,7 @@
5151
5269
  "optional": false,
5152
5270
  "returnType": "void",
5153
5271
  "typeParameters": [],
5154
- "line": 448,
5272
+ "line": 450,
5155
5273
  "deprecated": false,
5156
5274
  "deprecationMessage": "",
5157
5275
  "rawdescription": "\n\nUpdates the current value of --eui-f-size-base CSS variable and the UIState appBaseFontSize\n",
@@ -5189,7 +5307,7 @@
5189
5307
  "optional": false,
5190
5308
  "returnType": "void",
5191
5309
  "typeParameters": [],
5192
- "line": 334,
5310
+ "line": 336,
5193
5311
  "deprecated": false,
5194
5312
  "deprecationMessage": "",
5195
5313
  "rawdescription": "\n",
@@ -5236,7 +5354,7 @@
5236
5354
  "optional": false,
5237
5355
  "returnType": "void",
5238
5356
  "typeParameters": [],
5239
- "line": 254,
5357
+ "line": 256,
5240
5358
  "deprecated": false,
5241
5359
  "deprecationMessage": "",
5242
5360
  "rawdescription": "\n",
@@ -5274,7 +5392,7 @@
5274
5392
  "optional": false,
5275
5393
  "returnType": "void",
5276
5394
  "typeParameters": [],
5277
- "line": 320,
5395
+ "line": 322,
5278
5396
  "deprecated": false,
5279
5397
  "deprecationMessage": "",
5280
5398
  "rawdescription": "\n",
@@ -5288,14 +5406,14 @@
5288
5406
  "deprecationMessage": "",
5289
5407
  "description": "",
5290
5408
  "rawdescription": "\n",
5291
- "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",
5409
+ "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 hasFixedPosition?: 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 hasFixedPosition: true,\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 if (state.hasFixedPosition) {\n classes.push('fixed-position');\n } else {\n classes.push('relative-position');\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",
5292
5410
  "constructorObj": {
5293
5411
  "name": "constructor",
5294
5412
  "description": "",
5295
5413
  "deprecated": false,
5296
5414
  "deprecationMessage": "",
5297
5415
  "args": [],
5298
- "line": 233,
5416
+ "line": 235,
5299
5417
  "rawdescription": "\n"
5300
5418
  },
5301
5419
  "accessors": {
@@ -5305,7 +5423,7 @@
5305
5423
  "name": "state$",
5306
5424
  "type": "unknown",
5307
5425
  "returnType": "Observable<UIState>",
5308
- "line": 141,
5426
+ "line": 143,
5309
5427
  "rawdescription": "\n",
5310
5428
  "description": ""
5311
5429
  }
@@ -5316,7 +5434,7 @@
5316
5434
  "name": "breakpoint$",
5317
5435
  "type": "unknown",
5318
5436
  "returnType": "Observable<string>",
5319
- "line": 148,
5437
+ "line": 150,
5320
5438
  "rawdescription": "\n",
5321
5439
  "description": ""
5322
5440
  }
@@ -5327,7 +5445,7 @@
5327
5445
  "name": "breakpoints$",
5328
5446
  "type": "unknown",
5329
5447
  "returnType": "Observable<any>",
5330
- "line": 153,
5448
+ "line": 155,
5331
5449
  "rawdescription": "\n",
5332
5450
  "description": ""
5333
5451
  }
@@ -5338,7 +5456,7 @@
5338
5456
  "name": "state",
5339
5457
  "type": "unknown",
5340
5458
  "returnType": "UIState",
5341
- "line": 160,
5459
+ "line": 162,
5342
5460
  "rawdescription": "\n",
5343
5461
  "description": ""
5344
5462
  }
@@ -5361,7 +5479,7 @@
5361
5479
  }
5362
5480
  ],
5363
5481
  "returnType": "void",
5364
- "line": 167,
5482
+ "line": 169,
5365
5483
  "rawdescription": "\n",
5366
5484
  "description": "",
5367
5485
  "jsdoctags": [
@@ -5382,7 +5500,7 @@
5382
5500
  "name": "isSidebarOpen",
5383
5501
  "type": "boolean",
5384
5502
  "returnType": "boolean",
5385
- "line": 174,
5503
+ "line": 176,
5386
5504
  "rawdescription": "\n",
5387
5505
  "description": ""
5388
5506
  }
@@ -5405,7 +5523,7 @@
5405
5523
  }
5406
5524
  ],
5407
5525
  "returnType": "void",
5408
- "line": 178,
5526
+ "line": 180,
5409
5527
  "rawdescription": "\n",
5410
5528
  "description": "",
5411
5529
  "jsdoctags": [
@@ -5441,7 +5559,7 @@
5441
5559
  }
5442
5560
  ],
5443
5561
  "returnType": "void",
5444
- "line": 185,
5562
+ "line": 187,
5445
5563
  "rawdescription": "\n",
5446
5564
  "description": "",
5447
5565
  "jsdoctags": [
@@ -5477,7 +5595,7 @@
5477
5595
  }
5478
5596
  ],
5479
5597
  "returnType": "void",
5480
- "line": 192,
5598
+ "line": 194,
5481
5599
  "rawdescription": "\n",
5482
5600
  "description": "",
5483
5601
  "jsdoctags": [
@@ -5513,7 +5631,7 @@
5513
5631
  }
5514
5632
  ],
5515
5633
  "returnType": "void",
5516
- "line": 200,
5634
+ "line": 202,
5517
5635
  "rawdescription": "\n",
5518
5636
  "description": "",
5519
5637
  "jsdoctags": [
@@ -5549,7 +5667,7 @@
5549
5667
  }
5550
5668
  ],
5551
5669
  "returnType": "void",
5552
- "line": 207,
5670
+ "line": 209,
5553
5671
  "rawdescription": "\n",
5554
5672
  "description": "",
5555
5673
  "jsdoctags": [
@@ -5573,7 +5691,7 @@
5573
5691
  "name": "hasHeader",
5574
5692
  "type": "boolean",
5575
5693
  "returnType": "boolean",
5576
- "line": 214,
5694
+ "line": 216,
5577
5695
  "rawdescription": "\n",
5578
5696
  "description": ""
5579
5697
  }
@@ -5596,7 +5714,7 @@
5596
5714
  }
5597
5715
  ],
5598
5716
  "returnType": "void",
5599
- "line": 223,
5717
+ "line": 225,
5600
5718
  "rawdescription": "\n",
5601
5719
  "description": "",
5602
5720
  "jsdoctags": [
@@ -5617,7 +5735,7 @@
5617
5735
  "name": "isDimmerActive",
5618
5736
  "type": "boolean",
5619
5737
  "returnType": "boolean",
5620
- "line": 219,
5738
+ "line": 221,
5621
5739
  "rawdescription": "\n",
5622
5740
  "description": ""
5623
5741
  }
@@ -21963,23 +22081,23 @@
21963
22081
  "name": "COMPONENT_TAG",
21964
22082
  "ctype": "miscellaneous",
21965
22083
  "subtype": "variable",
21966
- "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
22084
+ "file": "packages/core/schematics/migrate-eui-editor/index.ts",
21967
22085
  "coverageIgnore": false,
21968
22086
  "deprecated": false,
21969
22087
  "deprecationMessage": "",
21970
22088
  "type": "string",
21971
- "defaultValue": "'eui-discussion-thread'"
22089
+ "defaultValue": "'eui-editor'"
21972
22090
  },
21973
22091
  {
21974
22092
  "name": "COMPONENT_TAG",
21975
22093
  "ctype": "miscellaneous",
21976
22094
  "subtype": "variable",
21977
- "file": "packages/core/schematics/migrate-eui-editor/index.ts",
22095
+ "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
21978
22096
  "coverageIgnore": false,
21979
22097
  "deprecated": false,
21980
22098
  "deprecationMessage": "",
21981
22099
  "type": "string",
21982
- "defaultValue": "'eui-editor'"
22100
+ "defaultValue": "'eui-discussion-thread'"
21983
22101
  },
21984
22102
  {
21985
22103
  "name": "COMPONENT_TAG",
@@ -22542,7 +22660,7 @@
22542
22660
  "deprecated": false,
22543
22661
  "deprecationMessage": "",
22544
22662
  "type": "UIState",
22545
- "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}"
22663
+ "defaultValue": "{\n appName: '',\n appShortName: '',\n appSubTitle: '',\n appBaseFontSize: '',\n\n isSidebarOpen: true,\n isSidebarActive: false,\n hasFixedPosition: true,\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}"
22546
22664
  },
22547
22665
  {
22548
22666
  "name": "initialState",
@@ -22854,6 +22972,17 @@
22854
22972
  "type": "string",
22855
22973
  "defaultValue": "'eui-tab-header-sub-label'"
22856
22974
  },
22975
+ {
22976
+ "name": "NEW_INTERFACE",
22977
+ "ctype": "miscellaneous",
22978
+ "subtype": "variable",
22979
+ "file": "packages/core/schematics/migrate-eui-tooltip/index.ts",
22980
+ "coverageIgnore": false,
22981
+ "deprecated": false,
22982
+ "deprecationMessage": "",
22983
+ "type": "string",
22984
+ "defaultValue": "'EuiTooltipInterface'"
22985
+ },
22857
22986
  {
22858
22987
  "name": "NEW_INTERFACE",
22859
22988
  "ctype": "miscellaneous",
@@ -22966,6 +23095,17 @@
22966
23095
  "rawdescription": "Provides read-only equivalent of jQuery's offset function:\nhttp://api.jquery.com/offset/",
22967
23096
  "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"
22968
23097
  },
23098
+ {
23099
+ "name": "OLD_CLASS",
23100
+ "ctype": "miscellaneous",
23101
+ "subtype": "variable",
23102
+ "file": "packages/core/schematics/migrate-eui-tooltip/index.ts",
23103
+ "coverageIgnore": false,
23104
+ "deprecated": false,
23105
+ "deprecationMessage": "",
23106
+ "type": "string",
23107
+ "defaultValue": "'EuiTooltipConfig'"
23108
+ },
22969
23109
  {
22970
23110
  "name": "OLD_COMPONENT",
22971
23111
  "ctype": "miscellaneous",
@@ -24409,6 +24549,51 @@
24409
24549
  }
24410
24550
  ]
24411
24551
  },
24552
+ {
24553
+ "name": "applyEdits",
24554
+ "file": "packages/core/schematics/migrate-eui-tooltip/index.ts",
24555
+ "ctype": "miscellaneous",
24556
+ "subtype": "function",
24557
+ "coverageIgnore": false,
24558
+ "deprecated": false,
24559
+ "deprecationMessage": "",
24560
+ "rawdescription": "",
24561
+ "description": "",
24562
+ "displayName": "applyEdits",
24563
+ "args": [
24564
+ {
24565
+ "name": "source",
24566
+ "type": "string",
24567
+ "deprecated": false,
24568
+ "deprecationMessage": ""
24569
+ },
24570
+ {
24571
+ "name": "edits",
24572
+ "deprecated": false,
24573
+ "deprecationMessage": ""
24574
+ }
24575
+ ],
24576
+ "returnType": "string",
24577
+ "jsdoctags": [
24578
+ {
24579
+ "name": "source",
24580
+ "type": "string",
24581
+ "deprecated": false,
24582
+ "deprecationMessage": "",
24583
+ "tagName": {
24584
+ "text": "param"
24585
+ }
24586
+ },
24587
+ {
24588
+ "name": "edits",
24589
+ "deprecated": false,
24590
+ "deprecationMessage": "",
24591
+ "tagName": {
24592
+ "text": "param"
24593
+ }
24594
+ }
24595
+ ]
24596
+ },
24412
24597
  {
24413
24598
  "name": "applyEdits",
24414
24599
  "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
@@ -26389,6 +26574,36 @@
26389
26574
  }
26390
26575
  ]
26391
26576
  },
26577
+ {
26578
+ "name": "deduplicateEdits",
26579
+ "file": "packages/core/schematics/migrate-eui-tooltip/index.ts",
26580
+ "ctype": "miscellaneous",
26581
+ "subtype": "function",
26582
+ "coverageIgnore": false,
26583
+ "deprecated": false,
26584
+ "deprecationMessage": "",
26585
+ "rawdescription": "",
26586
+ "description": "",
26587
+ "displayName": "deduplicateEdits",
26588
+ "args": [
26589
+ {
26590
+ "name": "edits",
26591
+ "deprecated": false,
26592
+ "deprecationMessage": ""
26593
+ }
26594
+ ],
26595
+ "returnType": "Edit[]",
26596
+ "jsdoctags": [
26597
+ {
26598
+ "name": "edits",
26599
+ "deprecated": false,
26600
+ "deprecationMessage": "",
26601
+ "tagName": {
26602
+ "text": "param"
26603
+ }
26604
+ }
26605
+ ]
26606
+ },
26392
26607
  {
26393
26608
  "name": "deduplicateEdits",
26394
26609
  "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
@@ -29427,6 +29642,36 @@
29427
29642
  }
29428
29643
  ]
29429
29644
  },
29645
+ {
29646
+ "name": "isPartOfImport",
29647
+ "file": "packages/core/schematics/migrate-eui-tooltip/index.ts",
29648
+ "ctype": "miscellaneous",
29649
+ "subtype": "function",
29650
+ "coverageIgnore": false,
29651
+ "deprecated": false,
29652
+ "deprecationMessage": "",
29653
+ "rawdescription": "",
29654
+ "description": "",
29655
+ "displayName": "isPartOfImport",
29656
+ "args": [
29657
+ {
29658
+ "name": "node",
29659
+ "deprecated": false,
29660
+ "deprecationMessage": ""
29661
+ }
29662
+ ],
29663
+ "returnType": "boolean",
29664
+ "jsdoctags": [
29665
+ {
29666
+ "name": "node",
29667
+ "deprecated": false,
29668
+ "deprecationMessage": "",
29669
+ "tagName": {
29670
+ "text": "param"
29671
+ }
29672
+ }
29673
+ ]
29674
+ },
29430
29675
  {
29431
29676
  "name": "isSelectorsDictionary",
29432
29677
  "file": "packages/core/src/lib/services/store/ngrx_kit.ts",
@@ -31194,8 +31439,8 @@
31194
31439
  ]
31195
31440
  },
31196
31441
  {
31197
- "name": "migrateImportsAndTypes",
31198
- "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
31442
+ "name": "migrateEuiTooltip",
31443
+ "file": "packages/core/schematics/migrate-eui-tooltip/index.ts",
31199
31444
  "ctype": "miscellaneous",
31200
31445
  "subtype": "function",
31201
31446
  "coverageIgnore": false,
@@ -31203,84 +31448,24 @@
31203
31448
  "deprecationMessage": "",
31204
31449
  "rawdescription": "",
31205
31450
  "description": "",
31206
- "displayName": "migrateImportsAndTypes",
31451
+ "displayName": "migrateEuiTooltip",
31207
31452
  "args": [
31208
31453
  {
31209
- "name": "source",
31210
- "type": "string",
31211
- "deprecated": false,
31212
- "deprecationMessage": ""
31213
- },
31214
- {
31215
- "name": "filePath",
31216
- "type": "string",
31217
- "deprecated": false,
31218
- "deprecationMessage": ""
31219
- },
31220
- {
31221
- "name": "context",
31222
- "type": "SchematicContext",
31223
- "deprecated": false,
31224
- "deprecationMessage": ""
31225
- }
31226
- ],
31227
- "returnType": "string",
31228
- "jsdoctags": [
31229
- {
31230
- "name": "source",
31231
- "type": "string",
31232
- "deprecated": false,
31233
- "deprecationMessage": "",
31234
- "tagName": {
31235
- "text": "param"
31236
- }
31237
- },
31238
- {
31239
- "name": "filePath",
31240
- "type": "string",
31241
- "deprecated": false,
31242
- "deprecationMessage": "",
31243
- "tagName": {
31244
- "text": "param"
31245
- }
31246
- },
31247
- {
31248
- "name": "context",
31249
- "type": "SchematicContext",
31454
+ "name": "options",
31455
+ "type": "Schema",
31250
31456
  "deprecated": false,
31251
31457
  "deprecationMessage": "",
31252
- "tagName": {
31253
- "text": "param"
31254
- }
31255
- }
31256
- ]
31257
- },
31258
- {
31259
- "name": "migrateInlineTemplates",
31260
- "file": "packages/core/schematics/migrate-eui-accent/index.ts",
31261
- "ctype": "miscellaneous",
31262
- "subtype": "function",
31263
- "coverageIgnore": false,
31264
- "deprecated": false,
31265
- "deprecationMessage": "",
31266
- "rawdescription": "",
31267
- "description": "",
31268
- "displayName": "migrateInlineTemplates",
31269
- "args": [
31270
- {
31271
- "name": "source",
31272
- "type": "string",
31273
- "deprecated": false,
31274
- "deprecationMessage": ""
31458
+ "defaultValue": "{}"
31275
31459
  }
31276
31460
  ],
31277
- "returnType": "string",
31461
+ "returnType": "Rule",
31278
31462
  "jsdoctags": [
31279
31463
  {
31280
- "name": "source",
31281
- "type": "string",
31464
+ "name": "options",
31465
+ "type": "Schema",
31282
31466
  "deprecated": false,
31283
31467
  "deprecationMessage": "",
31468
+ "defaultValue": "{}",
31284
31469
  "tagName": {
31285
31470
  "text": "param"
31286
31471
  }
@@ -31288,8 +31473,8 @@
31288
31473
  ]
31289
31474
  },
31290
31475
  {
31291
- "name": "migrateInlineTemplates",
31292
- "file": "packages/core/schematics/migrate-eui-alert/index.ts",
31476
+ "name": "migrateImportsAndTypes",
31477
+ "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
31293
31478
  "ctype": "miscellaneous",
31294
31479
  "subtype": "function",
31295
31480
  "coverageIgnore": false,
@@ -31297,75 +31482,23 @@
31297
31482
  "deprecationMessage": "",
31298
31483
  "rawdescription": "",
31299
31484
  "description": "",
31300
- "displayName": "migrateInlineTemplates",
31485
+ "displayName": "migrateImportsAndTypes",
31301
31486
  "args": [
31302
31487
  {
31303
31488
  "name": "source",
31304
31489
  "type": "string",
31305
31490
  "deprecated": false,
31306
31491
  "deprecationMessage": ""
31307
- }
31308
- ],
31309
- "returnType": "string",
31310
- "jsdoctags": [
31311
- {
31312
- "name": "source",
31313
- "type": "string",
31314
- "deprecated": false,
31315
- "deprecationMessage": "",
31316
- "tagName": {
31317
- "text": "param"
31318
- }
31319
- }
31320
- ]
31321
- },
31322
- {
31323
- "name": "migrateInlineTemplates",
31324
- "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
31325
- "ctype": "miscellaneous",
31326
- "subtype": "function",
31327
- "coverageIgnore": false,
31328
- "deprecated": false,
31329
- "deprecationMessage": "",
31330
- "rawdescription": "",
31331
- "description": "",
31332
- "displayName": "migrateInlineTemplates",
31333
- "args": [
31492
+ },
31334
31493
  {
31335
- "name": "source",
31494
+ "name": "filePath",
31336
31495
  "type": "string",
31337
31496
  "deprecated": false,
31338
31497
  "deprecationMessage": ""
31339
- }
31340
- ],
31341
- "returnType": "string",
31342
- "jsdoctags": [
31343
- {
31344
- "name": "source",
31345
- "type": "string",
31346
- "deprecated": false,
31347
- "deprecationMessage": "",
31348
- "tagName": {
31349
- "text": "param"
31350
- }
31351
- }
31352
- ]
31353
- },
31354
- {
31355
- "name": "migrateInlineTemplates",
31356
- "file": "packages/core/schematics/migrate-eui-button/index.ts",
31357
- "ctype": "miscellaneous",
31358
- "subtype": "function",
31359
- "coverageIgnore": false,
31360
- "deprecated": false,
31361
- "deprecationMessage": "",
31362
- "rawdescription": "",
31363
- "description": "",
31364
- "displayName": "migrateInlineTemplates",
31365
- "args": [
31498
+ },
31366
31499
  {
31367
- "name": "source",
31368
- "type": "string",
31500
+ "name": "context",
31501
+ "type": "SchematicContext",
31369
31502
  "deprecated": false,
31370
31503
  "deprecationMessage": ""
31371
31504
  }
@@ -31380,65 +31513,19 @@
31380
31513
  "tagName": {
31381
31514
  "text": "param"
31382
31515
  }
31383
- }
31384
- ]
31385
- },
31386
- {
31387
- "name": "migrateInlineTemplates",
31388
- "file": "packages/core/schematics/migrate-eui-chip/index.ts",
31389
- "ctype": "miscellaneous",
31390
- "subtype": "function",
31391
- "coverageIgnore": false,
31392
- "deprecated": false,
31393
- "deprecationMessage": "",
31394
- "rawdescription": "",
31395
- "description": "",
31396
- "displayName": "migrateInlineTemplates",
31397
- "args": [
31398
- {
31399
- "name": "source",
31400
- "type": "string",
31401
- "deprecated": false,
31402
- "deprecationMessage": ""
31403
- }
31404
- ],
31405
- "returnType": "string",
31406
- "jsdoctags": [
31516
+ },
31407
31517
  {
31408
- "name": "source",
31518
+ "name": "filePath",
31409
31519
  "type": "string",
31410
31520
  "deprecated": false,
31411
31521
  "deprecationMessage": "",
31412
31522
  "tagName": {
31413
31523
  "text": "param"
31414
31524
  }
31415
- }
31416
- ]
31417
- },
31418
- {
31419
- "name": "migrateInlineTemplates",
31420
- "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
31421
- "ctype": "miscellaneous",
31422
- "subtype": "function",
31423
- "coverageIgnore": false,
31424
- "deprecated": false,
31425
- "deprecationMessage": "",
31426
- "rawdescription": "",
31427
- "description": "",
31428
- "displayName": "migrateInlineTemplates",
31429
- "args": [
31430
- {
31431
- "name": "source",
31432
- "type": "string",
31433
- "deprecated": false,
31434
- "deprecationMessage": ""
31435
- }
31436
- ],
31437
- "returnType": "string",
31438
- "jsdoctags": [
31525
+ },
31439
31526
  {
31440
- "name": "source",
31441
- "type": "string",
31527
+ "name": "context",
31528
+ "type": "SchematicContext",
31442
31529
  "deprecated": false,
31443
31530
  "deprecationMessage": "",
31444
31531
  "tagName": {
@@ -31449,7 +31536,167 @@
31449
31536
  },
31450
31537
  {
31451
31538
  "name": "migrateInlineTemplates",
31452
- "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
31539
+ "file": "packages/core/schematics/migrate-eui-accent/index.ts",
31540
+ "ctype": "miscellaneous",
31541
+ "subtype": "function",
31542
+ "coverageIgnore": false,
31543
+ "deprecated": false,
31544
+ "deprecationMessage": "",
31545
+ "rawdescription": "",
31546
+ "description": "",
31547
+ "displayName": "migrateInlineTemplates",
31548
+ "args": [
31549
+ {
31550
+ "name": "source",
31551
+ "type": "string",
31552
+ "deprecated": false,
31553
+ "deprecationMessage": ""
31554
+ }
31555
+ ],
31556
+ "returnType": "string",
31557
+ "jsdoctags": [
31558
+ {
31559
+ "name": "source",
31560
+ "type": "string",
31561
+ "deprecated": false,
31562
+ "deprecationMessage": "",
31563
+ "tagName": {
31564
+ "text": "param"
31565
+ }
31566
+ }
31567
+ ]
31568
+ },
31569
+ {
31570
+ "name": "migrateInlineTemplates",
31571
+ "file": "packages/core/schematics/migrate-eui-alert/index.ts",
31572
+ "ctype": "miscellaneous",
31573
+ "subtype": "function",
31574
+ "coverageIgnore": false,
31575
+ "deprecated": false,
31576
+ "deprecationMessage": "",
31577
+ "rawdescription": "",
31578
+ "description": "",
31579
+ "displayName": "migrateInlineTemplates",
31580
+ "args": [
31581
+ {
31582
+ "name": "source",
31583
+ "type": "string",
31584
+ "deprecated": false,
31585
+ "deprecationMessage": ""
31586
+ }
31587
+ ],
31588
+ "returnType": "string",
31589
+ "jsdoctags": [
31590
+ {
31591
+ "name": "source",
31592
+ "type": "string",
31593
+ "deprecated": false,
31594
+ "deprecationMessage": "",
31595
+ "tagName": {
31596
+ "text": "param"
31597
+ }
31598
+ }
31599
+ ]
31600
+ },
31601
+ {
31602
+ "name": "migrateInlineTemplates",
31603
+ "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
31604
+ "ctype": "miscellaneous",
31605
+ "subtype": "function",
31606
+ "coverageIgnore": false,
31607
+ "deprecated": false,
31608
+ "deprecationMessage": "",
31609
+ "rawdescription": "",
31610
+ "description": "",
31611
+ "displayName": "migrateInlineTemplates",
31612
+ "args": [
31613
+ {
31614
+ "name": "source",
31615
+ "type": "string",
31616
+ "deprecated": false,
31617
+ "deprecationMessage": ""
31618
+ }
31619
+ ],
31620
+ "returnType": "string",
31621
+ "jsdoctags": [
31622
+ {
31623
+ "name": "source",
31624
+ "type": "string",
31625
+ "deprecated": false,
31626
+ "deprecationMessage": "",
31627
+ "tagName": {
31628
+ "text": "param"
31629
+ }
31630
+ }
31631
+ ]
31632
+ },
31633
+ {
31634
+ "name": "migrateInlineTemplates",
31635
+ "file": "packages/core/schematics/migrate-eui-button/index.ts",
31636
+ "ctype": "miscellaneous",
31637
+ "subtype": "function",
31638
+ "coverageIgnore": false,
31639
+ "deprecated": false,
31640
+ "deprecationMessage": "",
31641
+ "rawdescription": "",
31642
+ "description": "",
31643
+ "displayName": "migrateInlineTemplates",
31644
+ "args": [
31645
+ {
31646
+ "name": "source",
31647
+ "type": "string",
31648
+ "deprecated": false,
31649
+ "deprecationMessage": ""
31650
+ }
31651
+ ],
31652
+ "returnType": "string",
31653
+ "jsdoctags": [
31654
+ {
31655
+ "name": "source",
31656
+ "type": "string",
31657
+ "deprecated": false,
31658
+ "deprecationMessage": "",
31659
+ "tagName": {
31660
+ "text": "param"
31661
+ }
31662
+ }
31663
+ ]
31664
+ },
31665
+ {
31666
+ "name": "migrateInlineTemplates",
31667
+ "file": "packages/core/schematics/migrate-eui-chip/index.ts",
31668
+ "ctype": "miscellaneous",
31669
+ "subtype": "function",
31670
+ "coverageIgnore": false,
31671
+ "deprecated": false,
31672
+ "deprecationMessage": "",
31673
+ "rawdescription": "",
31674
+ "description": "",
31675
+ "displayName": "migrateInlineTemplates",
31676
+ "args": [
31677
+ {
31678
+ "name": "source",
31679
+ "type": "string",
31680
+ "deprecated": false,
31681
+ "deprecationMessage": ""
31682
+ }
31683
+ ],
31684
+ "returnType": "string",
31685
+ "jsdoctags": [
31686
+ {
31687
+ "name": "source",
31688
+ "type": "string",
31689
+ "deprecated": false,
31690
+ "deprecationMessage": "",
31691
+ "tagName": {
31692
+ "text": "param"
31693
+ }
31694
+ }
31695
+ ]
31696
+ },
31697
+ {
31698
+ "name": "migrateInlineTemplates",
31699
+ "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
31453
31700
  "ctype": "miscellaneous",
31454
31701
  "subtype": "function",
31455
31702
  "coverageIgnore": false,
@@ -31511,6 +31758,38 @@
31511
31758
  }
31512
31759
  ]
31513
31760
  },
31761
+ {
31762
+ "name": "migrateInlineTemplates",
31763
+ "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
31764
+ "ctype": "miscellaneous",
31765
+ "subtype": "function",
31766
+ "coverageIgnore": false,
31767
+ "deprecated": false,
31768
+ "deprecationMessage": "",
31769
+ "rawdescription": "",
31770
+ "description": "",
31771
+ "displayName": "migrateInlineTemplates",
31772
+ "args": [
31773
+ {
31774
+ "name": "source",
31775
+ "type": "string",
31776
+ "deprecated": false,
31777
+ "deprecationMessage": ""
31778
+ }
31779
+ ],
31780
+ "returnType": "string",
31781
+ "jsdoctags": [
31782
+ {
31783
+ "name": "source",
31784
+ "type": "string",
31785
+ "deprecated": false,
31786
+ "deprecationMessage": "",
31787
+ "tagName": {
31788
+ "text": "param"
31789
+ }
31790
+ }
31791
+ ]
31792
+ },
31514
31793
  {
31515
31794
  "name": "migrateInlineTemplates",
31516
31795
  "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
@@ -31989,7 +32268,7 @@
31989
32268
  },
31990
32269
  {
31991
32270
  "name": "migrateTemplate",
31992
- "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
32271
+ "file": "packages/core/schematics/migrate-eui-editor/index.ts",
31993
32272
  "ctype": "miscellaneous",
31994
32273
  "subtype": "function",
31995
32274
  "coverageIgnore": false,
@@ -32021,7 +32300,7 @@
32021
32300
  },
32022
32301
  {
32023
32302
  "name": "migrateTemplate",
32024
- "file": "packages/core/schematics/migrate-eui-editor/index.ts",
32303
+ "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
32025
32304
  "ctype": "miscellaneous",
32026
32305
  "subtype": "function",
32027
32306
  "coverageIgnore": false,
@@ -32555,6 +32834,68 @@
32555
32834
  }
32556
32835
  ]
32557
32836
  },
32837
+ {
32838
+ "name": "migrateTypeScript",
32839
+ "file": "packages/core/schematics/migrate-eui-tooltip/index.ts",
32840
+ "ctype": "miscellaneous",
32841
+ "subtype": "function",
32842
+ "coverageIgnore": false,
32843
+ "deprecated": false,
32844
+ "deprecationMessage": "",
32845
+ "rawdescription": "",
32846
+ "description": "",
32847
+ "displayName": "migrateTypeScript",
32848
+ "args": [
32849
+ {
32850
+ "name": "source",
32851
+ "type": "string",
32852
+ "deprecated": false,
32853
+ "deprecationMessage": ""
32854
+ },
32855
+ {
32856
+ "name": "filePath",
32857
+ "type": "string",
32858
+ "deprecated": false,
32859
+ "deprecationMessage": ""
32860
+ },
32861
+ {
32862
+ "name": "context",
32863
+ "type": "SchematicContext",
32864
+ "deprecated": false,
32865
+ "deprecationMessage": ""
32866
+ }
32867
+ ],
32868
+ "returnType": "string",
32869
+ "jsdoctags": [
32870
+ {
32871
+ "name": "source",
32872
+ "type": "string",
32873
+ "deprecated": false,
32874
+ "deprecationMessage": "",
32875
+ "tagName": {
32876
+ "text": "param"
32877
+ }
32878
+ },
32879
+ {
32880
+ "name": "filePath",
32881
+ "type": "string",
32882
+ "deprecated": false,
32883
+ "deprecationMessage": "",
32884
+ "tagName": {
32885
+ "text": "param"
32886
+ }
32887
+ },
32888
+ {
32889
+ "name": "context",
32890
+ "type": "SchematicContext",
32891
+ "deprecated": false,
32892
+ "deprecationMessage": "",
32893
+ "tagName": {
32894
+ "text": "param"
32895
+ }
32896
+ }
32897
+ ]
32898
+ },
32558
32899
  {
32559
32900
  "name": "migrateTypeScript",
32560
32901
  "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
@@ -32994,6 +33335,75 @@
32994
33335
  }
32995
33336
  ]
32996
33337
  },
33338
+ {
33339
+ "name": "removeImportSpecifier",
33340
+ "file": "packages/core/schematics/migrate-eui-tooltip/index.ts",
33341
+ "ctype": "miscellaneous",
33342
+ "subtype": "function",
33343
+ "coverageIgnore": false,
33344
+ "deprecated": false,
33345
+ "deprecationMessage": "",
33346
+ "rawdescription": "",
33347
+ "description": "",
33348
+ "displayName": "removeImportSpecifier",
33349
+ "args": [
33350
+ {
33351
+ "name": "namedImports",
33352
+ "deprecated": false,
33353
+ "deprecationMessage": ""
33354
+ },
33355
+ {
33356
+ "name": "specifier",
33357
+ "deprecated": false,
33358
+ "deprecationMessage": ""
33359
+ },
33360
+ {
33361
+ "name": "sourceFile",
33362
+ "deprecated": false,
33363
+ "deprecationMessage": ""
33364
+ },
33365
+ {
33366
+ "name": "edits",
33367
+ "deprecated": false,
33368
+ "deprecationMessage": ""
33369
+ }
33370
+ ],
33371
+ "returnType": "void",
33372
+ "jsdoctags": [
33373
+ {
33374
+ "name": "namedImports",
33375
+ "deprecated": false,
33376
+ "deprecationMessage": "",
33377
+ "tagName": {
33378
+ "text": "param"
33379
+ }
33380
+ },
33381
+ {
33382
+ "name": "specifier",
33383
+ "deprecated": false,
33384
+ "deprecationMessage": "",
33385
+ "tagName": {
33386
+ "text": "param"
33387
+ }
33388
+ },
33389
+ {
33390
+ "name": "sourceFile",
33391
+ "deprecated": false,
33392
+ "deprecationMessage": "",
33393
+ "tagName": {
33394
+ "text": "param"
33395
+ }
33396
+ },
33397
+ {
33398
+ "name": "edits",
33399
+ "deprecated": false,
33400
+ "deprecationMessage": "",
33401
+ "tagName": {
33402
+ "text": "param"
33403
+ }
33404
+ }
33405
+ ]
33406
+ },
32997
33407
  {
32998
33408
  "name": "removeImportSpecifier",
32999
33409
  "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
@@ -34779,7 +35189,7 @@
34779
35189
  },
34780
35190
  {
34781
35191
  "name": "visitDir",
34782
- "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
35192
+ "file": "packages/core/schematics/migrate-eui-editor/index.ts",
34783
35193
  "ctype": "miscellaneous",
34784
35194
  "subtype": "function",
34785
35195
  "coverageIgnore": false,
@@ -34824,7 +35234,7 @@
34824
35234
  },
34825
35235
  {
34826
35236
  "name": "visitDir",
34827
- "file": "packages/core/schematics/migrate-eui-editor/index.ts",
35237
+ "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
34828
35238
  "ctype": "miscellaneous",
34829
35239
  "subtype": "function",
34830
35240
  "coverageIgnore": false,
@@ -35184,7 +35594,7 @@
35184
35594
  },
35185
35595
  {
35186
35596
  "name": "visitDir",
35187
- "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
35597
+ "file": "packages/core/schematics/migrate-eui-tooltip/index.ts",
35188
35598
  "ctype": "miscellaneous",
35189
35599
  "subtype": "function",
35190
35600
  "coverageIgnore": false,
@@ -35273,8 +35683,8 @@
35273
35683
  ]
35274
35684
  },
35275
35685
  {
35276
- "name": "visitExpressionForPipes",
35277
- "file": "packages/core/schematics/migrate-eui-table/index.ts",
35686
+ "name": "visitDir",
35687
+ "file": "packages/core/schematics/migrate-eui-toolbar-menu/index.ts",
35278
35688
  "ctype": "miscellaneous",
35279
35689
  "subtype": "function",
35280
35690
  "coverageIgnore": false,
@@ -35282,16 +35692,16 @@
35282
35692
  "deprecationMessage": "",
35283
35693
  "rawdescription": "",
35284
35694
  "description": "",
35285
- "displayName": "visitExpressionForPipes",
35695
+ "displayName": "visitDir",
35286
35696
  "args": [
35287
35697
  {
35288
- "name": "expr",
35289
- "type": "AST",
35698
+ "name": "dir",
35699
+ "type": "DirEntry",
35290
35700
  "deprecated": false,
35291
35701
  "deprecationMessage": ""
35292
35702
  },
35293
35703
  {
35294
- "name": "edits",
35704
+ "name": "callback",
35295
35705
  "deprecated": false,
35296
35706
  "deprecationMessage": ""
35297
35707
  }
@@ -35299,8 +35709,8 @@
35299
35709
  "returnType": "void",
35300
35710
  "jsdoctags": [
35301
35711
  {
35302
- "name": "expr",
35303
- "type": "AST",
35712
+ "name": "dir",
35713
+ "type": "DirEntry",
35304
35714
  "deprecated": false,
35305
35715
  "deprecationMessage": "",
35306
35716
  "tagName": {
@@ -35308,7 +35718,7 @@
35308
35718
  }
35309
35719
  },
35310
35720
  {
35311
- "name": "edits",
35721
+ "name": "callback",
35312
35722
  "deprecated": false,
35313
35723
  "deprecationMessage": "",
35314
35724
  "tagName": {
@@ -35318,8 +35728,8 @@
35318
35728
  ]
35319
35729
  },
35320
35730
  {
35321
- "name": "visitNodes",
35322
- "file": "packages/core/schematics/migrate-eui-accent/index.ts",
35731
+ "name": "visitExpressionForPipes",
35732
+ "file": "packages/core/schematics/migrate-eui-table/index.ts",
35323
35733
  "ctype": "miscellaneous",
35324
35734
  "subtype": "function",
35325
35735
  "coverageIgnore": false,
@@ -35327,10 +35737,11 @@
35327
35737
  "deprecationMessage": "",
35328
35738
  "rawdescription": "",
35329
35739
  "description": "",
35330
- "displayName": "visitNodes",
35740
+ "displayName": "visitExpressionForPipes",
35331
35741
  "args": [
35332
35742
  {
35333
- "name": "nodes",
35743
+ "name": "expr",
35744
+ "type": "AST",
35334
35745
  "deprecated": false,
35335
35746
  "deprecationMessage": ""
35336
35747
  },
@@ -35343,7 +35754,8 @@
35343
35754
  "returnType": "void",
35344
35755
  "jsdoctags": [
35345
35756
  {
35346
- "name": "nodes",
35757
+ "name": "expr",
35758
+ "type": "AST",
35347
35759
  "deprecated": false,
35348
35760
  "deprecationMessage": "",
35349
35761
  "tagName": {
@@ -35362,93 +35774,7 @@
35362
35774
  },
35363
35775
  {
35364
35776
  "name": "visitNodes",
35365
- "file": "packages/core/schematics/migrate-eui-alert/index.ts",
35366
- "ctype": "miscellaneous",
35367
- "subtype": "function",
35368
- "coverageIgnore": false,
35369
- "deprecated": false,
35370
- "deprecationMessage": "",
35371
- "rawdescription": "",
35372
- "description": "",
35373
- "displayName": "visitNodes",
35374
- "args": [
35375
- {
35376
- "name": "nodes",
35377
- "deprecated": false,
35378
- "deprecationMessage": ""
35379
- },
35380
- {
35381
- "name": "removals",
35382
- "deprecated": false,
35383
- "deprecationMessage": ""
35384
- }
35385
- ],
35386
- "returnType": "void",
35387
- "jsdoctags": [
35388
- {
35389
- "name": "nodes",
35390
- "deprecated": false,
35391
- "deprecationMessage": "",
35392
- "tagName": {
35393
- "text": "param"
35394
- }
35395
- },
35396
- {
35397
- "name": "removals",
35398
- "deprecated": false,
35399
- "deprecationMessage": "",
35400
- "tagName": {
35401
- "text": "param"
35402
- }
35403
- }
35404
- ]
35405
- },
35406
- {
35407
- "name": "visitNodes",
35408
- "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
35409
- "ctype": "miscellaneous",
35410
- "subtype": "function",
35411
- "coverageIgnore": false,
35412
- "deprecated": false,
35413
- "deprecationMessage": "",
35414
- "rawdescription": "",
35415
- "description": "",
35416
- "displayName": "visitNodes",
35417
- "args": [
35418
- {
35419
- "name": "nodes",
35420
- "deprecated": false,
35421
- "deprecationMessage": ""
35422
- },
35423
- {
35424
- "name": "removals",
35425
- "deprecated": false,
35426
- "deprecationMessage": ""
35427
- }
35428
- ],
35429
- "returnType": "void",
35430
- "jsdoctags": [
35431
- {
35432
- "name": "nodes",
35433
- "deprecated": false,
35434
- "deprecationMessage": "",
35435
- "tagName": {
35436
- "text": "param"
35437
- }
35438
- },
35439
- {
35440
- "name": "removals",
35441
- "deprecated": false,
35442
- "deprecationMessage": "",
35443
- "tagName": {
35444
- "text": "param"
35445
- }
35446
- }
35447
- ]
35448
- },
35449
- {
35450
- "name": "visitNodes",
35451
- "file": "packages/core/schematics/migrate-eui-button/index.ts",
35777
+ "file": "packages/core/schematics/migrate-eui-accent/index.ts",
35452
35778
  "ctype": "miscellaneous",
35453
35779
  "subtype": "function",
35454
35780
  "coverageIgnore": false,
@@ -35491,7 +35817,7 @@
35491
35817
  },
35492
35818
  {
35493
35819
  "name": "visitNodes",
35494
- "file": "packages/core/schematics/migrate-eui-chip/index.ts",
35820
+ "file": "packages/core/schematics/migrate-eui-alert/index.ts",
35495
35821
  "ctype": "miscellaneous",
35496
35822
  "subtype": "function",
35497
35823
  "coverageIgnore": false,
@@ -35534,65 +35860,7 @@
35534
35860
  },
35535
35861
  {
35536
35862
  "name": "visitNodes",
35537
- "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
35538
- "ctype": "miscellaneous",
35539
- "subtype": "function",
35540
- "coverageIgnore": false,
35541
- "deprecated": false,
35542
- "deprecationMessage": "",
35543
- "rawdescription": "",
35544
- "description": "",
35545
- "displayName": "visitNodes",
35546
- "args": [
35547
- {
35548
- "name": "nodes",
35549
- "deprecated": false,
35550
- "deprecationMessage": ""
35551
- },
35552
- {
35553
- "name": "source",
35554
- "type": "string",
35555
- "deprecated": false,
35556
- "deprecationMessage": ""
35557
- },
35558
- {
35559
- "name": "edits",
35560
- "deprecated": false,
35561
- "deprecationMessage": ""
35562
- }
35563
- ],
35564
- "returnType": "void",
35565
- "jsdoctags": [
35566
- {
35567
- "name": "nodes",
35568
- "deprecated": false,
35569
- "deprecationMessage": "",
35570
- "tagName": {
35571
- "text": "param"
35572
- }
35573
- },
35574
- {
35575
- "name": "source",
35576
- "type": "string",
35577
- "deprecated": false,
35578
- "deprecationMessage": "",
35579
- "tagName": {
35580
- "text": "param"
35581
- }
35582
- },
35583
- {
35584
- "name": "edits",
35585
- "deprecated": false,
35586
- "deprecationMessage": "",
35587
- "tagName": {
35588
- "text": "param"
35589
- }
35590
- }
35591
- ]
35592
- },
35593
- {
35594
- "name": "visitNodes",
35595
- "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
35863
+ "file": "packages/core/schematics/migrate-eui-avatar/index.ts",
35596
35864
  "ctype": "miscellaneous",
35597
35865
  "subtype": "function",
35598
35866
  "coverageIgnore": false,
@@ -35607,12 +35875,6 @@
35607
35875
  "deprecated": false,
35608
35876
  "deprecationMessage": ""
35609
35877
  },
35610
- {
35611
- "name": "source",
35612
- "type": "string",
35613
- "deprecated": false,
35614
- "deprecationMessage": ""
35615
- },
35616
35878
  {
35617
35879
  "name": "removals",
35618
35880
  "deprecated": false,
@@ -35629,15 +35891,6 @@
35629
35891
  "text": "param"
35630
35892
  }
35631
35893
  },
35632
- {
35633
- "name": "source",
35634
- "type": "string",
35635
- "deprecated": false,
35636
- "deprecationMessage": "",
35637
- "tagName": {
35638
- "text": "param"
35639
- }
35640
- },
35641
35894
  {
35642
35895
  "name": "removals",
35643
35896
  "deprecated": false,
@@ -35650,7 +35903,7 @@
35650
35903
  },
35651
35904
  {
35652
35905
  "name": "visitNodes",
35653
- "file": "packages/core/schematics/migrate-eui-editor/index.ts",
35906
+ "file": "packages/core/schematics/migrate-eui-button/index.ts",
35654
35907
  "ctype": "miscellaneous",
35655
35908
  "subtype": "function",
35656
35909
  "coverageIgnore": false,
@@ -35691,6 +35944,208 @@
35691
35944
  }
35692
35945
  ]
35693
35946
  },
35947
+ {
35948
+ "name": "visitNodes",
35949
+ "file": "packages/core/schematics/migrate-eui-chip/index.ts",
35950
+ "ctype": "miscellaneous",
35951
+ "subtype": "function",
35952
+ "coverageIgnore": false,
35953
+ "deprecated": false,
35954
+ "deprecationMessage": "",
35955
+ "rawdescription": "",
35956
+ "description": "",
35957
+ "displayName": "visitNodes",
35958
+ "args": [
35959
+ {
35960
+ "name": "nodes",
35961
+ "deprecated": false,
35962
+ "deprecationMessage": ""
35963
+ },
35964
+ {
35965
+ "name": "removals",
35966
+ "deprecated": false,
35967
+ "deprecationMessage": ""
35968
+ }
35969
+ ],
35970
+ "returnType": "void",
35971
+ "jsdoctags": [
35972
+ {
35973
+ "name": "nodes",
35974
+ "deprecated": false,
35975
+ "deprecationMessage": "",
35976
+ "tagName": {
35977
+ "text": "param"
35978
+ }
35979
+ },
35980
+ {
35981
+ "name": "removals",
35982
+ "deprecated": false,
35983
+ "deprecationMessage": "",
35984
+ "tagName": {
35985
+ "text": "param"
35986
+ }
35987
+ }
35988
+ ]
35989
+ },
35990
+ {
35991
+ "name": "visitNodes",
35992
+ "file": "packages/core/schematics/migrate-eui-chip-list/index.ts",
35993
+ "ctype": "miscellaneous",
35994
+ "subtype": "function",
35995
+ "coverageIgnore": false,
35996
+ "deprecated": false,
35997
+ "deprecationMessage": "",
35998
+ "rawdescription": "",
35999
+ "description": "",
36000
+ "displayName": "visitNodes",
36001
+ "args": [
36002
+ {
36003
+ "name": "nodes",
36004
+ "deprecated": false,
36005
+ "deprecationMessage": ""
36006
+ },
36007
+ {
36008
+ "name": "source",
36009
+ "type": "string",
36010
+ "deprecated": false,
36011
+ "deprecationMessage": ""
36012
+ },
36013
+ {
36014
+ "name": "edits",
36015
+ "deprecated": false,
36016
+ "deprecationMessage": ""
36017
+ }
36018
+ ],
36019
+ "returnType": "void",
36020
+ "jsdoctags": [
36021
+ {
36022
+ "name": "nodes",
36023
+ "deprecated": false,
36024
+ "deprecationMessage": "",
36025
+ "tagName": {
36026
+ "text": "param"
36027
+ }
36028
+ },
36029
+ {
36030
+ "name": "source",
36031
+ "type": "string",
36032
+ "deprecated": false,
36033
+ "deprecationMessage": "",
36034
+ "tagName": {
36035
+ "text": "param"
36036
+ }
36037
+ },
36038
+ {
36039
+ "name": "edits",
36040
+ "deprecated": false,
36041
+ "deprecationMessage": "",
36042
+ "tagName": {
36043
+ "text": "param"
36044
+ }
36045
+ }
36046
+ ]
36047
+ },
36048
+ {
36049
+ "name": "visitNodes",
36050
+ "file": "packages/core/schematics/migrate-eui-editor/index.ts",
36051
+ "ctype": "miscellaneous",
36052
+ "subtype": "function",
36053
+ "coverageIgnore": false,
36054
+ "deprecated": false,
36055
+ "deprecationMessage": "",
36056
+ "rawdescription": "",
36057
+ "description": "",
36058
+ "displayName": "visitNodes",
36059
+ "args": [
36060
+ {
36061
+ "name": "nodes",
36062
+ "deprecated": false,
36063
+ "deprecationMessage": ""
36064
+ },
36065
+ {
36066
+ "name": "edits",
36067
+ "deprecated": false,
36068
+ "deprecationMessage": ""
36069
+ }
36070
+ ],
36071
+ "returnType": "void",
36072
+ "jsdoctags": [
36073
+ {
36074
+ "name": "nodes",
36075
+ "deprecated": false,
36076
+ "deprecationMessage": "",
36077
+ "tagName": {
36078
+ "text": "param"
36079
+ }
36080
+ },
36081
+ {
36082
+ "name": "edits",
36083
+ "deprecated": false,
36084
+ "deprecationMessage": "",
36085
+ "tagName": {
36086
+ "text": "param"
36087
+ }
36088
+ }
36089
+ ]
36090
+ },
36091
+ {
36092
+ "name": "visitNodes",
36093
+ "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
36094
+ "ctype": "miscellaneous",
36095
+ "subtype": "function",
36096
+ "coverageIgnore": false,
36097
+ "deprecated": false,
36098
+ "deprecationMessage": "",
36099
+ "rawdescription": "",
36100
+ "description": "",
36101
+ "displayName": "visitNodes",
36102
+ "args": [
36103
+ {
36104
+ "name": "nodes",
36105
+ "deprecated": false,
36106
+ "deprecationMessage": ""
36107
+ },
36108
+ {
36109
+ "name": "source",
36110
+ "type": "string",
36111
+ "deprecated": false,
36112
+ "deprecationMessage": ""
36113
+ },
36114
+ {
36115
+ "name": "removals",
36116
+ "deprecated": false,
36117
+ "deprecationMessage": ""
36118
+ }
36119
+ ],
36120
+ "returnType": "void",
36121
+ "jsdoctags": [
36122
+ {
36123
+ "name": "nodes",
36124
+ "deprecated": false,
36125
+ "deprecationMessage": "",
36126
+ "tagName": {
36127
+ "text": "param"
36128
+ }
36129
+ },
36130
+ {
36131
+ "name": "source",
36132
+ "type": "string",
36133
+ "deprecated": false,
36134
+ "deprecationMessage": "",
36135
+ "tagName": {
36136
+ "text": "param"
36137
+ }
36138
+ },
36139
+ {
36140
+ "name": "removals",
36141
+ "deprecated": false,
36142
+ "deprecationMessage": "",
36143
+ "tagName": {
36144
+ "text": "param"
36145
+ }
36146
+ }
36147
+ ]
36148
+ },
35694
36149
  {
35695
36150
  "name": "visitNodes",
35696
36151
  "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
@@ -37551,19 +38006,6 @@
37551
38006
  "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"
37552
38007
  }
37553
38008
  ],
37554
- "packages/core/schematics/migrate-eui-discussion-thread/index.ts": [
37555
- {
37556
- "name": "COMPONENT_TAG",
37557
- "ctype": "miscellaneous",
37558
- "subtype": "variable",
37559
- "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
37560
- "coverageIgnore": false,
37561
- "deprecated": false,
37562
- "deprecationMessage": "",
37563
- "type": "string",
37564
- "defaultValue": "'eui-discussion-thread'"
37565
- }
37566
- ],
37567
38009
  "packages/core/schematics/migrate-eui-editor/index.ts": [
37568
38010
  {
37569
38011
  "name": "COMPONENT_TAG",
@@ -37599,6 +38041,19 @@
37599
38041
  "defaultValue": "'onEditorChanged'"
37600
38042
  }
37601
38043
  ],
38044
+ "packages/core/schematics/migrate-eui-discussion-thread/index.ts": [
38045
+ {
38046
+ "name": "COMPONENT_TAG",
38047
+ "ctype": "miscellaneous",
38048
+ "subtype": "variable",
38049
+ "file": "packages/core/schematics/migrate-eui-discussion-thread/index.ts",
38050
+ "coverageIgnore": false,
38051
+ "deprecated": false,
38052
+ "deprecationMessage": "",
38053
+ "type": "string",
38054
+ "defaultValue": "'eui-discussion-thread'"
38055
+ }
38056
+ ],
37602
38057
  "packages/core/schematics/migrate-eui-fieldset/index.ts": [
37603
38058
  {
37604
38059
  "name": "COMPONENT_TAG",
@@ -38183,7 +38638,7 @@
38183
38638
  "deprecated": false,
38184
38639
  "deprecationMessage": "",
38185
38640
  "type": "UIState",
38186
- "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}"
38641
+ "defaultValue": "{\n appName: '',\n appShortName: '',\n appSubTitle: '',\n appBaseFontSize: '',\n\n isSidebarOpen: true,\n isSidebarActive: false,\n hasFixedPosition: true,\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}"
38187
38642
  }
38188
38643
  ],
38189
38644
  "packages/core/src/lib/services/eui-theme.service.ts": [
@@ -38557,6 +39012,30 @@
38557
39012
  "defaultValue": "'menuItemClick'"
38558
39013
  }
38559
39014
  ],
39015
+ "packages/core/schematics/migrate-eui-tooltip/index.ts": [
39016
+ {
39017
+ "name": "NEW_INTERFACE",
39018
+ "ctype": "miscellaneous",
39019
+ "subtype": "variable",
39020
+ "file": "packages/core/schematics/migrate-eui-tooltip/index.ts",
39021
+ "coverageIgnore": false,
39022
+ "deprecated": false,
39023
+ "deprecationMessage": "",
39024
+ "type": "string",
39025
+ "defaultValue": "'EuiTooltipInterface'"
39026
+ },
39027
+ {
39028
+ "name": "OLD_CLASS",
39029
+ "ctype": "miscellaneous",
39030
+ "subtype": "variable",
39031
+ "file": "packages/core/schematics/migrate-eui-tooltip/index.ts",
39032
+ "coverageIgnore": false,
39033
+ "deprecated": false,
39034
+ "deprecationMessage": "",
39035
+ "type": "string",
39036
+ "defaultValue": "'EuiTooltipConfig'"
39037
+ }
39038
+ ],
38560
39039
  "packages/core/schematics/migrate-eui-button/index.ts": [
38561
39040
  {
38562
39041
  "name": "NEW_NAME",
@@ -43677,41 +44156,409 @@
43677
44156
  }
43678
44157
  ]
43679
44158
  },
43680
- {
43681
- "name": "hasEuiButtonAttribute",
43682
- "file": "packages/core/schematics/migrate-eui-button/index.ts",
43683
- "ctype": "miscellaneous",
43684
- "subtype": "function",
43685
- "coverageIgnore": false,
43686
- "deprecated": false,
43687
- "deprecationMessage": "",
43688
- "rawdescription": "",
43689
- "description": "",
43690
- "displayName": "hasEuiButtonAttribute",
43691
- "args": [
43692
- {
43693
- "name": "element",
43694
- "type": "TmplAstElement",
43695
- "deprecated": false,
43696
- "deprecationMessage": ""
43697
- }
43698
- ],
43699
- "returnType": "boolean",
43700
- "jsdoctags": [
43701
- {
43702
- "name": "element",
43703
- "type": "TmplAstElement",
43704
- "deprecated": false,
43705
- "deprecationMessage": "",
43706
- "tagName": {
43707
- "text": "param"
43708
- }
43709
- }
43710
- ]
43711
- },
44159
+ {
44160
+ "name": "hasEuiButtonAttribute",
44161
+ "file": "packages/core/schematics/migrate-eui-button/index.ts",
44162
+ "ctype": "miscellaneous",
44163
+ "subtype": "function",
44164
+ "coverageIgnore": false,
44165
+ "deprecated": false,
44166
+ "deprecationMessage": "",
44167
+ "rawdescription": "",
44168
+ "description": "",
44169
+ "displayName": "hasEuiButtonAttribute",
44170
+ "args": [
44171
+ {
44172
+ "name": "element",
44173
+ "type": "TmplAstElement",
44174
+ "deprecated": false,
44175
+ "deprecationMessage": ""
44176
+ }
44177
+ ],
44178
+ "returnType": "boolean",
44179
+ "jsdoctags": [
44180
+ {
44181
+ "name": "element",
44182
+ "type": "TmplAstElement",
44183
+ "deprecated": false,
44184
+ "deprecationMessage": "",
44185
+ "tagName": {
44186
+ "text": "param"
44187
+ }
44188
+ }
44189
+ ]
44190
+ },
44191
+ {
44192
+ "name": "isComponentMetadataProperty",
44193
+ "file": "packages/core/schematics/migrate-eui-button/index.ts",
44194
+ "ctype": "miscellaneous",
44195
+ "subtype": "function",
44196
+ "coverageIgnore": false,
44197
+ "deprecated": false,
44198
+ "deprecationMessage": "",
44199
+ "rawdescription": "",
44200
+ "description": "",
44201
+ "displayName": "isComponentMetadataProperty",
44202
+ "args": [
44203
+ {
44204
+ "name": "node",
44205
+ "deprecated": false,
44206
+ "deprecationMessage": ""
44207
+ }
44208
+ ],
44209
+ "returnType": "boolean",
44210
+ "jsdoctags": [
44211
+ {
44212
+ "name": "node",
44213
+ "deprecated": false,
44214
+ "deprecationMessage": "",
44215
+ "tagName": {
44216
+ "text": "param"
44217
+ }
44218
+ }
44219
+ ]
44220
+ },
44221
+ {
44222
+ "name": "isTemplateProperty",
44223
+ "file": "packages/core/schematics/migrate-eui-button/index.ts",
44224
+ "ctype": "miscellaneous",
44225
+ "subtype": "function",
44226
+ "coverageIgnore": false,
44227
+ "deprecated": false,
44228
+ "deprecationMessage": "",
44229
+ "rawdescription": "",
44230
+ "description": "",
44231
+ "displayName": "isTemplateProperty",
44232
+ "args": [
44233
+ {
44234
+ "name": "node",
44235
+ "deprecated": false,
44236
+ "deprecationMessage": ""
44237
+ }
44238
+ ],
44239
+ "returnType": "boolean",
44240
+ "jsdoctags": [
44241
+ {
44242
+ "name": "node",
44243
+ "deprecated": false,
44244
+ "deprecationMessage": "",
44245
+ "tagName": {
44246
+ "text": "param"
44247
+ }
44248
+ }
44249
+ ]
44250
+ },
44251
+ {
44252
+ "name": "migrateEuiButton",
44253
+ "file": "packages/core/schematics/migrate-eui-button/index.ts",
44254
+ "ctype": "miscellaneous",
44255
+ "subtype": "function",
44256
+ "coverageIgnore": false,
44257
+ "deprecated": false,
44258
+ "deprecationMessage": "",
44259
+ "rawdescription": "",
44260
+ "description": "",
44261
+ "displayName": "migrateEuiButton",
44262
+ "args": [
44263
+ {
44264
+ "name": "options",
44265
+ "type": "Schema",
44266
+ "deprecated": false,
44267
+ "deprecationMessage": "",
44268
+ "defaultValue": "{}"
44269
+ }
44270
+ ],
44271
+ "returnType": "Rule",
44272
+ "jsdoctags": [
44273
+ {
44274
+ "name": "options",
44275
+ "type": "Schema",
44276
+ "deprecated": false,
44277
+ "deprecationMessage": "",
44278
+ "defaultValue": "{}",
44279
+ "tagName": {
44280
+ "text": "param"
44281
+ }
44282
+ }
44283
+ ]
44284
+ },
44285
+ {
44286
+ "name": "migrateInlineTemplates",
44287
+ "file": "packages/core/schematics/migrate-eui-button/index.ts",
44288
+ "ctype": "miscellaneous",
44289
+ "subtype": "function",
44290
+ "coverageIgnore": false,
44291
+ "deprecated": false,
44292
+ "deprecationMessage": "",
44293
+ "rawdescription": "",
44294
+ "description": "",
44295
+ "displayName": "migrateInlineTemplates",
44296
+ "args": [
44297
+ {
44298
+ "name": "source",
44299
+ "type": "string",
44300
+ "deprecated": false,
44301
+ "deprecationMessage": ""
44302
+ }
44303
+ ],
44304
+ "returnType": "string",
44305
+ "jsdoctags": [
44306
+ {
44307
+ "name": "source",
44308
+ "type": "string",
44309
+ "deprecated": false,
44310
+ "deprecationMessage": "",
44311
+ "tagName": {
44312
+ "text": "param"
44313
+ }
44314
+ }
44315
+ ]
44316
+ },
44317
+ {
44318
+ "name": "migrateTemplate",
44319
+ "file": "packages/core/schematics/migrate-eui-button/index.ts",
44320
+ "ctype": "miscellaneous",
44321
+ "subtype": "function",
44322
+ "coverageIgnore": false,
44323
+ "deprecated": false,
44324
+ "deprecationMessage": "",
44325
+ "rawdescription": "",
44326
+ "description": "",
44327
+ "displayName": "migrateTemplate",
44328
+ "args": [
44329
+ {
44330
+ "name": "source",
44331
+ "type": "string",
44332
+ "deprecated": false,
44333
+ "deprecationMessage": ""
44334
+ }
44335
+ ],
44336
+ "returnType": "string",
44337
+ "jsdoctags": [
44338
+ {
44339
+ "name": "source",
44340
+ "type": "string",
44341
+ "deprecated": false,
44342
+ "deprecationMessage": "",
44343
+ "tagName": {
44344
+ "text": "param"
44345
+ }
44346
+ }
44347
+ ]
44348
+ },
44349
+ {
44350
+ "name": "unwrapExpression",
44351
+ "file": "packages/core/schematics/migrate-eui-button/index.ts",
44352
+ "ctype": "miscellaneous",
44353
+ "subtype": "function",
44354
+ "coverageIgnore": false,
44355
+ "deprecated": false,
44356
+ "deprecationMessage": "",
44357
+ "rawdescription": "",
44358
+ "description": "",
44359
+ "displayName": "unwrapExpression",
44360
+ "args": [
44361
+ {
44362
+ "name": "expression",
44363
+ "deprecated": false,
44364
+ "deprecationMessage": ""
44365
+ }
44366
+ ],
44367
+ "returnType": "ts.Expression",
44368
+ "jsdoctags": [
44369
+ {
44370
+ "name": "expression",
44371
+ "deprecated": false,
44372
+ "deprecationMessage": "",
44373
+ "tagName": {
44374
+ "text": "param"
44375
+ }
44376
+ }
44377
+ ]
44378
+ },
44379
+ {
44380
+ "name": "visitDir",
44381
+ "file": "packages/core/schematics/migrate-eui-button/index.ts",
44382
+ "ctype": "miscellaneous",
44383
+ "subtype": "function",
44384
+ "coverageIgnore": false,
44385
+ "deprecated": false,
44386
+ "deprecationMessage": "",
44387
+ "rawdescription": "",
44388
+ "description": "",
44389
+ "displayName": "visitDir",
44390
+ "args": [
44391
+ {
44392
+ "name": "dir",
44393
+ "type": "DirEntry",
44394
+ "deprecated": false,
44395
+ "deprecationMessage": ""
44396
+ },
44397
+ {
44398
+ "name": "callback",
44399
+ "deprecated": false,
44400
+ "deprecationMessage": ""
44401
+ }
44402
+ ],
44403
+ "returnType": "void",
44404
+ "jsdoctags": [
44405
+ {
44406
+ "name": "dir",
44407
+ "type": "DirEntry",
44408
+ "deprecated": false,
44409
+ "deprecationMessage": "",
44410
+ "tagName": {
44411
+ "text": "param"
44412
+ }
44413
+ },
44414
+ {
44415
+ "name": "callback",
44416
+ "deprecated": false,
44417
+ "deprecationMessage": "",
44418
+ "tagName": {
44419
+ "text": "param"
44420
+ }
44421
+ }
44422
+ ]
44423
+ },
44424
+ {
44425
+ "name": "visitNodes",
44426
+ "file": "packages/core/schematics/migrate-eui-button/index.ts",
44427
+ "ctype": "miscellaneous",
44428
+ "subtype": "function",
44429
+ "coverageIgnore": false,
44430
+ "deprecated": false,
44431
+ "deprecationMessage": "",
44432
+ "rawdescription": "",
44433
+ "description": "",
44434
+ "displayName": "visitNodes",
44435
+ "args": [
44436
+ {
44437
+ "name": "nodes",
44438
+ "deprecated": false,
44439
+ "deprecationMessage": ""
44440
+ },
44441
+ {
44442
+ "name": "edits",
44443
+ "deprecated": false,
44444
+ "deprecationMessage": ""
44445
+ }
44446
+ ],
44447
+ "returnType": "void",
44448
+ "jsdoctags": [
44449
+ {
44450
+ "name": "nodes",
44451
+ "deprecated": false,
44452
+ "deprecationMessage": "",
44453
+ "tagName": {
44454
+ "text": "param"
44455
+ }
44456
+ },
44457
+ {
44458
+ "name": "edits",
44459
+ "deprecated": false,
44460
+ "deprecationMessage": "",
44461
+ "tagName": {
44462
+ "text": "param"
44463
+ }
44464
+ }
44465
+ ]
44466
+ }
44467
+ ],
44468
+ "packages/core/schematics/migrate-eui-editor/index.ts": [
44469
+ {
44470
+ "name": "applyEdits",
44471
+ "file": "packages/core/schematics/migrate-eui-editor/index.ts",
44472
+ "ctype": "miscellaneous",
44473
+ "subtype": "function",
44474
+ "coverageIgnore": false,
44475
+ "deprecated": false,
44476
+ "deprecationMessage": "",
44477
+ "rawdescription": "",
44478
+ "description": "",
44479
+ "displayName": "applyEdits",
44480
+ "args": [
44481
+ {
44482
+ "name": "source",
44483
+ "type": "string",
44484
+ "deprecated": false,
44485
+ "deprecationMessage": ""
44486
+ },
44487
+ {
44488
+ "name": "edits",
44489
+ "deprecated": false,
44490
+ "deprecationMessage": ""
44491
+ }
44492
+ ],
44493
+ "returnType": "string",
44494
+ "jsdoctags": [
44495
+ {
44496
+ "name": "source",
44497
+ "type": "string",
44498
+ "deprecated": false,
44499
+ "deprecationMessage": "",
44500
+ "tagName": {
44501
+ "text": "param"
44502
+ }
44503
+ },
44504
+ {
44505
+ "name": "edits",
44506
+ "deprecated": false,
44507
+ "deprecationMessage": "",
44508
+ "tagName": {
44509
+ "text": "param"
44510
+ }
44511
+ }
44512
+ ]
44513
+ },
44514
+ {
44515
+ "name": "collectRenames",
44516
+ "file": "packages/core/schematics/migrate-eui-editor/index.ts",
44517
+ "ctype": "miscellaneous",
44518
+ "subtype": "function",
44519
+ "coverageIgnore": false,
44520
+ "deprecated": false,
44521
+ "deprecationMessage": "",
44522
+ "rawdescription": "",
44523
+ "description": "",
44524
+ "displayName": "collectRenames",
44525
+ "args": [
44526
+ {
44527
+ "name": "element",
44528
+ "type": "TmplAstElement",
44529
+ "deprecated": false,
44530
+ "deprecationMessage": ""
44531
+ },
44532
+ {
44533
+ "name": "edits",
44534
+ "deprecated": false,
44535
+ "deprecationMessage": ""
44536
+ }
44537
+ ],
44538
+ "returnType": "void",
44539
+ "jsdoctags": [
44540
+ {
44541
+ "name": "element",
44542
+ "type": "TmplAstElement",
44543
+ "deprecated": false,
44544
+ "deprecationMessage": "",
44545
+ "tagName": {
44546
+ "text": "param"
44547
+ }
44548
+ },
44549
+ {
44550
+ "name": "edits",
44551
+ "deprecated": false,
44552
+ "deprecationMessage": "",
44553
+ "tagName": {
44554
+ "text": "param"
44555
+ }
44556
+ }
44557
+ ]
44558
+ },
43712
44559
  {
43713
44560
  "name": "isComponentMetadataProperty",
43714
- "file": "packages/core/schematics/migrate-eui-button/index.ts",
44561
+ "file": "packages/core/schematics/migrate-eui-editor/index.ts",
43715
44562
  "ctype": "miscellaneous",
43716
44563
  "subtype": "function",
43717
44564
  "coverageIgnore": false,
@@ -43741,7 +44588,7 @@
43741
44588
  },
43742
44589
  {
43743
44590
  "name": "isTemplateProperty",
43744
- "file": "packages/core/schematics/migrate-eui-button/index.ts",
44591
+ "file": "packages/core/schematics/migrate-eui-editor/index.ts",
43745
44592
  "ctype": "miscellaneous",
43746
44593
  "subtype": "function",
43747
44594
  "coverageIgnore": false,
@@ -43770,8 +44617,8 @@
43770
44617
  ]
43771
44618
  },
43772
44619
  {
43773
- "name": "migrateEuiButton",
43774
- "file": "packages/core/schematics/migrate-eui-button/index.ts",
44620
+ "name": "migrateEuiEditor",
44621
+ "file": "packages/core/schematics/migrate-eui-editor/index.ts",
43775
44622
  "ctype": "miscellaneous",
43776
44623
  "subtype": "function",
43777
44624
  "coverageIgnore": false,
@@ -43779,7 +44626,7 @@
43779
44626
  "deprecationMessage": "",
43780
44627
  "rawdescription": "",
43781
44628
  "description": "",
43782
- "displayName": "migrateEuiButton",
44629
+ "displayName": "migrateEuiEditor",
43783
44630
  "args": [
43784
44631
  {
43785
44632
  "name": "options",
@@ -43805,7 +44652,7 @@
43805
44652
  },
43806
44653
  {
43807
44654
  "name": "migrateInlineTemplates",
43808
- "file": "packages/core/schematics/migrate-eui-button/index.ts",
44655
+ "file": "packages/core/schematics/migrate-eui-editor/index.ts",
43809
44656
  "ctype": "miscellaneous",
43810
44657
  "subtype": "function",
43811
44658
  "coverageIgnore": false,
@@ -43837,7 +44684,7 @@
43837
44684
  },
43838
44685
  {
43839
44686
  "name": "migrateTemplate",
43840
- "file": "packages/core/schematics/migrate-eui-button/index.ts",
44687
+ "file": "packages/core/schematics/migrate-eui-editor/index.ts",
43841
44688
  "ctype": "miscellaneous",
43842
44689
  "subtype": "function",
43843
44690
  "coverageIgnore": false,
@@ -43869,7 +44716,7 @@
43869
44716
  },
43870
44717
  {
43871
44718
  "name": "unwrapExpression",
43872
- "file": "packages/core/schematics/migrate-eui-button/index.ts",
44719
+ "file": "packages/core/schematics/migrate-eui-editor/index.ts",
43873
44720
  "ctype": "miscellaneous",
43874
44721
  "subtype": "function",
43875
44722
  "coverageIgnore": false,
@@ -43899,7 +44746,7 @@
43899
44746
  },
43900
44747
  {
43901
44748
  "name": "visitDir",
43902
- "file": "packages/core/schematics/migrate-eui-button/index.ts",
44749
+ "file": "packages/core/schematics/migrate-eui-editor/index.ts",
43903
44750
  "ctype": "miscellaneous",
43904
44751
  "subtype": "function",
43905
44752
  "coverageIgnore": false,
@@ -43944,7 +44791,7 @@
43944
44791
  },
43945
44792
  {
43946
44793
  "name": "visitNodes",
43947
- "file": "packages/core/schematics/migrate-eui-button/index.ts",
44794
+ "file": "packages/core/schematics/migrate-eui-editor/index.ts",
43948
44795
  "ctype": "miscellaneous",
43949
44796
  "subtype": "function",
43950
44797
  "coverageIgnore": false,
@@ -43984,12 +44831,74 @@
43984
44831
  }
43985
44832
  }
43986
44833
  ]
44834
+ },
44835
+ {
44836
+ "name": "warnPropertyAccesses",
44837
+ "file": "packages/core/schematics/migrate-eui-editor/index.ts",
44838
+ "ctype": "miscellaneous",
44839
+ "subtype": "function",
44840
+ "coverageIgnore": false,
44841
+ "deprecated": false,
44842
+ "deprecationMessage": "",
44843
+ "rawdescription": "",
44844
+ "description": "",
44845
+ "displayName": "warnPropertyAccesses",
44846
+ "args": [
44847
+ {
44848
+ "name": "path",
44849
+ "type": "string",
44850
+ "deprecated": false,
44851
+ "deprecationMessage": ""
44852
+ },
44853
+ {
44854
+ "name": "source",
44855
+ "type": "string",
44856
+ "deprecated": false,
44857
+ "deprecationMessage": ""
44858
+ },
44859
+ {
44860
+ "name": "context",
44861
+ "type": "SchematicContext",
44862
+ "deprecated": false,
44863
+ "deprecationMessage": ""
44864
+ }
44865
+ ],
44866
+ "returnType": "void",
44867
+ "jsdoctags": [
44868
+ {
44869
+ "name": "path",
44870
+ "type": "string",
44871
+ "deprecated": false,
44872
+ "deprecationMessage": "",
44873
+ "tagName": {
44874
+ "text": "param"
44875
+ }
44876
+ },
44877
+ {
44878
+ "name": "source",
44879
+ "type": "string",
44880
+ "deprecated": false,
44881
+ "deprecationMessage": "",
44882
+ "tagName": {
44883
+ "text": "param"
44884
+ }
44885
+ },
44886
+ {
44887
+ "name": "context",
44888
+ "type": "SchematicContext",
44889
+ "deprecated": false,
44890
+ "deprecationMessage": "",
44891
+ "tagName": {
44892
+ "text": "param"
44893
+ }
44894
+ }
44895
+ ]
43987
44896
  }
43988
44897
  ],
43989
- "packages/core/schematics/migrate-eui-editor/index.ts": [
44898
+ "packages/core/schematics/migrate-eui-fieldset/index.ts": [
43990
44899
  {
43991
44900
  "name": "applyEdits",
43992
- "file": "packages/core/schematics/migrate-eui-editor/index.ts",
44901
+ "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
43993
44902
  "ctype": "miscellaneous",
43994
44903
  "subtype": "function",
43995
44904
  "coverageIgnore": false,
@@ -44034,7 +44943,7 @@
44034
44943
  },
44035
44944
  {
44036
44945
  "name": "collectRenames",
44037
- "file": "packages/core/schematics/migrate-eui-editor/index.ts",
44946
+ "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
44038
44947
  "ctype": "miscellaneous",
44039
44948
  "subtype": "function",
44040
44949
  "coverageIgnore": false,
@@ -44079,7 +44988,7 @@
44079
44988
  },
44080
44989
  {
44081
44990
  "name": "isComponentMetadataProperty",
44082
- "file": "packages/core/schematics/migrate-eui-editor/index.ts",
44991
+ "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
44083
44992
  "ctype": "miscellaneous",
44084
44993
  "subtype": "function",
44085
44994
  "coverageIgnore": false,
@@ -44109,7 +45018,7 @@
44109
45018
  },
44110
45019
  {
44111
45020
  "name": "isTemplateProperty",
44112
- "file": "packages/core/schematics/migrate-eui-editor/index.ts",
45021
+ "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
44113
45022
  "ctype": "miscellaneous",
44114
45023
  "subtype": "function",
44115
45024
  "coverageIgnore": false,
@@ -44138,8 +45047,8 @@
44138
45047
  ]
44139
45048
  },
44140
45049
  {
44141
- "name": "migrateEuiEditor",
44142
- "file": "packages/core/schematics/migrate-eui-editor/index.ts",
45050
+ "name": "migrateEuiFieldset",
45051
+ "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
44143
45052
  "ctype": "miscellaneous",
44144
45053
  "subtype": "function",
44145
45054
  "coverageIgnore": false,
@@ -44147,7 +45056,7 @@
44147
45056
  "deprecationMessage": "",
44148
45057
  "rawdescription": "",
44149
45058
  "description": "",
44150
- "displayName": "migrateEuiEditor",
45059
+ "displayName": "migrateEuiFieldset",
44151
45060
  "args": [
44152
45061
  {
44153
45062
  "name": "options",
@@ -44173,7 +45082,7 @@
44173
45082
  },
44174
45083
  {
44175
45084
  "name": "migrateInlineTemplates",
44176
- "file": "packages/core/schematics/migrate-eui-editor/index.ts",
45085
+ "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
44177
45086
  "ctype": "miscellaneous",
44178
45087
  "subtype": "function",
44179
45088
  "coverageIgnore": false,
@@ -44205,7 +45114,7 @@
44205
45114
  },
44206
45115
  {
44207
45116
  "name": "migrateTemplate",
44208
- "file": "packages/core/schematics/migrate-eui-editor/index.ts",
45117
+ "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
44209
45118
  "ctype": "miscellaneous",
44210
45119
  "subtype": "function",
44211
45120
  "coverageIgnore": false,
@@ -44237,7 +45146,7 @@
44237
45146
  },
44238
45147
  {
44239
45148
  "name": "unwrapExpression",
44240
- "file": "packages/core/schematics/migrate-eui-editor/index.ts",
45149
+ "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
44241
45150
  "ctype": "miscellaneous",
44242
45151
  "subtype": "function",
44243
45152
  "coverageIgnore": false,
@@ -44267,7 +45176,7 @@
44267
45176
  },
44268
45177
  {
44269
45178
  "name": "visitDir",
44270
- "file": "packages/core/schematics/migrate-eui-editor/index.ts",
45179
+ "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
44271
45180
  "ctype": "miscellaneous",
44272
45181
  "subtype": "function",
44273
45182
  "coverageIgnore": false,
@@ -44312,7 +45221,7 @@
44312
45221
  },
44313
45222
  {
44314
45223
  "name": "visitNodes",
44315
- "file": "packages/core/schematics/migrate-eui-editor/index.ts",
45224
+ "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
44316
45225
  "ctype": "miscellaneous",
44317
45226
  "subtype": "function",
44318
45227
  "coverageIgnore": false,
@@ -44352,74 +45261,12 @@
44352
45261
  }
44353
45262
  }
44354
45263
  ]
44355
- },
44356
- {
44357
- "name": "warnPropertyAccesses",
44358
- "file": "packages/core/schematics/migrate-eui-editor/index.ts",
44359
- "ctype": "miscellaneous",
44360
- "subtype": "function",
44361
- "coverageIgnore": false,
44362
- "deprecated": false,
44363
- "deprecationMessage": "",
44364
- "rawdescription": "",
44365
- "description": "",
44366
- "displayName": "warnPropertyAccesses",
44367
- "args": [
44368
- {
44369
- "name": "path",
44370
- "type": "string",
44371
- "deprecated": false,
44372
- "deprecationMessage": ""
44373
- },
44374
- {
44375
- "name": "source",
44376
- "type": "string",
44377
- "deprecated": false,
44378
- "deprecationMessage": ""
44379
- },
44380
- {
44381
- "name": "context",
44382
- "type": "SchematicContext",
44383
- "deprecated": false,
44384
- "deprecationMessage": ""
44385
- }
44386
- ],
44387
- "returnType": "void",
44388
- "jsdoctags": [
44389
- {
44390
- "name": "path",
44391
- "type": "string",
44392
- "deprecated": false,
44393
- "deprecationMessage": "",
44394
- "tagName": {
44395
- "text": "param"
44396
- }
44397
- },
44398
- {
44399
- "name": "source",
44400
- "type": "string",
44401
- "deprecated": false,
44402
- "deprecationMessage": "",
44403
- "tagName": {
44404
- "text": "param"
44405
- }
44406
- },
44407
- {
44408
- "name": "context",
44409
- "type": "SchematicContext",
44410
- "deprecated": false,
44411
- "deprecationMessage": "",
44412
- "tagName": {
44413
- "text": "param"
44414
- }
44415
- }
44416
- ]
44417
45264
  }
44418
45265
  ],
44419
- "packages/core/schematics/migrate-eui-fieldset/index.ts": [
45266
+ "packages/core/schematics/migrate-eui-icon-svg/index.ts": [
44420
45267
  {
44421
45268
  "name": "applyEdits",
44422
- "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
45269
+ "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
44423
45270
  "ctype": "miscellaneous",
44424
45271
  "subtype": "function",
44425
45272
  "coverageIgnore": false,
@@ -44464,7 +45311,7 @@
44464
45311
  },
44465
45312
  {
44466
45313
  "name": "collectRenames",
44467
- "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
45314
+ "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
44468
45315
  "ctype": "miscellaneous",
44469
45316
  "subtype": "function",
44470
45317
  "coverageIgnore": false,
@@ -44509,7 +45356,7 @@
44509
45356
  },
44510
45357
  {
44511
45358
  "name": "isComponentMetadataProperty",
44512
- "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
45359
+ "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
44513
45360
  "ctype": "miscellaneous",
44514
45361
  "subtype": "function",
44515
45362
  "coverageIgnore": false,
@@ -44539,7 +45386,7 @@
44539
45386
  },
44540
45387
  {
44541
45388
  "name": "isTemplateProperty",
44542
- "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
45389
+ "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
44543
45390
  "ctype": "miscellaneous",
44544
45391
  "subtype": "function",
44545
45392
  "coverageIgnore": false,
@@ -44568,8 +45415,8 @@
44568
45415
  ]
44569
45416
  },
44570
45417
  {
44571
- "name": "migrateEuiFieldset",
44572
- "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
45418
+ "name": "migrateEuiIconSvg",
45419
+ "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
44573
45420
  "ctype": "miscellaneous",
44574
45421
  "subtype": "function",
44575
45422
  "coverageIgnore": false,
@@ -44577,7 +45424,7 @@
44577
45424
  "deprecationMessage": "",
44578
45425
  "rawdescription": "",
44579
45426
  "description": "",
44580
- "displayName": "migrateEuiFieldset",
45427
+ "displayName": "migrateEuiIconSvg",
44581
45428
  "args": [
44582
45429
  {
44583
45430
  "name": "options",
@@ -44603,7 +45450,7 @@
44603
45450
  },
44604
45451
  {
44605
45452
  "name": "migrateInlineTemplates",
44606
- "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
45453
+ "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
44607
45454
  "ctype": "miscellaneous",
44608
45455
  "subtype": "function",
44609
45456
  "coverageIgnore": false,
@@ -44635,7 +45482,7 @@
44635
45482
  },
44636
45483
  {
44637
45484
  "name": "migrateTemplate",
44638
- "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
45485
+ "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
44639
45486
  "ctype": "miscellaneous",
44640
45487
  "subtype": "function",
44641
45488
  "coverageIgnore": false,
@@ -44665,9 +45512,41 @@
44665
45512
  }
44666
45513
  ]
44667
45514
  },
45515
+ {
45516
+ "name": "renameTsPropertyAccesses",
45517
+ "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
45518
+ "ctype": "miscellaneous",
45519
+ "subtype": "function",
45520
+ "coverageIgnore": false,
45521
+ "deprecated": false,
45522
+ "deprecationMessage": "",
45523
+ "rawdescription": "",
45524
+ "description": "",
45525
+ "displayName": "renameTsPropertyAccesses",
45526
+ "args": [
45527
+ {
45528
+ "name": "source",
45529
+ "type": "string",
45530
+ "deprecated": false,
45531
+ "deprecationMessage": ""
45532
+ }
45533
+ ],
45534
+ "returnType": "string",
45535
+ "jsdoctags": [
45536
+ {
45537
+ "name": "source",
45538
+ "type": "string",
45539
+ "deprecated": false,
45540
+ "deprecationMessage": "",
45541
+ "tagName": {
45542
+ "text": "param"
45543
+ }
45544
+ }
45545
+ ]
45546
+ },
44668
45547
  {
44669
45548
  "name": "unwrapExpression",
44670
- "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
45549
+ "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
44671
45550
  "ctype": "miscellaneous",
44672
45551
  "subtype": "function",
44673
45552
  "coverageIgnore": false,
@@ -44697,7 +45576,7 @@
44697
45576
  },
44698
45577
  {
44699
45578
  "name": "visitDir",
44700
- "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
45579
+ "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
44701
45580
  "ctype": "miscellaneous",
44702
45581
  "subtype": "function",
44703
45582
  "coverageIgnore": false,
@@ -44742,7 +45621,7 @@
44742
45621
  },
44743
45622
  {
44744
45623
  "name": "visitNodes",
44745
- "file": "packages/core/schematics/migrate-eui-fieldset/index.ts",
45624
+ "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
44746
45625
  "ctype": "miscellaneous",
44747
45626
  "subtype": "function",
44748
45627
  "coverageIgnore": false,
@@ -44784,10 +45663,10 @@
44784
45663
  ]
44785
45664
  }
44786
45665
  ],
44787
- "packages/core/schematics/migrate-eui-icon-svg/index.ts": [
45666
+ "packages/core/schematics/migrate-eui-icon-toggle/index.ts": [
44788
45667
  {
44789
45668
  "name": "applyEdits",
44790
- "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
45669
+ "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
44791
45670
  "ctype": "miscellaneous",
44792
45671
  "subtype": "function",
44793
45672
  "coverageIgnore": false,
@@ -44832,7 +45711,7 @@
44832
45711
  },
44833
45712
  {
44834
45713
  "name": "collectRenames",
44835
- "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
45714
+ "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
44836
45715
  "ctype": "miscellaneous",
44837
45716
  "subtype": "function",
44838
45717
  "coverageIgnore": false,
@@ -44877,7 +45756,7 @@
44877
45756
  },
44878
45757
  {
44879
45758
  "name": "isComponentMetadataProperty",
44880
- "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
45759
+ "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
44881
45760
  "ctype": "miscellaneous",
44882
45761
  "subtype": "function",
44883
45762
  "coverageIgnore": false,
@@ -44907,7 +45786,7 @@
44907
45786
  },
44908
45787
  {
44909
45788
  "name": "isTemplateProperty",
44910
- "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
45789
+ "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
44911
45790
  "ctype": "miscellaneous",
44912
45791
  "subtype": "function",
44913
45792
  "coverageIgnore": false,
@@ -44936,8 +45815,8 @@
44936
45815
  ]
44937
45816
  },
44938
45817
  {
44939
- "name": "migrateEuiIconSvg",
44940
- "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
45818
+ "name": "migrateEuiIconToggle",
45819
+ "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
44941
45820
  "ctype": "miscellaneous",
44942
45821
  "subtype": "function",
44943
45822
  "coverageIgnore": false,
@@ -44945,7 +45824,7 @@
44945
45824
  "deprecationMessage": "",
44946
45825
  "rawdescription": "",
44947
45826
  "description": "",
44948
- "displayName": "migrateEuiIconSvg",
45827
+ "displayName": "migrateEuiIconToggle",
44949
45828
  "args": [
44950
45829
  {
44951
45830
  "name": "options",
@@ -44971,7 +45850,7 @@
44971
45850
  },
44972
45851
  {
44973
45852
  "name": "migrateInlineTemplates",
44974
- "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
45853
+ "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
44975
45854
  "ctype": "miscellaneous",
44976
45855
  "subtype": "function",
44977
45856
  "coverageIgnore": false,
@@ -45003,7 +45882,7 @@
45003
45882
  },
45004
45883
  {
45005
45884
  "name": "migrateTemplate",
45006
- "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
45885
+ "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
45007
45886
  "ctype": "miscellaneous",
45008
45887
  "subtype": "function",
45009
45888
  "coverageIgnore": false,
@@ -45035,7 +45914,7 @@
45035
45914
  },
45036
45915
  {
45037
45916
  "name": "renameTsPropertyAccesses",
45038
- "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
45917
+ "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
45039
45918
  "ctype": "miscellaneous",
45040
45919
  "subtype": "function",
45041
45920
  "coverageIgnore": false,
@@ -45067,7 +45946,7 @@
45067
45946
  },
45068
45947
  {
45069
45948
  "name": "unwrapExpression",
45070
- "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
45949
+ "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
45071
45950
  "ctype": "miscellaneous",
45072
45951
  "subtype": "function",
45073
45952
  "coverageIgnore": false,
@@ -45097,7 +45976,7 @@
45097
45976
  },
45098
45977
  {
45099
45978
  "name": "visitDir",
45100
- "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
45979
+ "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
45101
45980
  "ctype": "miscellaneous",
45102
45981
  "subtype": "function",
45103
45982
  "coverageIgnore": false,
@@ -45142,7 +46021,7 @@
45142
46021
  },
45143
46022
  {
45144
46023
  "name": "visitNodes",
45145
- "file": "packages/core/schematics/migrate-eui-icon-svg/index.ts",
46024
+ "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
45146
46025
  "ctype": "miscellaneous",
45147
46026
  "subtype": "function",
45148
46027
  "coverageIgnore": false,
@@ -45184,10 +46063,10 @@
45184
46063
  ]
45185
46064
  }
45186
46065
  ],
45187
- "packages/core/schematics/migrate-eui-icon-toggle/index.ts": [
46066
+ "packages/core/schematics/migrate-eui-progress-circle/index.ts": [
45188
46067
  {
45189
46068
  "name": "applyEdits",
45190
- "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
46069
+ "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
45191
46070
  "ctype": "miscellaneous",
45192
46071
  "subtype": "function",
45193
46072
  "coverageIgnore": false,
@@ -45232,7 +46111,7 @@
45232
46111
  },
45233
46112
  {
45234
46113
  "name": "collectRenames",
45235
- "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
46114
+ "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
45236
46115
  "ctype": "miscellaneous",
45237
46116
  "subtype": "function",
45238
46117
  "coverageIgnore": false,
@@ -45277,7 +46156,7 @@
45277
46156
  },
45278
46157
  {
45279
46158
  "name": "isComponentMetadataProperty",
45280
- "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
46159
+ "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
45281
46160
  "ctype": "miscellaneous",
45282
46161
  "subtype": "function",
45283
46162
  "coverageIgnore": false,
@@ -45307,7 +46186,7 @@
45307
46186
  },
45308
46187
  {
45309
46188
  "name": "isTemplateProperty",
45310
- "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
46189
+ "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
45311
46190
  "ctype": "miscellaneous",
45312
46191
  "subtype": "function",
45313
46192
  "coverageIgnore": false,
@@ -45336,8 +46215,8 @@
45336
46215
  ]
45337
46216
  },
45338
46217
  {
45339
- "name": "migrateEuiIconToggle",
45340
- "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
46218
+ "name": "migrateEuiProgressCircle",
46219
+ "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
45341
46220
  "ctype": "miscellaneous",
45342
46221
  "subtype": "function",
45343
46222
  "coverageIgnore": false,
@@ -45345,7 +46224,7 @@
45345
46224
  "deprecationMessage": "",
45346
46225
  "rawdescription": "",
45347
46226
  "description": "",
45348
- "displayName": "migrateEuiIconToggle",
46227
+ "displayName": "migrateEuiProgressCircle",
45349
46228
  "args": [
45350
46229
  {
45351
46230
  "name": "options",
@@ -45371,7 +46250,7 @@
45371
46250
  },
45372
46251
  {
45373
46252
  "name": "migrateInlineTemplates",
45374
- "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
46253
+ "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
45375
46254
  "ctype": "miscellaneous",
45376
46255
  "subtype": "function",
45377
46256
  "coverageIgnore": false,
@@ -45403,7 +46282,7 @@
45403
46282
  },
45404
46283
  {
45405
46284
  "name": "migrateTemplate",
45406
- "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
46285
+ "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
45407
46286
  "ctype": "miscellaneous",
45408
46287
  "subtype": "function",
45409
46288
  "coverageIgnore": false,
@@ -45433,41 +46312,9 @@
45433
46312
  }
45434
46313
  ]
45435
46314
  },
45436
- {
45437
- "name": "renameTsPropertyAccesses",
45438
- "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
45439
- "ctype": "miscellaneous",
45440
- "subtype": "function",
45441
- "coverageIgnore": false,
45442
- "deprecated": false,
45443
- "deprecationMessage": "",
45444
- "rawdescription": "",
45445
- "description": "",
45446
- "displayName": "renameTsPropertyAccesses",
45447
- "args": [
45448
- {
45449
- "name": "source",
45450
- "type": "string",
45451
- "deprecated": false,
45452
- "deprecationMessage": ""
45453
- }
45454
- ],
45455
- "returnType": "string",
45456
- "jsdoctags": [
45457
- {
45458
- "name": "source",
45459
- "type": "string",
45460
- "deprecated": false,
45461
- "deprecationMessage": "",
45462
- "tagName": {
45463
- "text": "param"
45464
- }
45465
- }
45466
- ]
45467
- },
45468
46315
  {
45469
46316
  "name": "unwrapExpression",
45470
- "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
46317
+ "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
45471
46318
  "ctype": "miscellaneous",
45472
46319
  "subtype": "function",
45473
46320
  "coverageIgnore": false,
@@ -45497,7 +46344,7 @@
45497
46344
  },
45498
46345
  {
45499
46346
  "name": "visitDir",
45500
- "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
46347
+ "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
45501
46348
  "ctype": "miscellaneous",
45502
46349
  "subtype": "function",
45503
46350
  "coverageIgnore": false,
@@ -45542,7 +46389,7 @@
45542
46389
  },
45543
46390
  {
45544
46391
  "name": "visitNodes",
45545
- "file": "packages/core/schematics/migrate-eui-icon-toggle/index.ts",
46392
+ "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
45546
46393
  "ctype": "miscellaneous",
45547
46394
  "subtype": "function",
45548
46395
  "coverageIgnore": false,
@@ -45584,10 +46431,10 @@
45584
46431
  ]
45585
46432
  }
45586
46433
  ],
45587
- "packages/core/schematics/migrate-eui-progress-circle/index.ts": [
46434
+ "packages/core/schematics/migrate-eui-tooltip/index.ts": [
45588
46435
  {
45589
46436
  "name": "applyEdits",
45590
- "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
46437
+ "file": "packages/core/schematics/migrate-eui-tooltip/index.ts",
45591
46438
  "ctype": "miscellaneous",
45592
46439
  "subtype": "function",
45593
46440
  "coverageIgnore": false,
@@ -45631,8 +46478,8 @@
45631
46478
  ]
45632
46479
  },
45633
46480
  {
45634
- "name": "collectRenames",
45635
- "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
46481
+ "name": "deduplicateEdits",
46482
+ "file": "packages/core/schematics/migrate-eui-tooltip/index.ts",
45636
46483
  "ctype": "miscellaneous",
45637
46484
  "subtype": "function",
45638
46485
  "coverageIgnore": false,
@@ -45640,31 +46487,16 @@
45640
46487
  "deprecationMessage": "",
45641
46488
  "rawdescription": "",
45642
46489
  "description": "",
45643
- "displayName": "collectRenames",
46490
+ "displayName": "deduplicateEdits",
45644
46491
  "args": [
45645
- {
45646
- "name": "element",
45647
- "type": "TmplAstElement",
45648
- "deprecated": false,
45649
- "deprecationMessage": ""
45650
- },
45651
46492
  {
45652
46493
  "name": "edits",
45653
46494
  "deprecated": false,
45654
46495
  "deprecationMessage": ""
45655
46496
  }
45656
46497
  ],
45657
- "returnType": "void",
46498
+ "returnType": "Edit[]",
45658
46499
  "jsdoctags": [
45659
- {
45660
- "name": "element",
45661
- "type": "TmplAstElement",
45662
- "deprecated": false,
45663
- "deprecationMessage": "",
45664
- "tagName": {
45665
- "text": "param"
45666
- }
45667
- },
45668
46500
  {
45669
46501
  "name": "edits",
45670
46502
  "deprecated": false,
@@ -45676,8 +46508,8 @@
45676
46508
  ]
45677
46509
  },
45678
46510
  {
45679
- "name": "isComponentMetadataProperty",
45680
- "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
46511
+ "name": "isPartOfImport",
46512
+ "file": "packages/core/schematics/migrate-eui-tooltip/index.ts",
45681
46513
  "ctype": "miscellaneous",
45682
46514
  "subtype": "function",
45683
46515
  "coverageIgnore": false,
@@ -45685,7 +46517,7 @@
45685
46517
  "deprecationMessage": "",
45686
46518
  "rawdescription": "",
45687
46519
  "description": "",
45688
- "displayName": "isComponentMetadataProperty",
46520
+ "displayName": "isPartOfImport",
45689
46521
  "args": [
45690
46522
  {
45691
46523
  "name": "node",
@@ -45706,8 +46538,8 @@
45706
46538
  ]
45707
46539
  },
45708
46540
  {
45709
- "name": "isTemplateProperty",
45710
- "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
46541
+ "name": "migrateEuiTooltip",
46542
+ "file": "packages/core/schematics/migrate-eui-tooltip/index.ts",
45711
46543
  "ctype": "miscellaneous",
45712
46544
  "subtype": "function",
45713
46545
  "coverageIgnore": false,
@@ -45715,37 +46547,7 @@
45715
46547
  "deprecationMessage": "",
45716
46548
  "rawdescription": "",
45717
46549
  "description": "",
45718
- "displayName": "isTemplateProperty",
45719
- "args": [
45720
- {
45721
- "name": "node",
45722
- "deprecated": false,
45723
- "deprecationMessage": ""
45724
- }
45725
- ],
45726
- "returnType": "boolean",
45727
- "jsdoctags": [
45728
- {
45729
- "name": "node",
45730
- "deprecated": false,
45731
- "deprecationMessage": "",
45732
- "tagName": {
45733
- "text": "param"
45734
- }
45735
- }
45736
- ]
45737
- },
45738
- {
45739
- "name": "migrateEuiProgressCircle",
45740
- "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
45741
- "ctype": "miscellaneous",
45742
- "subtype": "function",
45743
- "coverageIgnore": false,
45744
- "deprecated": false,
45745
- "deprecationMessage": "",
45746
- "rawdescription": "",
45747
- "description": "",
45748
- "displayName": "migrateEuiProgressCircle",
46550
+ "displayName": "migrateEuiTooltip",
45749
46551
  "args": [
45750
46552
  {
45751
46553
  "name": "options",
@@ -45770,8 +46572,8 @@
45770
46572
  ]
45771
46573
  },
45772
46574
  {
45773
- "name": "migrateInlineTemplates",
45774
- "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
46575
+ "name": "migrateTypeScript",
46576
+ "file": "packages/core/schematics/migrate-eui-tooltip/index.ts",
45775
46577
  "ctype": "miscellaneous",
45776
46578
  "subtype": "function",
45777
46579
  "coverageIgnore": false,
@@ -45779,43 +46581,23 @@
45779
46581
  "deprecationMessage": "",
45780
46582
  "rawdescription": "",
45781
46583
  "description": "",
45782
- "displayName": "migrateInlineTemplates",
46584
+ "displayName": "migrateTypeScript",
45783
46585
  "args": [
45784
46586
  {
45785
46587
  "name": "source",
45786
46588
  "type": "string",
45787
46589
  "deprecated": false,
45788
46590
  "deprecationMessage": ""
45789
- }
45790
- ],
45791
- "returnType": "string",
45792
- "jsdoctags": [
46591
+ },
45793
46592
  {
45794
- "name": "source",
46593
+ "name": "filePath",
45795
46594
  "type": "string",
45796
46595
  "deprecated": false,
45797
- "deprecationMessage": "",
45798
- "tagName": {
45799
- "text": "param"
45800
- }
45801
- }
45802
- ]
45803
- },
45804
- {
45805
- "name": "migrateTemplate",
45806
- "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
45807
- "ctype": "miscellaneous",
45808
- "subtype": "function",
45809
- "coverageIgnore": false,
45810
- "deprecated": false,
45811
- "deprecationMessage": "",
45812
- "rawdescription": "",
45813
- "description": "",
45814
- "displayName": "migrateTemplate",
45815
- "args": [
46596
+ "deprecationMessage": ""
46597
+ },
45816
46598
  {
45817
- "name": "source",
45818
- "type": "string",
46599
+ "name": "context",
46600
+ "type": "SchematicContext",
45819
46601
  "deprecated": false,
45820
46602
  "deprecationMessage": ""
45821
46603
  }
@@ -45830,31 +46612,19 @@
45830
46612
  "tagName": {
45831
46613
  "text": "param"
45832
46614
  }
45833
- }
45834
- ]
45835
- },
45836
- {
45837
- "name": "unwrapExpression",
45838
- "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
45839
- "ctype": "miscellaneous",
45840
- "subtype": "function",
45841
- "coverageIgnore": false,
45842
- "deprecated": false,
45843
- "deprecationMessage": "",
45844
- "rawdescription": "",
45845
- "description": "",
45846
- "displayName": "unwrapExpression",
45847
- "args": [
46615
+ },
45848
46616
  {
45849
- "name": "expression",
46617
+ "name": "filePath",
46618
+ "type": "string",
45850
46619
  "deprecated": false,
45851
- "deprecationMessage": ""
45852
- }
45853
- ],
45854
- "returnType": "ts.Expression",
45855
- "jsdoctags": [
46620
+ "deprecationMessage": "",
46621
+ "tagName": {
46622
+ "text": "param"
46623
+ }
46624
+ },
45856
46625
  {
45857
- "name": "expression",
46626
+ "name": "context",
46627
+ "type": "SchematicContext",
45858
46628
  "deprecated": false,
45859
46629
  "deprecationMessage": "",
45860
46630
  "tagName": {
@@ -45864,8 +46634,8 @@
45864
46634
  ]
45865
46635
  },
45866
46636
  {
45867
- "name": "visitDir",
45868
- "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
46637
+ "name": "removeImportSpecifier",
46638
+ "file": "packages/core/schematics/migrate-eui-tooltip/index.ts",
45869
46639
  "ctype": "miscellaneous",
45870
46640
  "subtype": "function",
45871
46641
  "coverageIgnore": false,
@@ -45873,16 +46643,25 @@
45873
46643
  "deprecationMessage": "",
45874
46644
  "rawdescription": "",
45875
46645
  "description": "",
45876
- "displayName": "visitDir",
46646
+ "displayName": "removeImportSpecifier",
45877
46647
  "args": [
45878
46648
  {
45879
- "name": "dir",
45880
- "type": "DirEntry",
46649
+ "name": "namedImports",
45881
46650
  "deprecated": false,
45882
46651
  "deprecationMessage": ""
45883
46652
  },
45884
46653
  {
45885
- "name": "callback",
46654
+ "name": "specifier",
46655
+ "deprecated": false,
46656
+ "deprecationMessage": ""
46657
+ },
46658
+ {
46659
+ "name": "sourceFile",
46660
+ "deprecated": false,
46661
+ "deprecationMessage": ""
46662
+ },
46663
+ {
46664
+ "name": "edits",
45886
46665
  "deprecated": false,
45887
46666
  "deprecationMessage": ""
45888
46667
  }
@@ -45890,8 +46669,7 @@
45890
46669
  "returnType": "void",
45891
46670
  "jsdoctags": [
45892
46671
  {
45893
- "name": "dir",
45894
- "type": "DirEntry",
46672
+ "name": "namedImports",
45895
46673
  "deprecated": false,
45896
46674
  "deprecationMessage": "",
45897
46675
  "tagName": {
@@ -45899,7 +46677,23 @@
45899
46677
  }
45900
46678
  },
45901
46679
  {
45902
- "name": "callback",
46680
+ "name": "specifier",
46681
+ "deprecated": false,
46682
+ "deprecationMessage": "",
46683
+ "tagName": {
46684
+ "text": "param"
46685
+ }
46686
+ },
46687
+ {
46688
+ "name": "sourceFile",
46689
+ "deprecated": false,
46690
+ "deprecationMessage": "",
46691
+ "tagName": {
46692
+ "text": "param"
46693
+ }
46694
+ },
46695
+ {
46696
+ "name": "edits",
45903
46697
  "deprecated": false,
45904
46698
  "deprecationMessage": "",
45905
46699
  "tagName": {
@@ -45909,8 +46703,8 @@
45909
46703
  ]
45910
46704
  },
45911
46705
  {
45912
- "name": "visitNodes",
45913
- "file": "packages/core/schematics/migrate-eui-progress-circle/index.ts",
46706
+ "name": "visitDir",
46707
+ "file": "packages/core/schematics/migrate-eui-tooltip/index.ts",
45914
46708
  "ctype": "miscellaneous",
45915
46709
  "subtype": "function",
45916
46710
  "coverageIgnore": false,
@@ -45918,15 +46712,16 @@
45918
46712
  "deprecationMessage": "",
45919
46713
  "rawdescription": "",
45920
46714
  "description": "",
45921
- "displayName": "visitNodes",
46715
+ "displayName": "visitDir",
45922
46716
  "args": [
45923
46717
  {
45924
- "name": "nodes",
46718
+ "name": "dir",
46719
+ "type": "DirEntry",
45925
46720
  "deprecated": false,
45926
46721
  "deprecationMessage": ""
45927
46722
  },
45928
46723
  {
45929
- "name": "edits",
46724
+ "name": "callback",
45930
46725
  "deprecated": false,
45931
46726
  "deprecationMessage": ""
45932
46727
  }
@@ -45934,7 +46729,8 @@
45934
46729
  "returnType": "void",
45935
46730
  "jsdoctags": [
45936
46731
  {
45937
- "name": "nodes",
46732
+ "name": "dir",
46733
+ "type": "DirEntry",
45938
46734
  "deprecated": false,
45939
46735
  "deprecationMessage": "",
45940
46736
  "tagName": {
@@ -45942,7 +46738,7 @@
45942
46738
  }
45943
46739
  },
45944
46740
  {
45945
- "name": "edits",
46741
+ "name": "callback",
45946
46742
  "deprecated": false,
45947
46743
  "deprecationMessage": "",
45948
46744
  "tagName": {