// the find
wire-elements/modal
Livewire component that provides you with a modal that supports multiple child modals while maintaining state.
A Livewire component that manages a stack of modals, letting you open child modals on top of existing ones while preserving each modal's state. Solves a specific and annoying problem in Livewire apps: the typical single-modal pattern falls apart the moment you need a confirmation dialog inside an edit form. Squarely aimed at Laravel/Livewire shops.
The stacked modal model is genuinely well-thought-out — you get push/pop semantics with skipPreviousModal() for cases where going back doesn't make sense after a destructive action. Model binding works the same way as regular Livewire components, so you're not learning a new pattern. Per-component overrides (closeModalOnEscape, destroyOnClose, etc.) are static methods rather than config soup, which means the behavior lives next to the component that needs it. The closeModalWithEvents() pattern for notifying parent components is a clean way to handle the 'refresh the list after saving' case without coupling.
Hard dependency on TailwindCSS — the fallback is a bundled CSS file that you can opt into, but it's an afterthought and you'll be fighting the styles if your project uses anything else. The JavaScript is compiled and checked in as a build artifact (public/modal.js, mix-manifest.json) rather than distributed as source, which is a maintenance smell. No accessibility story visible in the README — no mention of focus trapping, aria-modal, or keyboard navigation beyond escape-to-close. Last meaningful activity is early 2026, and with Livewire v3 having been out for a while, the issue backlog likely has edge cases nobody is fixing.