Skip to content

Commit 2358935

Browse files
authored
Merge branch 'angular:main' into aria-todo
2 parents 362ff53 + e4abb46 commit 2358935

81 files changed

Lines changed: 1752 additions & 1416 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

MODULE.bazel

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,14 @@ git_override(
3232
bazel_dep(name = "rules_angular")
3333
git_override(
3434
module_name = "rules_angular",
35-
commit = "03dade2ea0ea355e13ca88c550eaa633191b16ec",
35+
commit = "c9445b413687d2930f11b42654ac44396c74c9ab",
3636
remote = "https://github.com/angular/rules_angular.git",
3737
)
3838

3939
bazel_dep(name = "devinfra")
4040
git_override(
4141
module_name = "devinfra",
42-
commit = "e04d90adad1a125b29fbc4d97f425798768a8cb1",
42+
commit = "c4d0c373994a793629c857e44485ffab6d77f4ae",
4343
remote = "https://github.com/angular/dev-infra.git",
4444
)
4545

docs/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
"@types/jasmine": "^6.0.0",
6262
"@types/node": "^22.14.1",
6363
"@types/shelljs": "0.10.0",
64-
"firebase-tools": "15.14.0",
64+
"firebase-tools": "15.15.0",
6565
"jasmine-core": "^6.0.0",
6666
"jasmine-spec-reporter": "7.0.0",
6767
"karma": "~6.4.4",

goldens/aria/combobox/index.api.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,12 @@ export class ComboboxDialog {
3636
// (undocumented)
3737
close(): void;
3838
readonly combobox: Combobox<any>;
39-
readonly element: HTMLElement;
39+
readonly element: HTMLDialogElement;
40+
readonly id: _angular_core.InputSignal<string>;
4041
// (undocumented)
4142
readonly _pattern: ComboboxDialogPattern;
4243
// (undocumented)
43-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ComboboxDialog, "dialog[ngComboboxDialog]", ["ngComboboxDialog"], {}, {}, never, never, true, [{ directive: typeof ComboboxPopup; inputs: {}; outputs: {}; }]>;
44+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ComboboxDialog, "dialog[ngComboboxDialog]", ["ngComboboxDialog"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof ComboboxPopup; inputs: {}; outputs: {}; }]>;
4445
// (undocumented)
4546
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ComboboxDialog, never>;
4647
}

