Skip to content

Commit 601c939

Browse files
authored
Merge branch 'main' into aria-tabs
2 parents f66f800 + 61f9ac0 commit 601c939

37 files changed

Lines changed: 1233 additions & 73 deletions
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
## API Report File for "@angular/aria_accordion_testing"
2+
3+
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4+
5+
```ts
6+
7+
import * as _angular_cdk_testing from '@angular/cdk/testing';
8+
import { BaseHarnessFilters } from '@angular/cdk/testing';
9+
import { ComponentHarness } from '@angular/cdk/testing';
10+
import { ContentContainerComponentHarness } from '@angular/cdk/testing';
11+
import { HarnessPredicate } from '@angular/cdk/testing';
12+
13+
// @public
14+
export class AccordionGroupHarness extends ComponentHarness {
15+
getAccordions(filters?: AccordionHarnessFilters): Promise<AccordionHarness[]>;
16+
// (undocumented)
17+
static hostSelector: string;
18+
static with(options?: AccordionGroupHarnessFilters): HarnessPredicate<AccordionGroupHarness>;
19+
}
20+
21+
// @public
22+
export interface AccordionGroupHarnessFilters extends BaseHarnessFilters {
23+
}
24+
25+
// @public
26+
export class AccordionHarness extends ContentContainerComponentHarness<AccordionSection> {
27+
blur(): Promise<void>;
28+
collapse(): Promise<void>;
29+
expand(): Promise<void>;
30+
focus(): Promise<void>;
31+
protected getRootHarnessLoader(): Promise<_angular_cdk_testing.HarnessLoader>;
32+
getTitle(): Promise<string>;
33+
// (undocumented)
34+
static hostSelector: string;
35+
isDisabled(): Promise<boolean>;
36+
isExpanded(): Promise<boolean>;
37+
isFocused(): Promise<boolean>;
38+
toggle(): Promise<void>;
39+
static with(options?: AccordionHarnessFilters): HarnessPredicate<AccordionHarness>;
40+
}
41+
42+
// @public
43+
export interface AccordionHarnessFilters extends BaseHarnessFilters {
44+
disabled?: boolean;
45+
expanded?: boolean;
46+
title?: string | RegExp;
47+
}
48+
49+
// @public
50+
export enum AccordionSection {
51+
// (undocumented)
52+
PANEL = "[ngAccordionPanel]",
53+
// (undocumented)
54+
TRIGGER = "[ngAccordionTrigger]"
55+
}
56+
57+
// (No @packageDocumentation comment for this package)
58+
59+
```
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
## API Report File for "@angular/aria_listbox_testing"
2+
3+
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4+
5+
```ts
6+
7+
import { BaseHarnessFilters } from '@angular/cdk/testing';
8+
import { ComponentHarness } from '@angular/cdk/testing';
9+
import { HarnessPredicate } from '@angular/cdk/testing';
10+
11+
// @public (undocumented)
12+
export class ListboxHarness extends ComponentHarness {
13+
blur(): Promise<void>;
14+
// (undocumented)
15+
focus(): Promise<void>;
16+
// (undocumented)
17+
getOptions(filters?: ListboxOptionHarnessFilters): Promise<ListboxOptionHarness[]>;
18+
// (undocumented)
19+
getOrientation(): Promise<'vertical' | 'horizontal'>;
20+
// (undocumented)
21+
static hostSelector: string;
22+
// (undocumented)
23+
isDisabled(): Promise<boolean>;
24+
// (undocumented)
25+
isMulti(): Promise<boolean>;
26+
// (undocumented)
27+
static with(options?: ListboxHarnessFilters): HarnessPredicate<ListboxHarness>;
28+
}
29+
30+
// @public
31+
export interface ListboxHarnessFilters extends BaseHarnessFilters {
32+
disabled?: boolean;
33+
}
34+
35+
// @public (undocumented)
36+
export class ListboxOptionHarness extends ComponentHarness {
37+
// (undocumented)
38+
click(): Promise<void>;
39+
// (undocumented)
40+
getText(): Promise<string>;
41+
// (undocumented)
42+
static hostSelector: string;
43+
// (undocumented)
44+
isDisabled(): Promise<boolean>;
45+
// (undocumented)
46+
isSelected(): Promise<boolean>;
47+
// (undocumented)
48+
static with(options?: ListboxOptionHarnessFilters): HarnessPredicate<ListboxOptionHarness>;
49+
}
50+
51+
// @public
52+
export interface ListboxOptionHarnessFilters extends BaseHarnessFilters {
53+
disabled?: boolean;
54+
selected?: boolean;
55+
text?: string | RegExp;
56+
}
57+
58+
// (No @packageDocumentation comment for this package)
59+
60+
```
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
## API Report File for "@angular/aria_menu_testing"
2+
3+
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4+
5+
```ts
6+
7+
import { BaseHarnessFilters } from '@angular/cdk/testing';
8+
import { ComponentHarness } from '@angular/cdk/testing';
9+
import { HarnessPredicate } from '@angular/cdk/testing';
10+
import { TestElement } from '@angular/cdk/testing';
11+
12+
// @public
13+
export class MenuHarness extends ComponentHarness {
14+
close(): Promise<void>;
15+
getItems(filters?: MenuItemHarnessFilters): Promise<MenuItemHarness[]>;
16+
_getTrigger(): Promise<TestElement | null>;
17+
// (undocumented)
18+
static hostSelector: string;
19+
isOpen(): Promise<boolean>;
20+
open(): Promise<void>;
21+
// (undocumented)
22+
static with(options?: MenuHarnessFilters): HarnessPredicate<MenuHarness>;
23+
}
24+
25+
// @public
26+
export interface MenuHarnessFilters extends BaseHarnessFilters {
27+
triggerText?: string | RegExp;
28+
}
29+
30+
// @public
31+
export class MenuItemHarness extends ComponentHarness {
32+
click(): Promise<void>;
33+
getSubmenu(): Promise<MenuHarness | null>;
34+
getText(): Promise<string>;
35+
// (undocumented)
36+
static hostSelector: string;
37+
isDisabled(): Promise<boolean>;
38+
isExpanded(): Promise<boolean>;
39+
// (undocumented)
40+
static with(options?: MenuItemHarnessFilters): HarnessPredicate<MenuItemHarness>;
41+
}
42+
43+
// @public
44+
export interface MenuItemHarnessFilters extends BaseHarnessFilters {
45+
disabled?: boolean;
46+
expanded?: boolean;
47+
text?: string | RegExp;
48+
}
49+
50+
// (No @packageDocumentation comment for this package)
51+
52+
```

