flotilla/src/lib/components/Drawer.svelte

38 lines
804 B
Svelte
Raw Normal View History

2024-09-25 22:49:17 +00:00
<script lang="ts">
2024-10-08 18:39:16 +00:00
import {randomId} from "@welshman/lib"
2024-09-25 22:49:17 +00:00
const id = randomId()
let input: any
let label: any
export const open = () => {
if (!input.checked) {
label.click()
}
}
export const close = () => {
if (input.checked) {
label.click()
}
}
export const toggle = () => {
label.click()
}
</script>
<div class="drawer drawer-end">
2024-10-15 21:44:21 +00:00
<input {id} type="checkbox" class="drawer-toggle" bind:this={input} on:change />
2024-09-25 22:49:17 +00:00
<div class="drawer-content">
<label for={id} bind:this={label} />
</div>
<div class="drawer-side z-modal">
<label for={id} aria-label="close sidebar" class="drawer-overlay"></label>
<div class="menu h-full w-80 overflow-auto bg-base-200 p-0 text-base-content lg:w-96">
2024-09-25 22:49:17 +00:00
<slot />
2024-10-08 18:39:16 +00:00
</div>
2024-09-25 22:49:17 +00:00
</div>
</div>