diff --git a/docs/components/content/examples/ModalExampleFullscreen.vue b/docs/components/content/examples/ModalExampleFullscreen.vue new file mode 100644 index 00000000..a8a0fff0 --- /dev/null +++ b/docs/components/content/examples/ModalExampleFullscreen.vue @@ -0,0 +1,33 @@ + + + diff --git a/docs/content/6.overlays/1.modal.md b/docs/content/6.overlays/1.modal.md index ccc43188..ad7437d9 100644 --- a/docs/content/6.overlays/1.modal.md +++ b/docs/content/6.overlays/1.modal.md @@ -178,6 +178,52 @@ defineShortcuts({ ``` +### Fullscreen + +Set the `fullscreen` prop to `true` to enable it. + +::component-example +#default +:modal-example-fullscreen + +#code +```vue + + + +``` +:: + ## Props :component-props diff --git a/src/runtime/app.config.ts b/src/runtime/app.config.ts index 5649c55f..50ab86ff 100644 --- a/src/runtime/app.config.ts +++ b/src/runtime/app.config.ts @@ -877,7 +877,8 @@ const modal = { inner: 'fixed inset-0 overflow-y-auto', container: 'flex min-h-full items-end sm:items-center justify-center text-center', padding: 'p-4 sm:p-0', - base: 'relative text-left rtl:text-right overflow-hidden sm:my-8 w-full flex flex-col', + margin: 'sm:my-8', + base: 'relative text-left rtl:text-right overflow-hidden w-full flex flex-col', overlay: { base: 'fixed inset-0 transition-opacity', background: 'bg-gray-200/75 dark:bg-gray-800/75', diff --git a/src/runtime/components/overlays/Modal.vue b/src/runtime/components/overlays/Modal.vue index 66d66d9f..c709ff08 100644 --- a/src/runtime/components/overlays/Modal.vue +++ b/src/runtime/components/overlays/Modal.vue @@ -8,7 +8,18 @@
- + @@ -58,6 +69,10 @@ export default defineComponent({ type: Boolean, default: false }, + fullscreen: { + type: Boolean, + default: false + }, ui: { type: Object as PropType>, default: () => appConfig.ui.modal