feat(useOverlay): add isOpen method to check overlay state (#4041)

This commit is contained in:
Eugen Istoc
2025-05-01 12:48:41 -04:00
committed by GitHub
parent c5bdec0f64
commit a4f3f6d531
4 changed files with 21 additions and 3 deletions

View File

@@ -13,7 +13,9 @@ const modal = overlay.create(LazyModalExample, {
})
async function open() {
const shouldIncrement = await modal.open()
const instance = modal.open()
const shouldIncrement = await instance.result
if (shouldIncrement) {
count.value++

View File

@@ -13,7 +13,9 @@ const slideover = overlay.create(LazySlideoverExample, {
})
async function open() {
const shouldIncrement = await slideover.open()
const instance = slideover.open()
const shouldIncrement = await instance.result
if (shouldIncrement) {
count.value++

View File

@@ -66,6 +66,13 @@ Update an overlay using its `id`
Removes the overlay from the DOM using its `id`
- Parameters:
- `id`: The identifier of the overlay
### `isOpen(id: symbol): boolean`
Checks if an overlay its open using its `id`
- Parameters:
- `id`: The identifier of the overlay

View File

@@ -122,6 +122,12 @@ function _useOverlay() {
return overlay
}
const isOpen = (id: symbol): boolean => {
const overlay = getOverlay(id)
return overlay.isOpen
}
return {
overlays,
open,
@@ -129,7 +135,8 @@ function _useOverlay() {
closeAll,
create,
patch,
unMount
unMount,
isOpen
}
}