Skip to content

Commit 6b8cbb4

Browse files
committed
feat(material/slide-toggle): Add option to completely hide label
1 parent ed7e1da commit 6b8cbb4

File tree

3 files changed

+11
-0
lines changed

3 files changed

+11
-0
lines changed

src/dev-app/slide-toggle/slide-toggle-demo.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@
1212
<mat-slide-toggle labelPosition="before" [disabled]="firstToggle">Disable Bound</mat-slide-toggle>
1313
<mat-slide-toggle labelPosition="before" hideIcon [(ngModel)]="firstToggle">No icon</mat-slide-toggle>
1414

15+
<p>With no label.</p>
16+
17+
<mat-slide-toggle aria-label="Toggle only" hideLabel color="primary" [(ngModel)]="firstToggle" />
18+
1519
<p>Example where the slide toggle is required inside of a form.</p>
1620

1721
<form #form="ngForm" (ngSubmit)="onFormSubmit()">

src/material/slide-toggle/slide-toggle.scss

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@ $fallbacks: m3-slide-toggle.get-tokens();
3333
}
3434
}
3535

36+
// Ensure no label element (with a click handler) present to ensure hidden from screen readers.
37+
label:empty {
38+
display: none;
39+
}
40+
3641
.mdc-switch__track {
3742
overflow: hidden;
3843
position: relative;

src/material/slide-toggle/slide-toggle.spec.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -654,6 +654,8 @@ describe('MatSlideToggle with forms', () => {
654654

655655
it('should update checked state on click if control is checked initially', fakeAsync(() => {
656656
fixture = TestBed.createComponent(SlideToggleWithModel);
657+
fixture.detectChanges();
658+
657659
slideToggle = fixture.debugElement.query(By.directive(MatSlideToggle))!.componentInstance;
658660
labelElement = fixture.debugElement.query(By.css('label'))!.nativeElement;
659661

0 commit comments

Comments
 (0)