Skip to content

Commit 7a96baf

Browse files
authored
Merge pull request #494 from youda97/toggle-label
fix(toggle): Add label and update knobs
2 parents 1d97ae5 + b6afd41 commit 7a96baf

File tree

2 files changed

+27
-7
lines changed

2 files changed

+27
-7
lines changed

src/toggle/toggle.component.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ export class ToggleChange {
4242
@Component({
4343
selector: "ibm-toggle",
4444
template: `
45+
<div *ngIf="label" class="bx--label" [id]="ariaLabelledby">{{label}}</div>
4546
<input
4647
class="bx--toggle"
4748
type="checkbox"
@@ -55,6 +56,7 @@ export class ToggleChange {
5556
[required]="required"
5657
[checked]="checked"
5758
[disabled]="disabled"
59+
[attr.aria-labelledby]="ariaLabelledby"
5860
[attr.aria-checked]="checked"
5961
(change)="onChange($event)"
6062
(click)="onClick($event)">
@@ -110,8 +112,11 @@ export class Toggle extends Checkbox {
110112
get onText() {
111113
return this._onText;
112114
}
113-
114-
115+
/**
116+
* Text that is set as the label of the toggle.
117+
* @type {(string)}
118+
*/
119+
@Input() label: string;
115120
/**
116121
* Size of the toggle component.
117122
*/

src/toggle/toggle.stories.ts

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
import { storiesOf, moduleMetadata } from "@storybook/angular";
2-
import { withKnobs, boolean, select } from "@storybook/addon-knobs/angular";
2+
import {
3+
withKnobs,
4+
boolean,
5+
select,
6+
text
7+
} from "@storybook/addon-knobs/angular";
38

49
import { ToggleModule } from "../";
510

@@ -11,12 +16,22 @@ storiesOf("Toggle", module).addDecorator(
1116
.addDecorator(withKnobs)
1217
.add("Basic", () => ({
1318
template: `
14-
<ibm-toggle [disabled]="disabled" [checked]="checked" [size]="size"></ibm-toggle>
19+
<ibm-toggle
20+
[label]="labelText"
21+
[onText]="onText"
22+
[offText]="offText"
23+
[disabled]="disabled"
24+
[checked]="checked"
25+
[size]="size">
26+
</ibm-toggle>
1527
`,
1628
props: {
17-
disabled: boolean("disabled", false),
18-
checked: boolean("checked", false),
19-
size: select("size", ["md", "sm"], "md")
29+
disabled: boolean("Disabled", false),
30+
checked: boolean("Checked", false),
31+
size: select("Size", ["md", "sm"], "md"),
32+
labelText: text("Label text", ""),
33+
onText: text("On text", "On"),
34+
offText: text("Off text", "Off")
2035
}
2136
}))
2237
.add("Skeleton", () => ({

0 commit comments

Comments
 (0)