Action

Focus Trap

Keeps focus within an element for accessibility.

Installation

Get the action

npx lomer-ui action focus-trap
Source code

Usage

Preview

Email

Password

Svelte Code

1
<script>
2
  import Button from '$lib/components/base/button.svelte';
3
  import Field from '$lib/components/base/field.svelte';
4
  import Input from '$lib/components/base/input.svelte';
5
  import { focusTrap } from '$lib/actions/focus-trap.svelte';
6
</script>
7

8
<!-- Use focusTrap to keep focus within the form -->
9
<form class="flex flex-col gap-2" use:focusTrap>
10
  <Field label="Email">
11
    <Input type="email" />
12
  </Field>
13
  <Field label="Password">
14
    <Input type="password" />
15
  </Field>
16
  <Field class="mt-4 flex justify-end">
17
    <Button>Sign In</Button>
18
  </Field>
19
</form>
20