Coder Social home page Coder Social logo

vue-loaders's Introduction

vue-loaders

vue loaders

Version
loaders.css + vue

< previous version

NPM

$ npm install -S vue-loaders

CDN

Usage

Before starting playing with loaders include some CSS to your bundle or page:

import 'vue-loaders/dist/vue-loaders.css';

for bundle

<link rel="stylesheet" href="https://unpkg.com/vue-loaders/dist/vue-loaders.css">

for page

It`s mandatory step. Without this CSS your loaders will not appears on page.

There are two ways how to use the library.

The first is to use main component vue-loaders.

<vue-loaders name="ball-beat"></vue-loaders>

name is name of loader. You will found all avaliable loaders names here.

To use this way you should import vue-loaders and add this as plugin:

import VueLoaders from 'vue-loaders';
// add plugin
Vue.use(VueLoaders);

or on page

<script src="https://unpkg.com/vue-loaders"></script>

<script>
  Vue.use(VueLoaders);
</script>

The second is to use separet loader component.

<vue-loaders-ball-beat></vue-loaders-ball-beat>

You will found all avaliable loaders here.

Import separate loader component and then add this as plugin:

import VueLoadersBallBeat from 'vue-loaders/dist/loaders/ball-beat';

Vue.use(VueLoadersBallBeat);

This way is good for perfomance and bundle size.

...or import entier library just as for the fist way:

import VueLoaders from 'vue-loaders';

Vue.use(VueLoaders);

You can prefer first way or second or both of them. The main diffrent between them is when you use the second way you don`t need to include all loaders to your bundle.

Also check out props here or use IDE tips, this library provide web-types.

And some examples:

import Vue from 'vue/dist/vue.esm.browser';
import 'vue-loaders/dist/vue-loaders.css';
import VueLoaders from 'vue-loaders';

Vue.use(VueLoaders);

const template = `
<div>
  <vue-loaders-ball-beat color="red" scale="1"></vue-loaders-ball-beat>
  <hr/>
  <vue-loaders name="ball-beat" color="red" scale="1"></vue-loaders>
</div>
`;

new Vue({
  template
}).$mount('#app');
import Vue from 'vue/dist/vue.esm.browser';
import 'vue-loaders/dist/vue-loaders.css';
import VueLoadersBallBeat from 'vue-loaders/dist/loaders/ball-beat';

Vue.use(VueLoadersBallBeat);

const template = `
  <vue-loaders-ball-beat color="red" scale="1"></vue-loaders-ball-beat>
`;

new Vue({
  template
}).$mount('#app');
import Vue from 'vue/dist/vue.esm.browser';
import 'vue-loaders/dist/vue-loaders.css';
import VueLoaders from 'vue-loaders';

Vue.component('my-name', VueLoaders.component);

const template = `
  <my-name name="ball-beat" color="red" scale="1"></my-name>
`;

new Vue({
  template
}).$mount('#app');
import Vue from 'vue/dist/vue.esm.browser';
import 'vue-loaders/dist/vue-loaders.css';
import VueLoadersBallBeat from 'vue-loaders/dist/loaders/ball-beat';

Vue.component('my-name', VueLoadersBallBeat.component);

const template = `
  <my-name color="red" scale="1"></my-name>
`;

new Vue({
  template
}).$mount('#app');
import Vue from 'vue/dist/vue.esm.browser';
import 'vue-loaders/dist/vue-loaders.css';
import VueLoadersBallBeat from 'vue-loaders/dist/loaders/ball-beat.js';

const template = `
  <vue-loaders-ball-beat color="red" scale="1"></vue-loaders-ball-beat>
`;

new Vue({
  components: {
    [VueLoadersBallBeat.component.name]: VueLoadersBallBeat.component
  },
  template
}).$mount('#app');

If you want manage loader color from CSS outside follow this example:

import Vue from 'vue/dist/vue.esm.browser';
import 'vue-loaders/dist/vue-loaders.css';
import VueLoaders from 'vue-loaders';

Vue.use(VueLoaders);

const template = `
<div style="color: red;">
  <vue-loaders-ball-beat color="currentColor" scale="1"></vue-loaders-ball-beat>
</div>
`;

new Vue({
  template
}).$mount('#app');

live example

