@angular/material 15.0.0-next.4 → 15.0.0-next.5
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 +8 -0
- package/chips/index.d.ts +13 -1
- package/core/mdc-helpers/_mdc-helpers.scss +8 -6
- package/core/typography/_all-typography.scss +73 -81
- package/datepicker/index.d.ts +10 -2
- package/esm2020/button/testing/button-harness-filters.mjs +1 -1
- package/esm2020/button/testing/button-harness.mjs +28 -2
- package/esm2020/checkbox/checkbox.mjs +2 -2
- package/esm2020/chips/chip-option.mjs +15 -7
- package/esm2020/core/version.mjs +1 -1
- package/esm2020/datepicker/datepicker-intl.mjs +11 -3
- package/esm2020/icon/icon.mjs +3 -2
- package/esm2020/legacy-button/testing/button-harness.mjs +27 -2
- package/esm2020/legacy-button/testing/public-api.mjs +1 -1
- package/esm2020/list/list-base.mjs +5 -2
- package/esm2020/list/selection-list.mjs +34 -4
- package/fesm2015/button/testing.mjs +29 -1
- package/fesm2015/button/testing.mjs.map +1 -1
- package/fesm2015/checkbox.mjs +2 -2
- package/fesm2015/checkbox.mjs.map +1 -1
- package/fesm2015/chips.mjs +14 -6
- package/fesm2015/chips.mjs.map +1 -1
- package/fesm2015/core.mjs +1 -1
- package/fesm2015/core.mjs.map +1 -1
- package/fesm2015/datepicker.mjs +10 -2
- package/fesm2015/datepicker.mjs.map +1 -1
- package/fesm2015/icon.mjs +2 -1
- package/fesm2015/icon.mjs.map +1 -1
- package/fesm2015/legacy-button/testing.mjs +28 -1
- package/fesm2015/legacy-button/testing.mjs.map +1 -1
- package/fesm2015/list.mjs +38 -4
- package/fesm2015/list.mjs.map +1 -1
- package/fesm2020/button/testing.mjs +27 -1
- package/fesm2020/button/testing.mjs.map +1 -1
- package/fesm2020/checkbox.mjs +2 -2
- package/fesm2020/checkbox.mjs.map +1 -1
- package/fesm2020/chips.mjs +14 -6
- package/fesm2020/chips.mjs.map +1 -1
- package/fesm2020/core.mjs +1 -1
- package/fesm2020/core.mjs.map +1 -1
- package/fesm2020/datepicker.mjs +10 -2
- package/fesm2020/datepicker.mjs.map +1 -1
- package/fesm2020/icon.mjs +2 -1
- package/fesm2020/icon.mjs.map +1 -1
- package/fesm2020/legacy-button/testing.mjs +26 -1
- package/fesm2020/legacy-button/testing.mjs.map +1 -1
- package/fesm2020/list.mjs +37 -4
- package/fesm2020/list.mjs.map +1 -1
- package/legacy-button/testing/index.d.ts +5 -0
- package/list/index.d.ts +25 -3
- package/package.json +2 -2
- 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/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/index.mjs +1 -1
- package/schematics/ng-generate/mdc-migration/index_bundled.js +262 -316
- package/schematics/ng-generate/mdc-migration/index_bundled.js.map +3 -3
- package/schematics/ng-generate/mdc-migration/mdc_migration_bundle_metadata.json +1 -1
- package/schematics/ng-update/index_bundled.js +6 -1
- package/schematics/ng-update/index_bundled.js.map +2 -2
- package/schematics/ng-update/ng_update_index_metadata.json +1 -1
- package/slide-toggle/_slide-toggle-theme.scss +19 -19
|
@@ -7,8 +7,13 @@ import { HarnessPredicate } from '@angular/cdk/testing';
|
|
|
7
7
|
export declare interface ButtonHarnessFilters extends BaseHarnessFilters {
|
|
8
8
|
/** Only find instances whose text matches the given value. */
|
|
9
9
|
text?: string | RegExp;
|
|
10
|
+
/** Only find instances with a variant. */
|
|
11
|
+
variant?: ButtonVariant;
|
|
10
12
|
}
|
|
11
13
|
|
|
14
|
+
/** Possible button appearances. */
|
|
15
|
+
export declare type ButtonVariant = 'basic' | 'raised' | 'flat' | 'icon' | 'stroked' | 'fab' | 'mini-fab';
|
|
16
|
+
|
|
12
17
|
/** Harness for interacting with a MDC-based mat-button in tests. */
|
|
13
18
|
export declare class MatButtonHarness extends ContentContainerComponentHarness {
|
|
14
19
|
static hostSelector: string;
|
|
@@ -17,6 +22,7 @@ export declare class MatButtonHarness extends ContentContainerComponentHarness {
|
|
|
17
22
|
* @param options Options for narrowing the search:
|
|
18
23
|
* - `selector` finds a button whose host element matches the given selector.
|
|
19
24
|
* - `text` finds a button with specific text content.
|
|
25
|
+
* - `variant` finds buttons matching a specific variant.
|
|
20
26
|
* @return a `HarnessPredicate` configured with the given options.
|
|
21
27
|
*/
|
|
22
28
|
static with<T extends MatButtonHarness>(this: ComponentHarnessConstructor<T>, options?: ButtonHarnessFilters): HarnessPredicate<T>;
|
|
@@ -40,6 +46,8 @@ export declare class MatButtonHarness extends ContentContainerComponentHarness {
|
|
|
40
46
|
blur(): Promise<void>;
|
|
41
47
|
/** Whether the button is focused. */
|
|
42
48
|
isFocused(): Promise<boolean>;
|
|
49
|
+
/** Gets the variant of the button. */
|
|
50
|
+
getVariant(): Promise<ButtonVariant>;
|
|
43
51
|
}
|
|
44
52
|
|
|
45
53
|
export { }
|
package/chips/index.d.ts
CHANGED
|
@@ -739,7 +739,19 @@ export declare class MatChipOption extends MatChip implements OnInit {
|
|
|
739
739
|
get selected(): boolean;
|
|
740
740
|
set selected(value: BooleanInput);
|
|
741
741
|
private _selected;
|
|
742
|
-
/**
|
|
742
|
+
/**
|
|
743
|
+
* The ARIA selected applied to the chip. Conforms to WAI ARIA best practices for listbox
|
|
744
|
+
* interaction patterns.
|
|
745
|
+
*
|
|
746
|
+
* From [WAI ARIA Listbox authoring practices guide](
|
|
747
|
+
* https://www.w3.org/WAI/ARIA/apg/patterns/listbox/):
|
|
748
|
+
* "If any options are selected, each selected option has either aria-selected or aria-checked
|
|
749
|
+
* set to true. All options that are selectable but not selected have either aria-selected or
|
|
750
|
+
* aria-checked set to false."
|
|
751
|
+
*
|
|
752
|
+
* Set `aria-selected="false"` on not-selected listbox options that are selectable to fix
|
|
753
|
+
* VoiceOver reading every option as "selected" (#25736).
|
|
754
|
+
*/
|
|
743
755
|
get ariaSelected(): string | null;
|
|
744
756
|
/** The unstyled chip selector for this component. */
|
|
745
757
|
protected basicChipAttrName: string;
|
|
@@ -84,15 +84,17 @@ $mat-typography-mdc-level-mappings: (
|
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
// Converts an MDC typography level config to an Angular Material one.
|
|
87
|
-
@function typography-config-level-from-mdc($mdc-level) {
|
|
87
|
+
@function typography-config-level-from-mdc($mdc-level, $overrides: ()) {
|
|
88
88
|
$mdc-level-config: map.get(mdc-typography.$styles, $mdc-level);
|
|
89
89
|
|
|
90
90
|
@return typography.define-typography-level(
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
91
|
+
$font-size: map.get($overrides, font-size) or map.get($mdc-level-config, font-size),
|
|
92
|
+
$font-family: map.get($overrides, font-family) or map.get($mdc-level-config, font-family),
|
|
93
|
+
$line-height: map.get($overrides, line-height) or map.get($mdc-level-config, line-height),
|
|
94
|
+
$font-weight: map.get($overrides, font-weight) or map.get($mdc-level-config, font-weight),
|
|
95
|
+
$letter-spacing:
|
|
96
|
+
map.get($overrides, letter-spacing) or map.get($mdc-level-config, letter-spacing)
|
|
97
|
+
);
|
|
96
98
|
}
|
|
97
99
|
|
|
98
100
|
// Configures MDC's global variables to reflect the given theme, applies the given styles,
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
@use 'sass:map';
|
|
2
2
|
@use 'sass:math';
|
|
3
3
|
@use 'sass:meta';
|
|
4
|
-
@use '@material/typography' as mdc-typography;
|
|
5
4
|
@use './typography';
|
|
6
5
|
@use '../../autocomplete/autocomplete-theme';
|
|
7
6
|
@use '../../badge/badge-theme';
|
|
@@ -88,49 +87,52 @@
|
|
|
88
87
|
@function define-typography-config(
|
|
89
88
|
// TODO(mmalerba): rename this function to define-typography-config,
|
|
90
89
|
// and create a predefined px based config for people that need it.
|
|
91
|
-
$font-family:
|
|
92
|
-
$headline-1:
|
|
93
|
-
$headline-2:
|
|
94
|
-
$headline-3:
|
|
95
|
-
$headline-4:
|
|
96
|
-
$headline-5:
|
|
97
|
-
$headline-6:
|
|
98
|
-
$subtitle-1:
|
|
99
|
-
$subtitle-2:
|
|
100
|
-
$body-1:
|
|
101
|
-
$body-2:
|
|
102
|
-
$caption:
|
|
103
|
-
$button:
|
|
104
|
-
$overline:
|
|
90
|
+
$font-family: null,
|
|
91
|
+
$headline-1: null,
|
|
92
|
+
$headline-2: null,
|
|
93
|
+
$headline-3: null,
|
|
94
|
+
$headline-4: null,
|
|
95
|
+
$headline-5: null,
|
|
96
|
+
$headline-6: null,
|
|
97
|
+
$subtitle-1: null,
|
|
98
|
+
$subtitle-2: null,
|
|
99
|
+
$body-1: null,
|
|
100
|
+
$body-2: null,
|
|
101
|
+
$caption: null,
|
|
102
|
+
$button: null,
|
|
103
|
+
$overline: null,
|
|
105
104
|
) {
|
|
106
105
|
// Declare an initial map with all of the levels.
|
|
107
|
-
$
|
|
108
|
-
headline-1: $headline-1,
|
|
109
|
-
headline-2: $headline-2,
|
|
110
|
-
headline-3: $headline-3,
|
|
111
|
-
headline-4: $headline-4,
|
|
112
|
-
headline-5: $headline-5,
|
|
113
|
-
headline-6: $headline-6,
|
|
114
|
-
subtitle-1: $subtitle-1,
|
|
115
|
-
subtitle-2: $subtitle-2,
|
|
116
|
-
body-1: $body-1,
|
|
117
|
-
body-2: $body-2,
|
|
118
|
-
caption: $caption,
|
|
119
|
-
button: $button,
|
|
120
|
-
overline: $overline,
|
|
121
|
-
);
|
|
106
|
+
$overrides: if($font-family, (font-family: $font-family), ());
|
|
122
107
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
108
|
+
@return (
|
|
109
|
+
headline-1: $headline-1 or _rem-to-px(
|
|
110
|
+
mdc-helpers.typography-config-level-from-mdc(headline1, $overrides)),
|
|
111
|
+
headline-2: $headline-2 or _rem-to-px(
|
|
112
|
+
mdc-helpers.typography-config-level-from-mdc(headline2, $overrides)),
|
|
113
|
+
headline-3: $headline-3 or _rem-to-px(
|
|
114
|
+
mdc-helpers.typography-config-level-from-mdc(headline3, $overrides)),
|
|
115
|
+
headline-4: $headline-4 or _rem-to-px(
|
|
116
|
+
mdc-helpers.typography-config-level-from-mdc(headline4, $overrides)),
|
|
117
|
+
headline-5: $headline-5 or _rem-to-px(
|
|
118
|
+
mdc-helpers.typography-config-level-from-mdc(headline5, $overrides)),
|
|
119
|
+
headline-6: $headline-6 or _rem-to-px(
|
|
120
|
+
mdc-helpers.typography-config-level-from-mdc(headline6, $overrides)),
|
|
121
|
+
subtitle-1: $subtitle-1 or _rem-to-px(
|
|
122
|
+
mdc-helpers.typography-config-level-from-mdc(subtitle1, $overrides)),
|
|
123
|
+
subtitle-2: $subtitle-2 or _rem-to-px(
|
|
124
|
+
mdc-helpers.typography-config-level-from-mdc(subtitle2, $overrides)),
|
|
125
|
+
body-1: $body-1 or _rem-to-px(
|
|
126
|
+
mdc-helpers.typography-config-level-from-mdc(body1, $overrides)),
|
|
127
|
+
body-2: $body-2 or _rem-to-px(
|
|
128
|
+
mdc-helpers.typography-config-level-from-mdc(body2, $overrides)),
|
|
129
|
+
caption: $caption or _rem-to-px(
|
|
130
|
+
mdc-helpers.typography-config-level-from-mdc(caption, $overrides)),
|
|
131
|
+
button: $button or _rem-to-px(
|
|
132
|
+
mdc-helpers.typography-config-level-from-mdc(button, $overrides)),
|
|
133
|
+
overline: $overline or _rem-to-px(
|
|
134
|
+
mdc-helpers.typography-config-level-from-mdc(overline, $overrides)),
|
|
135
|
+
);
|
|
134
136
|
}
|
|
135
137
|
|
|
136
138
|
/// Generates an Angular Material typography config based on values from the official Material
|
|
@@ -158,49 +160,39 @@
|
|
|
158
160
|
@function define-rem-typography-config(
|
|
159
161
|
// TODO(mmalerba): rename this function to define-typography-config,
|
|
160
162
|
// and create a predefined px based config for people that need it.
|
|
161
|
-
$font-family:
|
|
162
|
-
$headline-1:
|
|
163
|
-
$headline-2:
|
|
164
|
-
$headline-3:
|
|
165
|
-
$headline-4:
|
|
166
|
-
$headline-5:
|
|
167
|
-
$headline-6:
|
|
168
|
-
$subtitle-1:
|
|
169
|
-
$subtitle-2:
|
|
170
|
-
$body-1:
|
|
171
|
-
$body-2:
|
|
172
|
-
$caption:
|
|
173
|
-
$button:
|
|
174
|
-
$overline:
|
|
163
|
+
$font-family: null,
|
|
164
|
+
$headline-1: null,
|
|
165
|
+
$headline-2: null,
|
|
166
|
+
$headline-3: null,
|
|
167
|
+
$headline-4: null,
|
|
168
|
+
$headline-5: null,
|
|
169
|
+
$headline-6: null,
|
|
170
|
+
$subtitle-1: null,
|
|
171
|
+
$subtitle-2: null,
|
|
172
|
+
$body-1: null,
|
|
173
|
+
$body-2: null,
|
|
174
|
+
$caption: null,
|
|
175
|
+
$button: null,
|
|
176
|
+
$overline: null,
|
|
175
177
|
) {
|
|
176
178
|
// Declare an initial map with all of the levels.
|
|
177
|
-
$
|
|
178
|
-
headline-1: $headline-1,
|
|
179
|
-
headline-2: $headline-2,
|
|
180
|
-
headline-3: $headline-3,
|
|
181
|
-
headline-4: $headline-4,
|
|
182
|
-
headline-5: $headline-5,
|
|
183
|
-
headline-6: $headline-6,
|
|
184
|
-
subtitle-1: $subtitle-1,
|
|
185
|
-
subtitle-2: $subtitle-2,
|
|
186
|
-
body-1: $body-1,
|
|
187
|
-
body-2: $body-2,
|
|
188
|
-
caption: $caption,
|
|
189
|
-
button: $button,
|
|
190
|
-
overline: $overline,
|
|
191
|
-
);
|
|
179
|
+
$overrides: if($font-family, (font-family: $font-family), ());
|
|
192
180
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
181
|
+
@return (
|
|
182
|
+
headline-1: $headline-1 or mdc-helpers.typography-config-level-from-mdc(headline1, $overrides),
|
|
183
|
+
headline-2: $headline-2 or mdc-helpers.typography-config-level-from-mdc(headline2, $overrides),
|
|
184
|
+
headline-3: $headline-3 or mdc-helpers.typography-config-level-from-mdc(headline3, $overrides),
|
|
185
|
+
headline-4: $headline-4 or mdc-helpers.typography-config-level-from-mdc(headline4, $overrides),
|
|
186
|
+
headline-5: $headline-5 or mdc-helpers.typography-config-level-from-mdc(headline5, $overrides),
|
|
187
|
+
headline-6: $headline-6 or mdc-helpers.typography-config-level-from-mdc(headline6, $overrides),
|
|
188
|
+
subtitle-1: $subtitle-1 or mdc-helpers.typography-config-level-from-mdc(subtitle1, $overrides),
|
|
189
|
+
subtitle-2: $subtitle-2 or mdc-helpers.typography-config-level-from-mdc(subtitle2, $overrides),
|
|
190
|
+
body-1: $body-1 or mdc-helpers.typography-config-level-from-mdc(body1, $overrides),
|
|
191
|
+
body-2: $body-2 or mdc-helpers.typography-config-level-from-mdc(body2, $overrides),
|
|
192
|
+
caption: $caption or mdc-helpers.typography-config-level-from-mdc(caption, $overrides),
|
|
193
|
+
button: $button or mdc-helpers.typography-config-level-from-mdc(button, $overrides),
|
|
194
|
+
overline: $overline or mdc-helpers.typography-config-level-from-mdc(overline, $overrides),
|
|
195
|
+
);
|
|
204
196
|
}
|
|
205
197
|
|
|
206
198
|
@mixin private-all-unmigrated-component-typographies($config) {
|
package/datepicker/index.d.ts
CHANGED
|
@@ -1080,9 +1080,17 @@ export declare class MatDatepickerIntl {
|
|
|
1080
1080
|
switchToMonthViewLabel: string;
|
|
1081
1081
|
/** A label for the 'switch to year view' button (used by screen readers). */
|
|
1082
1082
|
switchToMultiYearViewLabel: string;
|
|
1083
|
-
/**
|
|
1083
|
+
/**
|
|
1084
|
+
* A label for the first date of a range of dates (used by screen readers).
|
|
1085
|
+
* @deprecated Provide your own internationalization string.
|
|
1086
|
+
* @breaking-change 17.0.0
|
|
1087
|
+
*/
|
|
1084
1088
|
startDateLabel: string;
|
|
1085
|
-
/**
|
|
1089
|
+
/**
|
|
1090
|
+
* A label for the last date of a range of dates (used by screen readers).
|
|
1091
|
+
* @deprecated Provide your own internationalization string.
|
|
1092
|
+
* @breaking-change 17.0.0
|
|
1093
|
+
*/
|
|
1086
1094
|
endDateLabel: string;
|
|
1087
1095
|
/** Formats a range of years (used for visuals). */
|
|
1088
1096
|
formatYearRange(start: string, end: string): string;
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
* found in the LICENSE file at https://angular.io/license
|
|
7
7
|
*/
|
|
8
8
|
export {};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWhhcm5lc3MtZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9idXR0b24vdGVzdGluZy9idXR0b24taGFybmVzcy1maWx0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge0Jhc2VIYXJuZXNzRmlsdGVyc30gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuXG4vKiogUG9zc2libGUgYnV0dG9uIGFwcGVhcmFuY2VzLiAqL1xuZXhwb3J0IHR5cGUgQnV0dG9uVmFyaWFudCA9ICdiYXNpYycgfCAncmFpc2VkJyB8ICdmbGF0JyB8ICdpY29uJyB8ICdzdHJva2VkJyB8ICdmYWInIHwgJ21pbmktZmFiJztcblxuLyoqIEEgc2V0IG9mIGNyaXRlcmlhIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIGEgbGlzdCBvZiBidXR0b24gaGFybmVzcyBpbnN0YW5jZXMuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvbkhhcm5lc3NGaWx0ZXJzIGV4dGVuZHMgQmFzZUhhcm5lc3NGaWx0ZXJzIHtcbiAgLyoqIE9ubHkgZmluZCBpbnN0YW5jZXMgd2hvc2UgdGV4dCBtYXRjaGVzIHRoZSBnaXZlbiB2YWx1ZS4gKi9cbiAgdGV4dD86IHN0cmluZyB8IFJlZ0V4cDtcblxuICAvKiogT25seSBmaW5kIGluc3RhbmNlcyB3aXRoIGEgdmFyaWFudC4gKi9cbiAgdmFyaWFudD86IEJ1dHRvblZhcmlhbnQ7XG59XG4iXX0=
|
|
@@ -14,10 +14,13 @@ export class MatButtonHarness extends ContentContainerComponentHarness {
|
|
|
14
14
|
* @param options Options for narrowing the search:
|
|
15
15
|
* - `selector` finds a button whose host element matches the given selector.
|
|
16
16
|
* - `text` finds a button with specific text content.
|
|
17
|
+
* - `variant` finds buttons matching a specific variant.
|
|
17
18
|
* @return a `HarnessPredicate` configured with the given options.
|
|
18
19
|
*/
|
|
19
20
|
static with(options = {}) {
|
|
20
|
-
return new HarnessPredicate(this, options)
|
|
21
|
+
return new HarnessPredicate(this, options)
|
|
22
|
+
.addOption('text', options.text, (harness, text) => HarnessPredicate.stringMatches(harness.getText(), text))
|
|
23
|
+
.addOption('variant', options.variant, (harness, variant) => HarnessPredicate.stringMatches(harness.getVariant(), variant));
|
|
21
24
|
}
|
|
22
25
|
async click(...args) {
|
|
23
26
|
return (await this.host()).click(...args);
|
|
@@ -43,8 +46,31 @@ export class MatButtonHarness extends ContentContainerComponentHarness {
|
|
|
43
46
|
async isFocused() {
|
|
44
47
|
return (await this.host()).isFocused();
|
|
45
48
|
}
|
|
49
|
+
/** Gets the variant of the button. */
|
|
50
|
+
async getVariant() {
|
|
51
|
+
const host = await this.host();
|
|
52
|
+
if ((await host.getAttribute('mat-raised-button')) != null) {
|
|
53
|
+
return 'raised';
|
|
54
|
+
}
|
|
55
|
+
else if ((await host.getAttribute('mat-flat-button')) != null) {
|
|
56
|
+
return 'flat';
|
|
57
|
+
}
|
|
58
|
+
else if ((await host.getAttribute('mat-icon-button')) != null) {
|
|
59
|
+
return 'icon';
|
|
60
|
+
}
|
|
61
|
+
else if ((await host.getAttribute('mat-stroked-button')) != null) {
|
|
62
|
+
return 'stroked';
|
|
63
|
+
}
|
|
64
|
+
else if ((await host.getAttribute('mat-fab')) != null) {
|
|
65
|
+
return 'fab';
|
|
66
|
+
}
|
|
67
|
+
else if ((await host.getAttribute('mat-mini-fab')) != null) {
|
|
68
|
+
return 'mini-fab';
|
|
69
|
+
}
|
|
70
|
+
return 'basic';
|
|
71
|
+
}
|
|
46
72
|
}
|
|
47
73
|
// TODO(jelbourn) use a single class, like `.mat-button-base`
|
|
48
74
|
MatButtonHarness.hostSelector = `[mat-button], [mat-raised-button], [mat-flat-button],
|
|
49
75
|
[mat-icon-button], [mat-stroked-button], [mat-fab], [mat-mini-fab]`;
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvYnV0dG9uL3Rlc3RpbmcvYnV0dG9uLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUVMLGdDQUFnQyxFQUNoQyxnQkFBZ0IsR0FDakIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUc1RCxvRUFBb0U7QUFDcEUsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGdDQUFnQztJQUtwRTs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLElBQUksQ0FFVCxVQUFnQyxFQUFFO1FBRWxDLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDO2FBQ3ZDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUNqRCxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxDQUN4RDthQUNBLFNBQVMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUMxRCxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUM5RCxDQUFDO0lBQ04sQ0FBQztJQVlELEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUF3QztRQUNyRCxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBSSxJQUFXLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsbUVBQW1FO0lBQ25FLEtBQUssQ0FBQyxVQUFVO1FBQ2QsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5RCxPQUFPLHFCQUFxQixDQUFDLE1BQU0sUUFBUSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGtEQUFrRDtJQUNsRCxLQUFLLENBQUMsT0FBTztRQUNYLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxnR0FBZ0c7SUFDaEcsS0FBSyxDQUFDLEtBQUs7UUFDVCxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsOEZBQThGO0lBQzlGLEtBQUssQ0FBQyxJQUFJO1FBQ1IsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELHFDQUFxQztJQUNyQyxLQUFLLENBQUMsU0FBUztRQUNiLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxzQ0FBc0M7SUFDdEMsS0FBSyxDQUFDLFVBQVU7UUFDZCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUUvQixJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDMUQsT0FBTyxRQUFRLENBQUM7U0FDakI7YUFBTSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDL0QsT0FBTyxNQUFNLENBQUM7U0FDZjthQUFNLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRTtZQUMvRCxPQUFPLE1BQU0sQ0FBQztTQUNmO2FBQU0sSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFO1lBQ2xFLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO2FBQU0sSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRTtZQUN2RCxPQUFPLEtBQUssQ0FBQztTQUNkO2FBQU0sSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRTtZQUM1RCxPQUFPLFVBQVUsQ0FBQztTQUNuQjtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7O0FBcEZELDZEQUE2RDtBQUN0RCw2QkFBWSxHQUFHOzRGQUNvRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudEhhcm5lc3NDb25zdHJ1Y3RvcixcbiAgQ29udGVudENvbnRhaW5lckNvbXBvbmVudEhhcm5lc3MsXG4gIEhhcm5lc3NQcmVkaWNhdGUsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7Y29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtCdXR0b25IYXJuZXNzRmlsdGVycywgQnV0dG9uVmFyaWFudH0gZnJvbSAnLi9idXR0b24taGFybmVzcy1maWx0ZXJzJztcblxuLyoqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBNREMtYmFzZWQgbWF0LWJ1dHRvbiBpbiB0ZXN0cy4gKi9cbmV4cG9ydCBjbGFzcyBNYXRCdXR0b25IYXJuZXNzIGV4dGVuZHMgQ29udGVudENvbnRhaW5lckNvbXBvbmVudEhhcm5lc3Mge1xuICAvLyBUT0RPKGplbGJvdXJuKSB1c2UgYSBzaW5nbGUgY2xhc3MsIGxpa2UgYC5tYXQtYnV0dG9uLWJhc2VgXG4gIHN0YXRpYyBob3N0U2VsZWN0b3IgPSBgW21hdC1idXR0b25dLCBbbWF0LXJhaXNlZC1idXR0b25dLCBbbWF0LWZsYXQtYnV0dG9uXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0LWljb24tYnV0dG9uXSwgW21hdC1zdHJva2VkLWJ1dHRvbl0sIFttYXQtZmFiXSwgW21hdC1taW5pLWZhYl1gO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhIGJ1dHRvbiB3aXRoIHNwZWNpZmljIGF0dHJpYnV0ZXMuXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIG5hcnJvd2luZyB0aGUgc2VhcmNoOlxuICAgKiAgIC0gYHNlbGVjdG9yYCBmaW5kcyBhIGJ1dHRvbiB3aG9zZSBob3N0IGVsZW1lbnQgbWF0Y2hlcyB0aGUgZ2l2ZW4gc2VsZWN0b3IuXG4gICAqICAgLSBgdGV4dGAgZmluZHMgYSBidXR0b24gd2l0aCBzcGVjaWZpYyB0ZXh0IGNvbnRlbnQuXG4gICAqICAgLSBgdmFyaWFudGAgZmluZHMgYnV0dG9ucyBtYXRjaGluZyBhIHNwZWNpZmljIHZhcmlhbnQuXG4gICAqIEByZXR1cm4gYSBgSGFybmVzc1ByZWRpY2F0ZWAgY29uZmlndXJlZCB3aXRoIHRoZSBnaXZlbiBvcHRpb25zLlxuICAgKi9cbiAgc3RhdGljIHdpdGg8VCBleHRlbmRzIE1hdEJ1dHRvbkhhcm5lc3M+KFxuICAgIHRoaXM6IENvbXBvbmVudEhhcm5lc3NDb25zdHJ1Y3RvcjxUPixcbiAgICBvcHRpb25zOiBCdXR0b25IYXJuZXNzRmlsdGVycyA9IHt9LFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFQ+IHtcbiAgICByZXR1cm4gbmV3IEhhcm5lc3NQcmVkaWNhdGUodGhpcywgb3B0aW9ucylcbiAgICAgIC5hZGRPcHRpb24oJ3RleHQnLCBvcHRpb25zLnRleHQsIChoYXJuZXNzLCB0ZXh0KSA9PlxuICAgICAgICBIYXJuZXNzUHJlZGljYXRlLnN0cmluZ01hdGNoZXMoaGFybmVzcy5nZXRUZXh0KCksIHRleHQpLFxuICAgICAgKVxuICAgICAgLmFkZE9wdGlvbigndmFyaWFudCcsIG9wdGlvbnMudmFyaWFudCwgKGhhcm5lc3MsIHZhcmlhbnQpID0+XG4gICAgICAgIEhhcm5lc3NQcmVkaWNhdGUuc3RyaW5nTWF0Y2hlcyhoYXJuZXNzLmdldFZhcmlhbnQoKSwgdmFyaWFudCksXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgYnV0dG9uIGF0IHRoZSBnaXZlbiBwb3NpdGlvbiByZWxhdGl2ZSB0byBpdHMgdG9wLWxlZnQuXG4gICAqIEBwYXJhbSByZWxhdGl2ZVggVGhlIHJlbGF0aXZlIHggcG9zaXRpb24gb2YgdGhlIGNsaWNrLlxuICAgKiBAcGFyYW0gcmVsYXRpdmVZIFRoZSByZWxhdGl2ZSB5IHBvc2l0aW9uIG9mIHRoZSBjbGljay5cbiAgICovXG4gIGNsaWNrKHJlbGF0aXZlWDogbnVtYmVyLCByZWxhdGl2ZVk6IG51bWJlcik6IFByb21pc2U8dm9pZD47XG4gIC8qKiBDbGlja3MgdGhlIGJ1dHRvbiBhdCBpdHMgY2VudGVyLiAqL1xuICBjbGljayhsb2NhdGlvbjogJ2NlbnRlcicpOiBQcm9taXNlPHZvaWQ+O1xuICAvKiogQ2xpY2tzIHRoZSBidXR0b24uICovXG4gIGNsaWNrKCk6IFByb21pc2U8dm9pZD47XG4gIGFzeW5jIGNsaWNrKC4uLmFyZ3M6IFtdIHwgWydjZW50ZXInXSB8IFtudW1iZXIsIG51bWJlcl0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuaG9zdCgpKS5jbGljayguLi4oYXJncyBhcyBbXSkpO1xuICB9XG5cbiAgLyoqIEdldHMgYSBib29sZWFuIHByb21pc2UgaW5kaWNhdGluZyBpZiB0aGUgYnV0dG9uIGlzIGRpc2FibGVkLiAqL1xuICBhc3luYyBpc0Rpc2FibGVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGRpc2FibGVkID0gKGF3YWl0IHRoaXMuaG9zdCgpKS5nZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJyk7XG4gICAgcmV0dXJuIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShhd2FpdCBkaXNhYmxlZCk7XG4gIH1cblxuICAvKiogR2V0cyBhIHByb21pc2UgZm9yIHRoZSBidXR0b24ncyBsYWJlbCB0ZXh0LiAqL1xuICBhc3luYyBnZXRUZXh0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmhvc3QoKSkudGV4dCgpO1xuICB9XG5cbiAgLyoqIEZvY3VzZXMgdGhlIGJ1dHRvbiBhbmQgcmV0dXJucyBhIHZvaWQgcHJvbWlzZSB0aGF0IGluZGljYXRlcyB3aGVuIHRoZSBhY3Rpb24gaXMgY29tcGxldGUuICovXG4gIGFzeW5jIGZvY3VzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5ob3N0KCkpLmZvY3VzKCk7XG4gIH1cblxuICAvKiogQmx1cnMgdGhlIGJ1dHRvbiBhbmQgcmV0dXJucyBhIHZvaWQgcHJvbWlzZSB0aGF0IGluZGljYXRlcyB3aGVuIHRoZSBhY3Rpb24gaXMgY29tcGxldGUuICovXG4gIGFzeW5jIGJsdXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmhvc3QoKSkuYmx1cigpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGJ1dHRvbiBpcyBmb2N1c2VkLiAqL1xuICBhc3luYyBpc0ZvY3VzZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmhvc3QoKSkuaXNGb2N1c2VkKCk7XG4gIH1cblxuICAvKiogR2V0cyB0aGUgdmFyaWFudCBvZiB0aGUgYnV0dG9uLiAqL1xuICBhc3luYyBnZXRWYXJpYW50KCk6IFByb21pc2U8QnV0dG9uVmFyaWFudD4ge1xuICAgIGNvbnN0IGhvc3QgPSBhd2FpdCB0aGlzLmhvc3QoKTtcblxuICAgIGlmICgoYXdhaXQgaG9zdC5nZXRBdHRyaWJ1dGUoJ21hdC1yYWlzZWQtYnV0dG9uJykpICE9IG51bGwpIHtcbiAgICAgIHJldHVybiAncmFpc2VkJztcbiAgICB9IGVsc2UgaWYgKChhd2FpdCBob3N0LmdldEF0dHJpYnV0ZSgnbWF0LWZsYXQtYnV0dG9uJykpICE9IG51bGwpIHtcbiAgICAgIHJldHVybiAnZmxhdCc7XG4gICAgfSBlbHNlIGlmICgoYXdhaXQgaG9zdC5nZXRBdHRyaWJ1dGUoJ21hdC1pY29uLWJ1dHRvbicpKSAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gJ2ljb24nO1xuICAgIH0gZWxzZSBpZiAoKGF3YWl0IGhvc3QuZ2V0QXR0cmlidXRlKCdtYXQtc3Ryb2tlZC1idXR0b24nKSkgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuICdzdHJva2VkJztcbiAgICB9IGVsc2UgaWYgKChhd2FpdCBob3N0LmdldEF0dHJpYnV0ZSgnbWF0LWZhYicpKSAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gJ2ZhYic7XG4gICAgfSBlbHNlIGlmICgoYXdhaXQgaG9zdC5nZXRBdHRyaWJ1dGUoJ21hdC1taW5pLWZhYicpKSAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gJ21pbmktZmFiJztcbiAgICB9XG5cbiAgICByZXR1cm4gJ2Jhc2ljJztcbiAgfVxufVxuIl19
|