huntabyte / vaul-svelte

An unstyled drawer component for Svelte.
https://vaul-svelte.com
MIT License
469 stars 19 forks source link

Fixes closeOnOutsideClick for nested drawers #102

Open thedivtagguy opened 3 weeks ago

thedivtagguy commented 3 weeks ago

Improves the logic for handling nested drawer closures by using explicit index checking instead of direct ID comparison. This ensures only the topmost drawer closes when clicking outside, while maintaining parent drawers in their open state.

- const isLast = $openDialogIds[$openDialogIds.length - 1] === get(drawerId);
+ const currentIndex = $openDialogIds.indexOf(currentId);
+ if (currentIndex === $openDialogIds.length - 1) {

Fixes #74

vercel[bot] commented 3 weeks ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
vaul-svelte ✅ Ready (Inspect) Visit Preview 💬 Add feedback Nov 4, 2024 6:47am
changeset-bot[bot] commented 3 weeks ago

⚠️ No Changeset found

Latest commit: 2565ae78b9c963c36a53c29296f711ede95bfa5f

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

AlexDemzz commented 1 week ago

Can you merge pls ? @huntabyte