MigsLab UIVue 3 component workshop

Components

Dialog

A modal window rendered into <body>. Closes on Escape, the close button or a backdrop click unless it is persistent.

import { DialogComponent, DialogHeaderComponent, DialogContentComponent, DialogFooterComponent } from '@/MigsLab/shared'

Example

Result: none
const isDialogOpen = ref(false)

<DialogComponent v-model="isDialogOpen">
  <DialogHeaderComponent>Confirm delete</DialogHeaderComponent>
  <DialogContentComponent>Are you sure?</DialogContentComponent>
  <DialogFooterComponent>
    <ButtonComponent color="ghost" @click="isDialogOpen = false">Cancel</ButtonComponent>
    <ButtonComponent color="danger" @click="Confirm_Click">Delete</ButtonComponent>
  </DialogFooterComponent>
</DialogComponent>

<DialogComponent v-model="isOpen" is-persistent :show-close="false" max-width="24rem">
  ...
</DialogComponent>

API

Props

NameType Default Description
v-modelbooleanfalseWhether the dialog is open.
isPersistentbooleanfalseIgnore backdrop clicks and the Escape key.
showClosebooleantrueShow the close (×) button in the corner.
maxWidthstring'32rem'Maximum width of the dialog panel.

Slots

NameDescription
DialogComponent: defaultDialog sections.
DialogHeaderComponent: defaultTitle.
DialogContentComponent: defaultBody text or form.
DialogFooterComponent: defaultActions, right aligned.