@angular/material 18.2.0-next.3 → 18.2.0
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/button/testing/index.d.ts +1 -1
- package/button-toggle/index.d.ts +14 -2
- package/card/testing/index.d.ts +1 -1
- package/checkbox/_checkbox-common.scss +16 -0
- package/core/testing/index.d.ts +2 -2
- package/core/tokens/m2/mat/_standard-button-toggle.scss +1 -1
- package/core/tokens/m2/mdc/_checkbox.scss +2 -0
- package/core/tokens/m3/mdc/_chip.scss +4 -0
- package/esm2022/button/testing/button-harness.mjs +2 -2
- package/esm2022/button-toggle/button-toggle.mjs +33 -4
- package/esm2022/button-toggle/testing/button-toggle-harness.mjs +3 -3
- package/esm2022/card/testing/card-harness.mjs +2 -2
- package/esm2022/checkbox/checkbox.mjs +3 -3
- package/esm2022/checkbox/testing/checkbox-harness.mjs +7 -3
- package/esm2022/core/datetime/native-date-adapter.mjs +2 -2
- package/esm2022/core/testing/optgroup-harness.mjs +2 -2
- package/esm2022/core/testing/option-harness.mjs +2 -2
- package/esm2022/core/version.mjs +1 -1
- package/esm2022/expansion/expansion-animations.mjs +2 -2
- package/esm2022/form-field/form-field.mjs +18 -6
- package/esm2022/form-field/testing/error-harness.mjs +2 -2
- package/esm2022/list/list-option.mjs +3 -3
- package/esm2022/list/testing/action-list-harness.mjs +2 -2
- package/esm2022/list/testing/list-harness.mjs +2 -2
- package/esm2022/list/testing/list-item-harness-base.mjs +2 -2
- package/esm2022/list/testing/nav-list-harness.mjs +3 -3
- package/esm2022/list/testing/selection-list-harness.mjs +2 -2
- package/esm2022/menu/testing/menu-harness.mjs +2 -2
- package/esm2022/progress-bar/testing/progress-bar-harness.mjs +2 -2
- package/esm2022/radio/testing/radio-harness.mjs +9 -5
- package/esm2022/select/testing/select-harness.mjs +2 -2
- package/esm2022/sidenav/drawer.mjs +2 -2
- package/esm2022/slide-toggle/slide-toggle.mjs +3 -3
- package/esm2022/slide-toggle/testing/slide-toggle-harness.mjs +7 -3
- package/esm2022/snack-bar/testing/snack-bar-harness.mjs +2 -2
- package/esm2022/tabs/tab-group.mjs +10 -4
- package/esm2022/tabs/tab-header.mjs +9 -3
- package/esm2022/tabs/testing/tab-group-harness.mjs +2 -2
- package/esm2022/tabs/testing/tab-link-harness.mjs +2 -2
- package/esm2022/tabs/testing/tab-nav-bar-harness.mjs +2 -2
- package/esm2022/tooltip/tooltip.mjs +34 -18
- package/expansion/index.d.ts +1 -1
- package/fesm2022/button/testing.mjs +1 -1
- package/fesm2022/button/testing.mjs.map +1 -1
- package/fesm2022/button-toggle/testing.mjs +2 -2
- package/fesm2022/button-toggle/testing.mjs.map +1 -1
- package/fesm2022/button-toggle.mjs +32 -3
- package/fesm2022/button-toggle.mjs.map +1 -1
- package/fesm2022/card/testing.mjs +1 -1
- package/fesm2022/card/testing.mjs.map +1 -1
- package/fesm2022/checkbox/testing.mjs +6 -2
- package/fesm2022/checkbox/testing.mjs.map +1 -1
- package/fesm2022/checkbox.mjs +2 -2
- package/fesm2022/checkbox.mjs.map +1 -1
- package/fesm2022/core/testing.mjs +2 -2
- package/fesm2022/core/testing.mjs.map +1 -1
- package/fesm2022/core.mjs +2 -2
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/expansion.mjs +1 -1
- package/fesm2022/expansion.mjs.map +1 -1
- package/fesm2022/form-field/testing.mjs +1 -1
- package/fesm2022/form-field/testing.mjs.map +1 -1
- package/fesm2022/form-field.mjs +17 -5
- package/fesm2022/form-field.mjs.map +1 -1
- package/fesm2022/list/testing.mjs +6 -6
- package/fesm2022/list/testing.mjs.map +1 -1
- package/fesm2022/list.mjs +2 -2
- package/fesm2022/list.mjs.map +1 -1
- package/fesm2022/menu/testing.mjs +1 -1
- package/fesm2022/menu/testing.mjs.map +1 -1
- package/fesm2022/progress-bar/testing.mjs +1 -1
- package/fesm2022/progress-bar/testing.mjs.map +1 -1
- package/fesm2022/radio/testing.mjs +8 -4
- package/fesm2022/radio/testing.mjs.map +1 -1
- package/fesm2022/select/testing.mjs +1 -1
- package/fesm2022/select/testing.mjs.map +1 -1
- package/fesm2022/sidenav.mjs +1 -1
- package/fesm2022/sidenav.mjs.map +1 -1
- package/fesm2022/slide-toggle/testing.mjs +6 -2
- package/fesm2022/slide-toggle/testing.mjs.map +1 -1
- package/fesm2022/slide-toggle.mjs +2 -2
- package/fesm2022/slide-toggle.mjs.map +1 -1
- package/fesm2022/snack-bar/testing.mjs +1 -1
- package/fesm2022/snack-bar/testing.mjs.map +1 -1
- package/fesm2022/tabs/testing.mjs +3 -3
- package/fesm2022/tabs/testing.mjs.map +1 -1
- package/fesm2022/tabs.mjs +17 -5
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/tooltip.mjs +33 -17
- package/fesm2022/tooltip.mjs.map +1 -1
- package/form-field/_form-field-native-select.scss +1 -1
- package/form-field/index.d.ts +3 -0
- package/form-field/testing/index.d.ts +1 -1
- package/list/index.d.ts +1 -1
- package/list/testing/index.d.ts +6 -6
- package/menu/testing/index.d.ts +1 -1
- package/package.json +7 -7
- package/prebuilt-themes/azure-blue.css +1 -1
- package/prebuilt-themes/cyan-orange.css +1 -1
- package/prebuilt-themes/deeppurple-amber.css +1 -1
- package/prebuilt-themes/indigo-pink.css +1 -1
- package/prebuilt-themes/magenta-violet.css +1 -1
- package/prebuilt-themes/pink-bluegrey.css +1 -1
- package/prebuilt-themes/purple-green.css +1 -1
- package/prebuilt-themes/rose-red.css +1 -1
- package/progress-bar/testing/index.d.ts +1 -1
- package/radio/testing/index.d.ts +2 -2
- package/schematics/ng-add/index.js +2 -2
- package/schematics/ng-add/index.mjs +2 -2
- package/schematics/ng-generate/m3-theme/index_bundled.js +218 -315
- package/schematics/ng-generate/m3-theme/index_bundled.js.map +4 -4
- package/select/testing/index.d.ts +1 -1
- package/snack-bar/testing/index.d.ts +1 -1
- package/tabs/index.d.ts +10 -2
- package/tabs/testing/index.d.ts +3 -3
- package/tooltip/index.d.ts +3 -0
|
@@ -16,7 +16,7 @@ export declare interface ButtonHarnessFilters extends BaseHarnessFilters {
|
|
|
16
16
|
/** Possible button appearances. */
|
|
17
17
|
export declare type ButtonVariant = 'basic' | 'raised' | 'flat' | 'icon' | 'stroked' | 'fab' | 'mini-fab';
|
|
18
18
|
|
|
19
|
-
/** Harness for interacting with a
|
|
19
|
+
/** Harness for interacting with a mat-button in tests. */
|
|
20
20
|
export declare class MatButtonHarness extends ContentContainerComponentHarness {
|
|
21
21
|
static hostSelector: string;
|
|
22
22
|
/**
|
package/button-toggle/index.d.ts
CHANGED
|
@@ -95,6 +95,10 @@ export declare class MatButtonToggle implements OnInit, AfterViewInit, OnDestroy
|
|
|
95
95
|
get disabled(): boolean;
|
|
96
96
|
set disabled(value: boolean);
|
|
97
97
|
private _disabled;
|
|
98
|
+
/** Whether the button should remain interactive when it is disabled. */
|
|
99
|
+
get disabledInteractive(): boolean;
|
|
100
|
+
set disabledInteractive(value: boolean);
|
|
101
|
+
private _disabledInteractive;
|
|
98
102
|
/** Event emitted when the group value changes. */
|
|
99
103
|
readonly change: EventEmitter<MatButtonToggleChange>;
|
|
100
104
|
constructor(toggleGroup: MatButtonToggleGroup, _changeDetectorRef: ChangeDetectorRef, _elementRef: ElementRef<HTMLElement>, _focusMonitor: FocusMonitor, defaultTabIndex: string, defaultOptions?: MatButtonToggleDefaultOptions);
|
|
@@ -116,10 +120,11 @@ export declare class MatButtonToggle implements OnInit, AfterViewInit, OnDestroy
|
|
|
116
120
|
/** Whether the toggle is in single selection mode. */
|
|
117
121
|
isSingleSelector(): boolean;
|
|
118
122
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatButtonToggle, [{ optional: true; }, null, null, null, { attribute: "tabindex"; }, { optional: true; }]>;
|
|
119
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MatButtonToggle, "mat-button-toggle", ["matButtonToggle"], { "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; }; "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "change": "change"; }, never, ["*"], true, never>;
|
|
123
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MatButtonToggle, "mat-button-toggle", ["matButtonToggle"], { "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; }; "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "disabledInteractive": { "alias": "disabledInteractive"; "required": false; }; }, { "change": "change"; }, never, ["*"], true, never>;
|
|
120
124
|
static ngAcceptInputType_disableRipple: unknown;
|
|
121
125
|
static ngAcceptInputType_checked: unknown;
|
|
122
126
|
static ngAcceptInputType_disabled: unknown;
|
|
127
|
+
static ngAcceptInputType_disabledInteractive: unknown;
|
|
123
128
|
}
|
|
124
129
|
|
|
125
130
|
/** Possible appearance styles for the button toggle. */
|
|
@@ -152,6 +157,8 @@ export declare interface MatButtonToggleDefaultOptions {
|
|
|
152
157
|
hideSingleSelectionIndicator?: boolean;
|
|
153
158
|
/** Whether icon indicators should be hidden for multiple-selection button toggle groups. */
|
|
154
159
|
hideMultipleSelectionIndicator?: boolean;
|
|
160
|
+
/** Whether disabled toggle buttons should be interactive. */
|
|
161
|
+
disabledInteractive?: boolean;
|
|
155
162
|
}
|
|
156
163
|
|
|
157
164
|
/** Exclusive selection button toggle group that behaves like a radio-button group. */
|
|
@@ -160,6 +167,7 @@ export declare class MatButtonToggleGroup implements ControlValueAccessor, OnIni
|
|
|
160
167
|
private _dir?;
|
|
161
168
|
private _multiple;
|
|
162
169
|
private _disabled;
|
|
170
|
+
private _disabledInteractive;
|
|
163
171
|
private _selectionModel;
|
|
164
172
|
/**
|
|
165
173
|
* Reference to the raw value that the consumer tried to assign. The real
|
|
@@ -202,6 +210,9 @@ export declare class MatButtonToggleGroup implements ControlValueAccessor, OnIni
|
|
|
202
210
|
/** Whether multiple button toggle group is disabled. */
|
|
203
211
|
get disabled(): boolean;
|
|
204
212
|
set disabled(value: boolean);
|
|
213
|
+
/** Whether buttons in the group should be interactive while they're disabled. */
|
|
214
|
+
get disabledInteractive(): boolean;
|
|
215
|
+
set disabledInteractive(value: boolean);
|
|
205
216
|
/** The layout direction of the toggle button group. */
|
|
206
217
|
get dir(): Direction;
|
|
207
218
|
/** Event emitted when the group's value changes. */
|
|
@@ -256,10 +267,11 @@ export declare class MatButtonToggleGroup implements ControlValueAccessor, OnIni
|
|
|
256
267
|
/** Marks all of the child button toggles to be checked. */
|
|
257
268
|
private _markButtonsForCheck;
|
|
258
269
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatButtonToggleGroup, [null, { optional: true; }, { optional: true; }]>;
|
|
259
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<MatButtonToggleGroup, "mat-button-toggle-group", ["matButtonToggleGroup"], { "appearance": { "alias": "appearance"; "required": false; }; "name": { "alias": "name"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "value": { "alias": "value"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "hideSingleSelectionIndicator": { "alias": "hideSingleSelectionIndicator"; "required": false; }; "hideMultipleSelectionIndicator": { "alias": "hideMultipleSelectionIndicator"; "required": false; }; }, { "valueChange": "valueChange"; "change": "change"; }, ["_buttonToggles"], never, true, never>;
|
|
270
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MatButtonToggleGroup, "mat-button-toggle-group", ["matButtonToggleGroup"], { "appearance": { "alias": "appearance"; "required": false; }; "name": { "alias": "name"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "value": { "alias": "value"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "disabledInteractive": { "alias": "disabledInteractive"; "required": false; }; "hideSingleSelectionIndicator": { "alias": "hideSingleSelectionIndicator"; "required": false; }; "hideMultipleSelectionIndicator": { "alias": "hideMultipleSelectionIndicator"; "required": false; }; }, { "valueChange": "valueChange"; "change": "change"; }, ["_buttonToggles"], never, true, never>;
|
|
260
271
|
static ngAcceptInputType_vertical: unknown;
|
|
261
272
|
static ngAcceptInputType_multiple: unknown;
|
|
262
273
|
static ngAcceptInputType_disabled: unknown;
|
|
274
|
+
static ngAcceptInputType_disabledInteractive: unknown;
|
|
263
275
|
static ngAcceptInputType_hideSingleSelectionIndicator: unknown;
|
|
264
276
|
static ngAcceptInputType_hideMultipleSelectionIndicator: unknown;
|
|
265
277
|
}
|
package/card/testing/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export declare interface CardHarnessFilters extends BaseHarnessFilters {
|
|
|
13
13
|
subtitle?: string | RegExp;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
/** Harness for interacting with
|
|
16
|
+
/** Harness for interacting with a mat-card in tests. */
|
|
17
17
|
export declare class MatCardHarness extends ContentContainerComponentHarness<MatCardSection> {
|
|
18
18
|
/** The selector for the host element of a `MatCard` instance. */
|
|
19
19
|
static hostSelector: string;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
@use '@angular/cdk';
|
|
3
3
|
@use '../core/tokens/m2/mdc/checkbox' as tokens-mdc-checkbox;
|
|
4
4
|
@use '../core/tokens/token-utils';
|
|
5
|
+
@use '../core/style/vendor-prefixes';
|
|
5
6
|
|
|
6
7
|
$_path-length: 29.7833385;
|
|
7
8
|
$_transition-duration: 90ms;
|
|
@@ -64,6 +65,10 @@ $_fallback-size: 40px;
|
|
|
64
65
|
.mdc-checkbox--disabled {
|
|
65
66
|
cursor: default;
|
|
66
67
|
pointer-events: none;
|
|
68
|
+
|
|
69
|
+
@include cdk.high-contrast(active, off) {
|
|
70
|
+
opacity: 0.5;
|
|
71
|
+
}
|
|
67
72
|
}
|
|
68
73
|
|
|
69
74
|
.mdc-checkbox__background {
|
|
@@ -82,6 +87,9 @@ $_fallback-size: 40px;
|
|
|
82
87
|
transition: background-color $_transition-duration $_exit-curve,
|
|
83
88
|
border-color $_transition-duration $_exit-curve;
|
|
84
89
|
|
|
90
|
+
// Force browser to show background-color when using the print function
|
|
91
|
+
@include vendor-prefixes.color-adjust(exact);
|
|
92
|
+
|
|
85
93
|
@include token-utils.use-tokens($prefix, $slots) {
|
|
86
94
|
$layer-size: token-utils.get-token-variable(state-layer-size, $fallback: $_fallback-size);
|
|
87
95
|
$offset: calc((#{$layer-size} - #{$_icon-size}) / 2);
|
|
@@ -167,6 +175,10 @@ $_fallback-size: 40px;
|
|
|
167
175
|
// Always apply the color since the element becomes `opacity: 0`
|
|
168
176
|
// when unchecked. This makes the animation look better.
|
|
169
177
|
@include token-utils.create-token-slot(color, selected-checkmark-color);
|
|
178
|
+
|
|
179
|
+
@include cdk.high-contrast(active, off) {
|
|
180
|
+
color: CanvasText;
|
|
181
|
+
}
|
|
170
182
|
}
|
|
171
183
|
}
|
|
172
184
|
|
|
@@ -175,6 +187,10 @@ $_fallback-size: 40px;
|
|
|
175
187
|
&, &.mat-mdc-checkbox-disabled-interactive {
|
|
176
188
|
.mdc-checkbox__checkmark {
|
|
177
189
|
@include token-utils.create-token-slot(color, disabled-selected-checkmark-color);
|
|
190
|
+
|
|
191
|
+
@include cdk.high-contrast(active, off) {
|
|
192
|
+
color: CanvasText;
|
|
193
|
+
}
|
|
178
194
|
}
|
|
179
195
|
}
|
|
180
196
|
}
|
package/core/testing/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { ComponentHarnessConstructor } from '@angular/cdk/testing';
|
|
|
4
4
|
import { ContentContainerComponentHarness } from '@angular/cdk/testing';
|
|
5
5
|
import { HarnessPredicate } from '@angular/cdk/testing';
|
|
6
6
|
|
|
7
|
-
/** Harness for interacting with
|
|
7
|
+
/** Harness for interacting with a `mat-optgroup` in tests. */
|
|
8
8
|
export declare class MatOptgroupHarness extends ComponentHarness {
|
|
9
9
|
/** Selector used to locate option group instances. */
|
|
10
10
|
static hostSelector: string;
|
|
@@ -27,7 +27,7 @@ export declare class MatOptgroupHarness extends ComponentHarness {
|
|
|
27
27
|
getOptions(filter?: OptionHarnessFilters): Promise<MatOptionHarness[]>;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
/** Harness for interacting with
|
|
30
|
+
/** Harness for interacting with a `mat-option` in tests. */
|
|
31
31
|
export declare class MatOptionHarness extends ContentContainerComponentHarness {
|
|
32
32
|
/** Selector used to locate option instances. */
|
|
33
33
|
static hostSelector: string;
|
|
@@ -24,7 +24,7 @@ $prefix: (mat, standard-button-toggle);
|
|
|
24
24
|
|
|
25
25
|
// By default the theme usually has an rgba color for the dividers, which can
|
|
26
26
|
// stack up with the background of a button toggle. This can cause the border
|
|
27
|
-
// of a selected toggle to look different from an
|
|
27
|
+
// of a selected toggle to look different from an unselected one. We use a solid
|
|
28
28
|
// color to ensure that the border always stays the same.
|
|
29
29
|
$divider-color: if(
|
|
30
30
|
meta.type-of($theme-divider-color) == color,
|
|
@@ -81,6 +81,8 @@ $prefix: (mdc, checkbox);
|
|
|
81
81
|
selected-hover-icon-color: $palette-selected,
|
|
82
82
|
// The color of the checkbox fill when the checkbox is selected.
|
|
83
83
|
selected-icon-color: $palette-selected,
|
|
84
|
+
// The color of the checkbox fill when the checkbox is selected and pressed.
|
|
85
|
+
selected-pressed-icon-color: $palette-selected,
|
|
84
86
|
// The color of the checkbox border when the checkbox is unselected and focused.
|
|
85
87
|
unselected-focus-icon-color: $active-border-color,
|
|
86
88
|
// The color of the checkbox border when the checkbox is unselected and hovered.
|
|
@@ -18,6 +18,7 @@ $prefix: (mdc, chip);
|
|
|
18
18
|
(
|
|
19
19
|
container-shape-radius: token-definition.hardcode(8px, $exclude-hardcoded),
|
|
20
20
|
with-avatar-avatar-size: token-definition.hardcode(24px, $exclude-hardcoded),
|
|
21
|
+
with-avatar-avatar-shape-radius: token-definition.hardcode(24px, $exclude-hardcoded),
|
|
21
22
|
label-text-color: map.get($systems, md-sys-color, on-surface-variant),
|
|
22
23
|
disabled-label-text-color: sass-utils.safe-color-change(
|
|
23
24
|
map.get($systems, md-sys-color, on-surface),
|
|
@@ -43,6 +44,9 @@ $prefix: (mdc, chip);
|
|
|
43
44
|
with-avatar-disabled-avatar-opacity:
|
|
44
45
|
token-definition.hardcode(0.38, $exclude-hardcoded),
|
|
45
46
|
elevated-selected-container-color: map.get($systems, md-sys-color, secondary-container),
|
|
47
|
+
// In the M3 tokens this is a `surface` color, but in the MDC implementation it's
|
|
48
|
+
// never being emitted. We emit `transparent` so consumers override the color.
|
|
49
|
+
elevated-container-color: token-definition.hardcode(transparent, $exclude-hardcoded),
|
|
46
50
|
flat-selected-outline-width: token-definition.hardcode(0, $exclude-hardcoded),
|
|
47
51
|
selected-label-text-color: map.get($systems, md-sys-color, on-secondary-container),
|
|
48
52
|
flat-disabled-selected-container-color: sass-utils.safe-color-change(
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { booleanAttribute } from '@angular/core';
|
|
9
9
|
import { ContentContainerComponentHarness, HarnessPredicate, } from '@angular/cdk/testing';
|
|
10
|
-
/** Harness for interacting with a
|
|
10
|
+
/** Harness for interacting with a mat-button in tests. */
|
|
11
11
|
export class MatButtonHarness extends ContentContainerComponentHarness {
|
|
12
12
|
// TODO(jelbourn) use a single class, like `.mat-button-base`
|
|
13
13
|
static { this.hostSelector = `[mat-button], [mat-raised-button], [mat-flat-button],
|
|
@@ -77,4 +77,4 @@ export class MatButtonHarness extends ContentContainerComponentHarness {
|
|
|
77
77
|
return 'basic';
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvYnV0dG9uL3Rlc3RpbmcvYnV0dG9uLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFFTCxnQ0FBZ0MsRUFDaEMsZ0JBQWdCLEdBQ2pCLE1BQU0sc0JBQXNCLENBQUM7QUFHOUIsMERBQTBEO0FBQzFELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxnQ0FBZ0M7SUFDcEUsNkRBQTZEO2FBQ3RELGlCQUFZLEdBQUc7NEZBQ29FLENBQUM7SUFFM0Y7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxJQUFJLENBRVQsVUFBZ0MsRUFBRTtRQUVsQyxPQUFPLElBQUksZ0JBQWdCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQzthQUN2QyxTQUFTLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FDakQsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FDeEQ7YUFDQSxTQUFTLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FDMUQsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FDOUQ7YUFDQSxTQUFTLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUNuRSxPQUFPLENBQUMsTUFBTSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsS0FBSyxRQUFRLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBWUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQXdDO1FBQ3JELE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFJLElBQVcsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxtRUFBbUU7SUFDbkUsS0FBSyxDQUFDLFVBQVU7UUFDZCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvQixPQUFPLENBQ0wsZ0JBQWdCLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3JELENBQUMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FDakQsQ0FBQztJQUNKLENBQUM7SUFFRCxrREFBa0Q7SUFDbEQsS0FBSyxDQUFDLE9BQU87UUFDWCxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsZ0dBQWdHO0lBQ2hHLEtBQUssQ0FBQyxLQUFLO1FBQ1QsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELDhGQUE4RjtJQUM5RixLQUFLLENBQUMsSUFBSTtRQUNSLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxxQ0FBcUM7SUFDckMsS0FBSyxDQUFDLFNBQVM7UUFDYixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsc0NBQXNDO0lBQ3RDLEtBQUssQ0FBQyxVQUFVO1FBQ2QsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFL0IsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDM0QsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQzthQUFNLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2hFLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7YUFBTSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNoRSxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO2FBQU0sSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDbkUsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQzthQUFNLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN4RCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7YUFBTSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDN0QsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtib29sZWFuQXR0cmlidXRlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbXBvbmVudEhhcm5lc3NDb25zdHJ1Y3RvcixcbiAgQ29udGVudENvbnRhaW5lckNvbXBvbmVudEhhcm5lc3MsXG4gIEhhcm5lc3NQcmVkaWNhdGUsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7QnV0dG9uSGFybmVzc0ZpbHRlcnMsIEJ1dHRvblZhcmlhbnR9IGZyb20gJy4vYnV0dG9uLWhhcm5lc3MtZmlsdGVycyc7XG5cbi8qKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgbWF0LWJ1dHRvbiBpbiB0ZXN0cy4gKi9cbmV4cG9ydCBjbGFzcyBNYXRCdXR0b25IYXJuZXNzIGV4dGVuZHMgQ29udGVudENvbnRhaW5lckNvbXBvbmVudEhhcm5lc3Mge1xuICAvLyBUT0RPKGplbGJvdXJuKSB1c2UgYSBzaW5nbGUgY2xhc3MsIGxpa2UgYC5tYXQtYnV0dG9uLWJhc2VgXG4gIHN0YXRpYyBob3N0U2VsZWN0b3IgPSBgW21hdC1idXR0b25dLCBbbWF0LXJhaXNlZC1idXR0b25dLCBbbWF0LWZsYXQtYnV0dG9uXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0LWljb24tYnV0dG9uXSwgW21hdC1zdHJva2VkLWJ1dHRvbl0sIFttYXQtZmFiXSwgW21hdC1taW5pLWZhYl1gO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhIGJ1dHRvbiB3aXRoIHNwZWNpZmljIGF0dHJpYnV0ZXMuXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIG5hcnJvd2luZyB0aGUgc2VhcmNoOlxuICAgKiAgIC0gYHNlbGVjdG9yYCBmaW5kcyBhIGJ1dHRvbiB3aG9zZSBob3N0IGVsZW1lbnQgbWF0Y2hlcyB0aGUgZ2l2ZW4gc2VsZWN0b3IuXG4gICAqICAgLSBgdGV4dGAgZmluZHMgYSBidXR0b24gd2l0aCBzcGVjaWZpYyB0ZXh0IGNvbnRlbnQuXG4gICAqICAgLSBgdmFyaWFudGAgZmluZHMgYnV0dG9ucyBtYXRjaGluZyBhIHNwZWNpZmljIHZhcmlhbnQuXG4gICAqIEByZXR1cm4gYSBgSGFybmVzc1ByZWRpY2F0ZWAgY29uZmlndXJlZCB3aXRoIHRoZSBnaXZlbiBvcHRpb25zLlxuICAgKi9cbiAgc3RhdGljIHdpdGg8VCBleHRlbmRzIE1hdEJ1dHRvbkhhcm5lc3M+KFxuICAgIHRoaXM6IENvbXBvbmVudEhhcm5lc3NDb25zdHJ1Y3RvcjxUPixcbiAgICBvcHRpb25zOiBCdXR0b25IYXJuZXNzRmlsdGVycyA9IHt9LFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFQ+IHtcbiAgICByZXR1cm4gbmV3IEhhcm5lc3NQcmVkaWNhdGUodGhpcywgb3B0aW9ucylcbiAgICAgIC5hZGRPcHRpb24oJ3RleHQnLCBvcHRpb25zLnRleHQsIChoYXJuZXNzLCB0ZXh0KSA9PlxuICAgICAgICBIYXJuZXNzUHJlZGljYXRlLnN0cmluZ01hdGNoZXMoaGFybmVzcy5nZXRUZXh0KCksIHRleHQpLFxuICAgICAgKVxuICAgICAgLmFkZE9wdGlvbigndmFyaWFudCcsIG9wdGlvbnMudmFyaWFudCwgKGhhcm5lc3MsIHZhcmlhbnQpID0+XG4gICAgICAgIEhhcm5lc3NQcmVkaWNhdGUuc3RyaW5nTWF0Y2hlcyhoYXJuZXNzLmdldFZhcmlhbnQoKSwgdmFyaWFudCksXG4gICAgICApXG4gICAgICAuYWRkT3B0aW9uKCdkaXNhYmxlZCcsIG9wdGlvbnMuZGlzYWJsZWQsIGFzeW5jIChoYXJuZXNzLCBkaXNhYmxlZCkgPT4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IGhhcm5lc3MuaXNEaXNhYmxlZCgpKSA9PT0gZGlzYWJsZWQ7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGJ1dHRvbiBhdCB0aGUgZ2l2ZW4gcG9zaXRpb24gcmVsYXRpdmUgdG8gaXRzIHRvcC1sZWZ0LlxuICAgKiBAcGFyYW0gcmVsYXRpdmVYIFRoZSByZWxhdGl2ZSB4IHBvc2l0aW9uIG9mIHRoZSBjbGljay5cbiAgICogQHBhcmFtIHJlbGF0aXZlWSBUaGUgcmVsYXRpdmUgeSBwb3NpdGlvbiBvZiB0aGUgY2xpY2suXG4gICAqL1xuICBjbGljayhyZWxhdGl2ZVg6IG51bWJlciwgcmVsYXRpdmVZOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+O1xuICAvKiogQ2xpY2tzIHRoZSBidXR0b24gYXQgaXRzIGNlbnRlci4gKi9cbiAgY2xpY2sobG9jYXRpb246ICdjZW50ZXInKTogUHJvbWlzZTx2b2lkPjtcbiAgLyoqIENsaWNrcyB0aGUgYnV0dG9uLiAqL1xuICBjbGljaygpOiBQcm9taXNlPHZvaWQ+O1xuICBhc3luYyBjbGljayguLi5hcmdzOiBbXSB8IFsnY2VudGVyJ10gfCBbbnVtYmVyLCBudW1iZXJdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmhvc3QoKSkuY2xpY2soLi4uKGFyZ3MgYXMgW10pKTtcbiAgfVxuXG4gIC8qKiBHZXRzIGEgYm9vbGVhbiBwcm9taXNlIGluZGljYXRpbmcgaWYgdGhlIGJ1dHRvbiBpcyBkaXNhYmxlZC4gKi9cbiAgYXN5bmMgaXNEaXNhYmxlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBob3N0ID0gYXdhaXQgdGhpcy5ob3N0KCk7XG4gICAgcmV0dXJuIChcbiAgICAgIGJvb2xlYW5BdHRyaWJ1dGUoYXdhaXQgaG9zdC5nZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpIHx8XG4gICAgICAoYXdhaXQgaG9zdC5oYXNDbGFzcygnbWF0LW1kYy1idXR0b24tZGlzYWJsZWQnKSlcbiAgICApO1xuICB9XG5cbiAgLyoqIEdldHMgYSBwcm9taXNlIGZvciB0aGUgYnV0dG9uJ3MgbGFiZWwgdGV4dC4gKi9cbiAgYXN5bmMgZ2V0VGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5ob3N0KCkpLnRleHQoKTtcbiAgfVxuXG4gIC8qKiBGb2N1c2VzIHRoZSBidXR0b24gYW5kIHJldHVybnMgYSB2b2lkIHByb21pc2UgdGhhdCBpbmRpY2F0ZXMgd2hlbiB0aGUgYWN0aW9uIGlzIGNvbXBsZXRlLiAqL1xuICBhc3luYyBmb2N1cygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuaG9zdCgpKS5mb2N1cygpO1xuICB9XG5cbiAgLyoqIEJsdXJzIHRoZSBidXR0b24gYW5kIHJldHVybnMgYSB2b2lkIHByb21pc2UgdGhhdCBpbmRpY2F0ZXMgd2hlbiB0aGUgYWN0aW9uIGlzIGNvbXBsZXRlLiAqL1xuICBhc3luYyBibHVyKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5ob3N0KCkpLmJsdXIoKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBidXR0b24gaXMgZm9jdXNlZC4gKi9cbiAgYXN5bmMgaXNGb2N1c2VkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5ob3N0KCkpLmlzRm9jdXNlZCgpO1xuICB9XG5cbiAgLyoqIEdldHMgdGhlIHZhcmlhbnQgb2YgdGhlIGJ1dHRvbi4gKi9cbiAgYXN5bmMgZ2V0VmFyaWFudCgpOiBQcm9taXNlPEJ1dHRvblZhcmlhbnQ+IHtcbiAgICBjb25zdCBob3N0ID0gYXdhaXQgdGhpcy5ob3N0KCk7XG5cbiAgICBpZiAoKGF3YWl0IGhvc3QuZ2V0QXR0cmlidXRlKCdtYXQtcmFpc2VkLWJ1dHRvbicpKSAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gJ3JhaXNlZCc7XG4gICAgfSBlbHNlIGlmICgoYXdhaXQgaG9zdC5nZXRBdHRyaWJ1dGUoJ21hdC1mbGF0LWJ1dHRvbicpKSAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gJ2ZsYXQnO1xuICAgIH0gZWxzZSBpZiAoKGF3YWl0IGhvc3QuZ2V0QXR0cmlidXRlKCdtYXQtaWNvbi1idXR0b24nKSkgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuICdpY29uJztcbiAgICB9IGVsc2UgaWYgKChhd2FpdCBob3N0LmdldEF0dHJpYnV0ZSgnbWF0LXN0cm9rZWQtYnV0dG9uJykpICE9IG51bGwpIHtcbiAgICAgIHJldHVybiAnc3Ryb2tlZCc7XG4gICAgfSBlbHNlIGlmICgoYXdhaXQgaG9zdC5nZXRBdHRyaWJ1dGUoJ21hdC1mYWInKSkgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuICdmYWInO1xuICAgIH0gZWxzZSBpZiAoKGF3YWl0IGhvc3QuZ2V0QXR0cmlidXRlKCdtYXQtbWluaS1mYWInKSkgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuICdtaW5pLWZhYic7XG4gICAgfVxuXG4gICAgcmV0dXJuICdiYXNpYyc7XG4gIH1cbn1cbiJdfQ==
|