Skip to content

Commit adba9b3

Browse files
authored
Merge pull request #348 from youda97/skeleton-toggle
feat(toggle): Add skeleton state
2 parents 86dd242 + 04808bc commit adba9b3

File tree

2 files changed

+32
-5
lines changed

2 files changed

+32
-5
lines changed

src/toggle/toggle.component.ts

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ export class ToggleChange {
5757
class="bx--toggle"
5858
type="checkbox"
5959
[ngClass]="{
60-
'bx--toggle--small': size === 'sm'
60+
'bx--toggle--small': size === 'sm',
61+
'bx--skeleton': skeleton
6162
}"
6263
[id]="id"
6364
[value]="value"
@@ -68,12 +69,25 @@ export class ToggleChange {
6869
[attr.aria-checked]="checked"
6970
(change)="onChange($event)"
7071
(click)="onClick($event)">
71-
<label *ngIf="size === 'md'" class="bx--toggle__label" [for]="id">
72-
<span class="bx--toggle__text--left">Off</span>
72+
<label
73+
*ngIf="size === 'md'"
74+
class="bx--toggle__label"
75+
[for]="id"
76+
[ngClass]="{
77+
'bx--skeleton': skeleton
78+
}">
79+
<span class="bx--toggle__text--left">{{ !skeleton ? "Off" : null }}</span>
7380
<span class="bx--toggle__appearance"></span>
74-
<span class="bx--toggle__text--right">On</span>
81+
<span class="bx--toggle__text--right">{{ !skeleton ? "On" : null }}</span>
7582
</label>
76-
<label *ngIf="size === 'sm'" class="bx--toggle__label" [for]="id">
83+
84+
<label
85+
*ngIf="size === 'sm'"
86+
class="bx--toggle__label"
87+
[for]="id"
88+
[ngClass]="{
89+
'bx--skeleton': skeleton
90+
}">
7791
<span class="bx--toggle__appearance">
7892
<svg class="bx--toggle__check" width="6px" height="5px" viewBox="0 0 6 5">
7993
<path d="M2.2 2.7L5 0 6 1 2.2 5 0 2.7 1 1.5z"/>
@@ -104,6 +118,12 @@ export class Toggle extends Checkbox {
104118
* @memberof Toggle
105119
*/
106120
@Input() size: "sm" | "md" = "md";
121+
/**
122+
* Set to `true` for a loading toggle.
123+
* @type {(boolean)}
124+
* @memberof Toggle
125+
*/
126+
@Input() skeleton = false;
107127

108128
/**
109129
* The unique id allocated to the `Toggle`.

src/toggle/toggle.stories.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,11 @@ storiesOf("Toggle", module).addDecorator(
1818
checked: boolean("checked", false),
1919
size: select("size", ["md", "sm"], "md")
2020
}
21+
}))
22+
.add("Skeleton", () => ({
23+
template: `
24+
<ibm-toggle skeleton="true"></ibm-toggle>
25+
&nbsp;
26+
<ibm-toggle skeleton="true" size="sm"></ibm-toggle>
27+
`
2128
}));

0 commit comments

Comments
 (0)