Skip to content

Commit ec9f9c8

Browse files
devversionandrewseguin
authored andcommitted
build: test material entry-points against api goldens (#14707)
Closes #13801
1 parent 74c7681 commit ec9f9c8

38 files changed

+3351
-2
lines changed

src/lib/BUILD.bazel

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@ ng_module(
1313
deps = ["//src/lib/%s" % p for p in MATERIAL_PACKAGES],
1414
)
1515

16+
# Alias so that developers can build Material using it's label shorthand (e.g. "build //src/lib")
17+
alias(
18+
name = "lib",
19+
actual = "material",
20+
)
21+
1622
sass_bundle(
1723
name = "theming_bundle",
1824
srcs = [

tools/public_api_guard/BUILD.bazel

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ package(default_visibility=["//visibility:public"])
22

33
load(":generate-guard-tests.bzl", "generate_test_targets")
44

5-
# TODO(devversion): This currently does not include the CDK portal package because
6-
# aliases are not supported by ts-api-guardian. Re-add once we found a solution for that.
5+
# TODO(devversion): All entry-points except the CDK portal are currently validated. This is
6+
# because aliases are not supported by ts-api-guardian. Re-add once we found a solution for that.
77

88
# Generate the API guard test targets for each golden file in the current package.
99
generate_test_targets(glob(["**/*.d.ts"]))
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
export declare const _MatAutocompleteMixinBase: CanDisableRippleCtor & typeof MatAutocompleteBase;
2+
3+
export declare const AUTOCOMPLETE_OPTION_HEIGHT = 48;
4+
5+
export declare const AUTOCOMPLETE_PANEL_HEIGHT = 256;
6+
7+
export declare function getMatAutocompleteMissingPanelError(): Error;
8+
9+
export declare const MAT_AUTOCOMPLETE_DEFAULT_OPTIONS: InjectionToken<MatAutocompleteDefaultOptions>;
10+
11+
export declare function MAT_AUTOCOMPLETE_DEFAULT_OPTIONS_FACTORY(): MatAutocompleteDefaultOptions;
12+
13+
export declare const MAT_AUTOCOMPLETE_SCROLL_STRATEGY: InjectionToken<() => ScrollStrategy>;
14+
15+
export declare function MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY(overlay: Overlay): () => ScrollStrategy;
16+
17+
export declare const MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER: {
18+
provide: InjectionToken<() => ScrollStrategy>;
19+
deps: (typeof Overlay)[];
20+
useFactory: typeof MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY;
21+
};
22+
23+
export declare const MAT_AUTOCOMPLETE_VALUE_ACCESSOR: any;
24+
25+
export declare class MatAutocomplete extends _MatAutocompleteMixinBase implements AfterContentInit, CanDisableRipple {
26+
_classList: {
27+
[key: string]: boolean;
28+
};
29+
_isOpen: boolean;
30+
_keyManager: ActiveDescendantKeyManager<MatOption>;
31+
autoActiveFirstOption: boolean;
32+
classList: string;
33+
readonly closed: EventEmitter<void>;
34+
displayWith: ((value: any) => string) | null;
35+
id: string;
36+
readonly isOpen: boolean;
37+
readonly opened: EventEmitter<void>;
38+
optionGroups: QueryList<MatOptgroup>;
39+
readonly optionSelected: EventEmitter<MatAutocompleteSelectedEvent>;
40+
options: QueryList<MatOption>;
41+
panel: ElementRef;
42+
panelWidth: string | number;
43+
showPanel: boolean;
44+
template: TemplateRef<any>;
45+
constructor(_changeDetectorRef: ChangeDetectorRef, _elementRef: ElementRef<HTMLElement>, defaults: MatAutocompleteDefaultOptions);
46+
_emitSelectEvent(option: MatOption): void;
47+
_getScrollTop(): number;
48+
_setScrollTop(scrollTop: number): void;
49+
_setVisibility(): void;
50+
ngAfterContentInit(): void;
51+
}
52+
53+
export declare class MatAutocompleteBase {
54+
}
55+
56+
export interface MatAutocompleteDefaultOptions {
57+
autoActiveFirstOption?: boolean;
58+
}
59+
60+
export declare class MatAutocompleteModule {
61+
}
62+
63+
export declare class MatAutocompleteSelectedEvent {
64+
option: MatOption;
65+
source: MatAutocomplete;
66+
constructor(
67+
source: MatAutocomplete,
68+
option: MatOption);
69+
}
70+
71+
export declare class MatAutocompleteTrigger implements ControlValueAccessor, OnDestroy {
72+
_onChange: (value: any) => void;
73+
_onTouched: () => void;
74+
readonly activeOption: MatOption | null;
75+
autocomplete: MatAutocomplete;
76+
autocompleteAttribute: string;
77+
autocompleteDisabled: boolean;
78+
connectedTo: MatAutocompleteOrigin;
79+
readonly optionSelections: Observable<MatOptionSelectionChange>;
80+
readonly panelClosingActions: Observable<MatOptionSelectionChange | null>;
81+
readonly panelOpen: boolean;
82+
constructor(_element: ElementRef<HTMLInputElement>, _overlay: Overlay, _viewContainerRef: ViewContainerRef, _zone: NgZone, _changeDetectorRef: ChangeDetectorRef, scrollStrategy: any, _dir: Directionality, _formField: MatFormField, _document: any, _viewportRuler?: ViewportRuler | undefined);
83+
_handleFocus(): void;
84+
_handleInput(event: KeyboardEvent): void;
85+
_handleKeydown(event: KeyboardEvent): void;
86+
closePanel(): void;
87+
ngOnDestroy(): void;
88+
openPanel(): void;
89+
registerOnChange(fn: (value: any) => {}): void;
90+
registerOnTouched(fn: () => {}): void;
91+
setDisabledState(isDisabled: boolean): void;
92+
updatePosition(): void;
93+
writeValue(value: any): void;
94+
}

tools/public_api_guard/lib/badge.d.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
export declare const _MatBadgeMixinBase: CanDisableCtor & typeof MatBadgeBase;
2+
3+
export declare class MatBadge extends _MatBadgeMixinBase implements OnDestroy, CanDisable {
4+
_hasContent: boolean;
5+
_id: number;
6+
color: ThemePalette;
7+
content: string;
8+
description: string;
9+
hidden: boolean;
10+
overlap: boolean;
11+
position: MatBadgePosition;
12+
size: MatBadgeSize;
13+
constructor(_document: any, _ngZone: NgZone, _elementRef: ElementRef<HTMLElement>, _ariaDescriber: AriaDescriber,
14+
_renderer?: Renderer2 | undefined);
15+
isAbove(): boolean;
16+
isAfter(): boolean;
17+
ngOnDestroy(): void;
18+
}
19+
20+
export declare class MatBadgeBase {
21+
}
22+
23+
export declare class MatBadgeModule {
24+
}
25+
26+
export declare type MatBadgePosition = 'above after' | 'above before' | 'below before' | 'below after';
27+
28+
export declare type MatBadgeSize = 'small' | 'medium' | 'large';
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
export declare const MAT_BOTTOM_SHEET_DATA: InjectionToken<any>;
2+
3+
export declare const MAT_BOTTOM_SHEET_DEFAULT_OPTIONS: InjectionToken<MatBottomSheetConfig<any>>;
4+
5+
export declare class MatBottomSheet implements OnDestroy {
6+
_openedBottomSheetRef: MatBottomSheetRef<any> | null;
7+
constructor(_overlay: Overlay, _injector: Injector, _parentBottomSheet: MatBottomSheet, _location?: Location | undefined, _defaultOptions?: MatBottomSheetConfig<any> | undefined);
8+
dismiss(): void;
9+
ngOnDestroy(): void;
10+
open<T, D = any, R = any>(template: TemplateRef<T>, config?: MatBottomSheetConfig<D>): MatBottomSheetRef<T, R>;
11+
open<T, D = any, R = any>(component: ComponentType<T>, config?: MatBottomSheetConfig<D>): MatBottomSheetRef<T, R>;
12+
}
13+
14+
export declare const matBottomSheetAnimations: {
15+
readonly bottomSheetState: AnimationTriggerMetadata;
16+
};
17+
18+
export declare class MatBottomSheetConfig<D = any> {
19+
ariaLabel?: string | null;
20+
autoFocus?: boolean;
21+
backdropClass?: string;
22+
closeOnNavigation?: boolean;
23+
data?: D | null;
24+
direction?: Direction;
25+
disableClose?: boolean;
26+
hasBackdrop?: boolean;
27+
panelClass?: string | string[];
28+
restoreFocus?: boolean;
29+
viewContainerRef?: ViewContainerRef;
30+
}
31+
32+
export declare class MatBottomSheetContainer extends BasePortalOutlet implements OnDestroy {
33+
_animationState: 'void' | 'visible' | 'hidden';
34+
_animationStateChanged: EventEmitter<AnimationEvent>;
35+
_portalOutlet: CdkPortalOutlet;
36+
bottomSheetConfig: MatBottomSheetConfig;
37+
constructor(_elementRef: ElementRef<HTMLElement>, _changeDetectorRef: ChangeDetectorRef, _focusTrapFactory: FocusTrapFactory, breakpointObserver: BreakpointObserver, document: any,
38+
bottomSheetConfig: MatBottomSheetConfig);
39+
_onAnimationDone(event: AnimationEvent): void;
40+
_onAnimationStart(event: AnimationEvent): void;
41+
attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T>;
42+
attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C>;
43+
enter(): void;
44+
exit(): void;
45+
ngOnDestroy(): void;
46+
}
47+
48+
export declare class MatBottomSheetModule {
49+
}
50+
51+
export declare class MatBottomSheetRef<T = any, R = any> {
52+
containerInstance: MatBottomSheetContainer;
53+
instance: T;
54+
constructor(containerInstance: MatBottomSheetContainer, _overlayRef: OverlayRef, _location?: Location);
55+
afterDismissed(): Observable<R | undefined>;
56+
afterOpened(): Observable<void>;
57+
backdropClick(): Observable<MouseEvent>;
58+
dismiss(result?: R): void;
59+
keydownEvents(): Observable<KeyboardEvent>;
60+
}
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
export declare const _MatButtonToggleMixinBase: CanDisableRippleCtor & typeof MatButtonToggleBase;
2+
3+
export declare const MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS: InjectionToken<MatButtonToggleDefaultOptions>;
4+
5+
export declare const MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR: any;
6+
7+
export declare class MatButtonToggle extends _MatButtonToggleMixinBase implements OnInit, CanDisableRipple, OnDestroy {
8+
_buttonElement: ElementRef<HTMLButtonElement>;
9+
_type: ToggleType;
10+
appearance: MatButtonToggleAppearance;
11+
ariaLabel: string;
12+
ariaLabelledby: string | null;
13+
readonly buttonId: string;
14+
buttonToggleGroup: MatButtonToggleGroup;
15+
readonly change: EventEmitter<MatButtonToggleChange>;
16+
checked: boolean;
17+
disabled: boolean;
18+
id: string;
19+
name: string;
20+
tabIndex: number | null;
21+
value: any;
22+
constructor(toggleGroup: MatButtonToggleGroup, _changeDetectorRef: ChangeDetectorRef, _elementRef: ElementRef<HTMLElement>, _focusMonitor: FocusMonitor, defaultTabIndex: string, defaultOptions?: MatButtonToggleDefaultOptions);
23+
_markForCheck(): void;
24+
_onButtonClick(): void;
25+
focus(): void;
26+
ngOnDestroy(): void;
27+
ngOnInit(): void;
28+
}
29+
30+
export declare type MatButtonToggleAppearance = 'legacy' | 'standard';
31+
32+
export declare class MatButtonToggleBase {
33+
}
34+
35+
export declare class MatButtonToggleChange {
36+
source: MatButtonToggle;
37+
value: any;
38+
constructor(
39+
source: MatButtonToggle,
40+
value: any);
41+
}
42+
43+
export interface MatButtonToggleDefaultOptions {
44+
appearance?: MatButtonToggleAppearance;
45+
}
46+
47+
export declare class MatButtonToggleGroup implements ControlValueAccessor, OnInit, AfterContentInit {
48+
_buttonToggles: QueryList<MatButtonToggle>;
49+
_controlValueAccessorChangeFn: (value: any) => void;
50+
_onTouched: () => any;
51+
appearance: MatButtonToggleAppearance;
52+
readonly change: EventEmitter<MatButtonToggleChange>;
53+
disabled: boolean;
54+
multiple: boolean;
55+
name: string;
56+
readonly selected: MatButtonToggle | MatButtonToggle[];
57+
value: any;
58+
readonly valueChange: EventEmitter<any>;
59+
vertical: boolean;
60+
constructor(_changeDetector: ChangeDetectorRef, defaultOptions?: MatButtonToggleDefaultOptions);
61+
_emitChangeEvent(): void;
62+
_isPrechecked(toggle: MatButtonToggle): boolean;
63+
_isSelected(toggle: MatButtonToggle): boolean;
64+
_syncButtonToggle(toggle: MatButtonToggle, select: boolean, isUserInput?: boolean): void;
65+
ngAfterContentInit(): void;
66+
ngOnInit(): void;
67+
registerOnChange(fn: (value: any) => void): void;
68+
registerOnTouched(fn: any): void;
69+
setDisabledState(isDisabled: boolean): void;
70+
writeValue(value: any): void;
71+
}
72+
73+
export declare class MatButtonToggleGroupMultiple {
74+
}
75+
76+
export declare class MatButtonToggleModule {
77+
}
78+
79+
export declare type ToggleType = 'checkbox' | 'radio';
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
export declare const _MatButtonMixinBase: CanDisableRippleCtor & CanDisableCtor & CanColorCtor & typeof MatButtonBase;
2+
3+
export declare class MatAnchor extends MatButton {
4+
tabIndex: number;
5+
constructor(platform: Platform, focusMonitor: FocusMonitor, elementRef: ElementRef, animationMode?: string);
6+
_haltDisabledEvents(event: Event): void;
7+
}
8+
9+
export declare class MatButton extends _MatButtonMixinBase implements OnDestroy, CanDisable, CanColor, CanDisableRipple {
10+
_animationMode?: string | undefined;
11+
readonly isIconButton: boolean;
12+
readonly isRoundButton: boolean;
13+
ripple: MatRipple;
14+
constructor(elementRef: ElementRef,
15+
_platform: Platform, _focusMonitor: FocusMonitor, _animationMode?: string | undefined);
16+
_getHostElement(): any;
17+
_hasHostAttributes(...attributes: string[]): boolean;
18+
_isRippleDisabled(): boolean;
19+
focus(): void;
20+
ngOnDestroy(): void;
21+
}
22+
23+
export declare class MatButtonBase {
24+
_elementRef: ElementRef;
25+
constructor(_elementRef: ElementRef);
26+
}
27+
28+
export declare class MatButtonModule {
29+
}

tools/public_api_guard/lib/card.d.ts

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
export declare class MatCard {
2+
}
3+
4+
export declare class MatCardActions {
5+
align: 'start' | 'end';
6+
}
7+
8+
export declare class MatCardAvatar {
9+
}
10+
11+
export declare class MatCardContent {
12+
}
13+
14+
export declare class MatCardFooter {
15+
}
16+
17+
export declare class MatCardHeader {
18+
}
19+
20+
export declare class MatCardImage {
21+
}
22+
23+
export declare class MatCardLgImage {
24+
}
25+
26+
export declare class MatCardMdImage {
27+
}
28+
29+
export declare class MatCardModule {
30+
}
31+
32+
export declare class MatCardSmImage {
33+
}
34+
35+
export declare class MatCardSubtitle {
36+
}
37+
38+
export declare class MatCardTitle {
39+
}
40+
41+
export declare class MatCardTitleGroup {
42+
}
43+
44+
export declare class MatCardXlImage {
45+
}

0 commit comments

Comments
 (0)