svelte icon Svelte 5 UI lib
  • Coverage
  • About
  • Repo

KBD (Keyboard)

Default

Shift Ctrl Tab Caps Lock Esc Spacebar Enter
<script lang="ts">
	import { Kbd } from 'svelte-5-ui-lib';
</script>

<div class="flex flex-wrap justify-center gap-1">
	<Kbd class="px-2 py-1.5">Shift</Kbd>
	<Kbd class="px-2 py-1.5">Ctrl</Kbd>
	<Kbd class="px-2 py-1.5">Tab</Kbd>
	<Kbd class="px-2 py-1.5">Caps Lock</Kbd>
	<Kbd class="px-2 py-1.5">Esc</Kbd>
	<Kbd class="px-4 py-1.5">Spacebar</Kbd>
	<Kbd class="px-2 py-1.5">Enter</Kbd>
</div>

Letter keys

Type a letter
<script lang="ts">
	import { Kbd, Input } from 'svelte-5-ui-lib';
	let letter = $state('');
</script>

<div class="space-y-4">
	<Kbd class="px-2 py-1.5">{letter === '' ? 'Type a letter' : letter}</Kbd>
	<Input bind:value={letter} placeholder="Type a letter" />
</div>

Inside text

Please press Ctrl + Shift + R to re-render an MDN page.

<script lang="ts">
	import { Kbd } from 'svelte-5-ui-lib';
</script>

<div class="flex flex-wrap justify-center">
	<p class="text-gray-500 dark:text-gray-400">
		Please press <Kbd class="px-2 py-1.5">Ctrl</Kbd> + <Kbd class="px-2 py-1.5">Shift</Kbd> + <Kbd
			class="px-2 py-1.5">R</Kbd
		> to re-render an MDN page.
	</p>
</div>

Inside table

Key Description
Shift or Tab Navigate to interactive elements
Enter or Space bar Ensure elements with ARIA role="button" can be activated with both key commands.
Arrow key up Arrow key down or Arrow key left Arrow key right Choose and activate previous/next tab.
<script lang="ts">
	import {
		Table,
		TableBody,
		TableBodyCell,
		TableBodyRow,
		TableHead,
		TableHeadCell,
		Kbd
	} from 'svelte-5-ui-lib';
	import {
		CaretDownSolid,
		CaretUpSolid,
		CaretLeftSolid,
		CaretRightSolid
	} from 'flowbite-svelte-icons';
</script>

<Table>
	<TableHead>
		<TableHeadCell>Key</TableHeadCell>
		<TableHeadCell>Description</TableHeadCell>
	</TableHead>
	<TableBody class="divide-y">
		<TableBodyRow>
			<TableBodyCell>
				<Kbd class="px-2 py-1.5">Shift</Kbd> or <Kbd class="px-2 py-1.5">Tab</Kbd>
			</TableBodyCell>
			<TableBodyCell>Navigate to interactive elements</TableBodyCell>
		</TableBodyRow>
		<TableBodyRow>
			<TableBodyCell>
				<Kbd class="px-2 py-1.5">Enter</Kbd> or <Kbd class="px-4 py-1.5">Space bar</Kbd>
			</TableBodyCell>
			<TableBodyCell
				>Ensure elements with ARIA role="button" can be activated with both key commands.</TableBodyCell
			>
		</TableBodyRow>
		<TableBodyRow>
			<TableBodyCell>
				<Kbd class="me-1 inline-flex items-center px-2 py-1.5">
					<CaretUpSolid size="xs" />
					<span class="sr-only">Arrow key up</span>
				</Kbd>
				<Kbd class="me-1 inline-flex items-center px-2 py-1.5">
					<CaretDownSolid size="xs" />
					<span class="sr-only">Arrow key down</span>
				</Kbd> or
				<Kbd class="me-1 inline-flex items-center px-2 py-1.5">
					<CaretLeftSolid size="xs" />
					<span class="sr-only">Arrow key left</span>
				</Kbd>
				<Kbd class="me-1 inline-flex items-center px-2 py-1.5">
					<CaretRightSolid size="xs" />
					<span class="sr-only">Arrow key right</span>
				</Kbd>
			</TableBodyCell>
			<TableBodyCell>Choose and activate previous/next tab.</TableBodyCell>
		</TableBodyRow>
	</TableBody>
</Table>

Arrow keys

Arrow key up Arrow key down Arrow key left Arrow key right
<script lang="ts">
	import { Kbd } from 'svelte-5-ui-lib';
	import {
		CaretDownSolid,
		CaretLeftSolid,
		CaretRightSolid,
		CaretUpSolid
	} from 'flowbite-svelte-icons';
</script>

<div class="flex flex-wrap justify-center">
	<Kbd class="me-1 inline-flex items-center px-2 py-1.5">
		<CaretUpSolid size="xs" />
		<span class="sr-only">Arrow key up</span>
	</Kbd>
	<Kbd class="me-1 inline-flex items-center px-2 py-1.5">
		<CaretDownSolid size="xs" />
		<span class="sr-only">Arrow key down</span>
	</Kbd>
	<Kbd class="me-1 inline-flex items-center px-2 py-1.5">
		<CaretLeftSolid size="xs" />
		<span class="sr-only">Arrow key left</span>
	</Kbd>
	<Kbd class="me-1 inline-flex items-center px-2 py-1.5">
		<CaretRightSolid size="xs" />
		<span class="sr-only">Arrow key right</span>
	</Kbd>
</div>

Component data

codewithshin.com
  • Repo
  • About