1- import { ChangeDetectionStrategy , Component } from '@angular/core' ;
1+ import { ChangeDetectionStrategy , Component , model } from '@angular/core' ;
2+ import { FormsModule } from '@angular/forms' ;
23import { KbqComponentColors } from '@koobiq/components/core' ;
34import { KbqFormFieldModule } from '@koobiq/components/form-field' ;
45import { KbqToggleModule } from '@koobiq/components/toggle' ;
56
67@Component ( {
78 standalone : true ,
8- imports : [ KbqToggleModule ] ,
9+ imports : [ KbqToggleModule , FormsModule ] ,
910 selector : 'dev-toggle-state-and-style' ,
1011 host : {
1112 'data-testid' : 'e2eToggleStateAndStyle'
1213 } ,
1314 template : `
15+ <input type="checkbox" data-testid="e2eIndeterminateToggle" [(ngModel)]="indeterminate" />
16+ <input type="checkbox" data-testid="e2eBigToggle" [(ngModel)]="big" />
17+
1418 <table data-testid="e2eScreenshotTarget">
1519 <tbody>
1620 @for (color of colors; track color) {
@@ -22,11 +26,12 @@ import { KbqToggleModule } from '@koobiq/components/toggle';
2226 <kbq-toggle
2327 [color]="color"
2428 [disabled]="state === 'disabled'"
25- [indeterminate]="state === ' indeterminate' "
29+ [indeterminate]="indeterminate() "
2630 [class.kbq-hovered]="state === 'hovered'"
2731 [class.cdk-keyboard-focused]="state === 'focused'"
2832 [checked]="type === 'checked'"
2933 [loading]="state === 'loading'"
34+ [big]="big()"
3035 />
3136 }
3237 </div>
@@ -52,19 +57,24 @@ import { KbqToggleModule } from '@koobiq/components/toggle';
5257 changeDetection : ChangeDetectionStrategy . OnPush
5358} )
5459export class DevToggleStateAndStyle {
55- readonly states = [ 'normal' , 'hovered' , 'focused' , 'disabled' , 'indeterminate' , ' loading'] as const ;
60+ readonly states = [ 'normal' , 'hovered' , 'focused' , 'disabled' , 'loading' ] as const ;
5661 readonly colors = [ KbqComponentColors . Theme , KbqComponentColors . Error ] ;
5762 readonly types = [ 'default' , 'checked' ] as const ;
63+
64+ readonly indeterminate = model ( false ) ;
65+ readonly big = model ( false ) ;
5866}
5967
6068@Component ( {
6169 standalone : true ,
62- imports : [ KbqToggleModule , KbqFormFieldModule ] ,
70+ imports : [ KbqToggleModule , KbqFormFieldModule , FormsModule ] ,
6371 selector : 'dev-toggle-with-text-and-caption' ,
6472 host : {
6573 'data-testid' : 'e2eToggleWithTextAndCaption'
6674 } ,
6775 template : `
76+ <input type="checkbox" data-testid="e2eBigToggle" [(ngModel)]="big" />
77+
6878 <table data-testid="e2eScreenshotTarget">
6979 <tbody>
7080 @for (state of states; track state) {
@@ -75,7 +85,7 @@ export class DevToggleStateAndStyle {
7585 <kbq-toggle
7686 [disabled]="state === 'disabled'"
7787 [labelPosition]="position"
78- [big]="state === ' big' "
88+ [big]="big() "
7989 >
8090 Text
8191 <kbq-hint>Caption</kbq-hint>
@@ -103,6 +113,8 @@ export class DevToggleStateAndStyle {
103113 changeDetection : ChangeDetectionStrategy . OnPush
104114} )
105115export class DevToggleWithTextAndCaption {
106- readonly states = [ 'normal' , 'disabled' , 'big' ] as const ;
116+ readonly states = [ 'normal' , 'disabled' ] as const ;
107117 readonly positions = [ 'left' , 'right' ] as const ;
118+
119+ readonly big = model ( false ) ;
108120}
0 commit comments