@angular/material 21.0.0-next.9 → 21.0.0-rc.1
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/core/tokens/_classes.scss +1 -1
- package/core/tokens/m2/_md-sys-color.scss +17 -17
- package/fesm2022/_animation-chunk.mjs +10 -16
- package/fesm2022/_animation-chunk.mjs.map +1 -1
- package/fesm2022/_date-formats-chunk.mjs +68 -164
- package/fesm2022/_date-formats-chunk.mjs.map +1 -1
- package/fesm2022/_date-range-input-harness-chunk.mjs +284 -463
- package/fesm2022/_date-range-input-harness-chunk.mjs.map +1 -1
- package/fesm2022/_error-options-chunk.mjs +56 -19
- package/fesm2022/_error-options-chunk.mjs.map +1 -1
- package/fesm2022/_error-state-chunk.mjs +24 -31
- package/fesm2022/_error-state-chunk.mjs.map +1 -1
- package/fesm2022/_form-field-chunk.mjs +1224 -1017
- package/fesm2022/_form-field-chunk.mjs.map +1 -1
- package/fesm2022/_icon-button-chunk.mjs +243 -187
- package/fesm2022/_icon-button-chunk.mjs.map +1 -1
- package/fesm2022/_icon-registry-chunk.mjs +350 -575
- package/fesm2022/_icon-registry-chunk.mjs.map +1 -1
- package/fesm2022/_input-harness-chunk.mjs +56 -107
- package/fesm2022/_input-harness-chunk.mjs.map +1 -1
- package/fesm2022/_input-value-accessor-chunk.mjs +0 -6
- package/fesm2022/_input-value-accessor-chunk.mjs.map +1 -1
- package/fesm2022/_internal-form-field-chunk.mjs +59 -19
- package/fesm2022/_internal-form-field-chunk.mjs.map +1 -1
- package/fesm2022/_line-chunk.mjs +83 -43
- package/fesm2022/_line-chunk.mjs.map +1 -1
- package/fesm2022/_option-chunk.mjs +348 -311
- package/fesm2022/_option-chunk.mjs.map +1 -1
- package/fesm2022/_option-harness-chunk.mjs +23 -39
- package/fesm2022/_option-harness-chunk.mjs.map +1 -1
- package/fesm2022/_option-module-chunk.mjs +36 -10
- package/fesm2022/_option-module-chunk.mjs.map +1 -1
- package/fesm2022/_pseudo-checkbox-chunk.mjs +79 -44
- package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -1
- package/fesm2022/_pseudo-checkbox-module-chunk.mjs +36 -10
- package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -1
- package/fesm2022/_public-api-chunk.mjs +71 -134
- package/fesm2022/_public-api-chunk.mjs.map +1 -1
- package/fesm2022/_ripple-chunk.mjs +504 -600
- package/fesm2022/_ripple-chunk.mjs.map +1 -1
- package/fesm2022/_ripple-loader-chunk.mjs +120 -138
- package/fesm2022/_ripple-loader-chunk.mjs.map +1 -1
- package/fesm2022/_ripple-module-chunk.mjs +36 -10
- package/fesm2022/_ripple-module-chunk.mjs.map +1 -1
- package/fesm2022/_structural-styles-chunk.mjs +37 -10
- package/fesm2022/_structural-styles-chunk.mjs.map +1 -1
- package/fesm2022/_tooltip-chunk.mjs +811 -888
- package/fesm2022/_tooltip-chunk.mjs.map +1 -1
- package/fesm2022/autocomplete-testing.mjs +62 -86
- package/fesm2022/autocomplete-testing.mjs.map +1 -1
- package/fesm2022/autocomplete.mjs +965 -1126
- package/fesm2022/autocomplete.mjs.map +1 -1
- package/fesm2022/badge-testing.mjs +38 -54
- package/fesm2022/badge-testing.mjs.map +1 -1
- package/fesm2022/badge.mjs +321 -272
- package/fesm2022/badge.mjs.map +1 -1
- package/fesm2022/bottom-sheet-testing.mjs +10 -24
- package/fesm2022/bottom-sheet-testing.mjs.map +1 -1
- package/fesm2022/bottom-sheet.mjs +349 -344
- package/fesm2022/bottom-sheet.mjs.map +1 -1
- package/fesm2022/button-testing.mjs +60 -94
- package/fesm2022/button-testing.mjs.map +1 -1
- package/fesm2022/button-toggle-testing.mjs +76 -125
- package/fesm2022/button-toggle-testing.mjs.map +1 -1
- package/fesm2022/button-toggle.mjs +752 -662
- package/fesm2022/button-toggle.mjs.map +1 -1
- package/fesm2022/button.mjs +263 -158
- package/fesm2022/button.mjs.map +1 -1
- package/fesm2022/card-testing.mjs +19 -33
- package/fesm2022/card-testing.mjs.map +1 -1
- package/fesm2022/card.mjs +576 -272
- package/fesm2022/card.mjs.map +1 -1
- package/fesm2022/checkbox-testing.mjs +71 -123
- package/fesm2022/checkbox-testing.mjs.map +1 -1
- package/fesm2022/checkbox.mjs +515 -477
- package/fesm2022/checkbox.mjs.map +1 -1
- package/fesm2022/chips-testing.mjs +201 -344
- package/fesm2022/chips-testing.mjs.map +1 -1
- package/fesm2022/chips.mjs +2552 -2289
- package/fesm2022/chips.mjs.map +1 -1
- package/fesm2022/core-testing.mjs +14 -28
- package/fesm2022/core-testing.mjs.map +1 -1
- package/fesm2022/core.mjs +357 -328
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/datepicker-testing.mjs +15 -25
- package/fesm2022/datepicker-testing.mjs.map +1 -1
- package/fesm2022/datepicker.mjs +4826 -4563
- package/fesm2022/datepicker.mjs.map +1 -1
- package/fesm2022/dialog-testing.mjs +93 -129
- package/fesm2022/dialog-testing.mjs.map +1 -1
- package/fesm2022/dialog.mjs +810 -829
- package/fesm2022/dialog.mjs.map +1 -1
- package/fesm2022/divider-testing.mjs +10 -11
- package/fesm2022/divider-testing.mjs.map +1 -1
- package/fesm2022/divider.mjs +119 -43
- package/fesm2022/divider.mjs.map +1 -1
- package/fesm2022/expansion-testing.mjs +74 -130
- package/fesm2022/expansion-testing.mjs.map +1 -1
- package/fesm2022/expansion.mjs +703 -515
- package/fesm2022/expansion.mjs.map +1 -1
- package/fesm2022/form-field-testing-control.mjs +16 -33
- package/fesm2022/form-field-testing-control.mjs.map +1 -1
- package/fesm2022/form-field-testing.mjs +118 -179
- package/fesm2022/form-field-testing.mjs.map +1 -1
- package/fesm2022/form-field.mjs +36 -10
- package/fesm2022/form-field.mjs.map +1 -1
- package/fesm2022/grid-list-testing.mjs +65 -113
- package/fesm2022/grid-list-testing.mjs.map +1 -1
- package/fesm2022/grid-list.mjs +559 -494
- package/fesm2022/grid-list.mjs.map +1 -1
- package/fesm2022/icon-testing.mjs +148 -127
- package/fesm2022/icon-testing.mjs.map +1 -1
- package/fesm2022/icon.mjs +325 -351
- package/fesm2022/icon.mjs.map +1 -1
- package/fesm2022/input-testing.mjs +59 -99
- package/fesm2022/input-testing.mjs.map +1 -1
- package/fesm2022/input.mjs +457 -520
- package/fesm2022/input.mjs.map +1 -1
- package/fesm2022/list-testing.mjs +251 -434
- package/fesm2022/list-testing.mjs.map +1 -1
- package/fesm2022/list.mjs +1522 -1204
- package/fesm2022/list.mjs.map +1 -1
- package/fesm2022/material.mjs +0 -5
- package/fesm2022/material.mjs.map +1 -1
- package/fesm2022/menu-testing.mjs +159 -228
- package/fesm2022/menu-testing.mjs.map +1 -1
- package/fesm2022/menu.mjs +1338 -1343
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/paginator-testing.mjs +55 -79
- package/fesm2022/paginator-testing.mjs.map +1 -1
- package/fesm2022/paginator.mjs +381 -309
- package/fesm2022/paginator.mjs.map +1 -1
- package/fesm2022/progress-bar-testing.mjs +12 -21
- package/fesm2022/progress-bar-testing.mjs.map +1 -1
- package/fesm2022/progress-bar.mjs +224 -169
- package/fesm2022/progress-bar.mjs.map +1 -1
- package/fesm2022/progress-spinner-testing.mjs +13 -23
- package/fesm2022/progress-spinner-testing.mjs.map +1 -1
- package/fesm2022/progress-spinner.mjs +235 -160
- package/fesm2022/progress-spinner.mjs.map +1 -1
- package/fesm2022/radio-testing.mjs +133 -208
- package/fesm2022/radio-testing.mjs.map +1 -1
- package/fesm2022/radio.mjs +712 -679
- package/fesm2022/radio.mjs.map +1 -1
- package/fesm2022/select-testing.mjs +83 -117
- package/fesm2022/select-testing.mjs.map +1 -1
- package/fesm2022/select.mjs +1116 -1246
- package/fesm2022/select.mjs.map +1 -1
- package/fesm2022/sidenav-testing.mjs +54 -120
- package/fesm2022/sidenav-testing.mjs.map +1 -1
- package/fesm2022/sidenav.mjs +1078 -995
- package/fesm2022/sidenav.mjs.map +1 -1
- package/fesm2022/slide-toggle-testing.mjs +57 -92
- package/fesm2022/slide-toggle-testing.mjs.map +1 -1
- package/fesm2022/slide-toggle.mjs +369 -279
- package/fesm2022/slide-toggle.mjs.map +1 -1
- package/fesm2022/slider-testing.mjs +90 -138
- package/fesm2022/slider-testing.mjs.map +1 -1
- package/fesm2022/slider.mjs +1651 -1716
- package/fesm2022/slider.mjs.map +1 -1
- package/fesm2022/snack-bar-testing.mjs +40 -87
- package/fesm2022/snack-bar-testing.mjs.map +1 -1
- package/fesm2022/snack-bar.mjs +763 -714
- package/fesm2022/snack-bar.mjs.map +1 -1
- package/fesm2022/sort-testing.mjs +45 -66
- package/fesm2022/sort-testing.mjs.map +1 -1
- package/fesm2022/sort.mjs +419 -344
- package/fesm2022/sort.mjs.map +1 -1
- package/fesm2022/stepper-testing.mjs +78 -154
- package/fesm2022/stepper-testing.mjs.map +1 -1
- package/fesm2022/stepper.mjs +790 -498
- package/fesm2022/stepper.mjs.map +1 -1
- package/fesm2022/table-testing.mjs +120 -213
- package/fesm2022/table-testing.mjs.map +1 -1
- package/fesm2022/table.mjs +1026 -684
- package/fesm2022/table.mjs.map +1 -1
- package/fesm2022/tabs-testing.mjs +125 -197
- package/fesm2022/tabs-testing.mjs.map +1 -1
- package/fesm2022/tabs.mjs +2351 -2028
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/timepicker-testing.mjs +113 -172
- package/fesm2022/timepicker-testing.mjs.map +1 -1
- package/fesm2022/timepicker.mjs +1019 -826
- package/fesm2022/timepicker.mjs.map +1 -1
- package/fesm2022/toolbar-testing.mjs +16 -27
- package/fesm2022/toolbar-testing.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +163 -78
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tooltip-testing.mjs +41 -52
- package/fesm2022/tooltip-testing.mjs.map +1 -1
- package/fesm2022/tooltip.mjs +36 -10
- package/fesm2022/tooltip.mjs.map +1 -1
- package/fesm2022/tree-testing.mjs +86 -162
- package/fesm2022/tree-testing.mjs.map +1 -1
- package/fesm2022/tree.mjs +638 -466
- package/fesm2022/tree.mjs.map +1 -1
- package/package.json +2 -2
- package/schematics/ng-add/index.js +1 -1
- package/types/expansion.d.ts +4 -2
- package/types/menu-testing.d.ts +2 -0
- package/types/select.d.ts +1 -1
- package/types/timepicker.d.ts +1 -0
|
@@ -1,145 +1,79 @@
|
|
|
1
1
|
import { HarnessPredicate, ContentContainerComponentHarness } from '@angular/cdk/testing';
|
|
2
2
|
|
|
3
|
-
/**
|
|
4
|
-
* Base class for the drawer harness functionality.
|
|
5
|
-
* @docs-private
|
|
6
|
-
*/
|
|
7
3
|
class MatDrawerHarnessBase extends ContentContainerComponentHarness {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
async isOpen() {
|
|
5
|
+
return (await this.host()).hasClass('mat-drawer-opened');
|
|
6
|
+
}
|
|
7
|
+
async getPosition() {
|
|
8
|
+
const host = await this.host();
|
|
9
|
+
return (await host.hasClass('mat-drawer-end')) ? 'end' : 'start';
|
|
10
|
+
}
|
|
11
|
+
async getMode() {
|
|
12
|
+
const host = await this.host();
|
|
13
|
+
if (await host.hasClass('mat-drawer-push')) {
|
|
14
|
+
return 'push';
|
|
11
15
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const host = await this.host();
|
|
15
|
-
return (await host.hasClass('mat-drawer-end')) ? 'end' : 'start';
|
|
16
|
-
}
|
|
17
|
-
/** Gets the mode that the drawer is in. */
|
|
18
|
-
async getMode() {
|
|
19
|
-
const host = await this.host();
|
|
20
|
-
if (await host.hasClass('mat-drawer-push')) {
|
|
21
|
-
return 'push';
|
|
22
|
-
}
|
|
23
|
-
if (await host.hasClass('mat-drawer-side')) {
|
|
24
|
-
return 'side';
|
|
25
|
-
}
|
|
26
|
-
return 'over';
|
|
16
|
+
if (await host.hasClass('mat-drawer-side')) {
|
|
17
|
+
return 'side';
|
|
27
18
|
}
|
|
19
|
+
return 'over';
|
|
20
|
+
}
|
|
28
21
|
}
|
|
29
|
-
/** Harness for interacting with a standard mat-drawer in tests. */
|
|
30
22
|
class MatDrawerHarness extends MatDrawerHarnessBase {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
* certain criteria.
|
|
36
|
-
* @param options Options for filtering which drawer instances are considered a match.
|
|
37
|
-
* @return a `HarnessPredicate` configured with the given options.
|
|
38
|
-
*/
|
|
39
|
-
static with(options = {}) {
|
|
40
|
-
return new HarnessPredicate(MatDrawerHarness, options).addOption('position', options.position, async (harness, position) => (await harness.getPosition()) === position);
|
|
41
|
-
}
|
|
23
|
+
static hostSelector = '.mat-drawer';
|
|
24
|
+
static with(options = {}) {
|
|
25
|
+
return new HarnessPredicate(MatDrawerHarness, options).addOption('position', options.position, async (harness, position) => (await harness.getPosition()) === position);
|
|
26
|
+
}
|
|
42
27
|
}
|
|
43
28
|
|
|
44
|
-
/** Harness for interacting with a standard mat-drawer-content in tests. */
|
|
45
29
|
class MatDrawerContentHarness extends ContentContainerComponentHarness {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
* meets certain criteria.
|
|
51
|
-
* @param options Options for filtering which drawer content instances are considered a match.
|
|
52
|
-
* @return a `HarnessPredicate` configured with the given options.
|
|
53
|
-
*/
|
|
54
|
-
static with(options = {}) {
|
|
55
|
-
return new HarnessPredicate(MatDrawerContentHarness, options);
|
|
56
|
-
}
|
|
30
|
+
static hostSelector = '.mat-drawer-content';
|
|
31
|
+
static with(options = {}) {
|
|
32
|
+
return new HarnessPredicate(MatDrawerContentHarness, options);
|
|
33
|
+
}
|
|
57
34
|
}
|
|
58
35
|
|
|
59
|
-
/** Harness for interacting with a standard mat-drawer-container in tests. */
|
|
60
36
|
class MatDrawerContainerHarness extends ContentContainerComponentHarness {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Gets drawers that match particular criteria within the container.
|
|
74
|
-
* @param filter Optionally filters which chips are included.
|
|
75
|
-
*/
|
|
76
|
-
async getDrawers(filter = {}) {
|
|
77
|
-
return this.locatorForAll(MatDrawerHarness.with(filter))();
|
|
78
|
-
}
|
|
79
|
-
/** Gets the element that has the container's content. */
|
|
80
|
-
async getContent() {
|
|
81
|
-
return this.locatorFor(MatDrawerContentHarness)();
|
|
82
|
-
}
|
|
37
|
+
static hostSelector = '.mat-drawer-container';
|
|
38
|
+
static with(options = {}) {
|
|
39
|
+
return new HarnessPredicate(MatDrawerContainerHarness, options);
|
|
40
|
+
}
|
|
41
|
+
async getDrawers(filter = {}) {
|
|
42
|
+
return this.locatorForAll(MatDrawerHarness.with(filter))();
|
|
43
|
+
}
|
|
44
|
+
async getContent() {
|
|
45
|
+
return this.locatorFor(MatDrawerContentHarness)();
|
|
46
|
+
}
|
|
83
47
|
}
|
|
84
48
|
|
|
85
|
-
/** Harness for interacting with a standard mat-sidenav-content in tests. */
|
|
86
49
|
class MatSidenavContentHarness extends ContentContainerComponentHarness {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
* meets certain criteria.
|
|
92
|
-
* @param options Options for filtering which sidenav content instances are considered a match.
|
|
93
|
-
* @return a `HarnessPredicate` configured with the given options.
|
|
94
|
-
*/
|
|
95
|
-
static with(options = {}) {
|
|
96
|
-
return new HarnessPredicate(MatSidenavContentHarness, options);
|
|
97
|
-
}
|
|
50
|
+
static hostSelector = '.mat-sidenav-content';
|
|
51
|
+
static with(options = {}) {
|
|
52
|
+
return new HarnessPredicate(MatSidenavContentHarness, options);
|
|
53
|
+
}
|
|
98
54
|
}
|
|
99
55
|
|
|
100
|
-
/** Harness for interacting with a standard mat-sidenav in tests. */
|
|
101
56
|
class MatSidenavHarness extends MatDrawerHarnessBase {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
*/
|
|
110
|
-
static with(options = {}) {
|
|
111
|
-
return new HarnessPredicate(MatSidenavHarness, options).addOption('position', options.position, async (harness, position) => (await harness.getPosition()) === position);
|
|
112
|
-
}
|
|
113
|
-
/** Whether the sidenav is fixed in the viewport. */
|
|
114
|
-
async isFixedInViewport() {
|
|
115
|
-
return (await this.host()).hasClass('mat-sidenav-fixed');
|
|
116
|
-
}
|
|
57
|
+
static hostSelector = '.mat-sidenav';
|
|
58
|
+
static with(options = {}) {
|
|
59
|
+
return new HarnessPredicate(MatSidenavHarness, options).addOption('position', options.position, async (harness, position) => (await harness.getPosition()) === position);
|
|
60
|
+
}
|
|
61
|
+
async isFixedInViewport() {
|
|
62
|
+
return (await this.host()).hasClass('mat-sidenav-fixed');
|
|
63
|
+
}
|
|
117
64
|
}
|
|
118
65
|
|
|
119
|
-
/** Harness for interacting with a standard mat-sidenav-container in tests. */
|
|
120
66
|
class MatSidenavContainerHarness extends ContentContainerComponentHarness {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Gets sidenavs that match particular criteria within the container.
|
|
134
|
-
* @param filter Optionally filters which chips are included.
|
|
135
|
-
*/
|
|
136
|
-
async getSidenavs(filter = {}) {
|
|
137
|
-
return this.locatorForAll(MatSidenavHarness.with(filter))();
|
|
138
|
-
}
|
|
139
|
-
/** Gets the element that has the container's content. */
|
|
140
|
-
async getContent() {
|
|
141
|
-
return this.locatorFor(MatSidenavContentHarness)();
|
|
142
|
-
}
|
|
67
|
+
static hostSelector = '.mat-sidenav-container';
|
|
68
|
+
static with(options = {}) {
|
|
69
|
+
return new HarnessPredicate(MatSidenavContainerHarness, options);
|
|
70
|
+
}
|
|
71
|
+
async getSidenavs(filter = {}) {
|
|
72
|
+
return this.locatorForAll(MatSidenavHarness.with(filter))();
|
|
73
|
+
}
|
|
74
|
+
async getContent() {
|
|
75
|
+
return this.locatorFor(MatSidenavContentHarness)();
|
|
76
|
+
}
|
|
143
77
|
}
|
|
144
78
|
|
|
145
79
|
export { MatDrawerContainerHarness, MatDrawerContentHarness, MatDrawerHarness, MatSidenavContainerHarness, MatSidenavContentHarness, MatSidenavHarness };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidenav-testing.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/sidenav/testing/drawer-harness.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/sidenav/testing/drawer-content-harness.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/sidenav/testing/drawer-container-harness.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/sidenav/testing/sidenav-content-harness.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/sidenav/testing/sidenav-harness.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/sidenav/testing/sidenav-container-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {ContentContainerComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {DrawerHarnessFilters} from './drawer-harness-filters';\n\n/**\n * Base class for the drawer harness functionality.\n * @docs-private\n */\nexport class MatDrawerHarnessBase extends ContentContainerComponentHarness<string> {\n /** Whether the drawer is open. */\n async isOpen(): Promise<boolean> {\n return (await this.host()).hasClass('mat-drawer-opened');\n }\n\n /** Gets the position of the drawer inside its container. */\n async getPosition(): Promise<'start' | 'end'> {\n const host = await this.host();\n return (await host.hasClass('mat-drawer-end')) ? 'end' : 'start';\n }\n\n /** Gets the mode that the drawer is in. */\n async getMode(): Promise<'over' | 'push' | 'side'> {\n const host = await this.host();\n\n if (await host.hasClass('mat-drawer-push')) {\n return 'push';\n }\n\n if (await host.hasClass('mat-drawer-side')) {\n return 'side';\n }\n\n return 'over';\n }\n}\n\n/** Harness for interacting with a standard mat-drawer in tests. */\nexport class MatDrawerHarness extends MatDrawerHarnessBase {\n /** The selector for the host element of a `MatDrawer` instance. */\n static hostSelector = '.mat-drawer';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDrawerHarness` that meets\n * certain criteria.\n * @param options Options for filtering which drawer instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: DrawerHarnessFilters = {}): HarnessPredicate<MatDrawerHarness> {\n return new HarnessPredicate(MatDrawerHarness, options).addOption(\n 'position',\n options.position,\n async (harness, position) => (await harness.getPosition()) === position,\n );\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {ContentContainerComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {DrawerContentHarnessFilters} from './drawer-harness-filters';\n\n/** Harness for interacting with a standard mat-drawer-content in tests. */\nexport class MatDrawerContentHarness extends ContentContainerComponentHarness<string> {\n /** The selector for the host element of a `MatDrawerContent` instance. */\n static hostSelector = '.mat-drawer-content';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDrawerContentHarness` that\n * meets certain criteria.\n * @param options Options for filtering which drawer content instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: DrawerContentHarnessFilters = {},\n ): HarnessPredicate<MatDrawerContentHarness> {\n return new HarnessPredicate(MatDrawerContentHarness, options);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {ContentContainerComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {DrawerContainerHarnessFilters, DrawerHarnessFilters} from './drawer-harness-filters';\nimport {MatDrawerContentHarness} from './drawer-content-harness';\nimport {MatDrawerHarness} from './drawer-harness';\n\n/** Harness for interacting with a standard mat-drawer-container in tests. */\nexport class MatDrawerContainerHarness extends ContentContainerComponentHarness<string> {\n /** The selector for the host element of a `MatDrawerContainer` instance. */\n static hostSelector = '.mat-drawer-container';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDrawerContainerHarness` that\n * meets certain criteria.\n * @param options Options for filtering which container instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: DrawerContainerHarnessFilters = {},\n ): HarnessPredicate<MatDrawerContainerHarness> {\n return new HarnessPredicate(MatDrawerContainerHarness, options);\n }\n\n /**\n * Gets drawers that match particular criteria within the container.\n * @param filter Optionally filters which chips are included.\n */\n async getDrawers(filter: DrawerHarnessFilters = {}): Promise<MatDrawerHarness[]> {\n return this.locatorForAll(MatDrawerHarness.with(filter))();\n }\n\n /** Gets the element that has the container's content. */\n async getContent(): Promise<MatDrawerContentHarness> {\n return this.locatorFor(MatDrawerContentHarness)();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {ContentContainerComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {DrawerContentHarnessFilters} from './drawer-harness-filters';\n\n/** Harness for interacting with a standard mat-sidenav-content in tests. */\nexport class MatSidenavContentHarness extends ContentContainerComponentHarness<string> {\n /** The selector for the host element of a `MatSidenavContent` instance. */\n static hostSelector = '.mat-sidenav-content';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatSidenavContentHarness` that\n * meets certain criteria.\n * @param options Options for filtering which sidenav content instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: DrawerContentHarnessFilters = {},\n ): HarnessPredicate<MatSidenavContentHarness> {\n return new HarnessPredicate(MatSidenavContentHarness, options);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {HarnessPredicate} from '@angular/cdk/testing';\nimport {MatDrawerHarnessBase} from './drawer-harness';\nimport {DrawerHarnessFilters} from './drawer-harness-filters';\n\n/** Harness for interacting with a standard mat-sidenav in tests. */\nexport class MatSidenavHarness extends MatDrawerHarnessBase {\n /** The selector for the host element of a `MatSidenav` instance. */\n static hostSelector = '.mat-sidenav';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatSidenavHarness` that meets\n * certain criteria.\n * @param options Options for filtering which sidenav instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: DrawerHarnessFilters = {}): HarnessPredicate<MatSidenavHarness> {\n return new HarnessPredicate(MatSidenavHarness, options).addOption(\n 'position',\n options.position,\n async (harness, position) => (await harness.getPosition()) === position,\n );\n }\n\n /** Whether the sidenav is fixed in the viewport. */\n async isFixedInViewport(): Promise<boolean> {\n return (await this.host()).hasClass('mat-sidenav-fixed');\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {ContentContainerComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {DrawerContainerHarnessFilters, DrawerHarnessFilters} from './drawer-harness-filters';\nimport {MatSidenavContentHarness} from './sidenav-content-harness';\nimport {MatSidenavHarness} from './sidenav-harness';\n\n/** Harness for interacting with a standard mat-sidenav-container in tests. */\nexport class MatSidenavContainerHarness extends ContentContainerComponentHarness<string> {\n /** The selector for the host element of a `MatSidenavContainer` instance. */\n static hostSelector = '.mat-sidenav-container';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatSidenavContainerHarness` that\n * meets certain criteria.\n * @param options Options for filtering which container instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: DrawerContainerHarnessFilters = {},\n ): HarnessPredicate<MatSidenavContainerHarness> {\n return new HarnessPredicate(MatSidenavContainerHarness, options);\n }\n\n /**\n * Gets sidenavs that match particular criteria within the container.\n * @param filter Optionally filters which chips are included.\n */\n async getSidenavs(filter: DrawerHarnessFilters = {}): Promise<MatSidenavHarness[]> {\n return this.locatorForAll(MatSidenavHarness.with(filter))();\n }\n\n /** Gets the element that has the container's content. */\n async getContent(): Promise<MatSidenavContentHarness> {\n return this.locatorFor(MatSidenavContentHarness)();\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sidenav-testing.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/sidenav/testing/drawer-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/sidenav/testing/drawer-content-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/sidenav/testing/drawer-container-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/sidenav/testing/sidenav-content-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/sidenav/testing/sidenav-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/sidenav/testing/sidenav-container-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {ContentContainerComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {DrawerHarnessFilters} from './drawer-harness-filters';\n\n/**\n * Base class for the drawer harness functionality.\n * @docs-private\n */\nexport class MatDrawerHarnessBase extends ContentContainerComponentHarness<string> {\n /** Whether the drawer is open. */\n async isOpen(): Promise<boolean> {\n return (await this.host()).hasClass('mat-drawer-opened');\n }\n\n /** Gets the position of the drawer inside its container. */\n async getPosition(): Promise<'start' | 'end'> {\n const host = await this.host();\n return (await host.hasClass('mat-drawer-end')) ? 'end' : 'start';\n }\n\n /** Gets the mode that the drawer is in. */\n async getMode(): Promise<'over' | 'push' | 'side'> {\n const host = await this.host();\n\n if (await host.hasClass('mat-drawer-push')) {\n return 'push';\n }\n\n if (await host.hasClass('mat-drawer-side')) {\n return 'side';\n }\n\n return 'over';\n }\n}\n\n/** Harness for interacting with a standard mat-drawer in tests. */\nexport class MatDrawerHarness extends MatDrawerHarnessBase {\n /** The selector for the host element of a `MatDrawer` instance. */\n static hostSelector = '.mat-drawer';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDrawerHarness` that meets\n * certain criteria.\n * @param options Options for filtering which drawer instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: DrawerHarnessFilters = {}): HarnessPredicate<MatDrawerHarness> {\n return new HarnessPredicate(MatDrawerHarness, options).addOption(\n 'position',\n options.position,\n async (harness, position) => (await harness.getPosition()) === position,\n );\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {ContentContainerComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {DrawerContentHarnessFilters} from './drawer-harness-filters';\n\n/** Harness for interacting with a standard mat-drawer-content in tests. */\nexport class MatDrawerContentHarness extends ContentContainerComponentHarness<string> {\n /** The selector for the host element of a `MatDrawerContent` instance. */\n static hostSelector = '.mat-drawer-content';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDrawerContentHarness` that\n * meets certain criteria.\n * @param options Options for filtering which drawer content instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: DrawerContentHarnessFilters = {},\n ): HarnessPredicate<MatDrawerContentHarness> {\n return new HarnessPredicate(MatDrawerContentHarness, options);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {ContentContainerComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {DrawerContainerHarnessFilters, DrawerHarnessFilters} from './drawer-harness-filters';\nimport {MatDrawerContentHarness} from './drawer-content-harness';\nimport {MatDrawerHarness} from './drawer-harness';\n\n/** Harness for interacting with a standard mat-drawer-container in tests. */\nexport class MatDrawerContainerHarness extends ContentContainerComponentHarness<string> {\n /** The selector for the host element of a `MatDrawerContainer` instance. */\n static hostSelector = '.mat-drawer-container';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDrawerContainerHarness` that\n * meets certain criteria.\n * @param options Options for filtering which container instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: DrawerContainerHarnessFilters = {},\n ): HarnessPredicate<MatDrawerContainerHarness> {\n return new HarnessPredicate(MatDrawerContainerHarness, options);\n }\n\n /**\n * Gets drawers that match particular criteria within the container.\n * @param filter Optionally filters which chips are included.\n */\n async getDrawers(filter: DrawerHarnessFilters = {}): Promise<MatDrawerHarness[]> {\n return this.locatorForAll(MatDrawerHarness.with(filter))();\n }\n\n /** Gets the element that has the container's content. */\n async getContent(): Promise<MatDrawerContentHarness> {\n return this.locatorFor(MatDrawerContentHarness)();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {ContentContainerComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {DrawerContentHarnessFilters} from './drawer-harness-filters';\n\n/** Harness for interacting with a standard mat-sidenav-content in tests. */\nexport class MatSidenavContentHarness extends ContentContainerComponentHarness<string> {\n /** The selector for the host element of a `MatSidenavContent` instance. */\n static hostSelector = '.mat-sidenav-content';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatSidenavContentHarness` that\n * meets certain criteria.\n * @param options Options for filtering which sidenav content instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: DrawerContentHarnessFilters = {},\n ): HarnessPredicate<MatSidenavContentHarness> {\n return new HarnessPredicate(MatSidenavContentHarness, options);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {HarnessPredicate} from '@angular/cdk/testing';\nimport {MatDrawerHarnessBase} from './drawer-harness';\nimport {DrawerHarnessFilters} from './drawer-harness-filters';\n\n/** Harness for interacting with a standard mat-sidenav in tests. */\nexport class MatSidenavHarness extends MatDrawerHarnessBase {\n /** The selector for the host element of a `MatSidenav` instance. */\n static hostSelector = '.mat-sidenav';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatSidenavHarness` that meets\n * certain criteria.\n * @param options Options for filtering which sidenav instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: DrawerHarnessFilters = {}): HarnessPredicate<MatSidenavHarness> {\n return new HarnessPredicate(MatSidenavHarness, options).addOption(\n 'position',\n options.position,\n async (harness, position) => (await harness.getPosition()) === position,\n );\n }\n\n /** Whether the sidenav is fixed in the viewport. */\n async isFixedInViewport(): Promise<boolean> {\n return (await this.host()).hasClass('mat-sidenav-fixed');\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {ContentContainerComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {DrawerContainerHarnessFilters, DrawerHarnessFilters} from './drawer-harness-filters';\nimport {MatSidenavContentHarness} from './sidenav-content-harness';\nimport {MatSidenavHarness} from './sidenav-harness';\n\n/** Harness for interacting with a standard mat-sidenav-container in tests. */\nexport class MatSidenavContainerHarness extends ContentContainerComponentHarness<string> {\n /** The selector for the host element of a `MatSidenavContainer` instance. */\n static hostSelector = '.mat-sidenav-container';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatSidenavContainerHarness` that\n * meets certain criteria.\n * @param options Options for filtering which container instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: DrawerContainerHarnessFilters = {},\n ): HarnessPredicate<MatSidenavContainerHarness> {\n return new HarnessPredicate(MatSidenavContainerHarness, options);\n }\n\n /**\n * Gets sidenavs that match particular criteria within the container.\n * @param filter Optionally filters which chips are included.\n */\n async getSidenavs(filter: DrawerHarnessFilters = {}): Promise<MatSidenavHarness[]> {\n return this.locatorForAll(MatSidenavHarness.with(filter))();\n }\n\n /** Gets the element that has the container's content. */\n async getContent(): Promise<MatSidenavContentHarness> {\n return this.locatorFor(MatSidenavContentHarness)();\n }\n}\n"],"names":["MatDrawerHarnessBase","ContentContainerComponentHarness","isOpen","host","hasClass","getPosition","getMode","MatDrawerHarness","hostSelector","with","options","HarnessPredicate","addOption","position","harness","MatDrawerContentHarness","MatDrawerContainerHarness","getDrawers","filter","locatorForAll","getContent","locatorFor","MatSidenavContentHarness","MatSidenavHarness","isFixedInViewport","MatSidenavContainerHarness","getSidenavs"],"mappings":"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"}
|