goldens/aria/private/index.api.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export interface AccordionGroupInputs extends Omit<ListNavigationInputs<Accordio
1515
// @public
1616
export class AccordionGroupPattern {
1717
constructor(inputs: AccordionGroupInputs);
18+
readonly click: SignalLike<ClickEventManager<PointerEvent>>;
1819
collapseAll(): void;
1920
expandAll(): void;
2021
readonly expansionBehavior: ListExpansion;
@@ -24,10 +25,9 @@ export class AccordionGroupPattern {
2425
readonly keydown: SignalLike<KeyboardEventManager<KeyboardEvent>>;
2526
readonly navigationBehavior: ListNavigation<AccordionTriggerPattern>;
2627
readonly nextKey: SignalLike<"ArrowRight" | "ArrowLeft" | "ArrowDown">;
28+
onClick(event: PointerEvent): void;
2729
onFocus(event: FocusEvent): void;
2830
onKeydown(event: KeyboardEvent): void;
29-
onPointerdown(event: PointerEvent): void;
30-
readonly pointerdown: SignalLike<PointerEventManager<PointerEvent>>;
3131
readonly prevKey: SignalLike<"ArrowUp" | "ArrowRight" | "ArrowLeft">;
3232
toggle(): void;
3333
}
@@ -247,8 +247,8 @@ export class ComboboxTreePattern<V> extends TreePattern<V> implements ComboboxTr
247247
items: SignalLike<TreeItemPattern<V>[]>;
248248
readonly last: () => void;
249249
readonly next: () => void;
250+
onClick(_: PointerEvent): void;
250251
onKeydown(_: KeyboardEvent): void;
251-
onPointerdown(_: PointerEvent): void;
252252
readonly prev: () => void;
253253
readonly role: () => "tree";
254254
readonly select: (item?: TreeItemPattern<V>) => void;
@@ -873,6 +873,7 @@ export class TreePattern<V> implements TreeInputs<V> {
873873
readonly activeDescendant: SignalLike<string | undefined>;
874874
readonly activeItem: WritableSignalLike<TreeItemPattern<V> | undefined>;
875875
readonly children: SignalLike<TreeItemPattern<V>[]>;
876+
readonly clickManager: SignalLike<ClickEventManager<PointerEvent>>;
876877
readonly collapseKey: SignalLike<"ArrowUp" | "ArrowRight" | "ArrowLeft">;
877878
_collapseOrParent(opts?: SelectOptions): void;
878879
readonly currentType: SignalLike<'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false'>;
@@ -897,11 +898,10 @@ export class TreePattern<V> implements TreeInputs<V> {
897898
readonly multi: SignalLike<boolean>;
898899
readonly nav: SignalLike<boolean>;
899900
readonly nextKey: SignalLike<"ArrowRight" | "ArrowLeft" | "ArrowDown">;
901+
onClick(event: PointerEvent): void;
900902
onFocusIn(): void;
901903
onKeydown(event: KeyboardEvent): void;
902-
onPointerdown(event: PointerEvent): void;
903904
readonly orientation: SignalLike<'vertical' | 'horizontal'>;
904-
readonly pointerdown: SignalLike<PointerEventManager<PointerEvent>>;
905905
readonly prevKey: SignalLike<"ArrowUp" | "ArrowRight" | "ArrowLeft">;
906906
readonly selectionMode: SignalLike<'follow' | 'explicit'>;
907907
setDefaultState(): void;

src/aria/accordion/BUILD.bazel

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ ng_project(
1313
"//src/aria/private",
1414
"//src/cdk/a11y",
1515
"//src/cdk/bidi",
16+
"//src/cdk/testing",
1617
],
1718
)
1819

@@ -26,7 +27,9 @@ ng_project(
2627
":accordion",
2728
"//:node_modules/@angular/core",
2829
"//:node_modules/@angular/platform-browser",
30+
"//src/cdk/testing",
2931
"//src/cdk/testing/private",
32+
"//src/cdk/testing/testbed",
3033
],
3134
)
3235

src/aria/accordion/accordion-group.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ import {ACCORDION_GROUP} from './accordion-tokens';
6262
exportAs: 'ngAccordionGroup',
6363
host: {
6464
'(keydown)': '_pattern.onKeydown($event)',
65-
'(pointerdown)': '_pattern.onPointerdown($event)',
65+
'(click)': '_pattern.onClick($event)',
6666
'(focusin)': '_pattern.onFocus($event)',
6767
},
6868
providers: [{provide: ACCORDION_GROUP, useExisting: AccordionGroup}],

src/aria/accordion/accordion.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ describe('AccordionGroup', () => {
2121
};
2222

2323
const click = (target: HTMLElement) => {
24-
target.dispatchEvent(new PointerEvent('pointerdown', {bubbles: true}));
24+
target.dispatchEvent(new PointerEvent('click', {bubbles: true}));
2525
fixture.detectChanges();
2626
};
2727

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
load("//tools:defaults.bzl", "ng_project", "ng_web_test_suite", "ts_project")
2+
3+
package(default_visibility = ["//visibility:public"])
4+
5+
ts_project(
6+
name = "testing",
7+
srcs = glob(
8+
["**/*.ts"],
9+
exclude = ["**/*.spec.ts"],
10+
),
11+
deps = [
12+
"//:node_modules/@angular/core",
13+
"//src/cdk/testing",
14+
],
15+
)
16+
17+
filegroup(
18+
name = "source-files",
19+
srcs = glob(["**/*.ts"]),
20+
)
21+
22+
ng_project(
23+
name = "unit_tests_lib",
24+
testonly = True,
25+
srcs = glob(["**/*.spec.ts"]),
26+
deps = [
27+
":testing",
28+
"//:node_modules/@angular/core",
29+
"//:node_modules/@angular/platform-browser",
30+
"//src/aria/accordion",
31+
"//src/cdk/testing",
32+
"//src/cdk/testing/private",
33+
"//src/cdk/testing/testbed",
34+
],
35+
)
36+
37+
ng_web_test_suite(
38+
name = "unit_tests",
39+
deps = [
40+
":unit_tests_lib",
41+
],
42+
)
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/**
2+
* @license
3+
* Copyright Google LLC All Rights Reserved.
4+
*
5+
* Use of this source code is governed by an MIT-style license that can be
6+
* found in the LICENSE file at https://angular.dev/license
7+
*/
8+
9+
import {BaseHarnessFilters} from '@angular/cdk/testing';
10+
11+
/** Filters for locating an `AccordionHarness`. */
12+
export interface AccordionHarnessFilters extends BaseHarnessFilters {
13+
/** Only find instances whose title text matches the given value. */
14+
title?: string | RegExp;
15+
/** Only find instances whose expanded state matches the given value. */
16+
expanded?: boolean;
17+
/** Only find instances whose disabled state matches the given value. */
18+
disabled?: boolean;
19+
}
20+
21+
/** Filters for locating an `AccordionGroupHarness`. */
22+
export interface AccordionGroupHarnessFilters extends BaseHarnessFilters {}

0 commit comments

Comments
 (0)