<!DOCTYPE html>
<html>
  <head>
    <title>VueLoaders demo</title>
    <script src="https://unpkg.com/vue"></script>
    <link rel="stylesheet" href="https://unpkg.com/vue-loaders/dist/vue-loaders.css">
    <script src="https://unpkg.com/vue-loaders"></script>
  </head>
  <body>
    <div id="app">
      <vue-loaders-ball-beat color="red" scale="2"></vue-loaders-ball-beat>
      <hr/>
      <vue-loaders name="ball-beat" color="red" scale="2"></vue-loaders>
    </div>
    <script>
      Vue.use(VueLoaders);
      new Vue().$mount('#app');
    </script>
  </body>
</html>

Loaders

Preview Name Component
ball-beat ball-beat <vue-loaders-ball-beat/>
ball-clip-rotate-multiple ball-clip-rotate-multiple <vue-loaders-ball-clip-rotate-multiple/>
ball-clip-rotate-pulse ball-clip-rotate-pulse <vue-loaders-ball-clip-rotate-pulse/>
ball-clip-rotate ball-clip-rotate <vue-loaders-ball-clip-rotate/>
ball-grid-beat ball-grid-beat <vue-loaders-ball-grid-beat/>
ball-grid-pulse ball-grid-pulse <vue-loaders-ball-grid-pulse/>
ball-pulse-rise ball-pulse-rise <vue-loaders-ball-pulse-rise/>
ball-pulse-sync ball-pulse-sync <vue-loaders-ball-pulse-sync/>
ball-pulse ball-pulse <vue-loaders-ball-pulse/>
ball-rotate ball-rotate <vue-loaders-ball-rotate/>
ball-scale-multiple ball-scale-multiple <vue-loaders-ball-scale-multiple/>
ball-scale-ripple-multiple ball-scale-ripple-multiple <vue-loaders-ball-scale-ripple-multiple/>
ball-scale-ripple ball-scale-ripple <vue-loaders-ball-scale-ripple/>
ball-scale ball-scale <vue-loaders-ball-scale/>
ball-spin-fade-loader ball-spin-fade-loader <vue-loaders-ball-spin-fade-loader/>
ball-triangle-path ball-triangle-path <vue-loaders-ball-triangle-path/>
ball-zig-zag-deflect ball-zig-zag-deflect <vue-loaders-ball-zig-zag-deflect/>
ball-zig-zag ball-zig-zag <vue-loaders-ball-zig-zag/>
cube-transition cube-transition <vue-loaders-cube-transition/>
line-scale-party line-scale-party <vue-loaders-line-scale-party/>
line-scale-pulse-out-rapid line-scale-pulse-out-rapid <vue-loaders-line-scale-pulse-out-rapid/>
line-scale-pulse-out line-scale-pulse-out <vue-loaders-line-scale-pulse-out/>
line-scale line-scale <vue-loaders-line-scale/>
line-spin-fade-loader line-spin-fade-loader <vue-loaders-line-spin-fade-loader/>
pacman pacman <vue-loaders-pacman/>
semi-circle-spin semi-circle-spin <vue-loaders-semi-circle-spin/>
square-spin square-spin <vue-loaders-square-spin/>
triangle-skew-spin triangle-skew-spin <vue-loaders-triangle-skew-spin/>

Props

vue-loaders component support the following props:

vue-loaders-{loader name} components(see components) support the following props:

Examples:

<vue-loaders name="ball-beat" color="black" scale="1.2"></vue-loaders>
<vue-loaders-ball-beat color="black" scale="1"></vue-loaders-ball-beat>

vue-loaders's People

Contributors

hokid avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

vue-loaders's Issues

Allow for class-based coloring

Currently, the color defaults to #ffffff. Unless the class has !important on the color, #ffffff will be used. This makes it difficult to be used with Bootstrap themes that would otherwise change the color of the loader properly.

Vue version support

This package uses vue-alpha-3.0.0
if it support vue3
The vue version should be updated to latest 3.4.21

typescript support

This package doesn't have any typescript definitions so typescript projects will struggle to work with it.

The package name made me confused

Yesterday I upgrade my project to vue cli 3 style. Because of package.json changed a lot, I had to rewrite it.

I checked my old package.json items one by one and added them to the new file.

When I meet vue-loaders, I thought it's a package like xxx-loader or a old package from vue team, so I removed it from my project.

Finally I realized mistake when I found my loading animates were gone.

Help - How can you import only the required components?

I wish to only import relevant loaders into my project, instead of load them all and only using one.

I was thinking this:
import {'ball-beat-loader'} from 'vue-loaders';
or
import {BallBeatLoader} from 'vue-loaders';

But doesn't work. I'm new to VueJS/ES6 so couldn't figure this one out?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.