Skip to content

Commit 7f216d9

Browse files
jelbournandrewseguin
authored andcommitted
refactor(cdk/a11y): use classList.toggle
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to #7374
1 parent cac8359 commit 7f216d9

File tree

1 file changed

+5
-13
lines changed

1 file changed

+5
-13
lines changed

src/cdk/a11y/focus-monitor/focus-monitor.ts

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -308,14 +308,6 @@ export class FocusMonitor implements OnDestroy {
308308
return doc.defaultView || window;
309309
}
310310

311-
private _toggleClass(element: Element, className: string, shouldSet: boolean) {
312-
if (shouldSet) {
313-
element.classList.add(className);
314-
} else {
315-
element.classList.remove(className);
316-
}
317-
}
318-
319311
private _getFocusOrigin(focusEventTarget: HTMLElement | null): FocusOrigin {
320312
if (this._origin) {
321313
// If the origin was realized via a touch interaction, we need to perform additional checks
@@ -368,11 +360,11 @@ export class FocusMonitor implements OnDestroy {
368360
* @param origin The focus origin.
369361
*/
370362
private _setClasses(element: HTMLElement, origin?: FocusOrigin): void {
371-
this._toggleClass(element, 'cdk-focused', !!origin);
372-
this._toggleClass(element, 'cdk-touch-focused', origin === 'touch');
373-
this._toggleClass(element, 'cdk-keyboard-focused', origin === 'keyboard');
374-
this._toggleClass(element, 'cdk-mouse-focused', origin === 'mouse');
375-
this._toggleClass(element, 'cdk-program-focused', origin === 'program');
363+
element.classList.toggle('cdk-focused', !!origin);
364+
element.classList.toggle('cdk-touch-focused', origin === 'touch');
365+
element.classList.toggle('cdk-keyboard-focused', origin === 'keyboard');
366+
element.classList.toggle('cdk-mouse-focused', origin === 'mouse');
367+
element.classList.toggle('cdk-program-focused', origin === 'program');
376368
}
377369

378370
/**

0 commit comments

Comments
 (0)