11import { CheckboxComponent } from "../checkbox/checkbox.component" ;
22import {
3- ChangeDetectionStrategy ,
43 ChangeDetectorRef ,
54 Component ,
6- ElementRef ,
7- EventEmitter ,
8- forwardRef ,
9- Input ,
10- OnInit ,
11- Output ,
12- Renderer2 ,
13- ViewChild
5+ Input
146} from "@angular/core" ;
15- import { NG_VALUE_ACCESSOR , ControlValueAccessor } from "@angular/forms" ;
7+ import { NG_VALUE_ACCESSOR } from "@angular/forms" ;
168
179
1810/**
@@ -61,16 +53,26 @@ export class SwitchChange {
6153 template : `
6254 <input
6355 class="bx--toggle"
56+ [ngClass]="{
57+ 'bx--toggle--small': size === 'sm'
58+ }"
6459 [id]="id"
6560 type="checkbox"
6661 (click)="onClick($event)"
6762 [disabled]="disabled"
6863 [attr.aria-checked]="checked">
69- <label class="bx--toggle__label" [for]="id">
64+ <label *ngIf="size === 'md'" class="bx--toggle__label" [for]="id">
7065 <span class="bx--toggle__text--left">Off</span>
7166 <span class="bx--toggle__appearance"></span>
7267 <span class="bx--toggle__text--right">On</span>
7368 </label>
69+ <label *ngIf="size === 'sm'" class="bx--toggle__label" [for]="id">
70+ <span class="bx--toggle__appearance">
71+ <svg class="bx--toggle__check" width="6px" height="5px" viewBox="0 0 6 5">
72+ <path d="M2.2 2.7L5 0 6 1 2.2 5 0 2.7 1 1.5z"/>
73+ </svg>
74+ </span>
75+ </label>
7476 ` ,
7577 providers : [
7678 {
@@ -80,7 +82,7 @@ export class SwitchChange {
8082 }
8183 ]
8284} )
83- export class SwitchComponent extends CheckboxComponent implements OnInit {
85+ export class SwitchComponent extends CheckboxComponent {
8486 /**
8587 * Variable used for creating unique ids for switch components.
8688 * @type {number }
@@ -107,32 +109,10 @@ export class SwitchComponent extends CheckboxComponent implements OnInit {
107109 /**
108110 * Creates an instance of SwitchComponent.
109111 * @param {ChangeDetectorRef } changeDetectorRef
110- * @param {ElementRef } elementRef
111- * @param {Renderer2 } renderer
112112 * @memberof SwitchComponent
113113 */
114- constructor ( protected changeDetectorRef : ChangeDetectorRef , private elementRef : ElementRef , private renderer : Renderer2 ) {
114+ constructor ( protected changeDetectorRef : ChangeDetectorRef ) {
115115 super ( changeDetectorRef ) ;
116116 SwitchComponent . switchCount ++ ;
117117 }
118-
119- /**
120- * Builds variant classes and appends them to the switch and label elements.
121- * @memberof SwitchComponent
122- */
123- ngOnInit ( ) {
124- /* TODO: remove and extend in neutrino
125- // Build variant classes
126- const labelClass = `toggle-label${this.size !== "md" ? `--${this.size}` : "" }`;
127- const buttonClass = `toggle${this.size !== "md" ? `--${this.size}` : ""}`;
128-
129- // Get elements
130- const labelEl = this.elementRef.nativeElement.querySelector("label");
131- const buttonEl = this.elementRef.nativeElement.querySelector("button");
132-
133- // Add classes to elements
134- this.renderer.addClass(labelEl, labelClass);
135- this.renderer.addClass(buttonEl, buttonClass);
136- */
137- }
138118}
0 commit comments