goldens/aria/grid/index.api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ export class GridCellWidget {
6363
readonly deactivated: _angular_core.OutputEmitterRef<KeyboardEvent | FocusEvent | undefined>;
6464
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
6565
readonly element: HTMLElement;
66-
readonly focusTarget: _angular_core.InputSignal<ElementRef<any> | HTMLElement | undefined>;
66+
readonly focusTarget: _angular_core.InputSignal<ElementResolver<HTMLElement>>;
6767
readonly id: _angular_core.InputSignal<string>;
6868
get isActivated(): Signal<boolean>;
6969
readonly _pattern: GridCellWidgetPattern;
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
## API Report File for "@angular/aria_grid_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 { ContentContainerComponentHarness } from '@angular/cdk/testing';
10+
import { HarnessPredicate } from '@angular/cdk/testing';
11+
12+
// @public
13+
export class GridCellHarness extends ContentContainerComponentHarness {
14+
blur(): Promise<void>;
15+
click(): Promise<void>;
16+
focus(): Promise<void>;
17+
getText(): Promise<string>;
18+
// (undocumented)
19+
static hostSelector: string;
20+
isDisabled(): Promise<boolean>;
21+
isSelected(): Promise<boolean>;
22+
static with(options?: GridCellHarnessFilters): HarnessPredicate<GridCellHarness>;
23+
}
24+
25+
// @public
26+
export interface GridCellHarnessFilters extends BaseHarnessFilters {
27+
disabled?: boolean;
28+
selected?: boolean;
29+
text?: string | RegExp;
30+
}
31+
32+
// @public
33+
export class GridHarness extends ComponentHarness {
34+
getCells(filters?: GridCellHarnessFilters): Promise<GridCellHarness[]>;
35+
getCellTextByIndex(): Promise<string[][]>;
36+
getRows(filters?: GridRowHarnessFilters): Promise<GridRowHarness[]>;
37+
// (undocumented)
38+
static hostSelector: string;
39+
isDisabled(): Promise<boolean>;
40+
isMultiSelectable(): Promise<boolean>;
41+
static with(options?: GridHarnessFilters): HarnessPredicate<GridHarness>;
42+
}
43+
44+
// @public
45+
export interface GridHarnessFilters extends BaseHarnessFilters {
46+
disabled?: boolean;
47+
}
48+
49+
// @public
50+
export class GridRowHarness extends ComponentHarness {
51+
getCells(filters?: GridCellHarnessFilters): Promise<GridCellHarness[]>;
52+
getCellTextByIndex(filters?: GridCellHarnessFilters): Promise<string[]>;
53+
// (undocumented)
54+
static hostSelector: string;
55+
static with(options?: GridRowHarnessFilters): HarnessPredicate<GridRowHarness>;
56+
}
57+
58+
// @public
59+
export interface GridRowHarnessFilters extends BaseHarnessFilters {
60+
}
61+
62+
// (No @packageDocumentation comment for this package)
63+
64+
```

goldens/aria/private/index.api.md

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
```ts
66

77
import * as _angular_core from '@angular/core';
8+
import { ElementRef } from '@angular/core';
89
import { OnDestroy } from '@angular/core';
910
import { untracked } from '@angular/core/primitives/signals';
1011

@@ -291,6 +292,9 @@ export class DeferredContentAware {
291292
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DeferredContentAware, never>;
292293
}
293294

295+
// @public
296+
export type ElementResolver<T = HTMLElement> = ElementRef<T> | T | undefined | null | ((context: HTMLElement) => T | null | undefined);
297+
294298
// @public
295299
export interface GridCellInputs extends GridCell {
296300
colIndex: SignalLike<number | undefined>;
@@ -334,7 +338,7 @@ export interface GridCellWidgetInputs {
334338
cell: SignalLike<GridCellPattern>;
335339
disabled: SignalLike<boolean>;
336340
element: SignalLike<HTMLElement>;
337-
focusTarget: SignalLike<HTMLElement | undefined>;
341+
focusTarget: SignalLike<ElementResolver<HTMLElement>>;
338342
widgetType: SignalLike<'simple' | 'complex' | 'editable'>;
339343
}
340344

@@ -378,6 +382,7 @@ export class GridPattern {
378382
readonly activeDescendant: SignalLike<string | undefined>;
379383
readonly anchorCell: SignalLike<GridCellPattern | undefined>;
380384
readonly cells: SignalLike<GridCellPattern[][]>;
385+
readonly clickManager: SignalLike<ClickEventManager<PointerEvent>>;
381386
readonly disabled: SignalLike<boolean>;
382387
readonly dragging: WritableSignalLike<boolean>;
383388
focusEffect(): void;
@@ -389,12 +394,11 @@ export class GridPattern {
389394
readonly keydown: SignalLike<KeyboardEventManager<KeyboardEvent>>;
390395
readonly multiSelectable: SignalLike<boolean | undefined>;
391396
readonly nextColKey: SignalLike<"ArrowRight" | "ArrowLeft">;
397+
onClick(event: PointerEvent): void;
392398
onFocusIn(event: FocusEvent): void;
393399
onFocusOut(event: FocusEvent): void;
394400
onKeydown(event: KeyboardEvent): void;
395-
onPointerdown(event: PointerEvent): void;
396401
readonly pauseNavigation: SignalLike<boolean>;
397-
readonly pointerdown: SignalLike<PointerEventManager<PointerEvent>>;
398402
readonly prevColKey: SignalLike<"ArrowRight" | "ArrowLeft">;
399403
resetFocusEffect(): void;
400404
resetStateEffect(): void;
@@ -650,6 +654,9 @@ export class OptionPattern<V> {
650654
readonly value: SignalLike<V>;
651655
}
652656

657+
// @public
658+
export function resolveElement<T = HTMLElement>(resolver: ElementResolver<T>, context: HTMLElement): T | undefined;
659+
653660
// @public (undocumented)
654661
export function signal<T>(initialValue: T): WritableSignalLike<T>;
655662

@@ -660,14 +667,14 @@ export type SignalLike<T> = () => T;
660667
export function sortDirectives(a: HasElement, b: HasElement): 1 | -1;
661668

662669
// @public
663-
export interface TabInputs extends Omit<ListNavigationItem, 'index'>, Omit<ExpansionItem, 'expandable'> {
664-
tablist: SignalLike<TabListPattern>;
665-
tabpanel: SignalLike<TabPanelPattern | undefined>;
666-
value: SignalLike<string>;
670+
export interface TabInputs extends Omit<ListNavigationItem, 'index'>, Omit<ExpansionItem, 'expandable' | 'expanded'> {
671+
tabList: SignalLike<TabListPattern>;
672+
tabPanel: SignalLike<TabPanelPattern | undefined>;
667673
}
668674

669675
// @public
670676
export interface TabListInputs extends Omit<ListNavigationInputs<TabPattern>, 'multi'>, Omit<ListExpansionInputs, 'multiExpandable' | 'items'> {
677+
selectedTab: WritableSignalLike<TabPattern | undefined>;
671678
selectionMode: SignalLike<'follow' | 'explicit'>;
672679
}
673680

@@ -690,7 +697,6 @@ export class TabListPattern {
690697
onClick(event: PointerEvent): void;
691698
onFocusIn(): void;
692699
onKeydown(event: KeyboardEvent): void;
693-
open(value: string): boolean;
694700
open(tab?: TabPattern): boolean;
695701
readonly orientation: SignalLike<'vertical' | 'horizontal'>;
696702
readonly prevKey: SignalLike<"ArrowUp" | "ArrowRight" | "ArrowLeft">;
@@ -703,8 +709,7 @@ export class TabListPattern {
703709
// @public
704710
export interface TabPanelInputs extends LabelControlOptionalInputs {
705711
id: SignalLike<string>;
706-
tab: SignalLike<TabPattern | undefined>;
707-
value: SignalLike<string>;
712+
readonly tab: SignalLike<TabPattern | undefined>;
708713
}
709714

710715
// @public
@@ -717,7 +722,6 @@ export class TabPanelPattern {
717722
readonly labelledBy: SignalLike<string | undefined>;
718723
readonly labelManager: LabelControl;
719724
readonly tabIndex: SignalLike<-1 | 0>;
720-
readonly value: SignalLike<string>;
721725
}
722726

723727
// @public
@@ -728,15 +732,14 @@ export class TabPattern {
728732
readonly disabled: SignalLike<boolean>;
729733
readonly element: SignalLike<HTMLElement>;
730734
readonly expandable: SignalLike<boolean>;
735+
// (undocumented)
731736
readonly expanded: WritableSignalLike<boolean>;
732737
readonly id: SignalLike<string>;
733-
readonly index: SignalLike<number>;
734738
// (undocumented)
735739
readonly inputs: TabInputs;
736740
open(): boolean;
737741
readonly selected: SignalLike<boolean>;
738742
readonly tabIndex: SignalLike<0 | -1>;
739-
readonly value: SignalLike<string>;
740743
}
741744

742745
// @public

goldens/aria/tabs/index.api.md

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import * as _angular_cdk_bidi from '@angular/cdk/bidi';
88
import * as _angular_core from '@angular/core';
99
import { OnDestroy } from '@angular/core';
1010
import { OnInit } from '@angular/core';
11+
import { WritableSignal } from '@angular/core';
1112

1213
// @public
1314
export class Tab implements HasElement, OnInit, OnDestroy {
@@ -20,6 +21,7 @@ export class Tab implements HasElement, OnInit, OnDestroy {
2021
// (undocumented)
2122
ngOnInit(): void;
2223
open(): void;
24+
readonly panel: _angular_core.Signal<TabPanel | undefined>;
2325
readonly _pattern: TabPattern;
2426
readonly selected: _angular_core.Signal<boolean>;
2527
readonly value: _angular_core.InputSignal<string>;
@@ -42,6 +44,8 @@ export class TabList implements OnInit, OnDestroy {
4244
constructor();
4345
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
4446
readonly element: HTMLElement;
47+
// (undocumented)
48+
findTab(value?: string): Tab | undefined;
4549
readonly focusMode: _angular_core.InputSignal<"roving" | "activedescendant">;
4650
// (undocumented)
4751
ngOnDestroy(): void;
@@ -51,14 +55,14 @@ export class TabList implements OnInit, OnDestroy {
5155
readonly orientation: _angular_core.InputSignal<"vertical" | "horizontal">;
5256
readonly _pattern: TabListPattern;
5357
// (undocumented)
54-
_register(child: Tab): void;
58+
_registerTab(child: Tab): void;
5559
readonly selectedTab: _angular_core.ModelSignal<string | undefined>;
5660
readonly selectionMode: _angular_core.InputSignal<"follow" | "explicit">;
5761
readonly softDisabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
58-
readonly _tabPatterns: _angular_core.Signal<TabPattern[]>;
59-
readonly textDirection: _angular_core.WritableSignal<_angular_cdk_bidi.Direction>;
62+
readonly _sortedTabs: _angular_core.Signal<Tab[]>;
63+
readonly textDirection: WritableSignal<_angular_cdk_bidi.Direction>;
6064
// (undocumented)
61-
_unregister(child: Tab): void;
65+
_unregisterTab(child: Tab): void;
6266
readonly wrap: _angular_core.InputSignalWithTransform<boolean, unknown>;
6367
// (undocumented)
6468
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TabList, "[ngTabList]", ["ngTabList"], { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "wrap": { "alias": "wrap"; "required": false; "isSignal": true; }; "softDisabled": { "alias": "softDisabled"; "required": false; "isSignal": true; }; "focusMode": { "alias": "focusMode"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "selectedTab": { "alias": "selectedTab"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "selectedTab": "selectedTabChange"; }, never, never, true, never>;
@@ -76,6 +80,7 @@ export class TabPanel implements OnInit, OnDestroy {
7680
// (undocumented)
7781
ngOnInit(): void;
7882
readonly _pattern: TabPanelPattern;
83+
readonly _tabPattern: WritableSignal<TabPattern | undefined>;
7984
readonly value: _angular_core.InputSignal<string>;
8085
readonly visible: _angular_core.Signal<boolean>;
8186
// (undocumented)
@@ -86,13 +91,18 @@ export class TabPanel implements OnInit, OnDestroy {
8691

8792
// @public
8893
export class Tabs {
94+
constructor();
8995
readonly element: HTMLElement;
9096
// (undocumented)
91-
_register(child: TabList | TabPanel): void;
92-
readonly _tabPatterns: _angular_core.Signal<TabPattern[] | undefined>;
93-
readonly _unorderedTabpanelPatterns: _angular_core.Signal<TabPanelPattern[]>;
97+
findTabPanel(value?: string): TabPanel | undefined;
98+
// (undocumented)
99+
_registerList(list: TabList): void;
100+
// (undocumented)
101+
_registerPanel(panel: TabPanel): void;
102+
// (undocumented)
103+
_unregisterList(list: TabList): void;
94104
// (undocumented)
95-
_unregister(child: TabList | TabPanel): void;
105+
_unregisterPanel(panel: TabPanel): void;
96106
// (undocumented)
97107
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<Tabs, "[ngTabs]", ["ngTabs"], {}, {}, never, never, true, never>;
98108
// (undocumented)

goldens/cdk/dialog/index.api.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ export class DialogConfig<D = unknown, R = unknown, C extends DialogContainer =
120120
ariaModal?: boolean;
121121
autoFocus?: AutoFocusTarget | string | boolean;
122122
backdropClass?: string | string[];
123+
bindings?: Binding[];
123124
closeOnDestroy?: boolean;
124125
closeOnNavigation?: boolean;
125126
closeOnOverlayDetachments?: boolean;

goldens/cdk/tree/index.api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ export class CdkTreeNodeToggle<T, K = T> {
272272
static ngAcceptInputType_recursive: unknown;
273273
recursive: boolean;
274274
// (undocumented)
275-
_toggle(): void;
275+
_toggle(event: Event): void;
276276
// (undocumented)
277277
protected _tree: CdkTree<T, K>;
278278
// (undocumented)

goldens/material/bottom-sheet/index.api.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
55
```ts
66

7+
import { Binding } from '@angular/core';
78
import { CdkDialogContainer } from '@angular/cdk/dialog';
89
import { ComponentRef } from '@angular/core';
910
import { ComponentType } from '@angular/cdk/portal';
@@ -53,6 +54,7 @@ export class MatBottomSheetConfig<D = any> {
5354
ariaModal?: boolean;
5455
autoFocus?: AutoFocusTarget | string | boolean;
5556
backdropClass?: string;
57+
bindings?: Binding[];
5658
closeOnNavigation?: boolean;
5759
data?: D | null;
5860
direction?: Direction;

0 commit comments

Comments
 (0)