An open API service indexing awesome lists of open source software.

https://github.com/021-projects/vue-button

Button component for Vue 3
https://github.com/021-projects/vue-button

Last synced: 5 months ago
JSON representation

Button component for Vue 3

Awesome Lists containing this project

README

          

# Button for Vue 3

![demo](demo/img.png)

## Project setup
```
yarn add @021-projects/vue-button
```

### Usage
```vue
import VueButton from '@021-projects/vue-button'
import '@021-projects/vue-button/dist/style.css'

...
components: { VueButton }
...
```

```vue

Click me



Loading

```

### Properties
```typescript
/**
* Text alignment for label
*/
align: {
type: String as PropType<'left' | 'center' | 'right'>,
default: 'center'
},

/**
* Button title
*/
label: {
type: String,
default: ''
},

/**
* Button size. Allowed xs, sm, md, lg, xl
*/
size: {
type: String as PropType,
default: 'md'
},

/**
* Button (background) color
*/
color: {
type: String,
default: '#27ae60'
},

/**
* Button text color
*/
textColor: {
type: String,
default: '#fff'
},

/**
* Rounded borders for button
*/
rounded: {
type: Boolean,
default: false
},

/**
* Ripple effect on click
*/
ripple: {
type: Boolean,
default: false
},

/**
* No shadow
*/
flat: {
type: Boolean,
default: false
},

/**
* No upppercase text transform
*/
noCaps: {
type: Boolean,
default: false
},

/**
* Disabled state
* If true, button will ignore click event
* And will look like disabled
*/
disabled: {
type: Boolean,
default: false
}

/**
* Loading state
* If true, button will ignore click event
* And will show loading spinner instead of label
*
* Spinner can be replaced in "loading" slot
*/
loading: {
type: Boolean,
default: false
},

/**
* Duration of loading spinner animation
* Works only if spinner was not replaced in "loading" slot
*/
loadingAnimationDuration: {
type: Number,
default: 2500
}
```