Skip to content

Commit cf304f1

Browse files
committed
create base mdProgress component files
1 parent 42b3bd9 commit cf304f1

File tree

8 files changed

+147
-0
lines changed

8 files changed

+147
-0
lines changed

docs/src/App.vue

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,10 @@
9595
<router-link exact to="/components/menu">Menu</router-link>
9696
</md-list-item>
9797

98+
<md-list-item class="md-inset">
99+
<router-link exact to="/components/progress">Progress</router-link>
100+
</md-list-item>
101+
98102
<md-list-item class="md-inset">
99103
<router-link exact to="/components/radio">Radio</router-link>
100104
</md-list-item>
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
<template>
2+
<page-content page-title="Components - Progress">
3+
<docs-component>
4+
<div slot="description">
5+
<p>A linear progress indicator should always fill from 0% to 100% and never decrease in value. It should be represented by bars on the edge of a header or sheet that appear and disappear.</p>
6+
<p>The following classes can be applied to change the color palette:</p>
7+
<ul class="md-body-2">
8+
<li><code>md-accent</code></li>
9+
<li><code>md-warn</code></li>
10+
</ul>
11+
</div>
12+
13+
<div slot="api">
14+
<api-table name="md-progress">
15+
<md-table slot="properties">
16+
<md-table-header>
17+
<md-table-row>
18+
<md-table-head>Name</md-table-head>
19+
<md-table-head>Type</md-table-head>
20+
<md-table-head>Description</md-table-head>
21+
</md-table-row>
22+
</md-table-header>
23+
24+
<md-table-body>
25+
<md-table-row>
26+
<md-table-cell>empty</md-table-cell>
27+
<md-table-cell><code>Type</code></md-table-cell>
28+
<md-table-cell>Description</md-table-cell>
29+
</md-table-row>
30+
</md-table-body>
31+
</md-table>
32+
</api-table>
33+
</div>
34+
35+
<div slot="example">
36+
<example-box card-title="Determinate">
37+
<div class="progress-demo" slot="demo">
38+
<md-progress></md-progress>
39+
</div>
40+
41+
<div slot="code">
42+
<code-block lang="xml">
43+
44+
</code-block>
45+
</div>
46+
</example-box>
47+
48+
<example-box card-title="Indeterminate">
49+
<div class="progress-demo" slot="demo">
50+
<md-progress></md-progress>
51+
</div>
52+
53+
<div slot="code">
54+
<code-block lang="xml">
55+
56+
</code-block>
57+
</div>
58+
</example-box>
59+
</div>
60+
</docs-component>
61+
</page-content>
62+
</template>
63+
64+
<style lang="scss" scoped>
65+
66+
</style>
67+
68+
<script>
69+
export default {
70+
data: () => ({
71+
72+
}),
73+
methods: {
74+
75+
},
76+
mounted() {
77+
console.log(this.$material);
78+
}
79+
};
80+
</script>

docs/src/routes.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ const InkRipple = (resolve) => require(['./pages/components/InkRipple'], resolve
2121
const Input = (resolve) => require(['./pages/components/Input'], resolve);
2222
const List = (resolve) => require(['./pages/components/List'], resolve);
2323
const Menu = (resolve) => require(['./pages/components/Menu'], resolve);
24+
const Progress = (resolve) => require(['./pages/components/Progress'], resolve);
2425
const Radio = (resolve) => require(['./pages/components/Radio'], resolve);
2526
const Select = (resolve) => require(['./pages/components/Select'], resolve);
2627
const Sidenav = (resolve) => require(['./pages/components/Sidenav'], resolve);
@@ -146,6 +147,11 @@ const components = [
146147
name: 'components:menu',
147148
component: Menu
148149
},
150+
{
151+
path: '/components/progress',
152+
name: 'components:progress',
153+
component: Progress
154+
},
149155
{
150156
path: '/components/radio',
151157
name: 'components:radio',

src/components/mdProgress/index.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import mdProgress from './mdProgress.vue';
2+
import mdProgressTheme from './mdProgress.theme';
3+
4+
export default function install(Vue) {
5+
Vue.component('md-progress', Vue.extend(mdProgress));
6+
7+
Vue.material.styles.push(mdProgressTheme);
8+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
@import '../../core/stylesheets/variables.scss';
2+
3+
.md-progress {
4+
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
.THEME_NAME {
2+
&.md-progress {
3+
4+
}
5+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<template>
2+
<transition name="md-progress" appear>
3+
<div class="md-progress" :class="[themeClass, classes]":style="styles">
4+
</div>
5+
</transition>
6+
</template>
7+
8+
<style lang="scss" src="./mdProgress.scss"></style>
9+
10+
<script>
11+
import theme from '../../core/components/mdTheme/mixin';
12+
13+
export default {
14+
props: {
15+
16+
},
17+
mixins: [theme],
18+
computed: {
19+
classes() {
20+
return {
21+
22+
};
23+
},
24+
styles() {
25+
return {
26+
27+
};
28+
}
29+
},
30+
data: () => ({
31+
32+
}),
33+
methods: {
34+
35+
}
36+
};
37+
</script>

src/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import MdInputContainer from './components/mdInputContainer';
1616
import MdLayout from './components/mdLayout';
1717
import MdList from './components/mdList';
1818
import MdMenu from './components/mdMenu';
19+
import MdProgress from './components/mdProgress';
1920
import MdRadio from './components/mdRadio';
2021
import MdSelect from './components/mdSelect';
2122
import MdSidenav from './components/mdSidenav';
@@ -48,6 +49,7 @@ const options = {
4849
MdLayout,
4950
MdList,
5051
MdMenu,
52+
MdProgress,
5153
MdRadio,
5254
MdSelect,
5355
MdSidenav,

0 commit comments

Comments
 (0)