<k-modal :open="centeredOpen" title="Payment successful" @close="centeredOpen = false" layout="centered" hideCloseButton description="Lorem ipsum dolor sit amet consectetur adipisicing elit. Aliquid pariatur, ipsum similique veniam." :buttons="[ { label: 'Cancel', variant: 'secondary', onClick: () => { centeredOpen = false }, }, { label: 'Confirm', variant: 'success', onClick: () => { centeredOpen = false }, }, ]" /> <k-button @click="centeredOpen = true" variant="success"> Centered modal </k-button>
<k-modal :open="simpleOpen" title="Deactivate account" layout="simple" @close="simpleOpen = false" description="Lorem ipsum dolor sit amet consectetur adipisicing elit. Aliquid pariatur, ipsum similique veniam." variant="danger" :buttons="[ { label: 'Cancel', variant: 'secondary', onClick: () => { simpleOpen = false }, }, { label: 'Confirm', variant: 'danger', onClick: () => { simpleOpen = false }, }, ]" /> <k-button @click="simpleOpen = true" variant="danger"> Simple modal </k-button>
<k-modal :open="slottedOpen" layout="simple" @close="slottedOpen = false" variant="info" hideCloseButton :buttons="[ { label: 'Cancel', variant: 'secondary', onClick: () => { slottedOpen = false }, }, { label: 'Confirm', variant: 'info', onClick: () => { slottedOpen = false }, }, ]" > <template #title>Slotted title</template> <template #description> Slotted description <KButton>And a button</KButton> </template> <template #icon>ICON</template> </k-modal> <k-button @click="slottedOpen = true" variant="info"> Modal with slots </k-button>
<script setup lang="ts"> import { ref } from 'vue' const centeredOpen = ref(false) const simpleOpen = ref(false) const slottedOpen = ref(false) </script>