Skip to content

Extending API ​

The API can be easily extended to add utility methods like confirm.

Add utility method ​

Vue ​

When creating modals plugin extend the API.

ts
const modals = createModals()
modals.extend('warning', (props) => modals.open(import('~/modals/Warning'), { props }))

Nuxt ​

Best place to set utility method is via a Nuxt plugin, for example plugins/modals.ts.

ts
const { $modals } = useNuxtApp()

$modals.extend('warning', (props) => modals.open(import('~/modals/Warning'), { props }))

Extend types ​

If you need to pass different options to confirm modal component, you can do it by extending the type in your types.d.ts file.

ts
declare module '@outloud/vue-modals' {
  interface WarningProps {
    text: string
  }

  interface ModalManager {
    warning(props: WarningProps): Promise<any>
  }
}