@angular/material 12.0.0-rc.2 → 12.0.2
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.
- package/_index.scss +2 -1
- package/_theming.scss +39 -4
- package/autocomplete/_autocomplete-legacy-index.scss +2 -0
- package/badge/_badge-legacy-index.scss +3 -0
- package/bottom-sheet/_bottom-sheet-legacy-index.scss +2 -0
- package/bottom-sheet/bottom-sheet-container.d.ts +0 -2
- package/bottom-sheet/index.metadata.json +1 -1
- package/bundles/material-bottom-sheet.umd.js +7 -15
- package/bundles/material-bottom-sheet.umd.js.map +1 -1
- package/bundles/material-checkbox.umd.js +1 -1
- package/bundles/material-checkbox.umd.js.map +1 -1
- package/bundles/material-core.umd.js +2 -2
- package/bundles/material-core.umd.js.map +1 -1
- package/bundles/material-datepicker.umd.js +33 -17
- package/bundles/material-datepicker.umd.js.map +1 -1
- package/bundles/material-dialog.umd.js +11 -19
- package/bundles/material-dialog.umd.js.map +1 -1
- package/bundles/material-input.umd.js +7 -1
- package/bundles/material-input.umd.js.map +1 -1
- package/bundles/material-slide-toggle.umd.js +4 -4
- package/bundles/material-slide-toggle.umd.js.map +1 -1
- package/bundles/material-sort.umd.js +7 -1
- package/bundles/material-sort.umd.js.map +1 -1
- package/bundles/material-stepper.umd.js +2 -2
- package/bundles/material-stepper.umd.js.map +1 -1
- package/bundles/material-table-testing.umd.js +103 -143
- package/bundles/material-table-testing.umd.js.map +1 -1
- package/bundles/material-table.umd.js.map +1 -1
- package/bundles/material-tabs.umd.js +4 -2
- package/bundles/material-tabs.umd.js.map +1 -1
- package/bundles/material-tooltip.umd.js +19 -15
- package/bundles/material-tooltip.umd.js.map +1 -1
- package/button/_button-legacy-index.scss +19 -0
- package/button-toggle/_button-toggle-legacy-index.scss +2 -0
- package/card/_card-legacy-index.scss +2 -0
- package/checkbox/_checkbox-legacy-index.scss +2 -0
- package/checkbox/index.metadata.json +1 -1
- package/chips/_chips-legacy-index.scss +6 -0
- package/core/_core-legacy-index.scss +17 -0
- package/core/color/_color-legacy-index.scss +1 -0
- package/core/density/private/_density-legacy-index.scss +5 -0
- package/core/focus-indicators/_focus-indicators-legacy-index.scss +5 -0
- package/core/focus-indicators/_focus-indicators.import.scss +1 -1
- package/core/focus-indicators/_focus-indicators.scss +4 -0
- package/core/index.metadata.json +1 -1
- package/core/option/_option-legacy-index.scss +5 -0
- package/core/ripple/_ripple-legacy-index.scss +3 -0
- package/core/ripple/ripple.d.ts +3 -3
- package/core/selection/pseudo-checkbox/_pseudo-checkbox-legacy-index.scss +2 -0
- package/core/style/_style-legacy-index.scss +24 -0
- package/core/theming/_theming-legacy-index.scss +22 -0
- package/core/typography/_typography-legacy-index.scss +18 -0
- package/datepicker/_datepicker-legacy-index.scss +9 -0
- package/datepicker/date-range-input.d.ts +2 -0
- package/datepicker/datepicker-base.d.ts +7 -2
- package/datepicker/datepicker-input.d.ts +4 -2
- package/datepicker/index.metadata.json +1 -1
- package/dialog/_dialog-legacy-index.scss +2 -0
- package/dialog/dialog-container.d.ts +0 -2
- package/dialog/index.metadata.json +1 -1
- package/divider/_divider-legacy-index.scss +3 -0
- package/esm2015/bottom-sheet/bottom-sheet-container.js +5 -12
- package/esm2015/checkbox/checkbox.js +2 -2
- package/esm2015/core/common-behaviors/common-module.js +1 -1
- package/esm2015/core/ripple/ripple.js +1 -1
- package/esm2015/core/version.js +1 -1
- package/esm2015/datepicker/date-range-input-parts.js +3 -2
- package/esm2015/datepicker/date-range-input.js +5 -1
- package/esm2015/datepicker/datepicker-base.js +16 -11
- package/esm2015/datepicker/datepicker-input.js +8 -1
- package/esm2015/datepicker/datepicker-intl.js +3 -3
- package/esm2015/dialog/dialog-container.js +5 -12
- package/esm2015/input/input.js +9 -3
- package/esm2015/slide-toggle/slide-toggle.js +5 -5
- package/esm2015/sort/sort-header.js +8 -2
- package/esm2015/stepper/step-header.js +3 -3
- package/esm2015/table/table-data-source.js +1 -1
- package/esm2015/table/testing/cell-harness.js +9 -9
- package/esm2015/table/testing/row-harness.js +38 -70
- package/esm2015/table/testing/table-harness.js +23 -15
- package/esm2015/tabs/tab-group.js +4 -2
- package/esm2015/tabs/tab.js +3 -3
- package/esm2015/tooltip/tooltip.js +12 -8
- package/expansion/_expansion-legacy-index.scss +3 -0
- package/fesm2015/bottom-sheet.js +4 -11
- package/fesm2015/bottom-sheet.js.map +1 -1
- package/fesm2015/checkbox.js +1 -1
- package/fesm2015/checkbox.js.map +1 -1
- package/fesm2015/core.js +2 -2
- package/fesm2015/core.js.map +1 -1
- package/fesm2015/datepicker.js +30 -13
- package/fesm2015/datepicker.js.map +1 -1
- package/fesm2015/dialog.js +4 -11
- package/fesm2015/dialog.js.map +1 -1
- package/fesm2015/input.js +8 -2
- package/fesm2015/input.js.map +1 -1
- package/fesm2015/slide-toggle.js +4 -4
- package/fesm2015/slide-toggle.js.map +1 -1
- package/fesm2015/sort.js +7 -1
- package/fesm2015/sort.js.map +1 -1
- package/fesm2015/stepper.js +2 -2
- package/fesm2015/stepper.js.map +1 -1
- package/fesm2015/table/testing.js +66 -90
- package/fesm2015/table/testing.js.map +1 -1
- package/fesm2015/table.js.map +1 -1
- package/fesm2015/tabs.js +4 -2
- package/fesm2015/tabs.js.map +1 -1
- package/fesm2015/tooltip.js +11 -7
- package/fesm2015/tooltip.js.map +1 -1
- package/form-field/_form-field-legacy-index.scss +24 -0
- package/grid-list/_grid-list-legacy-index.scss +2 -0
- package/icon/_icon-legacy-index.scss +2 -0
- package/input/_input-legacy-index.scss +2 -0
- package/input/index.metadata.json +1 -1
- package/list/_list-legacy-index.scss +2 -0
- package/menu/_menu-legacy-index.scss +2 -0
- package/package.json +6 -6
- package/paginator/_paginator-legacy-index.scss +2 -0
- package/prebuilt-themes/deeppurple-amber.css +1 -1
- package/prebuilt-themes/indigo-pink.css +1 -1
- package/prebuilt-themes/pink-bluegrey.css +1 -1
- package/prebuilt-themes/purple-green.css +1 -1
- package/progress-bar/_progress-bar-legacy-index.scss +2 -0
- package/progress-spinner/_progress-spinner-legacy-index.scss +2 -0
- package/radio/_radio-legacy-index.scss +2 -0
- package/schematics/collection.json +0 -6
- package/schematics/ng-add/fonts/material-fonts.mjs +46 -0
- package/schematics/ng-add/index.js +2 -2
- package/schematics/ng-add/index.mjs +55 -0
- package/schematics/ng-add/package-config.mjs +47 -0
- package/schematics/ng-add/schema.mjs +10 -0
- package/schematics/ng-add/setup-project.mjs +121 -0
- package/schematics/ng-add/theming/create-custom-theme.mjs +51 -0
- package/schematics/ng-add/theming/theming.mjs +165 -0
- package/schematics/ng-generate/address-form/index.mjs +49 -0
- package/schematics/ng-generate/address-form/schema.mjs +10 -0
- package/schematics/ng-generate/dashboard/index.mjs +49 -0
- package/schematics/ng-generate/dashboard/schema.mjs +10 -0
- package/schematics/ng-generate/navigation/index.mjs +49 -0
- package/schematics/ng-generate/navigation/schema.mjs +10 -0
- package/schematics/ng-generate/table/index.mjs +46 -0
- package/schematics/ng-generate/table/schema.mjs +10 -0
- package/schematics/ng-generate/tree/index.mjs +46 -0
- package/schematics/ng-generate/tree/schema.mjs +10 -0
- package/schematics/ng-update/data/attribute-selectors.mjs +12 -0
- package/schematics/ng-update/data/class-names.mjs +32 -0
- package/schematics/ng-update/data/constructor-checks.mjs +143 -0
- package/schematics/ng-update/data/css-selectors.mjs +46 -0
- package/schematics/ng-update/data/element-selectors.mjs +18 -0
- package/schematics/ng-update/data/index.mjs +29 -0
- package/schematics/ng-update/data/input-names.mjs +76 -0
- package/schematics/ng-update/data/method-call-checks.mjs +22 -0
- package/schematics/ng-update/data/output-names.mjs +101 -0
- package/schematics/ng-update/data/property-names.mjs +173 -0
- package/schematics/ng-update/index.js +3 -1
- package/schematics/ng-update/index.mjs +78 -0
- package/schematics/ng-update/migrations/hammer-gestures-v9/find-hammer-script-tags.mjs +42 -0
- package/schematics/ng-update/migrations/hammer-gestures-v9/find-main-module.mjs +32 -0
- package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.mjs +778 -0
- package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-template-check.mjs +56 -0
- package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.mjs +370 -0
- package/schematics/ng-update/migrations/hammer-gestures-v9/remove-array-element.mjs +66 -0
- package/schematics/ng-update/migrations/hammer-gestures-v9/remove-element-from-html.mjs +28 -0
- package/schematics/ng-update/migrations/misc-checks/misc-class-inheritance.mjs +48 -0
- package/schematics/ng-update/migrations/misc-checks/misc-class-names.mjs +43 -0
- package/schematics/ng-update/migrations/misc-checks/misc-imports.mjs +54 -0
- package/schematics/ng-update/migrations/misc-checks/misc-property-names.mjs +47 -0
- package/schematics/ng-update/migrations/misc-checks/misc-template.mjs +60 -0
- package/schematics/ng-update/migrations/misc-ripples-v7/ripple-speed-factor-migration.mjs +138 -0
- package/schematics/ng-update/migrations/misc-ripples-v7/ripple-speed-factor.mjs +30 -0
- package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.mjs +169 -0
- package/schematics/{ng-generate/theming-api → ng-update/migrations/theming-api-v12}/config.d.ts +6 -0
- package/schematics/ng-update/migrations/theming-api-v12/config.js +206 -0
- package/schematics/ng-update/migrations/theming-api-v12/config.mjs +206 -0
- package/schematics/{ng-generate/theming-api → ng-update/migrations/theming-api-v12}/migration.d.ts +0 -0
- package/schematics/ng-update/migrations/theming-api-v12/migration.js +234 -0
- package/schematics/ng-update/migrations/theming-api-v12/migration.mjs +234 -0
- package/schematics/ng-update/migrations/theming-api-v12/theming-api-migration.d.ts +18 -0
- package/schematics/ng-update/migrations/theming-api-v12/theming-api-migration.js +45 -0
- package/schematics/ng-update/migrations/theming-api-v12/theming-api-migration.mjs +45 -0
- package/schematics/ng-update/typescript/module-specifiers.mjs +35 -0
- package/schematics/ng-update/upgrade-data.mjs +24 -0
- package/schematics/paths.mjs +16 -0
- package/schematics/schematics.externs.js +0 -0
- package/select/_select-legacy-index.scss +2 -0
- package/sidenav/_sidenav-legacy-index.scss +2 -0
- package/slide-toggle/_slide-toggle-legacy-index.scss +3 -0
- package/slide-toggle/index.metadata.json +1 -1
- package/slide-toggle/slide-toggle.d.ts +3 -2
- package/slider/_slider-legacy-index.scss +2 -0
- package/snack-bar/_snack-bar-legacy-index.scss +2 -0
- package/sort/_sort-legacy-index.scss +2 -0
- package/sort/sort-header.d.ts +1 -1
- package/stepper/_stepper-legacy-index.scss +7 -0
- package/stepper/index.metadata.json +1 -1
- package/table/_table-legacy-index.scss +3 -0
- package/table/index.metadata.json +1 -1
- package/table/table-data-source.d.ts +17 -5
- package/table/testing/cell-harness.d.ts +2 -1
- package/table/testing/row-harness.d.ts +21 -22
- package/table/testing/table-harness.d.ts +32 -13
- package/tabs/_tabs-legacy-index.scss +6 -0
- package/tabs/_tabs-theme.scss +5 -2
- package/tabs/index.metadata.json +1 -1
- package/toolbar/_toolbar-legacy-index.scss +4 -0
- package/tooltip/_tooltip-legacy-index.scss +3 -0
- package/tooltip/index.metadata.json +1 -1
- package/tree/_tree-legacy-index.scss +2 -0
- package/schematics/ng-generate/theming-api/config.js +0 -183
- package/schematics/ng-generate/theming-api/index.d.ts +0 -10
- package/schematics/ng-generate/theming-api/index.js +0 -26
- package/schematics/ng-generate/theming-api/migration.js +0 -226
- package/schematics/ng-generate/theming-api/schema.d.ts +0 -9
- package/schematics/ng-generate/theming-api/schema.js +0 -10
- package/schematics/ng-generate/theming-api/schema.json +0 -7
package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.mjs
ADDED
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.io/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.SecondaryEntryPointsMigration = void 0;
|
|
11
|
+
const schematics_1 = require("@angular/cdk/schematics");
|
|
12
|
+
const ts = require("typescript");
|
|
13
|
+
const module_specifiers_1 = require("../../../ng-update/typescript/module-specifiers");
|
|
14
|
+
const ONLY_SUBPACKAGE_FAILURE_STR = `Importing from "@angular/material" is deprecated. ` +
|
|
15
|
+
`Instead import from the entry-point the symbol belongs to.`;
|
|
16
|
+
const NO_IMPORT_NAMED_SYMBOLS_FAILURE_STR = `Imports from Angular Material should import ` +
|
|
17
|
+
`specific symbols rather than importing the entire library.`;
|
|
18
|
+
/**
|
|
19
|
+
* Regex for testing file paths against to determine if the file is from the
|
|
20
|
+
* Angular Material library.
|
|
21
|
+
*/
|
|
22
|
+
const ANGULAR_MATERIAL_FILEPATH_REGEX = new RegExp(`${module_specifiers_1.materialModuleSpecifier}/(.*?)/`);
|
|
23
|
+
/**
|
|
24
|
+
* Mapping of Material symbol names to their module names. Used as a fallback if
|
|
25
|
+
* we didn't manage to resolve the module name of a symbol using the type checker.
|
|
26
|
+
*/
|
|
27
|
+
const ENTRY_POINT_MAPPINGS = require('./material-symbols.json');
|
|
28
|
+
/**
|
|
29
|
+
* Migration that updates imports which refer to the primary Angular Material
|
|
30
|
+
* entry-point to use the appropriate secondary entry points (e.g. @angular/material/button).
|
|
31
|
+
*/
|
|
32
|
+
class SecondaryEntryPointsMigration extends schematics_1.Migration {
|
|
33
|
+
constructor() {
|
|
34
|
+
super(...arguments);
|
|
35
|
+
this.printer = ts.createPrinter();
|
|
36
|
+
// Only enable this rule if the migration targets version 8. The primary
|
|
37
|
+
// entry-point of Material has been marked as deprecated in version 8.
|
|
38
|
+
this.enabled = this.targetVersion === schematics_1.TargetVersion.V8 || this.targetVersion === schematics_1.TargetVersion.V9;
|
|
39
|
+
}
|
|
40
|
+
visitNode(declaration) {
|
|
41
|
+
// Only look at import declarations.
|
|
42
|
+
if (!ts.isImportDeclaration(declaration) ||
|
|
43
|
+
!ts.isStringLiteralLike(declaration.moduleSpecifier)) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const importLocation = declaration.moduleSpecifier.text;
|
|
47
|
+
// If the import module is not @angular/material, skip the check.
|
|
48
|
+
if (importLocation !== module_specifiers_1.materialModuleSpecifier) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
// If no import clause is found, or nothing is named as a binding in the
|
|
52
|
+
// import, add failure saying to import symbols in clause.
|
|
53
|
+
if (!declaration.importClause || !declaration.importClause.namedBindings) {
|
|
54
|
+
this.createFailureAtNode(declaration, NO_IMPORT_NAMED_SYMBOLS_FAILURE_STR);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
// All named bindings in import clauses must be named symbols, otherwise add
|
|
58
|
+
// failure saying to import symbols in clause.
|
|
59
|
+
if (!ts.isNamedImports(declaration.importClause.namedBindings)) {
|
|
60
|
+
this.createFailureAtNode(declaration, NO_IMPORT_NAMED_SYMBOLS_FAILURE_STR);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
// If no symbols are in the named bindings then add failure saying to
|
|
64
|
+
// import symbols in clause.
|
|
65
|
+
if (!declaration.importClause.namedBindings.elements.length) {
|
|
66
|
+
this.createFailureAtNode(declaration, NO_IMPORT_NAMED_SYMBOLS_FAILURE_STR);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
// Whether the existing import declaration is using a single quote module specifier.
|
|
70
|
+
const singleQuoteImport = declaration.moduleSpecifier.getText()[0] === `'`;
|
|
71
|
+
// Map which consists of secondary entry-points and import specifiers which are used
|
|
72
|
+
// within the current import declaration.
|
|
73
|
+
const importMap = new Map();
|
|
74
|
+
// Determine the subpackage each symbol in the namedBinding comes from.
|
|
75
|
+
for (const element of declaration.importClause.namedBindings.elements) {
|
|
76
|
+
const elementName = element.propertyName ? element.propertyName : element.name;
|
|
77
|
+
// Try to resolve the module name via the type checker, and if it fails, fall back to
|
|
78
|
+
// resolving it from our list of symbol to entry point mappings. Using the type checker is
|
|
79
|
+
// more accurate and doesn't require us to keep a list of symbols, but it won't work if
|
|
80
|
+
// the symbols don't exist anymore (e.g. after we remove the top-level @angular/material).
|
|
81
|
+
const moduleName = resolveModuleName(elementName, this.typeChecker) ||
|
|
82
|
+
ENTRY_POINT_MAPPINGS[elementName.text] || null;
|
|
83
|
+
if (!moduleName) {
|
|
84
|
+
this.createFailureAtNode(element, `"${element.getText()}" was not found in the Material library.`);
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
// The module name where the symbol is defined e.g. card, dialog. The
|
|
88
|
+
// first capture group is contains the module name.
|
|
89
|
+
if (importMap.has(moduleName)) {
|
|
90
|
+
importMap.get(moduleName).push(element);
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
importMap.set(moduleName, [element]);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
// Transforms the import declaration into multiple import declarations that import
|
|
97
|
+
// the given symbols from the individual secondary entry-points. For example:
|
|
98
|
+
// import {MatCardModule, MatCardTitle} from '@angular/material/card';
|
|
99
|
+
// import {MatRadioModule} from '@angular/material/radio';
|
|
100
|
+
const newImportStatements = Array.from(importMap.entries())
|
|
101
|
+
.sort()
|
|
102
|
+
.map(([name, elements]) => {
|
|
103
|
+
const newImport = ts.createImportDeclaration(undefined, undefined, ts.createImportClause(undefined, ts.createNamedImports(elements)), createStringLiteral(`${module_specifiers_1.materialModuleSpecifier}/${name}`, singleQuoteImport));
|
|
104
|
+
return this.printer.printNode(ts.EmitHint.Unspecified, newImport, declaration.getSourceFile());
|
|
105
|
+
})
|
|
106
|
+
.join('\n');
|
|
107
|
+
// Without any import statements that were generated, we can assume that this was an empty
|
|
108
|
+
// import declaration. We still want to add a failure in order to make developers aware that
|
|
109
|
+
// importing from "@angular/material" is deprecated.
|
|
110
|
+
if (!newImportStatements) {
|
|
111
|
+
this.createFailureAtNode(declaration.moduleSpecifier, ONLY_SUBPACKAGE_FAILURE_STR);
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
const filePath = this.fileSystem.resolve(declaration.moduleSpecifier.getSourceFile().fileName);
|
|
115
|
+
const recorder = this.fileSystem.edit(filePath);
|
|
116
|
+
// Perform the replacement that switches the primary entry-point import to
|
|
117
|
+
// the individual secondary entry-point imports.
|
|
118
|
+
recorder.remove(declaration.getStart(), declaration.getWidth());
|
|
119
|
+
recorder.insertRight(declaration.getStart(), newImportStatements);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
exports.SecondaryEntryPointsMigration = SecondaryEntryPointsMigration;
|
|
123
|
+
/**
|
|
124
|
+
* Creates a string literal from the specified text.
|
|
125
|
+
* @param text Text of the string literal.
|
|
126
|
+
* @param singleQuotes Whether single quotes should be used when printing the literal node.
|
|
127
|
+
*/
|
|
128
|
+
function createStringLiteral(text, singleQuotes) {
|
|
129
|
+
const literal = ts.createStringLiteral(text);
|
|
130
|
+
// See: https://github.com/microsoft/TypeScript/blob/master/src/compiler/utilities.ts#L584-L590
|
|
131
|
+
literal['singleQuote'] = singleQuotes;
|
|
132
|
+
return literal;
|
|
133
|
+
}
|
|
134
|
+
/** Gets the symbol that contains the value declaration of the given node. */
|
|
135
|
+
function getDeclarationSymbolOfNode(node, checker) {
|
|
136
|
+
const symbol = checker.getSymbolAtLocation(node);
|
|
137
|
+
// Symbols can be aliases of the declaration symbol. e.g. in named import specifiers.
|
|
138
|
+
// We need to resolve the aliased symbol back to the declaration symbol.
|
|
139
|
+
// tslint:disable-next-line:no-bitwise
|
|
140
|
+
if (symbol && (symbol.flags & ts.SymbolFlags.Alias) !== 0) {
|
|
141
|
+
return checker.getAliasedSymbol(symbol);
|
|
142
|
+
}
|
|
143
|
+
return symbol;
|
|
144
|
+
}
|
|
145
|
+
/** Tries to resolve the name of the Material module that a node is imported from. */
|
|
146
|
+
function resolveModuleName(node, typeChecker) {
|
|
147
|
+
// Get the symbol for the named binding element. Note that we cannot determine the
|
|
148
|
+
// value declaration based on the type of the element as types are not necessarily
|
|
149
|
+
// specific to a given secondary entry-point (e.g. exports with the type of "string")
|
|
150
|
+
// would resolve to the module types provided by TypeScript itself.
|
|
151
|
+
const symbol = getDeclarationSymbolOfNode(node, typeChecker);
|
|
152
|
+
// If the symbol can't be found, or no declaration could be found within
|
|
153
|
+
// the symbol, add failure to report that the given symbol can't be found.
|
|
154
|
+
if (!symbol ||
|
|
155
|
+
!(symbol.valueDeclaration || (symbol.declarations && symbol.declarations.length !== 0))) {
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
// The filename for the source file of the node that contains the
|
|
159
|
+
// first declaration of the symbol. All symbol declarations must be
|
|
160
|
+
// part of a defining node, so parent can be asserted to be defined.
|
|
161
|
+
const resolvedNode = symbol.valueDeclaration || symbol.declarations[0];
|
|
162
|
+
const sourceFile = resolvedNode.getSourceFile().fileName;
|
|
163
|
+
// File the module the symbol belongs to from a regex match of the
|
|
164
|
+
// filename. This will always match since only "@angular/material"
|
|
165
|
+
// elements are analyzed.
|
|
166
|
+
const matches = sourceFile.match(ANGULAR_MATERIAL_FILEPATH_REGEX);
|
|
167
|
+
return matches ? matches[1] : null;
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vjb25kYXJ5LWVudHJ5LXBvaW50cy1taWdyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvc2NoZW1hdGljcy9uZy11cGRhdGUvbWlncmF0aW9ucy9wYWNrYWdlLWltcG9ydHMtdjgvc2Vjb25kYXJ5LWVudHJ5LXBvaW50cy1taWdyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsd0RBQWlFO0FBQ2pFLGlDQUFpQztBQUNqQyx1RkFBd0Y7QUFFeEYsTUFBTSwyQkFBMkIsR0FBRyxvREFBb0Q7SUFDcEYsNERBQTRELENBQUM7QUFFakUsTUFBTSxtQ0FBbUMsR0FBRyw4Q0FBOEM7SUFDdEYsNERBQTRELENBQUM7QUFFakU7OztHQUdHO0FBQ0gsTUFBTSwrQkFBK0IsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLDJDQUF1QixTQUFTLENBQUMsQ0FBQztBQUV4Rjs7O0dBR0c7QUFDSCxNQUFNLG9CQUFvQixHQUE2QixPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUUxRjs7O0dBR0c7QUFDSCxNQUFhLDZCQUE4QixTQUFRLHNCQUFlO0lBQWxFOztRQUNFLFlBQU8sR0FBRyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFN0Isd0VBQXdFO1FBQ3hFLHNFQUFzRTtRQUN0RSxZQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsS0FBSywwQkFBYSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLDBCQUFhLENBQUMsRUFBRSxDQUFDO0lBdUcvRixDQUFDO0lBckdDLFNBQVMsQ0FBQyxXQUFvQjtRQUM1QixvQ0FBb0M7UUFDcEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUM7WUFDcEMsQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ3hE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RTtJQUNsRSxrRUFBa0U7SUFDbEUseUJBQXlCO0lBQ3pCLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUNsRSxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge01pZ3JhdGlvbiwgVGFyZ2V0VmVyc2lvbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL3NjaGVtYXRpY3MnO1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQge21hdGVyaWFsTW9kdWxlU3BlY2lmaWVyfSBmcm9tICcuLi8uLi8uLi9uZy11cGRhdGUvdHlwZXNjcmlwdC9tb2R1bGUtc3BlY2lmaWVycyc7XG5cbmNvbnN0IE9OTFlfU1VCUEFDS0FHRV9GQUlMVVJFX1NUUiA9IGBJbXBvcnRpbmcgZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsXCIgaXMgZGVwcmVjYXRlZC4gYCArXG4gICAgYEluc3RlYWQgaW1wb3J0IGZyb20gdGhlIGVudHJ5LXBvaW50IHRoZSBzeW1ib2wgYmVsb25ncyB0by5gO1xuXG5jb25zdCBOT19JTVBPUlRfTkFNRURfU1lNQk9MU19GQUlMVVJFX1NUUiA9IGBJbXBvcnRzIGZyb20gQW5ndWxhciBNYXRlcmlhbCBzaG91bGQgaW1wb3J0IGAgK1xuICAgIGBzcGVjaWZpYyBzeW1ib2xzIHJhdGhlciB0aGFuIGltcG9ydGluZyB0aGUgZW50aXJlIGxpYnJhcnkuYDtcblxuLyoqXG4gKiBSZWdleCBmb3IgdGVzdGluZyBmaWxlIHBhdGhzIGFnYWluc3QgdG8gZGV0ZXJtaW5lIGlmIHRoZSBmaWxlIGlzIGZyb20gdGhlXG4gKiBBbmd1bGFyIE1hdGVyaWFsIGxpYnJhcnkuXG4gKi9cbmNvbnN0IEFOR1VMQVJfTUFURVJJQUxfRklMRVBBVEhfUkVHRVggPSBuZXcgUmVnRXhwKGAke21hdGVyaWFsTW9kdWxlU3BlY2lmaWVyfS8oLio/KS9gKTtcblxuLyoqXG4gKiBNYXBwaW5nIG9mIE1hdGVyaWFsIHN5bWJvbCBuYW1lcyB0byB0aGVpciBtb2R1bGUgbmFtZXMuIFVzZWQgYXMgYSBmYWxsYmFjayBpZlxuICogd2UgZGlkbid0IG1hbmFnZSB0byByZXNvbHZlIHRoZSBtb2R1bGUgbmFtZSBvZiBhIHN5bWJvbCB1c2luZyB0aGUgdHlwZSBjaGVja2VyLlxuICovXG5jb25zdCBFTlRSWV9QT0lOVF9NQVBQSU5HUzoge1tuYW1lOiBzdHJpbmddOiBzdHJpbmd9ID0gcmVxdWlyZSgnLi9tYXRlcmlhbC1zeW1ib2xzLmpzb24nKTtcblxuLyoqXG4gKiBNaWdyYXRpb24gdGhhdCB1cGRhdGVzIGltcG9ydHMgd2hpY2ggcmVmZXIgdG8gdGhlIHByaW1hcnkgQW5ndWxhciBNYXRlcmlhbFxuICogZW50cnktcG9pbnQgdG8gdXNlIHRoZSBhcHByb3ByaWF0ZSBzZWNvbmRhcnkgZW50cnkgcG9pbnRzIChlLmcuIEBhbmd1bGFyL21hdGVyaWFsL2J1dHRvbikuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWNvbmRhcnlFbnRyeVBvaW50c01pZ3JhdGlvbiBleHRlbmRzIE1pZ3JhdGlvbjxudWxsPiB7XG4gIHByaW50ZXIgPSB0cy5jcmVhdGVQcmludGVyKCk7XG5cbiAgLy8gT25seSBlbmFibGUgdGhpcyBydWxlIGlmIHRoZSBtaWdyYXRpb24gdGFyZ2V0cyB2ZXJzaW9uIDguIFRoZSBwcmltYXJ5XG4gIC8vIGVudHJ5LXBvaW50IG9mIE1hdGVyaWFsIGhhcyBiZWVuIG1hcmtlZCBhcyBkZXByZWNhdGVkIGluIHZlcnNpb24gOC5cbiAgZW5hYmxlZCA9IHRoaXMudGFyZ2V0VmVyc2lvbiA9PT0gVGFyZ2V0VmVyc2lvbi5WOCB8fCB0aGlzLnRhcmdldFZlcnNpb24gPT09IFRhcmdldFZlcnNpb24uVjk7XG5cbiAgdmlzaXROb2RlKGRlY2xhcmF0aW9uOiB0cy5Ob2RlKTogdm9pZCB7XG4gICAgLy8gT25seSBsb29rIGF0IGltcG9ydCBkZWNsYXJhdGlvbnMuXG4gICAgaWYgKCF0cy5pc0ltcG9ydERlY2xhcmF0aW9uKGRlY2xhcmF0aW9uKSB8fFxuICAgICAgICAhdHMuaXNTdHJpbmdMaXRlcmFsTGlrZShkZWNsYXJhdGlvbi5tb2R1bGVTcGVjaWZpZXIpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaW1wb3J0TG9jYXRpb24gPSBkZWNsYXJhdGlvbi5tb2R1bGVTcGVjaWZpZXIudGV4dDtcbiAgICAvLyBJZiB0aGUgaW1wb3J0IG1vZHVsZSBpcyBub3QgQGFuZ3VsYXIvbWF0ZXJpYWwsIHNraXAgdGhlIGNoZWNrLlxuICAgIGlmIChpbXBvcnRMb2NhdGlvbiAhPT0gbWF0ZXJpYWxNb2R1bGVTcGVjaWZpZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBJZiBubyBpbXBvcnQgY2xhdXNlIGlzIGZvdW5kLCBvciBub3RoaW5nIGlzIG5hbWVkIGFzIGEgYmluZGluZyBpbiB0aGVcbiAgICAvLyBpbXBvcnQsIGFkZCBmYWlsdXJlIHNheWluZyB0byBpbXBvcnQgc3ltYm9scyBpbiBjbGF1c2UuXG4gICAgaWYgKCFkZWNsYXJhdGlvbi5pbXBvcnRDbGF1c2UgfHwgIWRlY2xhcmF0aW9uLmltcG9ydENsYXVzZS5uYW1lZEJpbmRpbmdzKSB7XG4gICAgICB0aGlzLmNyZWF0ZUZhaWx1cmVBdE5vZGUoZGVjbGFyYXRpb24sIE5PX0lNUE9SVF9OQU1FRF9TWU1CT0xTX0ZBSUxVUkVfU1RSKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBBbGwgbmFtZWQgYmluZGluZ3MgaW4gaW1wb3J0IGNsYXVzZXMgbXVzdCBiZSBuYW1lZCBzeW1ib2xzLCBvdGhlcndpc2UgYWRkXG4gICAgLy8gZmFpbHVyZSBzYXlpbmcgdG8gaW1wb3J0IHN5bWJvbHMgaW4gY2xhdXNlLlxuICAgIGlmICghdHMuaXNOYW1lZEltcG9ydHMoZGVjbGFyYXRpb24uaW1wb3J0Q2xhdXNlLm5hbWVkQmluZGluZ3MpKSB7XG4gICAgICB0aGlzLmNyZWF0ZUZhaWx1cmVBdE5vZGUoZGVjbGFyYXRpb24sIE5PX0lNUE9SVF9OQU1FRF9TWU1CT0xTX0ZBSUxVUkVfU1RSKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBJZiBubyBzeW1ib2xzIGFyZSBpbiB0aGUgbmFtZWQgYmluZGluZ3MgdGhlbiBhZGQgZmFpbHVyZSBzYXlpbmcgdG9cbiAgICAvLyBpbXBvcnQgc3ltYm9scyBpbiBjbGF1c2UuXG4gICAgaWYgKCFkZWNsYXJhdGlvbi5pbXBvcnRDbGF1c2UubmFtZWRCaW5kaW5ncy5lbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuY3JlYXRlRmFpbHVyZUF0Tm9kZShkZWNsYXJhdGlvbiwgTk9fSU1QT1JUX05BTUVEX1NZTUJPTFNfRkFJTFVSRV9TVFIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFdoZXRoZXIgdGhlIGV4aXN0aW5nIGltcG9ydCBkZWNsYXJhdGlvbiBpcyB1c2luZyBhIHNpbmdsZSBxdW90ZSBtb2R1bGUgc3BlY2lmaWVyLlxuICAgIGNvbnN0IHNpbmdsZVF1b3RlSW1wb3J0ID0gZGVjbGFyYXRpb24ubW9kdWxlU3BlY2lmaWVyLmdldFRleHQoKVswXSA9PT0gYCdgO1xuXG4gICAgLy8gTWFwIHdoaWNoIGNvbnNpc3RzIG9mIHNlY29uZGFyeSBlbnRyeS1wb2ludHMgYW5kIGltcG9ydCBzcGVjaWZpZXJzIHdoaWNoIGFyZSB1c2VkXG4gICAgLy8gd2l0aGluIHRoZSBjdXJyZW50IGltcG9ydCBkZWNsYXJhdGlvbi5cbiAgICBjb25zdCBpbXBvcnRNYXAgPSBuZXcgTWFwPHN0cmluZywgdHMuSW1wb3J0U3BlY2lmaWVyW10+KCk7XG5cbiAgICAvLyBEZXRlcm1pbmUgdGhlIHN1YnBhY2thZ2UgZWFjaCBzeW1ib2wgaW4gdGhlIG5hbWVkQmluZGluZyBjb21lcyBmcm9tLlxuICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiBkZWNsYXJhdGlvbi5pbXBvcnRDbGF1c2UubmFtZWRCaW5kaW5ncy5lbGVtZW50cykge1xuICAgICAgY29uc3QgZWxlbWVudE5hbWUgPSBlbGVtZW50LnByb3BlcnR5TmFtZSA/IGVsZW1lbnQucHJvcGVydHlOYW1lIDogZWxlbWVudC5uYW1lO1xuXG4gICAgICAvLyBUcnkgdG8gcmVzb2x2ZSB0aGUgbW9kdWxlIG5hbWUgdmlhIHRoZSB0eXBlIGNoZWNrZXIsIGFuZCBpZiBpdCBmYWlscywgZmFsbCBiYWNrIHRvXG4gICAgICAvLyByZXNvbHZpbmcgaXQgZnJvbSBvdXIgbGlzdCBvZiBzeW1ib2wgdG8gZW50cnkgcG9pbnQgbWFwcGluZ3MuIFVzaW5nIHRoZSB0eXBlIGNoZWNrZXIgaXNcbiAgICAgIC8vIG1vcmUgYWNjdXJhdGUgYW5kIGRvZXNuJ3QgcmVxdWlyZSB1cyB0byBrZWVwIGEgbGlzdCBvZiBzeW1ib2xzLCBidXQgaXQgd29uJ3Qgd29yayBpZlxuICAgICAgLy8gdGhlIHN5bWJvbHMgZG9uJ3QgZXhpc3QgYW55bW9yZSAoZS5nLiBhZnRlciB3ZSByZW1vdmUgdGhlIHRvcC1sZXZlbCBAYW5ndWxhci9tYXRlcmlhbCkuXG4gICAgICBjb25zdCBtb2R1bGVOYW1lID0gcmVzb2x2ZU1vZHVsZU5hbWUoZWxlbWVudE5hbWUsIHRoaXMudHlwZUNoZWNrZXIpIHx8XG4gICAgICAgICAgRU5UUllfUE9JTlRfTUFQUElOR1NbZWxlbWVudE5hbWUudGV4dF0gfHwgbnVsbDtcblxuICAgICAgaWYgKCFtb2R1bGVOYW1lKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlRmFpbHVyZUF0Tm9kZShcbiAgICAgICAgICBlbGVtZW50LCBgXCIke2VsZW1lbnQuZ2V0VGV4dCgpfVwiIHdhcyBub3QgZm91bmQgaW4gdGhlIE1hdGVyaWFsIGxpYnJhcnkuYCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgICAvLyBUaGUgbW9kdWxlIG5hbWUgd2hlcmUgdGhlIHN5bWJvbCBpcyBkZWZpbmVkIGUuZy4gY2FyZCwgZGlhbG9nLiBUaGVcbiAgICAgICAgLy8gZmlyc3QgY2FwdHVyZSBncm91cCBpcyBjb250YWlucyB0aGUgbW9kdWxlIG5hbWUuXG4gICAgICAgIGlmIChpbXBvcnRNYXAuaGFzKG1vZHVsZU5hbWUpKSB7XG4gICAgICAgICAgaW1wb3J0TWFwLmdldChtb2R1bGVOYW1lKSEucHVzaChlbGVtZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpbXBvcnRNYXAuc2V0KG1vZHVsZU5hbWUsIFtlbGVtZW50XSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUcmFuc2Zvcm1zIHRoZSBpbXBvcnQgZGVjbGFyYXRpb24gaW50byBtdWx0aXBsZSBpbXBvcnQgZGVjbGFyYXRpb25zIHRoYXQgaW1wb3J0XG4gICAgLy8gdGhlIGdpdmVuIHN5bWJvbHMgZnJvbSB0aGUgaW5kaXZpZHVhbCBzZWNvbmRhcnkgZW50cnktcG9pbnRzLiBGb3IgZXhhbXBsZTpcbiAgICAvLyBpbXBvcnQge01hdENhcmRNb2R1bGUsIE1hdENhcmRUaXRsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG4gICAgLy8gaW1wb3J0IHtNYXRSYWRpb01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuICAgIGNvbnN0IG5ld0ltcG9ydFN0YXRlbWVudHMgPVxuICAgICAgICBBcnJheS5mcm9tKGltcG9ydE1hcC5lbnRyaWVzKCkpXG4gICAgICAgICAgICAuc29ydCgpXG4gICAgICAgICAgICAubWFwKChbbmFtZSwgZWxlbWVudHNdKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld0ltcG9ydCA9IHRzLmNyZWF0ZUltcG9ydERlY2xhcmF0aW9uKFxuICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLCB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICB0cy5jcmVhdGVJbXBvcnRDbGF1c2UodW5kZWZpbmVkLCB0cy5jcmVhdGVOYW1lZEltcG9ydHMoZWxlbWVudHMpKSxcbiAgICAgICAgICAgICAgICAgIGNyZWF0ZVN0cmluZ0xpdGVyYWwoYCR7bWF0ZXJpYWxNb2R1bGVTcGVjaWZpZXJ9LyR7bmFtZX1gLCBzaW5nbGVRdW90ZUltcG9ydCkpO1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcmludGVyLnByaW50Tm9kZShcbiAgICAgICAgICAgICAgICAgIHRzLkVtaXRIaW50LlVuc3BlY2lmaWVkLCBuZXdJbXBvcnQsIGRlY2xhcmF0aW9uLmdldFNvdXJjZUZpbGUoKSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmpvaW4oJ1xcbicpO1xuXG4gICAgLy8gV2l0aG91dCBhbnkgaW1wb3J0IHN0YXRlbWVudHMgdGhhdCB3ZXJlIGdlbmVyYXRlZCwgd2UgY2FuIGFzc3VtZSB0aGF0IHRoaXMgd2FzIGFuIGVtcHR5XG4gICAgLy8gaW1wb3J0IGRlY2xhcmF0aW9uLiBXZSBzdGlsbCB3YW50IHRvIGFkZCBhIGZhaWx1cmUgaW4gb3JkZXIgdG8gbWFrZSBkZXZlbG9wZXJzIGF3YXJlIHRoYXRcbiAgICAvLyBpbXBvcnRpbmcgZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsXCIgaXMgZGVwcmVjYXRlZC5cbiAgICBpZiAoIW5ld0ltcG9ydFN0YXRlbWVudHMpIHtcbiAgICAgIHRoaXMuY3JlYXRlRmFpbHVyZUF0Tm9kZShkZWNsYXJhdGlvbi5tb2R1bGVTcGVjaWZpZXIsIE9OTFlfU1VCUEFDS0FHRV9GQUlMVVJFX1NUUik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZVBhdGggPSB0aGlzLmZpbGVTeXN0ZW0ucmVzb2x2ZShcbiAgICAgICAgZGVjbGFyYXRpb24ubW9kdWxlU3BlY2lmaWVyLmdldFNvdXJjZUZpbGUoKS5maWxlTmFtZSk7XG4gICAgY29uc3QgcmVjb3JkZXIgPSB0aGlzLmZpbGVTeXN0ZW0uZWRpdChmaWxlUGF0aCk7XG5cbiAgICAvLyBQZXJmb3JtIHRoZSByZXBsYWNlbWVudCB0aGF0IHN3aXRjaGVzIHRoZSBwcmltYXJ5IGVudHJ5LXBvaW50IGltcG9ydCB0b1xuICAgIC8vIHRoZSBpbmRpdmlkdWFsIHNlY29uZGFyeSBlbnRyeS1wb2ludCBpbXBvcnRzLlxuICAgIHJlY29yZGVyLnJlbW92ZShkZWNsYXJhdGlvbi5nZXRTdGFydCgpLCBkZWNsYXJhdGlvbi5nZXRXaWR0aCgpKTtcbiAgICByZWNvcmRlci5pbnNlcnRSaWdodChkZWNsYXJhdGlvbi5nZXRTdGFydCgpLCBuZXdJbXBvcnRTdGF0ZW1lbnRzKTtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBzdHJpbmcgbGl0ZXJhbCBmcm9tIHRoZSBzcGVjaWZpZWQgdGV4dC5cbiAqIEBwYXJhbSB0ZXh0IFRleHQgb2YgdGhlIHN0cmluZyBsaXRlcmFsLlxuICogQHBhcmFtIHNpbmdsZVF1b3RlcyBXaGV0aGVyIHNpbmdsZSBxdW90ZXMgc2hvdWxkIGJlIHVzZWQgd2hlbiBwcmludGluZyB0aGUgbGl0ZXJhbCBub2RlLlxuICovXG5mdW5jdGlvbiBjcmVhdGVTdHJpbmdMaXRlcmFsKHRleHQ6IHN0cmluZywgc2luZ2xlUXVvdGVzOiBib29sZWFuKTogdHMuU3RyaW5nTGl0ZXJhbCB7XG4gIGNvbnN0IGxpdGVyYWwgPSB0cy5jcmVhdGVTdHJpbmdMaXRlcmFsKHRleHQpO1xuICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdC9ibG9iL21hc3Rlci9zcmMvY29tcGlsZXIvdXRpbGl0aWVzLnRzI0w1ODQtTDU5MFxuICBsaXRlcmFsWydzaW5nbGVRdW90ZSddID0gc2luZ2xlUXVvdGVzO1xuICByZXR1cm4gbGl0ZXJhbDtcbn1cblxuLyoqIEdldHMgdGhlIHN5bWJvbCB0aGF0IGNvbnRhaW5zIHRoZSB2YWx1ZSBkZWNsYXJhdGlvbiBvZiB0aGUgZ2l2ZW4gbm9kZS4gKi9cbmZ1bmN0aW9uIGdldERlY2xhcmF0aW9uU3ltYm9sT2ZOb2RlKG5vZGU6IHRzLk5vZGUsIGNoZWNrZXI6IHRzLlR5cGVDaGVja2VyKTogdHMuU3ltYm9sfHVuZGVmaW5lZCB7XG4gIGNvbnN0IHN5bWJvbCA9IGNoZWNrZXIuZ2V0U3ltYm9sQXRMb2NhdGlvbihub2RlKTtcblxuICAvLyBTeW1ib2xzIGNhbiBiZSBhbGlhc2VzIG9mIHRoZSBkZWNsYXJhdGlvbiBzeW1ib2wuIGUuZy4gaW4gbmFtZWQgaW1wb3J0IHNwZWNpZmllcnMuXG4gIC8vIFdlIG5lZWQgdG8gcmVzb2x2ZSB0aGUgYWxpYXNlZCBzeW1ib2wgYmFjayB0byB0aGUgZGVjbGFyYXRpb24gc3ltYm9sLlxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYml0d2lzZVxuICBpZiAoc3ltYm9sICYmIChzeW1ib2wuZmxhZ3MgJiB0cy5TeW1ib2xGbGFncy5BbGlhcykgIT09IDApIHtcbiAgICByZXR1cm4gY2hlY2tlci5nZXRBbGlhc2VkU3ltYm9sKHN5bWJvbCk7XG4gIH1cbiAgcmV0dXJuIHN5bWJvbDtcbn1cblxuXG4vKiogVHJpZXMgdG8gcmVzb2x2ZSB0aGUgbmFtZSBvZiB0aGUgTWF0ZXJpYWwgbW9kdWxlIHRoYXQgYSBub2RlIGlzIGltcG9ydGVkIGZyb20uICovXG5mdW5jdGlvbiByZXNvbHZlTW9kdWxlTmFtZShub2RlOiB0cy5JZGVudGlmaWVyLCB0eXBlQ2hlY2tlcjogdHMuVHlwZUNoZWNrZXIpIHtcbiAgLy8gR2V0IHRoZSBzeW1ib2wgZm9yIHRoZSBuYW1lZCBiaW5kaW5nIGVsZW1lbnQuIE5vdGUgdGhhdCB3ZSBjYW5ub3QgZGV0ZXJtaW5lIHRoZVxuICAvLyB2YWx1ZSBkZWNsYXJhdGlvbiBiYXNlZCBvbiB0aGUgdHlwZSBvZiB0aGUgZWxlbWVudCBhcyB0eXBlcyBhcmUgbm90IG5lY2Vzc2FyaWx5XG4gIC8vIHNwZWNpZmljIHRvIGEgZ2l2ZW4gc2Vjb25kYXJ5IGVudHJ5LXBvaW50IChlLmcuIGV4cG9ydHMgd2l0aCB0aGUgdHlwZSBvZiBcInN0cmluZ1wiKVxuICAvLyB3b3VsZCByZXNvbHZlIHRvIHRoZSBtb2R1bGUgdHlwZXMgcHJvdmlkZWQgYnkgVHlwZVNjcmlwdCBpdHNlbGYuXG4gIGNvbnN0IHN5bWJvbCA9IGdldERlY2xhcmF0aW9uU3ltYm9sT2ZOb2RlKG5vZGUsIHR5cGVDaGVja2VyKTtcblxuICAvLyBJZiB0aGUgc3ltYm9sIGNhbid0IGJlIGZvdW5kLCBvciBubyBkZWNsYXJhdGlvbiBjb3VsZCBiZSBmb3VuZCB3aXRoaW5cbiAgLy8gdGhlIHN5bWJvbCwgYWRkIGZhaWx1cmUgdG8gcmVwb3J0IHRoYXQgdGhlIGdpdmVuIHN5bWJvbCBjYW4ndCBiZSBmb3VuZC5cbiAgaWYgKCFzeW1ib2wgfHxcbiAgICAgICEoc3ltYm9sLnZhbHVlRGVjbGFyYXRpb24gfHwgKHN5bWJvbC5kZWNsYXJhdGlvbnMgJiYgc3ltYm9sLmRlY2xhcmF0aW9ucy5sZW5ndGggIT09IDApKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gVGhlIGZpbGVuYW1lIGZvciB0aGUgc291cmNlIGZpbGUgb2YgdGhlIG5vZGUgdGhhdCBjb250YWlucyB0aGVcbiAgLy8gZmlyc3QgZGVjbGFyYXRpb24gb2YgdGhlIHN5bWJvbC4gQWxsIHN5bWJvbCBkZWNsYXJhdGlvbnMgbXVzdCBiZVxuICAvLyBwYXJ0IG9mIGEgZGVmaW5pbmcgbm9kZSwgc28gcGFyZW50IGNhbiBiZSBhc3NlcnRlZCB0byBiZSBkZWZpbmVkLlxuICBjb25zdCByZXNvbHZlZE5vZGUgPSBzeW1ib2wudmFsdWVEZWNsYXJhdGlvbiB8fCBzeW1ib2wuZGVjbGFyYXRpb25zWzBdO1xuICBjb25zdCBzb3VyY2VGaWxlID0gcmVzb2x2ZWROb2RlLmdldFNvdXJjZUZpbGUoKS5maWxlTmFtZTtcblxuICAvLyBGaWxlIHRoZSBtb2R1bGUgdGhlIHN5bWJvbCBiZWxvbmdzIHRvIGZyb20gYSByZWdleCBtYXRjaCBvZiB0aGVcbiAgLy8gZmlsZW5hbWUuIFRoaXMgd2lsbCBhbHdheXMgbWF0Y2ggc2luY2Ugb25seSBcIkBhbmd1bGFyL21hdGVyaWFsXCJcbiAgLy8gZWxlbWVudHMgYXJlIGFuYWx5emVkLlxuICBjb25zdCBtYXRjaGVzID0gc291cmNlRmlsZS5tYXRjaChBTkdVTEFSX01BVEVSSUFMX0ZJTEVQQVRIX1JFR0VYKTtcbiAgcmV0dXJuIG1hdGNoZXMgPyBtYXRjaGVzWzFdIDogbnVsbDtcbn1cbiJdfQ==
|
package/schematics/{ng-generate/theming-api → ng-update/migrations/theming-api-v12}/config.d.ts
RENAMED
|
@@ -20,3 +20,9 @@ export declare const cdkMixins: Record<string, string>;
|
|
|
20
20
|
* and which should be replaced with their values.
|
|
21
21
|
*/
|
|
22
22
|
export declare const removedMaterialVariables: Record<string, string>;
|
|
23
|
+
/**
|
|
24
|
+
* Material variables **without a `mat-` prefix** that have been removed from the public API
|
|
25
|
+
* and which should be replaced with their values. These should be migrated only when there's a
|
|
26
|
+
* Material import, because their names could conflict with other variables in the user's app.
|
|
27
|
+
*/
|
|
28
|
+
export declare const unprefixedRemovedVariables: Record<string, string>;
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.io/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.unprefixedRemovedVariables = exports.removedMaterialVariables = exports.cdkMixins = exports.cdkVariables = exports.materialVariables = exports.materialFunctions = exports.materialMixins = void 0;
|
|
11
|
+
/** Mapping of Material mixins that should be renamed. */
|
|
12
|
+
exports.materialMixins = {
|
|
13
|
+
'mat-core': 'core',
|
|
14
|
+
'mat-core-color': 'core-color',
|
|
15
|
+
'mat-core-theme': 'core-theme',
|
|
16
|
+
'angular-material-theme': 'all-component-themes',
|
|
17
|
+
'angular-material-typography': 'all-component-typographies',
|
|
18
|
+
'angular-material-color': 'all-component-colors',
|
|
19
|
+
'mat-base-typography': 'typography-hierarchy',
|
|
20
|
+
'mat-typography-level-to-styles': 'typography-level',
|
|
21
|
+
'mat-elevation': 'elevation',
|
|
22
|
+
'mat-overridable-elevation': 'overridable-elevation',
|
|
23
|
+
'mat-elevation-transition': 'elevation-transition',
|
|
24
|
+
'mat-ripple': 'ripple',
|
|
25
|
+
'mat-ripple-color': 'ripple-color',
|
|
26
|
+
'mat-ripple-theme': 'ripple-theme',
|
|
27
|
+
'mat-strong-focus-indicators': 'strong-focus-indicators',
|
|
28
|
+
'mat-strong-focus-indicators-color': 'strong-focus-indicators-color',
|
|
29
|
+
'mat-strong-focus-indicators-theme': 'strong-focus-indicators-theme',
|
|
30
|
+
'mat-font-shorthand': 'font-shorthand',
|
|
31
|
+
// The expansion panel is a special case, because the package is called `expansion`, but the
|
|
32
|
+
// mixins were prefixed with `expansion-panel`. This was corrected by the Sass module migration.
|
|
33
|
+
'mat-expansion-panel-theme': 'expansion-theme',
|
|
34
|
+
'mat-expansion-panel-color': 'expansion-color',
|
|
35
|
+
'mat-expansion-panel-typography': 'expansion-typography',
|
|
36
|
+
};
|
|
37
|
+
// The component themes all follow the same pattern so we can spare ourselves some typing.
|
|
38
|
+
[
|
|
39
|
+
'option', 'optgroup', 'pseudo-checkbox', 'autocomplete', 'badge', 'bottom-sheet', 'button',
|
|
40
|
+
'button-toggle', 'card', 'checkbox', 'chips', 'divider', 'table', 'datepicker', 'dialog',
|
|
41
|
+
'grid-list', 'icon', 'input', 'list', 'menu', 'paginator', 'progress-bar', 'progress-spinner',
|
|
42
|
+
'radio', 'select', 'sidenav', 'slide-toggle', 'slider', 'stepper', 'sort', 'tabs', 'toolbar',
|
|
43
|
+
'tooltip', 'snack-bar', 'form-field', 'tree'
|
|
44
|
+
].forEach(name => {
|
|
45
|
+
exports.materialMixins[`mat-${name}-theme`] = `${name}-theme`;
|
|
46
|
+
exports.materialMixins[`mat-${name}-color`] = `${name}-color`;
|
|
47
|
+
exports.materialMixins[`mat-${name}-typography`] = `${name}-typography`;
|
|
48
|
+
});
|
|
49
|
+
/** Mapping of Material functions that should be renamed. */
|
|
50
|
+
exports.materialFunctions = {
|
|
51
|
+
'mat-color': 'get-color-from-palette',
|
|
52
|
+
'mat-contrast': 'get-contrast-color-from-palette',
|
|
53
|
+
'mat-palette': 'define-palette',
|
|
54
|
+
'mat-dark-theme': 'define-dark-theme',
|
|
55
|
+
'mat-light-theme': 'define-light-theme',
|
|
56
|
+
'mat-typography-level': 'define-typography-level',
|
|
57
|
+
'mat-typography-config': 'define-typography-config',
|
|
58
|
+
'mat-font-size': 'font-size',
|
|
59
|
+
'mat-line-height': 'line-height',
|
|
60
|
+
'mat-font-weight': 'font-weight',
|
|
61
|
+
'mat-letter-spacing': 'letter-spacing',
|
|
62
|
+
'mat-font-family': 'font-family',
|
|
63
|
+
};
|
|
64
|
+
/** Mapping of Material variables that should be renamed. */
|
|
65
|
+
exports.materialVariables = {
|
|
66
|
+
'mat-light-theme-background': 'light-theme-background-palette',
|
|
67
|
+
'mat-dark-theme-background': 'dark-theme-background-palette',
|
|
68
|
+
'mat-light-theme-foreground': 'light-theme-foreground-palette',
|
|
69
|
+
'mat-dark-theme-foreground': 'dark-theme-foreground-palette',
|
|
70
|
+
};
|
|
71
|
+
// The palettes all follow the same pattern.
|
|
72
|
+
[
|
|
73
|
+
'red', 'pink', 'indigo', 'purple', 'deep-purple', 'blue', 'light-blue', 'cyan', 'teal', 'green',
|
|
74
|
+
'light-green', 'lime', 'yellow', 'amber', 'orange', 'deep-orange', 'brown', 'grey', 'gray',
|
|
75
|
+
'blue-grey', 'blue-gray'
|
|
76
|
+
].forEach(name => exports.materialVariables[`mat-${name}`] = `${name}-palette`);
|
|
77
|
+
/** Mapping of CDK variables that should be renamed. */
|
|
78
|
+
exports.cdkVariables = {
|
|
79
|
+
'cdk-z-index-overlay-container': 'overlay-container-z-index',
|
|
80
|
+
'cdk-z-index-overlay': 'overlay-z-index',
|
|
81
|
+
'cdk-z-index-overlay-backdrop': 'overlay-backdrop-z-index',
|
|
82
|
+
'cdk-overlay-dark-backdrop-background': 'overlay-backdrop-color',
|
|
83
|
+
};
|
|
84
|
+
/** Mapping of CDK mixins that should be renamed. */
|
|
85
|
+
exports.cdkMixins = {
|
|
86
|
+
'cdk-overlay': 'overlay',
|
|
87
|
+
'cdk-a11y': 'a11y-visually-hidden',
|
|
88
|
+
'cdk-high-contrast': 'high-contrast',
|
|
89
|
+
'cdk-text-field-autofill-color': 'text-field-autofill-color',
|
|
90
|
+
// This one was split up into two mixins which is trickier to
|
|
91
|
+
// migrate so for now we forward to the deprecated variant.
|
|
92
|
+
'cdk-text-field': 'text-field',
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Material variables that have been removed from the public API
|
|
96
|
+
* and which should be replaced with their values.
|
|
97
|
+
*/
|
|
98
|
+
exports.removedMaterialVariables = {
|
|
99
|
+
// Note: there's also a usage of a variable called `$pi`, but the name is short enough that
|
|
100
|
+
// it matches things like `$mat-pink`. Don't migrate it since it's unlikely to be used.
|
|
101
|
+
'mat-xsmall': 'max-width: 599px',
|
|
102
|
+
'mat-small': 'max-width: 959px',
|
|
103
|
+
'mat-toggle-padding': '8px',
|
|
104
|
+
'mat-toggle-size': '20px',
|
|
105
|
+
'mat-linear-out-slow-in-timing-function': 'cubic-bezier(0, 0, 0.2, 0.1)',
|
|
106
|
+
'mat-fast-out-slow-in-timing-function': 'cubic-bezier(0.4, 0, 0.2, 1)',
|
|
107
|
+
'mat-fast-out-linear-in-timing-function': 'cubic-bezier(0.4, 0, 1, 1)',
|
|
108
|
+
'mat-elevation-transition-duration': '280ms',
|
|
109
|
+
'mat-elevation-transition-timing-function': 'cubic-bezier(0.4, 0, 0.2, 1)',
|
|
110
|
+
'mat-elevation-color': '#000',
|
|
111
|
+
'mat-elevation-opacity': '1',
|
|
112
|
+
'mat-elevation-prefix': `'mat-elevation-z'`,
|
|
113
|
+
'mat-ripple-color-opacity': '0.1',
|
|
114
|
+
'mat-badge-font-size': '12px',
|
|
115
|
+
'mat-badge-font-weight': '600',
|
|
116
|
+
'mat-badge-default-size': '22px',
|
|
117
|
+
'mat-badge-small-size': '16px',
|
|
118
|
+
'mat-badge-large-size': '28px',
|
|
119
|
+
'mat-button-toggle-standard-height': '48px',
|
|
120
|
+
'mat-button-toggle-standard-minimum-height': '24px',
|
|
121
|
+
'mat-button-toggle-standard-maximum-height': '48px',
|
|
122
|
+
'mat-chip-remove-font-size': '18px',
|
|
123
|
+
'mat-datepicker-selected-today-box-shadow-width': '1px',
|
|
124
|
+
'mat-datepicker-selected-fade-amount': '0.6',
|
|
125
|
+
'mat-datepicker-range-fade-amount': '0.2',
|
|
126
|
+
'mat-datepicker-today-fade-amount': '0.2',
|
|
127
|
+
'mat-calendar-body-font-size': '13px',
|
|
128
|
+
'mat-calendar-weekday-table-font-size': '11px',
|
|
129
|
+
'mat-expansion-panel-header-collapsed-height': '48px',
|
|
130
|
+
'mat-expansion-panel-header-collapsed-minimum-height': '36px',
|
|
131
|
+
'mat-expansion-panel-header-collapsed-maximum-height': '48px',
|
|
132
|
+
'mat-expansion-panel-header-expanded-height': '64px',
|
|
133
|
+
'mat-expansion-panel-header-expanded-minimum-height': '48px',
|
|
134
|
+
'mat-expansion-panel-header-expanded-maximum-height': '64px',
|
|
135
|
+
'mat-expansion-panel-header-transition': '225ms cubic-bezier(0.4, 0, 0.2, 1)',
|
|
136
|
+
'mat-paginator-height': '56px',
|
|
137
|
+
'mat-paginator-minimum-height': '40px',
|
|
138
|
+
'mat-paginator-maximum-height': '56px',
|
|
139
|
+
'mat-stepper-header-height': '72px',
|
|
140
|
+
'mat-stepper-header-minimum-height': '42px',
|
|
141
|
+
'mat-stepper-header-maximum-height': '72px',
|
|
142
|
+
'mat-stepper-label-header-height': '24px',
|
|
143
|
+
'mat-stepper-label-position-bottom-top-gap': '16px',
|
|
144
|
+
'mat-stepper-label-min-width': '50px',
|
|
145
|
+
'mat-vertical-stepper-content-margin': '36px',
|
|
146
|
+
'mat-stepper-side-gap': '24px',
|
|
147
|
+
'mat-stepper-line-width': '1px',
|
|
148
|
+
'mat-stepper-line-gap': '8px',
|
|
149
|
+
'mat-step-sub-label-font-size': '12px',
|
|
150
|
+
'mat-step-header-icon-size': '16px',
|
|
151
|
+
'mat-toolbar-minimum-height': '44px',
|
|
152
|
+
'mat-toolbar-height-desktop': '64px',
|
|
153
|
+
'mat-toolbar-maximum-height-desktop': '64px',
|
|
154
|
+
'mat-toolbar-minimum-height-desktop': '44px',
|
|
155
|
+
'mat-toolbar-height-mobile': '56px',
|
|
156
|
+
'mat-toolbar-maximum-height-mobile': '56px',
|
|
157
|
+
'mat-toolbar-minimum-height-mobile': '44px',
|
|
158
|
+
'mat-tooltip-target-height': '22px',
|
|
159
|
+
'mat-tooltip-font-size': '10px',
|
|
160
|
+
'mat-tooltip-vertical-padding': '6px',
|
|
161
|
+
'mat-tooltip-handset-target-height': '30px',
|
|
162
|
+
'mat-tooltip-handset-font-size': '14px',
|
|
163
|
+
'mat-tooltip-handset-vertical-padding': '8px',
|
|
164
|
+
'mat-tree-node-height': '48px',
|
|
165
|
+
'mat-tree-node-minimum-height': '24px',
|
|
166
|
+
'mat-tree-node-maximum-height': '48px',
|
|
167
|
+
};
|
|
168
|
+
/**
|
|
169
|
+
* Material variables **without a `mat-` prefix** that have been removed from the public API
|
|
170
|
+
* and which should be replaced with their values. These should be migrated only when there's a
|
|
171
|
+
* Material import, because their names could conflict with other variables in the user's app.
|
|
172
|
+
*/
|
|
173
|
+
exports.unprefixedRemovedVariables = {
|
|
174
|
+
'z-index-fab': '20',
|
|
175
|
+
'z-index-drawer': '100',
|
|
176
|
+
'ease-in-out-curve-function': 'cubic-bezier(0.35, 0, 0.25, 1)',
|
|
177
|
+
'swift-ease-out-duration': '400ms',
|
|
178
|
+
'swift-ease-out-timing-function': 'cubic-bezier(0.25, 0.8, 0.25, 1)',
|
|
179
|
+
'swift-ease-out': 'all 400ms cubic-bezier(0.25, 0.8, 0.25, 1)',
|
|
180
|
+
'swift-ease-in-duration': '300ms',
|
|
181
|
+
'swift-ease-in-timing-function': 'cubic-bezier(0.55, 0, 0.55, 0.2)',
|
|
182
|
+
'swift-ease-in': 'all 300ms cubic-bezier(0.55, 0, 0.55, 0.2)',
|
|
183
|
+
'swift-ease-in-out-duration': '500ms',
|
|
184
|
+
'swift-ease-in-out-timing-function': 'cubic-bezier(0.35, 0, 0.25, 1)',
|
|
185
|
+
'swift-ease-in-out': 'all 500ms cubic-bezier(0.35, 0, 0.25, 1)',
|
|
186
|
+
'swift-linear-duration': '80ms',
|
|
187
|
+
'swift-linear-timing-function': 'linear',
|
|
188
|
+
'swift-linear': 'all 80ms linear',
|
|
189
|
+
'black-87-opacity': 'rgba(black, 0.87)',
|
|
190
|
+
'white-87-opacity': 'rgba(white, 0.87)',
|
|
191
|
+
'black-12-opacity': 'rgba(black, 0.12)',
|
|
192
|
+
'white-12-opacity': 'rgba(white, 0.12)',
|
|
193
|
+
'black-6-opacity': 'rgba(black, 0.06)',
|
|
194
|
+
'white-6-opacity': 'rgba(white, 0.06)',
|
|
195
|
+
'dark-primary-text': 'rgba(black, 0.87)',
|
|
196
|
+
'dark-secondary-text': 'rgba(black, 0.54)',
|
|
197
|
+
'dark-disabled-text': 'rgba(black, 0.38)',
|
|
198
|
+
'dark-dividers': 'rgba(black, 0.12)',
|
|
199
|
+
'dark-focused': 'rgba(black, 0.12)',
|
|
200
|
+
'light-primary-text': 'white',
|
|
201
|
+
'light-secondary-text': 'rgba(white, 0.7)',
|
|
202
|
+
'light-disabled-text': 'rgba(white, 0.5)',
|
|
203
|
+
'light-dividers': 'rgba(white, 0.12)',
|
|
204
|
+
'light-focused': 'rgba(white, 0.12)',
|
|
205
|
+
};
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsL3NjaGVtYXRpY3MvbmctdXBkYXRlL21pZ3JhdGlvbnMvdGhlbWluZy1hcGktdjEyL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFFSCx5REFBeUQ7QUFDNUMsUUFBQSxjQUFjLEdBQTJCO0lBQ3BELFVBQVUsRUFBRSxNQUFNO0lBQ2xCLGdCQUFnQixFQUFFLFlBQVk7SUFDOUIsZ0JBQWdCLEVBQUUsWUFBWTtJQUM5Qix3QkFBd0IsRUFBRSxzQkFBc0I7SUFDaEQsNkJBQTZCLEVBQUUsNEJBQTRCO0lBQzNELHdCQUF3QixFQUFFLHNCQUFzQjtJQUNoRCxxQkFBcUIsRUFBRSxzQkFBc0I7SUFDN0MsZ0NBQWdDLEVBQUUsa0JBQWtCO0lBQ3BELGVBQWUsRUFBRSxXQUFXO0lBQzVCLDJCQUEyQixFQUFFLHVCQUF1QjtJQUNwRCwwQkFBMEIsRUFBRSxzQkFBc0I7SUFDbEQsWUFBWSxFQUFFLFFBQVE7SUFDdEIsa0JBQWtCLEVBQUUsY0FBYztJQUNsQyxrQkFBa0IsRUFBRSxjQUFjO0lBQ2xDLDZCQUE2QixFQUFFLHlCQUF5QjtJQUN4RCxtQ0FBbUMsRUFBRSwrQkFBK0I7SUFDcEUsbUNBQW1DLEVBQUUsK0JBQStCO0lBQ3BFLG9CQUFvQixFQUFFLGdCQUFnQjtJQUN0Qyw0RkFBNEY7SUFDNUYsZ0dBQWdHO0lBQ2hHLDJCQUEyQixFQUFFLGlCQUFpQjtJQUM5QywyQkFBMkIsRUFBRSxpQkFBaUI7SUFDOUMsZ0NBQWdDLEVBQUUsc0JBQXNCO0NBQ3pELENBQUM7QUFFRiwwRkFBMEY7QUFDMUY7SUFDRSxRQUFRLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVE7SUFDMUYsZUFBZSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVB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LDhCQUE4QixFQUFFLFFBQVE7SUFDeEMsY0FBYyxFQUFFLGlCQUFpQjtJQUNqQyxrQkFBa0IsRUFBRSxtQkFBbUI7SUFDdkMsa0JBQWtCLEVBQUUsbUJBQW1CO0lBQ3ZDLGtCQUFrQixFQUFFLG1CQUFtQjtJQUN2QyxrQkFBa0IsRUFBRSxtQkFBbUI7SUFDdkMsaUJBQWlCLEVBQUUsbUJBQW1CO0lBQ3RDLGlCQUFpQixFQUFFLG1CQUFtQjtJQUN0QyxtQkFBbUIsRUFBRSxtQkFBbUI7SUFDeEMscUJBQXFCLEVBQUUsbUJBQW1CO0lBQzFDLG9CQUFvQixFQUFFLG1CQUFtQjtJQUN6QyxlQUFlLEVBQUUsbUJBQW1CO0lBQ3BDLGNBQWMsRUFBRSxtQkFBbUI7SUFDbkMsb0JBQW9CLEVBQUUsT0FBTztJQUM3QixzQkFBc0IsRUFBRSxrQkFBa0I7SUFDMUMscUJBQXFCLEVBQUUsa0JBQWtCO0lBQ3pDLGdCQUFnQixFQUFFLG1CQUFtQjtJQUNyQyxlQUFlLEVBQUUsbUJBQW1CO0NBQ3JDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLyoqIE1hcHBpbmcgb2YgTWF0ZXJpYWwgbWl4aW5zIHRoYXQgc2hvdWxkIGJlIHJlbmFtZWQuICovXG5leHBvcnQgY29uc3QgbWF0ZXJpYWxNaXhpbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICdtYXQtY29yZSc6ICdjb3JlJyxcbiAgJ21hdC1jb3JlLWNvbG9yJzogJ2NvcmUtY29sb3InLFxuICAnbWF0LWNvcmUtdGhlbWUnOiAnY29yZS10aGVtZScsXG4gICdhbmd1bGFyLW1hdGVyaWFsLXRoZW1lJzogJ2FsbC1jb21wb25lbnQtdGhlbWVzJyxcbiAgJ2FuZ3VsYXItbWF0ZXJpYWwtdHlwb2dyYXBoeSc6ICdhbGwtY29tcG9uZW50LXR5cG9ncmFwaGllcycsXG4gICdhbmd1bGFyLW1hdGVyaWFsLWNvbG9yJzogJ2FsbC1jb21wb25lbnQtY29sb3JzJyxcbiAgJ21hdC1iYXNlLXR5cG9ncmFwaHknOiAndHlwb2dyYXBoeS1oaWVyYXJjaHknLFxuICAnbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzJzogJ3R5cG9ncmFwaHktbGV2ZWwnLFxuICAnbWF0LWVsZXZhdGlvbic6ICdlbGV2YXRpb24nLFxuICAnbWF0LW92ZXJyaWRhYmxlLWVsZXZhdGlvbic6ICdvdmVycmlkYWJsZS1lbGV2YXRpb24nLFxuICAnbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uJzogJ2VsZXZhdGlvbi10cmFuc2l0aW9uJyxcbiAgJ21hdC1yaXBwbGUnOiAncmlwcGxlJyxcbiAgJ21hdC1yaXBwbGUtY29sb3InOiAncmlwcGxlLWNvbG9yJyxcbiAgJ21hdC1yaXBwbGUtdGhlbWUnOiAncmlwcGxlLXRoZW1lJyxcbiAgJ21hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycyc6ICdzdHJvbmctZm9jdXMtaW5kaWNhdG9ycycsXG4gICdtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtY29sb3InOiAnc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtY29sb3InLFxuICAnbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLXRoZW1lJzogJ3N0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLXRoZW1lJyxcbiAgJ21hdC1mb250LXNob3J0aGFuZCc6ICdmb250LXNob3J0aGFuZCcsXG4gIC8vIFRoZSBleHBhbnNpb24gcGFuZWwgaXMgYSBzcGVjaWFsIGNhc2UsIGJlY2F1c2UgdGhlIHBhY2thZ2UgaXMgY2FsbGVkIGBleHBhbnNpb25gLCBidXQgdGhlXG4gIC8vIG1peGlucyB3ZXJlIHByZWZpeGVkIHdpdGggYGV4cGFuc2lvbi1wYW5lbGAuIFRoaXMgd2FzIGNvcnJlY3RlZCBieSB0aGUgU2FzcyBtb2R1bGUgbWlncmF0aW9uLlxuICAnbWF0LWV4cGFuc2lvbi1wYW5lbC10aGVtZSc6ICdleHBhbnNpb24tdGhlbWUnLFxuICAnbWF0LWV4cGFuc2lvbi1wYW5lbC1jb2xvcic6ICdleHBhbnNpb24tY29sb3InLFxuICAnbWF0LWV4cGFuc2lvbi1wYW5lbC10eXBvZ3JhcGh5JzogJ2V4cGFuc2lvbi10eXBvZ3JhcGh5Jyxcbn07XG5cbi8vIFRoZSBjb21wb25lbnQgdGhlbWVzIGFsbCBmb2xsb3cgdGhlIHNhbWUgcGF0dGVybiBzbyB3ZSBjYW4gc3BhcmUgb3Vyc2VsdmVzIHNvbWUgdHlwaW5nLlxuW1xuICAnb3B0aW9uJywgJ29wdGdyb3VwJywgJ3BzZXVkby1jaGVja2JveCcsICdhdXRvY29tcGxldGUnLCAnYmFkZ2UnLCAnYm90dG9tLXNoZWV0JywgJ2J1dHRvbicsXG4gICdidXR0b24tdG9nZ2xlJywgJ2NhcmQnLCAnY2hlY2tib3gnLCAnY2hpcHMnLCAnZGl2aWRlcicsICd0YWJsZScsICdkYXRlcGlja2VyJywgJ2RpYWxvZycsXG4gICdncmlkLWxpc3QnLCAnaWNvbicsICdpbnB1dCcsICdsaXN0JywgJ21lbnUnLCAncGFnaW5hdG9yJywgJ3Byb2dyZXNzLWJhcicsICdwcm9ncmVzcy1zcGlubmVyJyxcbiAgJ3JhZGlvJywgJ3NlbGVjdCcsICdzaWRlbmF2JywgJ3NsaWRlLXRvZ2dsZScsICdzbGlkZXInLCAnc3RlcHBlcicsICdzb3J0JywgJ3RhYnMnLCAndG9vbGJhcicsXG4gICd0b29sdGlwJywgJ3NuYWNrLWJhcicsICdmb3JtLWZpZWxkJywgJ3RyZWUnXG5dLmZvckVhY2gobmFtZSA9PiB7XG4gIG1hdGVyaWFsTWl4aW5zW2BtYXQtJHtuYW1lfS10aGVtZWBdID0gYCR7bmFtZX0tdGhlbWVgO1xuICBtYXRlcmlhbE1peGluc1tgbWF0LSR7bmFtZX0tY29sb3JgXSA9IGAke25hbWV9LWNvbG9yYDtcbiAgbWF0ZXJpYWxNaXhpbnNbYG1hdC0ke25hbWV9LXR5cG9ncmFwaHlgXSA9IGAke25hbWV9LXR5cG9ncmFwaHlgO1xufSk7XG5cbi8qKiBNYXBwaW5nIG9mIE1hdGVyaWFsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSByZW5hbWVkLiAqL1xuZXhwb3J0IGNvbnN0IG1hdGVyaWFsRnVuY3Rpb25zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAnbWF0LWNvbG9yJzogJ2dldC1jb2xvci1mcm9tLXBhbGV0dGUnLFxuICAnbWF0LWNvbnRyYXN0JzogJ2dldC1jb250cmFzdC1jb2xvci1mcm9tLXBhbGV0dGUnLFxuICAnbWF0LXBhbGV0dGUnOiAnZGVmaW5lLXBhbGV0dGUnLFxuICAnbWF0LWRhcmstdGhlbWUnOiAnZGVmaW5lLWRhcmstdGhlbWUnLFxuICAnbWF0LWxpZ2h0LXRoZW1lJzogJ2RlZmluZS1saWdodC10aGVtZScsXG4gICdtYXQtdHlwb2dyYXBoeS1sZXZlbCc6ICdkZWZpbmUtdHlwb2dyYXBoeS1sZXZlbCcsXG4gICdtYXQtdHlwb2dyYXBoeS1jb25maWcnOiAnZGVmaW5lLXR5cG9ncmFwaHktY29uZmlnJyxcbiAgJ21hdC1mb250LXNpemUnOiAnZm9udC1zaXplJyxcbiAgJ21hdC1saW5lLWhlaWdodCc6ICdsaW5lLWhlaWdodCcsXG4gICdtYXQtZm9udC13ZWlnaHQnOiAnZm9udC13ZWlnaHQnLFxuICAnbWF0LWxldHRlci1zcGFjaW5nJzogJ2xldHRlci1zcGFjaW5nJyxcbiAgJ21hdC1mb250LWZhbWlseSc6ICdmb250LWZhbWlseScsXG59O1xuXG4vKiogTWFwcGluZyBvZiBNYXRlcmlhbCB2YXJpYWJsZXMgdGhhdCBzaG91bGQgYmUgcmVuYW1lZC4gKi9cbmV4cG9ydCBjb25zdCBtYXRlcmlhbFZhcmlhYmxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgJ21hdC1saWdodC10aGVtZS1iYWNrZ3JvdW5kJzogJ2xpZ2h0LXRoZW1lLWJhY2tncm91bmQtcGFsZXR0ZScsXG4gICdtYXQtZGFyay10aGVtZS1iYWNrZ3JvdW5kJzogJ2RhcmstdGhlbWUtYmFja2dyb3VuZC1wYWxldHRlJyxcbiAgJ21hdC1saWdodC10aGVtZS1mb3JlZ3JvdW5kJzogJ2xpZ2h0LXRoZW1lLWZvcmVncm91bmQtcGFsZXR0ZScsXG4gICdtYXQtZGFyay10aGVtZS1mb3JlZ3JvdW5kJzogJ2RhcmstdGhlbWUtZm9yZWdyb3VuZC1wYWxldHRlJyxcbn07XG5cbi8vIFRoZSBwYWxldHRlcyBhbGwgZm9sbG93IHRoZSBzYW1lIHBhdHRlcm4uXG5bXG4gICdyZWQnLCAncGluaycsICdpbmRpZ28nLCAncHVycGxlJywgJ2RlZXAtcHVycGxlJywgJ2JsdWUnLCAnbGlnaHQtYmx1ZScsICdjeWFuJywgJ3RlYWwnLCAnZ3JlZW4nLFxuICAnbGlnaHQtZ3JlZW4nLCAnbGltZScsICd5ZWxsb3cnLCAnYW1iZXInLCAnb3JhbmdlJywgJ2RlZXAtb3JhbmdlJywgJ2Jyb3duJywgJ2dyZXknLCAnZ3JheScsXG4gICdibHVlLWdyZXknLCAnYmx1ZS1ncmF5J1xuXS5mb3JFYWNoKG5hbWUgPT4gbWF0ZXJpYWxWYXJpYWJsZXNbYG1hdC0ke25hbWV9YF0gPSBgJHtuYW1lfS1wYWxldHRlYCk7XG5cbi8qKiBNYXBwaW5nIG9mIENESyB2YXJpYWJsZXMgdGhhdCBzaG91bGQgYmUgcmVuYW1lZC4gKi9cbmV4cG9ydCBjb25zdCBjZGtWYXJpYWJsZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICdjZGstei1pbmRleC1vdmVybGF5LWNvbnRhaW5lcic6ICdvdmVybGF5LWNvbnRhaW5lci16LWluZGV4JyxcbiAgJ2Nkay16LWluZGV4LW92ZXJsYXknOiAnb3ZlcmxheS16LWluZGV4JyxcbiAgJ2Nkay16LWluZGV4LW92ZXJsYXktYmFja2Ryb3AnOiAnb3ZlcmxheS1iYWNrZHJvcC16LWluZGV4JyxcbiAgJ2Nkay1vdmVybGF5LWRhcmstYmFja2Ryb3AtYmFja2dyb3VuZCc6ICdvdmVybGF5LWJhY2tkcm9wLWNvbG9yJyxcbn07XG5cbi8qKiBNYXBwaW5nIG9mIENESyBtaXhpbnMgdGhhdCBzaG91bGQgYmUgcmVuYW1lZC4gKi9cbmV4cG9ydCBjb25zdCBjZGtNaXhpbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICdjZGstb3ZlcmxheSc6ICdvdmVybGF5JyxcbiAgJ2Nkay1hMTF5JzogJ2ExMXktdmlzdWFsbHktaGlkZGVuJyxcbiAgJ2Nkay1oaWdoLWNvbnRyYXN0JzogJ2hpZ2gtY29udHJhc3QnLFxuICAnY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3InOiAndGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvcicsXG4gIC8vIFRoaXMgb25lIHdhcyBzcGxpdCB1cCBpbnRvIHR3byBtaXhpbnMgd2hpY2ggaXMgdHJpY2tpZXIgdG9cbiAgLy8gbWlncmF0ZSBzbyBmb3Igbm93IHdlIGZvcndhcmQgdG8gdGhlIGRlcHJlY2F0ZWQgdmFyaWFudC5cbiAgJ2Nkay10ZXh0LWZpZWxkJzogJ3RleHQtZmllbGQnLFxufTtcblxuLyoqXG4gKiBNYXRlcmlhbCB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBwdWJsaWMgQVBJXG4gKiBhbmQgd2hpY2ggc2hvdWxkIGJlIHJlcGxhY2VkIHdpdGggdGhlaXIgdmFsdWVzLlxuICovXG5leHBvcnQgY29uc3QgcmVtb3ZlZE1hdGVyaWFsVmFyaWFibGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAvLyBOb3RlOiB0aGVyZSdzIGFsc28gYSB1c2FnZSBvZiBhIHZhcmlhYmxlIGNhbGxlZCBgJHBpYCwgYnV0IHRoZSBuYW1lIGlzIHNob3J0IGVub3VnaCB0aGF0XG4gIC8vIGl0IG1hdGNoZXMgdGhpbmdzIGxpa2UgYCRtYXQtcGlua2AuIERvbid0IG1pZ3JhdGUgaXQgc2luY2UgaXQncyB1bmxpa2VseSB0byBiZSB1c2VkLlxuICAnbWF0LXhzbWFsbCc6ICdtYXgtd2lkdGg6IDU5OXB4JyxcbiAgJ21hdC1zbWFsbCc6ICdtYXgtd2lkdGg6IDk1OXB4JyxcbiAgJ21hdC10b2dnbGUtcGFkZGluZyc6ICc4cHgnLFxuICAnbWF0LXRvZ2dsZS1zaXplJzogJzIwcHgnLFxuICAnbWF0LWxpbmVhci1vdXQtc2xvdy1pbi10aW1pbmctZnVuY3Rpb24nOiAnY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMC4xKScsXG4gICdtYXQtZmFzdC1vdXQtc2xvdy1pbi10aW1pbmctZnVuY3Rpb24nOiAnY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKScsXG4gICdtYXQtZmFzdC1vdXQtbGluZWFyLWluLXRpbWluZy1mdW5jdGlvbic6ICdjdWJpYy1iZXppZXIoMC40LCAwLCAxLCAxKScsXG4gICdtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tZHVyYXRpb24nOiAnMjgwbXMnLFxuICAnbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbic6ICdjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpJyxcbiAgJ21hdC1lbGV2YXRpb24tY29sb3InOiAnIzAwMCcsXG4gICdtYXQtZWxldmF0aW9uLW9wYWNpdHknOiAnMScsXG4gICdtYXQtZWxldmF0aW9uLXByZWZpeCc6IGAnbWF0LWVsZXZhdGlvbi16J2AsXG4gICdtYXQtcmlwcGxlLWNvbG9yLW9wYWNpdHknOiAnMC4xJyxcbiAgJ21hdC1iYWRnZS1mb250LXNpemUnOiAnMTJweCcsXG4gICdtYXQtYmFkZ2UtZm9udC13ZWlnaHQnOiAnNjAwJyxcbiAgJ21hdC1iYWRnZS1kZWZhdWx0LXNpemUnOiAnMjJweCcsXG4gICdtYXQtYmFkZ2Utc21hbGwtc2l6ZSc6ICcxNnB4JyxcbiAgJ21hdC1iYWRnZS1sYXJnZS1zaXplJzogJzI4cHgnLFxuICAnbWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhcmQtaGVpZ2h0JzogJzQ4cHgnLFxuICAnbWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhcmQtbWluaW11bS1oZWlnaHQnOiAnMjRweCcsXG4gICdtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1tYXhpbXVtLWhlaWdodCc6ICc0OHB4JyxcbiAgJ21hdC1jaGlwLXJlbW92ZS1mb250LXNpemUnOiAnMThweCcsXG4gICdtYXQtZGF0ZXBpY2tlci1zZWxlY3RlZC10b2RheS1ib3gtc2hhZG93LXdpZHRoJzogJzFweCcsXG4gICdtYXQtZGF0ZXBpY2tlci1zZWxlY3RlZC1mYWRlLWFtb3VudCc6ICcwLjYnLFxuICAnbWF0LWRhdGVwaWNrZXItcmFuZ2UtZmFkZS1hbW91bnQnOiAnMC4yJyxcbiAgJ21hdC1kYXRlcGlja2VyLXRvZGF5LWZhZGUtYW1vdW50JzogJzAuMicsXG4gICdtYXQtY2FsZW5kYXItYm9keS1mb250LXNpemUnOiAnMTNweCcsXG4gICdtYXQtY2FsZW5kYXItd2Vla2RheS10YWJsZS1mb250LXNpemUnOiAnMTFweCcsXG4gICdtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jb2xsYXBzZWQtaGVpZ2h0JzogJzQ4cHgnLFxuICAnbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItY29sbGFwc2VkLW1pbmltdW0taGVpZ2h0JzogJzM2cHgnLFxuICAnbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItY29sbGFwc2VkLW1heGltdW0taGVpZ2h0JzogJzQ4cHgnLFxuICAnbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZXhwYW5kZWQtaGVpZ2h0JzogJzY0cHgnLFxuICAnbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZXhwYW5kZWQtbWluaW11bS1oZWlnaHQnOiAnNDhweCcsXG4gICdtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1leHBhbmRlZC1tYXhpbXVtLWhlaWdodCc6ICc2NHB4JyxcbiAgJ21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRyYW5zaXRpb24nOiAnMjI1bXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKScsXG4gICdtYXQtcGFnaW5hdG9yLWhlaWdodCc6ICc1NnB4JyxcbiAgJ21hdC1wYWdpbmF0b3ItbWluaW11bS1oZWlnaHQnOiAnNDBweCcsXG4gICdtYXQtcGFnaW5hdG9yLW1heGltdW0taGVpZ2h0JzogJzU2cHgnLFxuICAnbWF0LXN0ZXBwZXItaGVhZGVyLWhlaWdodCc6ICc3MnB4JyxcbiAgJ21hdC1zdGVwcGVyLWhlYWRlci1taW5pbXVtLWhlaWdodCc6ICc0MnB4JyxcbiAgJ21hdC1zdGVwcGVyLWhlYWRlci1tYXhpbXVtLWhlaWdodCc6ICc3MnB4JyxcbiAgJ21hdC1zdGVwcGVyLWxhYmVsLWhlYWRlci1oZWlnaHQnOiAnMjRweCcsXG4gICdtYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20tdG9wLWdhcCc6ICcxNnB4JyxcbiAgJ21hdC1zdGVwcGVyLWxhYmVsLW1pbi13aWR0aCc6ICc1MHB4JyxcbiAgJ21hdC12ZXJ0aWNhbC1zdGVwcGVyLWNvbnRlbnQtbWFyZ2luJzogJzM2cHgnLFxuICAnbWF0LXN0ZXBwZXItc2lkZS1nYXAnOiAnMjRweCcsXG4gICdtYXQtc3RlcHBlci1saW5lLXdpZHRoJzogJzFweCcsXG4gICdtYXQtc3RlcHBlci1saW5lLWdhcCc6ICc4cHgnLFxuICAnbWF0LXN0ZXAtc3ViLWxhYmVsLWZvbnQtc2l6ZSc6ICcxMnB4JyxcbiAgJ21hdC1zdGVwLWhlYWRlci1pY29uLXNpemUnOiAnMTZweCcsXG4gICdtYXQtdG9vbGJhci1taW5pbXVtLWhlaWdodCc6ICc0NHB4JyxcbiAgJ21hdC10b29sYmFyLWhlaWdodC1kZXNrdG9wJzogJzY0cHgnLFxuICAnbWF0LXRvb2xiYXItbWF4aW11bS1oZWlnaHQtZGVza3RvcCc6ICc2NHB4JyxcbiAgJ21hdC10b29sYmFyLW1pbmltdW0taGVpZ2h0LWRlc2t0b3AnOiAnNDRweCcsXG4gICdtYXQtdG9vbGJhci1oZWlnaHQtbW9iaWxlJzogJzU2cHgnLFxuICAnbWF0LXRvb2xiYXItbWF4aW11bS1oZWlnaHQtbW9iaWxlJzogJzU2cHgnLFxuICAnbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQtbW9iaWxlJzogJzQ0cHgnLFxuICAnbWF0LXRvb2x0aXAtdGFyZ2V0LWhlaWdodCc6ICcyMnB4JyxcbiAgJ21hdC10b29sdGlwLWZvbnQtc2l6ZSc6ICcxMHB4JyxcbiAgJ21hdC10b29sdGlwLXZlcnRpY2FsLXBhZGRpbmcnOiAnNnB4JyxcbiAgJ21hdC10b29sdGlwLWhhbmRzZXQtdGFyZ2V0LWhlaWdodCc6ICczMHB4JyxcbiAgJ21hdC10b29sdGlwLWhhbmRzZXQtZm9udC1zaXplJzogJzE0cHgnLFxuICAnbWF0LXRvb2x0aXAtaGFuZHNldC12ZXJ0aWNhbC1wYWRkaW5nJzogJzhweCcsXG4gICdtYXQtdHJlZS1ub2RlLWhlaWdodCc6ICc0OHB4JyxcbiAgJ21hdC10cmVlLW5vZGUtbWluaW11bS1oZWlnaHQnOiAnMjRweCcsXG4gICdtYXQtdHJlZS1ub2RlLW1heGltdW0taGVpZ2h0JzogJzQ4cHgnLFxufTtcblxuLyoqXG4gKiBNYXRlcmlhbCB2YXJpYWJsZXMgKip3aXRob3V0IGEgYG1hdC1gIHByZWZpeCoqIHRoYXQgaGF2ZSBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgcHVibGljIEFQSVxuICogYW5kIHdoaWNoIHNob3VsZCBiZSByZXBsYWNlZCB3aXRoIHRoZWlyIHZhbHVlcy4gVGhlc2Ugc2hvdWxkIGJlIG1pZ3JhdGVkIG9ubHkgd2hlbiB0aGVyZSdzIGFcbiAqIE1hdGVyaWFsIGltcG9ydCwgYmVjYXVzZSB0aGVpciBuYW1lcyBjb3VsZCBjb25mbGljdCB3aXRoIG90aGVyIHZhcmlhYmxlcyBpbiB0aGUgdXNlcidzIGFwcC5cbiAqL1xuZXhwb3J0IGNvbnN0IHVucHJlZml4ZWRSZW1vdmVkVmFyaWFibGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAnei1pbmRleC1mYWInOiAnMjAnLFxuICAnei1pbmRleC1kcmF3ZXInOiAnMTAwJyxcbiAgJ2Vhc2UtaW4tb3V0LWN1cnZlLWZ1bmN0aW9uJzogJ2N1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKScsXG4gICdzd2lmdC1lYXNlLW91dC1kdXJhdGlvbic6ICc0MDBtcycsXG4gICdzd2lmdC1lYXNlLW91dC10aW1pbmctZnVuY3Rpb24nOiAnY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSknLFxuICAnc3dpZnQtZWFzZS1vdXQnOiAnYWxsIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpJyxcbiAgJ3N3aWZ0LWVhc2UtaW4tZHVyYXRpb24nOiAnMzAwbXMnLFxuICAnc3dpZnQtZWFzZS1pbi10aW1pbmctZnVuY3Rpb24nOiAnY3ViaWMtYmV6aWVyKDAuNTUsIDAsIDAuNTUsIDAuMiknLFxuICAnc3dpZnQtZWFzZS1pbic6ICdhbGwgMzAwbXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAsIDAuNTUsIDAuMiknLFxuICAnc3dpZnQtZWFzZS1pbi1vdXQtZHVyYXRpb24nOiAnNTAwbXMnLFxuICAnc3dpZnQtZWFzZS1pbi1vdXQtdGltaW5nLWZ1bmN0aW9uJzogJ2N1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKScsXG4gICdzd2lmdC1lYXNlLWluLW91dCc6ICdhbGwgNTAwbXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpJyxcbiAgJ3N3aWZ0LWxpbmVhci1kdXJhdGlvbic6ICc4MG1zJyxcbiAgJ3N3aWZ0LWxpbmVhci10aW1pbmctZnVuY3Rpb24nOiAnbGluZWFyJyxcbiAgJ3N3aWZ0LWxpbmVhcic6ICdhbGwgODBtcyBsaW5lYXInLFxuICAnYmxhY2stODctb3BhY2l0eSc6ICdyZ2JhKGJsYWNrLCAwLjg3KScsXG4gICd3aGl0ZS04Ny1vcGFjaXR5JzogJ3JnYmEod2hpdGUsIDAuODcpJyxcbiAgJ2JsYWNrLTEyLW9wYWNpdHknOiAncmdiYShibGFjaywgMC4xMiknLFxuICAnd2hpdGUtMTItb3BhY2l0eSc6ICdyZ2JhKHdoaXRlLCAwLjEyKScsXG4gICdibGFjay02LW9wYWNpdHknOiAncmdiYShibGFjaywgMC4wNiknLFxuICAnd2hpdGUtNi1vcGFjaXR5JzogJ3JnYmEod2hpdGUsIDAuMDYpJyxcbiAgJ2RhcmstcHJpbWFyeS10ZXh0JzogJ3JnYmEoYmxhY2ssIDAuODcpJyxcbiAgJ2Rhcmstc2Vjb25kYXJ5LXRleHQnOiAncmdiYShibGFjaywgMC41NCknLFxuICAnZGFyay1kaXNhYmxlZC10ZXh0JzogJ3JnYmEoYmxhY2ssIDAuMzgpJyxcbiAgJ2RhcmstZGl2aWRlcnMnOiAncmdiYShibGFjaywgMC4xMiknLFxuICAnZGFyay1mb2N1c2VkJzogJ3JnYmEoYmxhY2ssIDAuMTIpJyxcbiAgJ2xpZ2h0LXByaW1hcnktdGV4dCc6ICd3aGl0ZScsXG4gICdsaWdodC1zZWNvbmRhcnktdGV4dCc6ICdyZ2JhKHdoaXRlLCAwLjcpJyxcbiAgJ2xpZ2h0LWRpc2FibGVkLXRleHQnOiAncmdiYSh3aGl0ZSwgMC41KScsXG4gICdsaWdodC1kaXZpZGVycyc6ICdyZ2JhKHdoaXRlLCAwLjEyKScsXG4gICdsaWdodC1mb2N1c2VkJzogJ3JnYmEod2hpdGUsIDAuMTIpJyxcbn07XG4iXX0=
|