Pop over component that appears to the left/top/right/bottom of a button on user click. The dynamic part of them is made using Vue and the styles are done using Tailwind CSS.
For this component to properly work, you will need to install popper.js into your project. Please run the following:
npm i -E @popperjs/[email protected]
Examples
Left
left blueGray
blueGray popover title
And here's some amazing content. It's very engaging. Right?
left red
red popover title
And here's some amazing content. It's very engaging. Right?
left orange
orange popover title
And here's some amazing content. It's very engaging. Right?
left amber
amber popover title
And here's some amazing content. It's very engaging. Right?
left emerald
emerald popover title
And here's some amazing content. It's very engaging. Right?
left teal
teal popover title
And here's some amazing content. It's very engaging. Right?
left lightBlue
lightBlue popover title
And here's some amazing content. It's very engaging. Right?
left indigo
indigo popover title
And here's some amazing content. It's very engaging. Right?
left purple
purple popover title
And here's some amazing content. It's very engaging. Right?
left pink
pink popover title
And here's some amazing content. It's very engaging. Right?
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-blueGray-500 text-white active:bg-blueGray-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
left blueGray
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-blueGray-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-blueGray-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
blueGray popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " left-blueGray-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " left "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-red-500 text-white active:bg-red-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
left red
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-red-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-red-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
red popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " left-red-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " left "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-orange-500 text-white active:bg-orange-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
left orange
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-orange-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-orange-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
orange popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " left-orange-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " left "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-amber-500 text-white active:bg-amber-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
left amber
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-amber-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-amber-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
amber popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " left-amber-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " left "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-emerald-500 text-white active:bg-emerald-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
left emerald
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-emerald-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-emerald-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
emerald popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " left-emerald-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " left "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-teal-500 text-white active:bg-teal-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
left teal
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-teal-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-teal-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
teal popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " left-teal-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " left "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-lightBlue-500 text-white active:bg-lightBlue-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
left lightBlue
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-lightBlue-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-lightBlue-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
lightBlue popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " left-lightBlue-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " left "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-indigo-500 text-white active:bg-indigo-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
left indigo
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-indigo-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-indigo-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
indigo popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " left-indigo-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " left "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-purple-500 text-white active:bg-purple-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
left purple
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-purple-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-purple-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
purple popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " left-purple-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " left "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-pink-500 text-white active:bg-pink-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
left pink
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-pink-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-pink-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
pink popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " left-pink-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " left "
});
}
}
}
}
</script>
Top
top blueGray
blueGray popover title
And here's some amazing content. It's very engaging. Right?
top red
red popover title
And here's some amazing content. It's very engaging. Right?
top orange
orange popover title
And here's some amazing content. It's very engaging. Right?
top amber
amber popover title
And here's some amazing content. It's very engaging. Right?
top emerald
emerald popover title
And here's some amazing content. It's very engaging. Right?
top teal
teal popover title
And here's some amazing content. It's very engaging. Right?
top lightBlue
lightBlue popover title
And here's some amazing content. It's very engaging. Right?
top indigo
indigo popover title
And here's some amazing content. It's very engaging. Right?
top purple
purple popover title
And here's some amazing content. It's very engaging. Right?
top pink
pink popover title
And here's some amazing content. It's very engaging. Right?
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-blueGray-500 text-white active:bg-blueGray-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
top blueGray
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-blueGray-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-blueGray-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
blueGray popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " top-blueGray-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " top "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-red-500 text-white active:bg-red-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
top red
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-red-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-red-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
red popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " top-red-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " top "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-orange-500 text-white active:bg-orange-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
top orange
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-orange-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-orange-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
orange popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " top-orange-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " top "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-amber-500 text-white active:bg-amber-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
top amber
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-amber-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-amber-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
amber popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " top-amber-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " top "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-emerald-500 text-white active:bg-emerald-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
top emerald
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-emerald-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-emerald-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
emerald popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " top-emerald-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " top "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-teal-500 text-white active:bg-teal-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
top teal
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-teal-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-teal-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
teal popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " top-teal-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " top "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-lightBlue-500 text-white active:bg-lightBlue-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
top lightBlue
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-lightBlue-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-lightBlue-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
lightBlue popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " top-lightBlue-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " top "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-indigo-500 text-white active:bg-indigo-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
top indigo
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-indigo-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-indigo-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
indigo popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " top-indigo-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " top "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-purple-500 text-white active:bg-purple-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
top purple
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-purple-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-purple-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
purple popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " top-purple-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " top "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-pink-500 text-white active:bg-pink-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
top pink
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-pink-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-pink-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
pink popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " top-pink-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " top "
});
}
}
}
}
</script>
Right
right blueGray
blueGray popover title
And here's some amazing content. It's very engaging. Right?
right red
red popover title
And here's some amazing content. It's very engaging. Right?
right orange
orange popover title
And here's some amazing content. It's very engaging. Right?
right amber
amber popover title
And here's some amazing content. It's very engaging. Right?
right emerald
emerald popover title
And here's some amazing content. It's very engaging. Right?
right teal
teal popover title
And here's some amazing content. It's very engaging. Right?
right lightBlue
lightBlue popover title
And here's some amazing content. It's very engaging. Right?
right indigo
indigo popover title
And here's some amazing content. It's very engaging. Right?
right purple
purple popover title
And here's some amazing content. It's very engaging. Right?
right pink
pink popover title
And here's some amazing content. It's very engaging. Right?
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-blueGray-500 text-white active:bg-blueGray-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
right blueGray
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-blueGray-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-blueGray-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
blueGray popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " right-blueGray-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " right "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-red-500 text-white active:bg-red-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
right red
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-red-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-red-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
red popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " right-red-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " right "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-orange-500 text-white active:bg-orange-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
right orange
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-orange-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-orange-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
orange popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " right-orange-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " right "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-amber-500 text-white active:bg-amber-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
right amber
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-amber-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-amber-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
amber popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " right-amber-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " right "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-emerald-500 text-white active:bg-emerald-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
right emerald
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-emerald-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-emerald-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
emerald popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " right-emerald-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " right "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-teal-500 text-white active:bg-teal-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
right teal
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-teal-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-teal-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
teal popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " right-teal-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " right "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-lightBlue-500 text-white active:bg-lightBlue-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
right lightBlue
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-lightBlue-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-lightBlue-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
lightBlue popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " right-lightBlue-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " right "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-indigo-500 text-white active:bg-indigo-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
right indigo
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-indigo-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-indigo-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
indigo popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " right-indigo-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " right "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-purple-500 text-white active:bg-purple-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
right purple
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-purple-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-purple-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
purple popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " right-purple-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " right "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-pink-500 text-white active:bg-pink-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
right pink
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-pink-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-pink-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
pink popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " right-pink-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " right "
});
}
}
}
}
</script>
Bottom
bottom blueGray
blueGray popover title
And here's some amazing content. It's very engaging. Right?
bottom red
red popover title
And here's some amazing content. It's very engaging. Right?
bottom orange
orange popover title
And here's some amazing content. It's very engaging. Right?
bottom amber
amber popover title
And here's some amazing content. It's very engaging. Right?
bottom emerald
emerald popover title
And here's some amazing content. It's very engaging. Right?
bottom teal
teal popover title
And here's some amazing content. It's very engaging. Right?
bottom lightBlue
lightBlue popover title
And here's some amazing content. It's very engaging. Right?
bottom indigo
indigo popover title
And here's some amazing content. It's very engaging. Right?
bottom purple
purple popover title
And here's some amazing content. It's very engaging. Right?
bottom pink
pink popover title
And here's some amazing content. It's very engaging. Right?
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-blueGray-500 text-white active:bg-blueGray-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
bottom blueGray
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-blueGray-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-blueGray-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
blueGray popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " bottom-blueGray-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " bottom "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-red-500 text-white active:bg-red-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
bottom red
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-red-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-red-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
red popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " bottom-red-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " bottom "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-orange-500 text-white active:bg-orange-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
bottom orange
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-orange-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-orange-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
orange popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " bottom-orange-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " bottom "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-amber-500 text-white active:bg-amber-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
bottom amber
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-amber-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-amber-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
amber popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " bottom-amber-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " bottom "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-emerald-500 text-white active:bg-emerald-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
bottom emerald
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-emerald-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-emerald-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
emerald popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " bottom-emerald-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " bottom "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-teal-500 text-white active:bg-teal-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
bottom teal
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-teal-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-teal-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
teal popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " bottom-teal-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " bottom "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-lightBlue-500 text-white active:bg-lightBlue-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
bottom lightBlue
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-lightBlue-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-lightBlue-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
lightBlue popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " bottom-lightBlue-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " bottom "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-indigo-500 text-white active:bg-indigo-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
bottom indigo
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-indigo-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-indigo-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
indigo popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " bottom-indigo-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " bottom "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-purple-500 text-white active:bg-purple-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
bottom purple
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-purple-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-purple-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
purple popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " bottom-purple-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " bottom "
});
}
}
}
}
</script>
<template>
<div class= "flex flex-wrap" >
<div class= "w-full text-center" >
<button ref= "btnRef" v-on:click= "togglePopover()" class= "bg-pink-500 text-white active:bg-pink-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type= "button" >
bottom pink
</button>
<div ref= "popoverRef" v-bind:class= "{'hidden': !popoverShow, 'block': popoverShow}" class= "bg-pink-600 border-0 mr-3 block z-50 font-normal leading-normal text-sm max-w-xs text-left no-underline break-words rounded-lg" >
<div>
<div class= "bg-pink-600 text-white opacity-75 font-semibold p-3 mb-0 border-b border-solid border-blueGray-100 uppercase rounded-t-lg" >
pink popover title
</div>
<div class= "text-white p-3" >
And here's some amazing content. It's very engaging. Right?
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { createPopper } from " @popperjs/core " ;
export default {
name : " bottom-pink-popover " ,
data () {
return {
popoverShow : false
}
},
methods : {
togglePopover : function (){
if ( this . popoverShow ){
this . popoverShow = false ;
} else {
this . popoverShow = true ;
createPopper ( this . $refs . btnRef , this . $refs . popoverRef , {
placement : " bottom "
});
}
}
}
}
</script>
Props
Please check the official PopperJS Documentation .
You can also check the Official PopperJS Github Repository .