0.0.25 • Published 2 years 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-managerUsage
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
2 years ago
0.0.24
2 years ago
0.0.25
2 years ago
0.0.22
2 years 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