Top
<button type="button" class="btn btn-primary">Primary Button</button>
<button type="button" class="btn btn-secondary">Secondary Button</button>
<button type="button" class="btn btn-success">Success Button</button>
<button type="button" class="btn btn-info">Info Button</button>
<button type="button" class="btn btn-warning">Warning Button</button>
<button type="button" class="btn btn-danger">Danger Button</button>
<button type="button" class="btn btn-light">Light Button</button>
To use another types button you have to link the related css file according to types of buttons in a head tag
<span class="badge badge-primary">Primary</span>
<span class="badge badge-secondary">Secondary</span>
<span class="badge badge-success">Success</span>
<span class="badge badge-info">Info</span>
<span class="badge badge-warning text-dark">Warning</span>
<span class="badge badge-danger">Danger</span>
<span class="badge badge-light text-dark">Light</span>
<span class="badge badge-dark">Dark</span>
<div class="progress">
<b-progress :value="0" :max="100"></b-progress>
</div>
<div class="progress">
<b-progress :value="25" :max="100" variant="primary"></b-progress>
</div>
<div class="progress">
<b-progress :value="50" :max="100" variant="secondary"></b-progress>
</div>
<div class="progress">
<b-progress :value="75" :max="100" variant="success"></b-progress>
</div>
<div class="progress">
<b-progress :value="100" :max="100" variant="info"></b-progress>
</div>
<b-alert show variant="primary" class="alert alert-primary">
<p>This is a info alert—check it out!</p>
</b-alert>
<b-alert show variant="secondary" class="alert alert-secondary">
<p>This is a light alert—check it out!</p>
</b-alert>
<b-alert show variant="success" class="alert alert-success">
<p>This is a success alert—check it out!</p>
</b-alert>
<b-alert show variant="info" class="alert alert-info">
<p>This is a danger alert—check it out!</p>
</b-alert>
<b-alert show variant="warning" class="alert alert-warning">
<p>This is a secondary alert—check it out!</p>
</b-alert>
<b-alert show variant="danger" class="alert alert-danger">
<p>This is a warning alert—check it out!</p>
</b-alert>
<b-alert show variant="light" class="alert alert-light">
<p>This is a light alert—check it out!</p>
</b-alert>
<b-alert show variant="dark" class="alert alert-dark">
<p>This is a dark alert—check it out!</p>
</b-alert>
<b-button v-b-tooltip.hover title="Popover title" variant="primary" >Hover Me</b-button>
<b-button v-b-tooltip.hover title="Hover title" variant="primary" >Hover Me</b-button>
<b-dropdown text="Dropdown Button" menu-class="dropdown-content" variant="primary" >
<b-dropdown-item>Action</b-dropdown-item>
<b-dropdown-item>Another Action</b-dropdown-item>
<b-dropdown-item>Something Else Here</b-dropdown-item>
</b-dropdown>
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting,remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages,and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting,remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages,and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum
<b-tabs>
<b-tab title="Home" active>
<p class="mb-0 m-t-30">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum</p>
</b-tab>
<b-tab title="Profile">
<p class="mb-0 m-t-30">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum</p>
</b-tab>
<b-tab title="Contact">
<p class="mb-0 m-t-30">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum</p>
</b-tab>
<b-card no-body class="mb-1">
<b-card-header header-tag="div" class="bg-primary">
<h5 class="mb-0">
<b-button v-b-toggle.primary_icon_open_close_1 ><i class="fa fa-briefcase"></i> Collapsible Group Item #<span class="digits">1</span></b-button>
</h5>
</b-card-header>
<b-collapse id="primary_icon_open_close_1" visible accordion="my-accordion-icon-open-close" role="tabpanel">
<b-card-body>
<b-card-text>Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et.</b-card-text>
</b-card-body>
</b-collapse>
</b-card>
<b-card no-body class="mb-1">
<b-card-header header-tag="div" class="bg-primary">
<h5 class="mb-0">
<b-button v-b-toggle.primary_icon_open_close_2 ><i class="fa fa-support"></i> Collapsible Group Item #<span class="digits">2</span></b-button>
</h5>
</b-card-header>
<b-collapse id="primary_icon_open_close_2" accordion="my-accordion-icon-open-close" role="tabpanel">
<b-card-body>
<b-card-text>Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et.</b-card-text>
</b-card-body>
</b-collapse>
</b-card>
This is an Vue wrapper library for the Perfect Scrollbar. To use this library you should get familiar with the Perfect Scrollbar documentation as well since this documentation only explains details specific to this wrapper.
Installing and usagenpm i vue-perfect-scrollbar
<template>
<div>
<VuePerfectScrollbar class="scroll-area" v-once :settings="settings">
<img src="../../assets/images/banner/3.jpg" alt="girl" width="800" height="600"
</VuePerfectScrollbar>
</div>
</template>
<script>
export default {
data() {
return {
settings: {
maxScrollbarLength: 60
},
}
},
components: {
VuePerfectScrollbar
}
}
</script>
Installing and usage
npm install vue-toasted --save
<template>
<div>
<b-button @click="success" variant="success">Success</b-button>
</div>
</template>
<script>
export default {
methods:{
success()
{
this.$toasted.show(" New order has been placed ", {theme: 'outline',position: "top-right", type: 'success', duration: 2000});
}
}
}
</script>
Installing and usage
npm i vue-tour
<template>
<div>
<v-tour name="myTour" :steps="steps" :options="tourOptions"></v-tour>
</div>
</template>
<script>
export default {
data () {
return {
tourOptions: {
useKeyboardNavigation: true,
labels: {
buttonSkip: 'Skip',
buttonPrevious: 'Back',
buttonNext: 'Next',
buttonStop: 'Done'
}
},
steps: [
{
target: '#profile-tour',
content: 'This is Profile image'
},
{
target: '#update-profile-tour',
content: 'Change Profile image here'
}
]
}
},
mounted: function () {
this.$tours['myTour'].start()
}
}
</script>
Installing and usage
npm i vue-rate-it
<template>
<div>
<image-rating :src="rectanglerating()" :item-size="12" :max-rating="10"></image-rating>
</div>
</template>
<script>
import {ImageRating} from 'vue-rate-it';
export default {
components: {
ImageRating
},
methods:{
vuelogo(){
var vuelogo = require('../../assets/images/vuelogo.png');
return vuelogo;
}
}
}
</script>
Installing and usage
<template>
<div>
<b-pagination-nav
:number-of-pages="3"
base-url="#"
first-text="First"
prev-text="Prev"
next-text="Next"
last-text="Last"
>
</b-pagination-nav>
</div>
</template>
<script>
export default { }
</script>
Installing and usage
npm i vue-sweetalert2
<template>
<div>
<b-button type="button" v-on:click="basic" variant="primary">Basic</b-button>
</div>
</template>
<script>
export default {
methods:{
basic:function(){
this.$swal({
title:'Hello world!'
});
}
}
}
</script>
Installing and usage
npm i vue-slide-bar
<template>
<div>
<VueSlideBar v-model="one.value" :min="1" :max="100" :range="one.range" ></VueSlideBar>
</div>
</template>
<script>
import VueSlideBar from 'vue-slide-bar'
export default {
data () {
return {
one:{
value:5,
range:[
{
label: '10'
},
{
label: '100'
},
]
}
}
}
}
</script>
Installing and usage
npm i vue-cropperjs
<template>
<div>
<vue-cropper ref='cropper' :crop="cropImage"> </vue-cropper>
</div>
</template>
<script>
import VueCropper from 'vue-cropperjs';
import 'cropperjs/dist/cropper.css';
export default {
data () {
return {
one:{
value:5,
range:[
{
label: '10'
},
{
label: '100'
},
]
}
}
}
},
components: {
VueCropper,
},
mounted(){
this.imageData = this.$refs.cropper.getData();
},
</script>
Installing and usage
npm i vue2-dragula
<template>
<div>
<div class="pull-left " v-dragula="colOne" service="my-third" drake="a">
<div v-for="text in colOne" :key="text">{{text}}</div>
</div>
<div class="pull-right" v-dragula="colTwo" service="my-third" drake="a">
<div v-for="text in colTwo" :key="text">{{text}}</div>
</div>
</div>
</template>
<script>
import { Vue2Dragula } from 'vue2-dragula'
export default {
data () {
return {
one: [
'Lorem ipsum dolor sit amet, consectetur',
'sed do eiusmod tempor incididunt ut labore et dolore magna.',
'Ut enim ad minim veniam, quis nostrud exercitation',
'ullamco laboris nisi ut aliquip ex ea commodo consequat.'
],
two: [
'Duis aute irure dolor in reprehenderit in voluptate velit esse',
'cillum dolore eu fugiat nulla pariatur.',
'Excepteur sint occaecat cupidatat non proident,',
'sunt in culpa qui officia deserunt mollit anim id est laborum.'
],
}
}
},
components: {
Vue2Dragula
},
mounted(){
this.imageData = this.$refs.cropper.getData();
},
</script>
Installing and usage
npm i vue2-dropzone
<template>
<div>
<vue-dropzone id="singledropzone" :options="singledropzoneOptions" class="dropzone digits">
</vue-dropzone>
</div>
</template>
<script>
import vue2Dropzone from 'vue2-dropzone'
export default {
data () {
return {
singledropzoneOptions:{
url:"http://localhost:8080",
thumbnailWidth: 150,
maxFiles:1,
maxFilesize: 2,
addRemoveLinks: true,
dictDefaultMessage:"<i class='icon-cloud-up'></i><h6>Drop files here or click to upload.</h6><span>(This is just a demo dropzone. Selected files are <strong>not</strong> actually uploaded.)</span>"
},
}
}
},
components: {
vueDropzone: vue2Dropzone
}
</script>
Installing and usage
npm i vuejs-datepicker
<template>
<div>
<datepicker input-class="datepicker-here form-control digits" :format="format" ></datepicker>
</div>
</template>
<script>
import Datepicker from 'vuejs-datepicker';
export default {
data(){
return{
format: "MM/dd/yyyy",
format2: "MMMM yyyy",
disabledDates:{
days: [6, 0],
},
}
},
components: {
Datepicker
}
</script>
Installing and usage
npm i vue-multiselect
<template>
<div>
<multiselect v-model="singleValue" :options="options" label="name" :searchable="false" :close-on-select="false" :show-labels="false" placeholder="Pick a value"></multiselect></div>
</template>
<script>
import Multiselect from 'vue-multiselect'
export default {
data(){
return{
singleValue:""
}
},
components: {
Multiselect
}
</script>
Installing and usage
npm i vue-bootstrap-typeahead
<template>
<div>
<vue-bootstrap-typeahead
v-model="query"
inputClass="typeahead"
:data="countries"
placeholder="State of USA"
/>
</template>
<script>
import VueBootstrapTypeahead from "vue-bootstrap-typeahead";
export default {
data(){
return{
query: "",
countries: [
"alabama", "alaska", "arizona", "arkansas", "california", "colorado", "connecticut", "delaware", "florida", "georgia", "hawaii", "idaho", "illinois", "indiana", "iowa", "kansas", "kentucky", "louisiana", "maine", "maryland", "massachusetts", "michigan", "minnesota", "mississippi", "missouri", "montana", "nebraska", "nevada", "new hampshire", "new jersey", "new mexico", "new york", "north carolina", "north dakota", "ohio", "oklahoma", "oregon", "pennsylvania", "rhode island", "south carolina", "south dakota", "tennessee", "texas", "utah", "vermont", "virginia", "washington", "west virginia", "wisconsin", "wyoming"
]
}
},
components: {
VueBootstrapTypeahead
}
</script>
Installing and usage
npm i bootstrap-vue
<template>
<div>
<b-table striped hover :items="items"></b-table>
</template>
<script>
import BootstrapVue from 'bootstrap-vue'
export default {
data(){
return{
items: [
{ no:1, first_name:'Alexander', last_name:'Orton', username:'@mdorton', role:'Admin', country:'USA' },
{ no:2, first_name:'John Deo', last_name:'Deo', username:'@johndeo', role:'User', country:'USA' },
{ no:3, first_name:'Randy Orton', last_name:'the Bird', username:'@twitter', role:'admin', country:'UK' },
{ no:4, first_name:'Randy Mark', last_name:'Ottandy', username:'@mdothe', role:'user', country:'AUS' },
{ no:5, first_name:'Ram Jacob', last_name:'Thornton', username:'@twitter', role:'admin', country:'IND' }
]
}
},
components: {
BootstrapVue
}
</script>
Installing and usage
npm i vuejs-smart-table
<template>
<div>
Put your smart table code here
</template>
<script>
import SmartTable from 'vuejs-smart-table'
data(){
return{
}
},
components: {
SmartTable
}
</script>
Installing and usage
npm i vue-google-charts
<template>
<div>
<GChart
class="chart-overflow"
id="pie-chart1"
type="PieChart"
:data="pie_chart.chartData_1"/>
</template>
<script>
import { GChart } from 'vue-google-charts'
data(){
return{
chartsLib: null,
pie_chart: {
chartData_1: [
['Task', 'Hours per Day'],
['Work', 5],
['Eat', 10],
['Commute', 15],
['Watch TV', 20],
['Sleep', 25]
]
}
}
},
components: {
GChart
}
</script>
Installing and usage
npm i vue-chartjs
<template>
<div>
<Bar class="chart-height"/>
</template>
<script>
import { Bar } from 'vue-chartjs'
export default {
data(){
return{
}
},
components: {
Bar
},
mounted () {
this.renderChart({
labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
datasets: [
{
label: 'GitHub Commits',
backgroundColor: '#f87979',
data: [40, 20, 12, 39, 10, 40, 39, 80, 40, 20, 12, 11]
}
]
})
}
}
</script>
Installing and usage
npm i vue-chartist
<template>
<div>
<chartist
class="ct-6 flot-chart-container"
ratio="ct-major-second"
type="Line"
:data="chart1.data"
:options="chart1.options">
</chartist>
</template>
<script>
import * as Chartist from 'chartist';
export default {
data(){
return{
chart1 : {
data: {
labels: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],
series: [
[12, 9, 7, 8, 5, 4, 6, 2, 3, 3, 4, 6],
[4, 5, 3, 7, 3, 5, 5, 3, 4, 4, 5, 5],
[5, 3, 4, 5, 6, 3, 3, 4, 5, 6, 3, 4],
[3, 4, 5, 6, 7, 6, 4, 5, 6, 7, 6, 3]
]
},
options: {
low: 0,
showArea: false,
fullWidth: true,
}
},
}
},
components: {
Chartist
}
}
</script>
Installing and usage
npm i vue2-google-maps
<template>
<div>
<GmapMap :center="{lat:20.5937, lng:78.9629}" :zoom="12" style="width: auto; height: 500px">
</GmapMap>
</template>
<script>
import * as VueGoogleMaps from 'vue2-google-maps'
export default {
data(){
return{
}
},
components: {
VueGoogleMaps
}
}
</script>
Installing and usage
npm i vue2-leaflet
<template>
<div>
<l-map :zoom="simple.zoom" :center="simple.center" style="height: 500px">
<l-tile-layer :url="simple.url"></l-tile-layer>
</l-map>
</template>
<script>
import { LMap } from 'vue2-leaflet'
export default {
data(){
return{
simple:{
zoom:5,
center: [49.439557, 234.558105],
url:'http://{s}.tile.osm.org/{z}/{x}/{y}.png',
}
}
},
components: {
LMap
}
}
</script>
Installing and usage
npm i vue2-editor
<template>
<div>
<vue-editor v-model="content"></vue-editor>
</div>
</template>
<script>
import { VueEditor } from "vue2-editor";
export default {
data(){
return{
content: "<h1>Some initial content</h1>"
}
},
components: {
VueEditor
}
}
</script>
Installing and usage
npm i @ckeditor/ckeditor5-vue
<template>
<div>
<ckeditor :editor="editor" v-model="editorData"></ckeditor>
</div>
</template>
<script>
import CKEditor from '@ckeditor/ckeditor5-vue';
import ClassicEditor from '@ckeditor/ckeditor5-build-classic';
export default {
data(){
return{
editor: ClassicEditor,
editorData: '<p>Lorem Ipsum is simply dummy text</p>',
}
},
components: {
ckeditor: CKEditor.component
}
}
</script>