Files
Stackq/node_modules/bits-ui/dist/bits/utilities/focus-scope/focus-scope.svelte
T
eewing cf73cd3b4c INIT
2026-02-17 14:10:16 -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 })}