Button

A clickable element that triggers an action or event

Variants

Different visual styles for various contexts


Code Svelte
1
2<script lang="ts">
3	import { Button } from "@kareyes/aether";
4</script>
5
6<div class="flex flex-wrap gap-4">
7	<Button variant="default" text="Default" />
8	<Button variant="destructive" text="Destructive" />
9	<Button variant="outline" text="Outline" />
10	<Button variant="secondary" text="Secondary" />
11	<Button variant="flat" text="Flat" />
12	<Button variant="bordered" text="Bordered" />
13	<Button variant="ghost" text="Ghost" />
14	<Button variant="link" text="Link" />
15</div>

Sizes

Three size options to fit your design


Code Svelte
1
2<script lang="ts">
3	import { Button } from "@kareyes/aether";
4</script>
5
6<div class="flex flex-wrap items-center gap-4">
7	<Button size="sm" text="Small" />
8	<Button size="default" text="Default" />
9	<Button size="lg" text="Large" />
10</div>

States

Different button states and interactions

Disabled

Loading State


Code Svelte
1
2<script lang="ts">
3	import { Button } from "@kareyes/aether";
4</script>
5
6<div class="flex flex-wrap gap-4">
7	<Button text="Disabled Default" disabled />
8	<Button variant="outline" text="Disabled Outline" disabled />
9	<Button variant="destructive" text="Disabled Destructive" disabled />
10</div>

With Icons

Buttons can contain custom content using slots


Code Svelte
1
2<script lang="ts">
3	import { Button } from "@kareyes/aether";
4	import { PlusIcon, SaveIcon, DownloadIcon } from "@kareyes/aether/icons";
5</script>
6
7<div class="flex flex-wrap gap-4">
8	<Button icon={PlusIcon} text="Add Item" />
9	<Button variant="outline" text="Save Changes" icon={SaveIcon} />
10	<Button variant="secondary" text="Download" icon={DownloadIcon} />
11</div>

Interactive Demo

Click the button to see it in action

Clicks: 0

Full Width

Buttons can span the full width of their container


Code Svelte
1
2<script lang="ts">
3	import { Button } from "@kareyes/aether";
4</script>
5
6<div class="space-y-3">
7	<Button text="Full Width Button" class="w-full" />
8	<Button variant="outline" text="Full Width Outline" class="w-full" />
9</div>

Button Groups

Multiple buttons working together

Action Group

Navigation Group

Toolbar


Code Svelte
1
2<script lang="ts">
3	import { Button, Separator } from "@kareyes/aether";
4</script>
5
6<div class="space-y-6">
7	<!-- Action Group -->
8	<div>
9		<p class="text-sm font-medium mb-3">Action Group</p>
10		<div class="flex gap-2">
11			<Button variant="outline" text="Cancel" />
12			<Button text="Save" />
13		</div>
14	</div>
15
16	<Separator />
17
18	<!-- Navigation Group -->
19	<div>
20		<p class="text-sm font-medium mb-3">Navigation Group</p>
21		<div class="flex gap-2">
22			<Button variant="outline" text="Previous" />
23			<Button variant="outline" text="1" />
24			<Button variant="default" text="2" />
25			<Button variant="outline" text="3" />
26			<Button variant="outline" text="Next" />
27		</div>
28	</div>
29</div>

Common Use Cases

Real-world button usage scenarios

Form Actions

Delete Confirmation

Are you sure you want to delete this item?

Social Actions

Call to Action


Code Svelte
1
2<script lang="ts">
3	import { Button } from "@kareyes/aether";
4</script>
5
6<div class="grid gap-6 md:grid-cols-2">
7	<!-- Form Actions -->
8	<div class="space-y-3">
9		<p class="font-medium">Form Actions</p>
10		<div class="flex gap-2 justify-end">
11			<Button variant="outline" text="Cancel" />
12			<Button variant="default" text="Submit" />
13		</div>
14	</div>
15
16	<!-- Delete Confirmation -->
17	<div class="space-y-3">
18		<p class="font-medium">Delete Confirmation</p>
19		<div class="flex gap-2">
20			<Button variant="outline" text="Cancel" />
21			<Button variant="destructive" text="Delete" />
22		</div>
23	</div>
24
25	<!-- Social Actions -->
26	<div class="space-y-3">
27		<p class="font-medium">Social Actions</p>
28		<div class="flex flex-wrap gap-2">
29			<Button variant="default" text="Follow" />
30			<Button variant="outline" text="Message" />
31			<Button variant="ghost" text="Share" />
32		</div>
33	</div>
34
35	<!-- Call to Action -->
36	<div class="space-y-3 text-center">
37		<p class="font-medium">Call to Action</p>
38		<Button text="Get Started" size="lg" class="w-full" />
39		<Button variant="link" text="Learn more" class="w-full text-sm" />
40	</div>
41</div>