Vue Loading Overlay Component
Vue.js component for full screen loading indicator
:point_right: Version 2 documentation is available on v2.x
branch.
Demo or JSFiddle
Installation
Usage
As component
As plugin
Available props
The component accepts these props:
Attribute | Type | Default | Description |
---|---|---|---|
active | Boolean | false |
Show loading by default when true , use the .sync modifier to make it two-way binding |
can-cancel | Boolean | false |
Allow user to cancel by pressing ESC or clicking outside |
on-cancel | Function | ()=>{} |
Do something upon cancel, works in conjunction with can-cancel |
is-full-page | Boolean | true |
When false ; limit loader to its container^ |
transition | String | fade |
Transition name |
color | String | #000 |
Customize the color of loading icon |
height | Number | * | Customize the height of loading icon |
width | Number | * | Customize the width of loading icon |
loader | String | spinner |
Name of icon shape you want use as loader, spinner or dots or bars |
background-color | String | #fff |
Customize the overlay background color |
opacity | Number | 0.5 |
Customize the overlay background opacity |
z-index | Number | 999 |
Customize the overlay z-index |
- ^When
is-full-page
is set tofalse
, the container element should be positioned asposition: relative
.
You can use CSS helper classvld-parent
. - *The default
height
andwidth
values may be vary based on theloader
prop value
Available slots
The component accepts these slots:
default
: Replace the animated icon with yoursbefore
: Place anything before animated icon, you may need to style this.after
: Place anything after animated icon, you may need to style this.
API methods
Vue.$loading.show(?propsData,?slots)
Global configs
You can set props and slots for all future instances when using as plugin
Further you can override any prop or slot when creating new instances
Install in non-module environments (without webpack)
Browser support
- Modern browsers only
Run examples on your localhost
- Clone this repo
- Make sure you have node-js
>=8.9
and yarn>=1.x
pre-installed - Install dependencies -
yarn install
- Run webpack dev server -
yarn start
- This should open the demo page at
http://localhost:9000
in your default web browser
Testing
- This package is using Jest and vue-test-utils for testing.
- Tests can be found in
__test__
folder. - Execute tests with this command
yarn test