Skip to content

Commit b32c7e3

Browse files
committed
Add accessibility page
1 parent 3bfe7f0 commit b32c7e3

File tree

6 files changed

+129
-0
lines changed

6 files changed

+129
-0
lines changed

src/demo-app/a11y/a11y-module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {DemoMaterialModule} from '../demo-material-module';
66
import {AccessibilityHome, AccessibilityDemo} from './a11y';
77
import {ButtonAccessibilityDemo} from './button/button-a11y';
88
import {CheckboxAccessibilityDemo} from './checkbox/checkbox-a11y';
9+
import {ChipsAccessibilityDemo} from './chips/chips-a11y';
910

1011
@NgModule({
1112
imports: [
@@ -28,6 +29,7 @@ export class AccessibilityRoutingModule {}
2829
AccessibilityHome,
2930
ButtonAccessibilityDemo,
3031
CheckboxAccessibilityDemo,
32+
ChipsAccessibilityDemo,
3133
]
3234
})
3335
export class AccessibilityDemoModule {}

src/demo-app/a11y/a11y.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,6 @@ export class AccessibilityDemo {
1919
{name: 'Home', route: '.'},
2020
{name: 'Button', route: 'button'},
2121
{name: 'Checkbox', route: 'checkbox'},
22+
{name: 'Chips', route: 'chips'},
2223
];
2324
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
<section>
2+
<h2>Basic chips</h2>
3+
<md-chip-list>
4+
<md-chip>Chip 1</md-chip>
5+
<md-chip>Chip 2</md-chip>
6+
<md-chip>Chip 3</md-chip>
7+
</md-chip-list>
8+
9+
</section>
10+
11+
<section>
12+
<h2>Unstyled chips</h2>
13+
14+
<md-chip-list>
15+
<md-basic-chip>Basic Chip 1</md-basic-chip>
16+
<md-basic-chip>Basic Chip 2</md-basic-chip>
17+
<md-basic-chip>Basic Chip 3</md-basic-chip>
18+
</md-chip-list>
19+
</section>
20+
21+
<section>
22+
<h2>Removable chips in input container</h2>
23+
24+
<md-input-container>
25+
<md-chip-list mdPrefix #chipList>
26+
<md-chip *ngFor="let person of people" [color]="color">
27+
{{person.name}}
28+
</md-chip>
29+
</md-chip-list>
30+
<input mdInput placeholder="New Contributor..."
31+
[mdChipInputFor]="chipList"
32+
[mdChipInputAddOnBlur]="addOnBlur"
33+
(mdChipInputTokenEnd)="add($event)" />
34+
</md-input-container>
35+
</section>
36+
37+
<section>
38+
<h2>Colored chips</h2>
39+
<md-chip-list>
40+
<md-chip color="primary" selected="true">Primary</md-chip>
41+
<md-chip color="accent" selected="true">Accent</md-chip>
42+
<md-chip color="warn" selected="true">Warn</md-chip>
43+
</md-chip-list>
44+
</section>
45+
46+
47+
<section>
48+
<h2>Stacked chips</h2>
49+
<md-chip-list class="mat-chip-list-stacked">
50+
<md-chip [selectable]="false">Stacked chip 1</md-chip>
51+
<md-chip [selectable]="false">Stacked chip 2</md-chip>
52+
<md-chip [selectable]="false">Stacked chip 3</md-chip>
53+
</md-chip-list>
54+
</section>

src/demo-app/a11y/chips/chips-a11y.scss

Whitespace-only changes.

src/demo-app/a11y/chips/chips-a11y.ts

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
import {Component} from '@angular/core';
2+
import {MdChipInputEvent} from '@angular/material';
3+
4+
5+
interface Person {
6+
name: string;
7+
}
8+
9+
@Component({
10+
moduleId: module.id,
11+
selector: 'chips-a11y',
12+
templateUrl: 'chips-a11y.html',
13+
styleUrls: ['chips-a11y.css'],
14+
})
15+
export class ChipsAccessibilityDemo {
16+
visible: boolean = true;
17+
color: string = '';
18+
selectable: boolean = true;
19+
removable: boolean = true;
20+
addOnBlur: boolean = true;
21+
message: string = '';
22+
23+
people: Person[] = [
24+
{ name: 'Kara' },
25+
{ name: 'Jeremy' },
26+
{ name: 'Topher' },
27+
{ name: 'Elad' },
28+
{ name: 'Kristiyan' },
29+
{ name: 'Paul' }
30+
];
31+
32+
displayMessage(message: string): void {
33+
this.message = message;
34+
}
35+
36+
add(event: MdChipInputEvent): void {
37+
let input = event.input;
38+
let value = event.value;
39+
40+
// Add our person
41+
if ((value || '').trim()) {
42+
this.people.push({ name: value.trim() });
43+
}
44+
45+
// Reset the input value
46+
if (input) {
47+
input.value = '';
48+
}
49+
}
50+
51+
remove(person: Person): void {
52+
let index = this.people.indexOf(person);
53+
54+
if (index >= 0) {
55+
this.people.splice(index, 1);
56+
}
57+
}
58+
59+
toggleVisible(): void {
60+
this.visible = false;
61+
}
62+
63+
64+
availableColors = [
65+
{ name: 'none', color: '' },
66+
{ name: 'Primary', color: 'primary' },
67+
{ name: 'Accent', color: 'accent' },
68+
{ name: 'Warn', color: 'warn' }
69+
];
70+
}

src/demo-app/a11y/routes.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
import {Routes} from '@angular/router';
22
import {ButtonAccessibilityDemo} from './button/button-a11y';
33
import {CheckboxAccessibilityDemo} from './checkbox/checkbox-a11y';
4+
import {ChipsAccessibilityDemo} from './chips/chips-a11y';
45
import {AccessibilityHome} from './a11y';
56

67
export const ACCESSIBILITY_DEMO_ROUTES: Routes = [
78
{path: '', component: AccessibilityHome},
89
{path: 'button', component: ButtonAccessibilityDemo},
910
{path: 'checkbox', component: CheckboxAccessibilityDemo},
11+
{path: 'chips', component: ChipsAccessibilityDemo},
1012
];

0 commit comments

Comments
 (0)