Skip to content

Commit cbcb891

Browse files
asyncLizcopybara-github
authored andcommitted
chore(card): add basic demo page
PiperOrigin-RevId: 576657778
1 parent 1b39ab7 commit cbcb891

File tree

3 files changed

+79
-0
lines changed

3 files changed

+79
-0
lines changed

labs/card/demo/demo.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/**
2+
* @license
3+
* Copyright 2023 Google LLC
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
import './material-collection.js';
8+
import './index.js';
9+
10+
import {
11+
KnobTypesToKnobs,
12+
MaterialCollection,
13+
materialInitsToStoryInits,
14+
setUpDemo,
15+
} from './material-collection.js';
16+
17+
import {stories, StoryKnobs} from './stories.js';
18+
19+
const collection = new MaterialCollection<KnobTypesToKnobs<StoryKnobs>>(
20+
'Cards',
21+
[],
22+
);
23+
24+
collection.addStories(...materialInitsToStoryInits(stories));
25+
26+
setUpDemo(collection);

labs/card/demo/project.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"extends": "/assets/stories/base.json",
3+
"files": {
4+
"demo.ts": {
5+
"hidden": true
6+
},
7+
"stories.ts": {}
8+
}
9+
}

labs/card/demo/stories.ts

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
/**
2+
* @license
3+
* Copyright 2023 Google LLC
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
import '@material/web/labs/card/elevated-card.js';
8+
import '@material/web/labs/card/filled-card.js';
9+
import '@material/web/labs/card/outlined-card.js';
10+
11+
import {MaterialStoryInit} from './material-collection.js';
12+
import {css, html} from 'lit';
13+
14+
/** Knob types for card stories. */
15+
export interface StoryKnobs {}
16+
17+
const cards: MaterialStoryInit<StoryKnobs> = {
18+
name: 'Cards',
19+
styles: css`
20+
.container {
21+
color: var(--md-sys-color-on-surface);
22+
display: flex;
23+
font: var(--md-sys-typescale-body-medium-weight, 400)
24+
var(--md-sys-typescale-body-medium-size, 0.875rem) /
25+
var(--md-sys-typescale-body-medium-line-height, 1.25rem)
26+
var(--md-sys-typescale-body-medium-font, 'Roboto');
27+
gap: 8px;
28+
}
29+
`,
30+
render() {
31+
return html`
32+
<div class="container">
33+
<md-elevated-card>An elevated card</md-elevated-card>
34+
35+
<md-filled-card>A filled card</md-filled-card>
36+
37+
<md-outlined-card>An outlined card</md-outlined-card>
38+
</div>
39+
`;
40+
},
41+
};
42+
43+
/** Card stories. */
44+
export const stories = [cards];

0 commit comments

Comments
 (0)