0.0.25 • Published 1 year ago
@svelte.codes/modal-manager v0.0.25
Svelte Modal Manager
Manage modals like a boss 🚀
No wrapper components, no extra markup, no dependencies, just modals.
- Comes with a backdrop overlay.
- Handles multiple modals at once.
- Handles multiple instances of the same modal at once.
- Access the modal manager from within your modal component.
Installation
npm install @svelte.codes/modal-manager
Usage
Manager component
ModalConfig
Properties
name | default | description |
---|---|---|
name | required | The name of the modal. |
classes | optional | Extra css classes to add. |
component | required | Svelte component reference. |
closeIcon | optional | Show a close icon, top right. |
closeOnEscape | optional | Close modal on escape key. |
closeOnExternalClick | optional | Close modal on outside click. |
Opening a modal
The manager.open()
method takes a ModalConfig
object as an argument (see above):
<script lang="ts">
import { ModalManager } from "@svelte.codes/modal-manager";
import TestComponent from "../../lib/components/test-component.svelte";
const manager = new ModalManager();
manager.open({
name: "test-modal-1",
component: TestComponent,
classes: "bg-slate-300/50 p-10"
});
</script>
I'm inside a modal via modal manager!
When the modal manager instantiates your component
, it will pass in a ModalInstance
object as a prop
so you can interact with the manager from within your component.
Client component
From inside your client component you can interact with the manager via the instance
prop.
<script lang="ts">
import { ModalInstance } from "@svelte.codes/modal-manager";
export let instance: ModalInstance;
</script>
<div class="bg-slate-300 p-10">
<h1 class="text-3xl font-bold underline">this is inside a modal</h1>
<button on:click={() => instance.manager.close(instance.config.name)}>close</button>
</div>
0.0.23
1 year ago
0.0.24
1 year ago
0.0.25
1 year ago
0.0.22
1 year ago
0.0.20
2 years ago
0.0.21
2 years ago
0.0.10
2 years ago
0.0.12
2 years ago
0.0.13
2 years ago
0.0.14
2 years ago
0.0.15
2 years ago
0.0.16
2 years ago
0.0.17
2 years ago
0.0.18
2 years ago
0.0.19
2 years ago
0.0.9
2 years ago
0.0.8
2 years ago
0.0.5
2 years ago
0.0.4
2 years ago
0.0.7
2 years ago
0.0.6
2 years ago
0.0.11
2 years ago
0.0.2
2 years ago
0.0.1
2 years ago
0.0.0
2 years ago