@@ -31,13 +31,11 @@ export class ToggleChange {
3131 /**
3232 * Contains the `Toggle` that has been changed.
3333 * @type {Toggle }
34- * @memberof ToggleChange
3534 */
3635 source : Toggle ;
3736 /**
3837 * The state of the `Toggle` encompassed in the `ToggleChange` class.
3938 * @type {boolean }
40- * @memberof ToggleChange
4139 */
4240 checked : boolean ;
4341}
@@ -54,6 +52,7 @@ export class ToggleChange {
5452@Component ( {
5553 selector : "ibm-toggle" ,
5654 template : `
55+ <div *ngIf="labelText" class="bx--label" [id]="labelId">{{labelText}}</div>
5756 <input
5857 class="bx--toggle"
5958 type="checkbox"
@@ -67,6 +66,7 @@ export class ToggleChange {
6766 [required]="required"
6867 [checked]="checked"
6968 [disabled]="disabled"
69+ [attr.aria-labelledby]="labelId"
7070 [attr.aria-checked]="checked"
7171 (change)="onChange($event)"
7272 (click)="onClick($event)">
@@ -109,14 +109,12 @@ export class Toggle extends Checkbox {
109109 * Variable used for creating unique ids for toggle components.
110110 * @type {number }
111111 * @static
112- * @memberof Toggle
113112 */
114113 static toggleCount = 0 ;
115114
116115 /**
117116 * Text that is set on the left side of the toggle.
118117 * @type {(string) }
119- * @memberof Toggle
120118 */
121119 @Input ( )
122120 set offText ( value ) {
@@ -130,7 +128,6 @@ export class Toggle extends Checkbox {
130128 /**
131129 * Text that is set on the right side of the toggle.
132130 * @type {(string) }
133- * @memberof Toggle
134131 */
135132 @Input ( )
136133 set onText ( value ) {
@@ -140,27 +137,28 @@ export class Toggle extends Checkbox {
140137 get onText ( ) {
141138 return this . _onText ;
142139 }
143-
144-
140+ /**
141+ * Text that is set as the label of the toggle.
142+ * @type {(string) }
143+ */
144+ @Input ( ) labelText : string ;
145145 /**
146146 * Size of the toggle component.
147147 * @type {("sm" | "md" | "default") }
148- * @memberof Toggle
149148 */
150149 @Input ( ) size : "sm" | "md" = "md" ;
151150 /**
152151 * Set to `true` for a loading toggle.
153152 * @type {(boolean) }
154- * @memberof Toggle
155153 */
156154 @Input ( ) skeleton = false ;
157155
158156 /**
159157 * The unique id allocated to the `Toggle`.
160158 * @type {string }
161- * @memberof Toggle
162159 */
163160 id = "toggle-" + Toggle . toggleCount ;
161+ labelId = "toggle-" + Toggle . toggleCount + "-label" ;
164162
165163 /**
166164 * Emits event notifying other classes when a change in state occurs on a toggle after a
@@ -173,7 +171,6 @@ export class Toggle extends Checkbox {
173171 /**
174172 * Creates an instance of Toggle.
175173 * @param {ChangeDetectorRef } changeDetectorRef
176- * @memberof Toggle
177174 */
178175 constructor ( protected changeDetectorRef : ChangeDetectorRef , protected i18n : I18n ) {
179176 super ( changeDetectorRef ) ;
0 commit comments