Skip to content
This repository was archived by the owner on Mar 17, 2021. It is now read-only.

Commit caec116

Browse files
committed
Added spinner component
1 parent 5c098e1 commit caec116

File tree

5 files changed

+51
-0
lines changed

5 files changed

+51
-0
lines changed

docs/.vuepress/config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ module.exports = {
2828
'components/checkbox-group',
2929
'components/radio',
3030
'components/radio-group',
31+
'components/spinner',
3132
'components/tabs',
3233
'components/textbox'
3334
]

docs/components/spinner.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Spinner
2+
Spinner a component that indicate loading state.
3+
4+
## Example
5+
6+
<div class="p-3 border rounded-2 my-3 flex">
7+
<v-spinner class="mr-5" />
8+
<v-spinner appearance="primary" />
9+
</div>
10+
11+
```html
12+
<v-spinner />
13+
<v-spinner appearance="primary" />
14+
```
15+
16+
## Props
17+
Name | Type | Description | Default
18+
---------- | -------- | ----------- | ---------
19+
appearance | String | Appearance of spinner ['default', 'primary'] | 'default'

src/components/Spinner/index.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import Spinner from './main.vue';
2+
3+
// eslint-disable-next-line func-names
4+
Spinner.install = function (Vue) {
5+
Vue.component('VSpinner', Spinner);
6+
};
7+
8+
export default Spinner;

src/components/Spinner/main.vue

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<template>
2+
<div class="spinner" :class="classes"></div>
3+
</template>
4+
5+
<script>
6+
export default {
7+
name: 'VSpinner',
8+
props: {
9+
appearance: {
10+
type: String,
11+
default: 'default',
12+
},
13+
},
14+
computed: {
15+
classes() {
16+
return [
17+
`spinner--${this.appearance}`,
18+
];
19+
},
20+
},
21+
};
22+
</script>

src/components/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ export { default as VCheckbox } from './Checkbox';
66
export { default as VCheckboxGroup } from './CheckboxGroup';
77
export { default as VRadio } from './Radio';
88
export { default as VRadioGroup } from './RadioGroup';
9+
export { default as VSpinner } from './Spinner';
910
export { default as VTab } from './Tab';
1011
export { default as VTabs } from './Tabs';
1112
export { default as VTextbox } from './Textbox';

0 commit comments

Comments
 (0)