Skip to content

Commit

Permalink
fix(cdk/a11y): add ConfigurableFocusTrapConfig to the public API (#22138
Browse files Browse the repository at this point in the history
)

- `ConfigurableFocusTrap` is already in the public API and it depends on this class
- convert `ConfigurableFocusTrapConfig` from a class to an interface
- fix alphabetization of exports

Relates to #18201. Relates to #22136.
  • Loading branch information
Splaktar authored Mar 19, 2021
1 parent c0286ea commit 7718947
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 11 deletions.
10 changes: 4 additions & 6 deletions src/cdk/a11y/focus-trap/configurable-focus-trap-config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,11 @@
*/

/**
* Configuration for creating a ConfigurableFocusTrap.
* Options for creating a ConfigurableFocusTrap.
*/
export class ConfigurableFocusTrapConfig {
export interface ConfigurableFocusTrapConfig {
/**
* Whether to defer the creation of FocusTrap elements to be
* done manually by the user. Default is to create them
* automatically.
* Whether to defer the creation of FocusTrap elements to be done manually by the user.
*/
defer: boolean = false;
defer: boolean;
}
7 changes: 3 additions & 4 deletions src/cdk/a11y/focus-trap/configurable-focus-trap-factory.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,11 @@ export class ConfigurableFocusTrapFactory {
*/
create(element: HTMLElement, deferCaptureElements: boolean): ConfigurableFocusTrap;

create(element: HTMLElement, config: ConfigurableFocusTrapConfig | boolean =
new ConfigurableFocusTrapConfig()): ConfigurableFocusTrap {
create(element: HTMLElement, config: ConfigurableFocusTrapConfig|boolean = {defer: false}):
ConfigurableFocusTrap {
let configObject: ConfigurableFocusTrapConfig;
if (typeof config === 'boolean') {
configObject = new ConfigurableFocusTrapConfig();
configObject.defer = config;
configObject = {defer: config};
} else {
configObject = config;
}
Expand Down
3 changes: 2 additions & 1 deletion src/cdk/a11y/public-api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@ export * from './key-manager/activedescendant-key-manager';
export * from './key-manager/focus-key-manager';
export * from './key-manager/list-key-manager';
export * from './focus-trap/configurable-focus-trap';
export * from './focus-trap/configurable-focus-trap-config';
export * from './focus-trap/configurable-focus-trap-factory';
export * from './focus-trap/event-listener-inert-strategy';
export * from './focus-trap/focus-trap';
export * from './focus-trap/configurable-focus-trap-factory';
export * from './focus-trap/focus-trap-inert-strategy';
export * from './interactivity-checker/interactivity-checker';
export * from './live-announcer/live-announcer';
Expand Down
4 changes: 4 additions & 0 deletions tools/public_api_guard/cdk/a11y.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,10 @@ export declare class ConfigurableFocusTrap extends FocusTrap implements ManagedF
destroy(): void;
}

export interface ConfigurableFocusTrapConfig {
defer: boolean;
}

export declare class ConfigurableFocusTrapFactory {
constructor(_checker: InteractivityChecker, _ngZone: NgZone, _focusTrapManager: FocusTrapManager, _document: any, _inertStrategy?: FocusTrapInertStrategy);
create(element: HTMLElement, config?: ConfigurableFocusTrapConfig): ConfigurableFocusTrap;
Expand Down

0 comments on commit 7718947

Please sign in to comment.