Easy to use and highly customizable Vue3 modal package
Simple Vue3 modal package
Easy to use and highly customizable Vue3 modal package.
Getting started
Installation
Use yarn or npm to install the package @kolirt/vue-modal
.
npm install --save @kolirt/vue-modal
yarn add @kolirt/vue-modal
Setup
Add dependencies to your main.js
:
import {createApp} from 'vue'
import {createModal} from '@kolirt/vue-modal'
const app = createApp({...})
app.use(createModal())
app.mount('#app')
Usage
Basic usage
First, you need to create modal. Instead of SimpleModal, you can implement your own wrapper with your own styles.
<script setup lang="ts">
import {closeModal, confirmModal} from '@kolirt/vue-modal'
const props = defineProps({
test: {}
})
</script>
<template>
<SimpleModal title="Test modal" size="sm">
<pre>props: {{ props }}</pre>
<template #footer>
<button @click="confirmModal({value: 'some values'})" class="btn btn-primary">
Confirm
</button>
<button @click="closeModal()" class="btn btn-primary">
Close
</button>
</template>
</SimpleModal>
</template>
Then you can use your modal.
<script setup lang="ts">
import {openModal} from '@kolirt/vue-modal'
import TestModal from '@/components/modals/TestModal.vue'
function runModal() {
openModal(TestModal, {
test: 'some props'
})
// runs when modal is closed via confirmModal
.then((data) => {
console.log('success', data)
})
// runs when modal is closed via closeModal or esc
.catch(() => {
console.log('catch')
})
}
</script>
<template>
<button @click="runModal">Open modal</button>
</template>
Demo
Example
FAQ
Check closed issues to get answers for most asked questions.
License
MIT.
Other projects
Check out my other projects:
- @kolirt/vue-web3-auth – simple WalletConnect v2 integration package for Vue3 apps.