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 @@
+
+
+
+
+
+
+
+
+
+
+
+ Modal
+
+
+
+
+
+
+
+
+
+
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
+
+
+
+
+
+
+
+
+
+
+
+ Modal
+
+
+
+
+
+
+
+
+
+
+```
+::
+
## 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