Files
eewing ec317eb17c
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m11s
INIT
2026-02-18 15:17:47 -06:00

28 lines
709 B
Svelte

<script lang="ts">
import { boxWith } from "svelte-toolbelt";
import type { FocusScopeImplProps } from "./types.js";
import { noop } from "../../../internal/noop.js";
import { FocusScope } from "./focus-scope.svelte.js";
let {
enabled = false,
trapFocus = false,
loop = false,
onCloseAutoFocus = noop,
onOpenAutoFocus = noop,
focusScope,
ref,
}: FocusScopeImplProps = $props();
const focusScopeState = FocusScope.use({
enabled: boxWith(() => enabled),
trap: boxWith(() => trapFocus),
loop: loop,
onCloseAutoFocus: boxWith(() => onCloseAutoFocus),
onOpenAutoFocus: boxWith(() => onOpenAutoFocus),
ref,
});
</script>
{@render focusScope?.({ props: focusScopeState.props })}