Home

Awesome

logo

Codacy Badge Netlify Status Language License NPM Package NPM Downloads <!-- <a href="https://github.com/vuejs/awesome-vue#loader"><img src="https://awesome.re/mentioned-badge.svg" alt="Mentioned in Awesome-Vue" /></a> -->

NPM

Remake made from: Vue-ui-preloader.

Main changes

Demo and playground

Live demo - https://vue3-ui-preloader.netlify.app/

Playground Website. Adjust the settings using the playground options. On the bottom of the page you will find the source code that you can directly use in your project or you can manually change the props.

npm link - https://www.npmjs.com/package/vue3-ui-preloader

Vue 3 blitz link - https://stackblitz.com/edit/vue-caijgu?file=src%2FApp.vue

Installation

# use yarn
yarn add vue3-ui-preloader
# use npm
npm install --save vue3-ui-preloader

Usage

Vue 3 blitz link - https://stackblitz.com/edit/vue-caijgu?file=src%2FApp.vue

In your main.js

import { createApp } from 'vue'
import App from './App.vue'
import loader from "vue3-ui-preloader";

// Import the CSS or use your own!
import "vue3-ui-preloader/dist/loader.css"

const app = createApp(App)

app.component('loader', loader)

app.mount('#app')

In your template

<template>
	<loader  name="spinning" loadingText="LOADING..." textColor="#ffffff" textSize="20" textWeight="500" object="#ff9633" color1="#ffffff" color2="#17fd3d" size="5" speed="2" bg="#343a40" objectbg="#999793" opacity="80" :disableScrolling="true"></loader>
</template>

NOTE: The best way to control the loader is to have a flag and use it in a v-if or v-show statement.<br> You can either use the playground website to automatically get all the props set or you can set them manaully using the below prop list. You can also resort to not passing any prop, in this case the preloader will use default settings.

Via CDN

CDN demo link - https://jsfiddle.net/1t0jyeqh/10/

In your index.html

<script src="https://unpkg.com/vue3-ui-preloader"></script>
<link rel="stylesheet" type="text/css" href="https://unpkg.com/vue3-ui-preloader/dist/loader.css">

In your template

<div id="app">
	<loader  name="spinning" loadingText="LOADING..." textColor="#ffffff" textSize="20" textWeight="500" object="#ff9633" color1="#ffffff" color2="#17fd3d" size="5" speed="2" bg="#343a40" objectbg="#999793" opacity="80" :disableScrolling="true"></loader>
</div>

In your main.js

const { createApp } = Vue

const app = createApp(loader)

app.mount('#app')

Props

NameTypeDefaultDescription
namestring'spinning'decides the type of loader. (Ex: spinning, dots, loading, circular, box)
objectstring'#ff9633'set the color of the loaders. (Ex: hex or color)
loadingTextstring'LOADING...'set the text of some loaders.
textColorstring'#ffffff'set the color of the loadingText. (Ex: hex or color)
textSizenumber'15'set the size of the loadingText.
textWeightnumber/string'800'set the weight of the loadingText. (Ex: 800, bold)
color1stringonly for circularset the color of the circular loader disk1. (Ex: hex or color)
color2stringonly for circularset the color of the circular loader disk2. (Ex: hex or color)
sizenumber5set the size of loader.
bgstring'#343a40'set the color of the loader background. (Ex: hex or color)
objectbgstring'#999793'set the color of the loader object background. (Ex: hex or color)
opacitynumber80set the opacity of background.
speednumber2animation speed in seconds.
disableScrollingbooleanfalsedisable page scrolling when preloader is open.

Author

© Gonçalo Bastos