From 2cc5c0d810e30b889081d1f457d725004bd0b933 Mon Sep 17 00:00:00 2001 From: Benjamin Canac Date: Wed, 12 Jul 2023 15:44:17 +0200 Subject: [PATCH] feat(Modal): add `prevent-close` prop Resolves #303 --- .../examples/ModalExampleDisableOverlay.vue | 15 ++++ .../ModalExampleDisableTransition.vue | 15 ++++ .../examples/ModalExamplePreventClose.vue | 24 +++++ docs/content/6.overlays/1.modal.md | 89 +++++++++++++++++++ src/runtime/components/overlays/Modal.vue | 7 +- 5 files changed, 149 insertions(+), 1 deletion(-) create mode 100644 docs/components/content/examples/ModalExampleDisableOverlay.vue create mode 100644 docs/components/content/examples/ModalExampleDisableTransition.vue create mode 100644 docs/components/content/examples/ModalExamplePreventClose.vue diff --git a/docs/components/content/examples/ModalExampleDisableOverlay.vue b/docs/components/content/examples/ModalExampleDisableOverlay.vue new file mode 100644 index 0000000000..c4e460bc64 --- /dev/null +++ b/docs/components/content/examples/ModalExampleDisableOverlay.vue @@ -0,0 +1,15 @@ + + + diff --git a/docs/components/content/examples/ModalExampleDisableTransition.vue b/docs/components/content/examples/ModalExampleDisableTransition.vue new file mode 100644 index 0000000000..b8a24890a2 --- /dev/null +++ b/docs/components/content/examples/ModalExampleDisableTransition.vue @@ -0,0 +1,15 @@ + + + diff --git a/docs/components/content/examples/ModalExamplePreventClose.vue b/docs/components/content/examples/ModalExamplePreventClose.vue new file mode 100644 index 0000000000..6e4f78eb8c --- /dev/null +++ b/docs/components/content/examples/ModalExamplePreventClose.vue @@ -0,0 +1,24 @@ + + + diff --git a/docs/content/6.overlays/1.modal.md b/docs/content/6.overlays/1.modal.md index f56a73bf6a..ce55f398d9 100644 --- a/docs/content/6.overlays/1.modal.md +++ b/docs/content/6.overlays/1.modal.md @@ -8,6 +8,8 @@ headlessui: ## Usage +Use a `v-model` to control the Modal state. + ::component-example #default :modal-example-basic @@ -64,6 +66,93 @@ const isOpen = ref(false) ``` :: +### Disable overlay + +::component-example +#default +:modal-example-disable-overlay + +#code +```vue + + + +``` +:: + +### Disable transition + +::component-example +#default +:modal-example-disable-transition + +#code +```vue + + + +``` +:: + +### Prevent close + +::component-example +#default +:modal-example-prevent-close + +#code +```vue + + + +``` +:: + ## Props :component-props diff --git a/src/runtime/components/overlays/Modal.vue b/src/runtime/components/overlays/Modal.vue index b28b2330d7..66d66d9f19 100644 --- a/src/runtime/components/overlays/Modal.vue +++ b/src/runtime/components/overlays/Modal.vue @@ -1,6 +1,6 @@