Migrate more stuff

This commit is contained in:
Jon Staab
2025-02-03 16:37:14 -08:00
parent 0f705c459a
commit 8d3433b167
150 changed files with 2001 additions and 1205 deletions
+12 -6
View File
@@ -1,11 +1,17 @@
<script lang="ts">
import type {Snippet} from "svelte"
import {fly} from "@lib/transition"
export let onClose
export let hideOnClick = false
interface Props {
onClose: any
hideOnClick?: boolean
children?: Snippet
}
let {onClose, hideOnClick = false, children}: Props = $props()
const onMouseUp = (e: any) => {
if (hideOnClick || !element.contains(e.target)) {
if (hideOnClick || !element?.contains(e.target)) {
setTimeout(onClose)
}
}
@@ -16,13 +22,13 @@
}
}
let element: HTMLElement
let element: HTMLElement | undefined = $state()
</script>
<svelte:window on:mouseup={onMouseUp} on:keydown={onKeyDown} />
<svelte:window onmouseup={onMouseUp} onkeydown={onKeyDown} />
<div class="relative w-full" bind:this={element}>
<div transition:fly|local class="absolute z-popover w-full">
<slot />
{@render children?.()}
</div>
</div>