sui — Opinionated Svelte 5 UI toolkit

Welcome to the Svelte UI toolkit! This is a collection of components and utilities designed to help you build Svelte applications quickly and efficiently.

Component Library

Button, Frameless Button, & Link

Click Me Visit Svelte

Action Select

console.log('Chosen:', value) }} options={[ { label: 'Action 1', onchoose: (value) => console.log('Action 1 chosen:', value) }, { label: 'Action 2', onchoose: (value) => console.log('Action 2 chosen:', value) }, { label: 'Disabled Action', disabled: true, onchoose: (value) => console.log('Disabled action chosen:', value) } ]} />

Combobox

console.log('Selected:', e.value)} onvalidate={(e) => console.log('Validation:', e.detail)} /> console.log('Selected:', e.value)} onvalidate={(e) => console.log('Validation:', e.detail)} /> { setTimeout(() => { lazyOptions = [ { value: 'option1', label: 'Option 1' }, { value: 'option2', label: 'Option 2' }, { value: 'option3', label: 'Option 3' } ]; }, 2500); }} />

Checkbox

console.log('Checkbox value:', value)} > Agree to terms and conditions Checkbox is {checkboxValue}

Dateinput

Selected date is {dateInputValue}

Phone Input

Pin Input

Radio Group

Styled Raw Input, Text Input, Disabled Input, Compact Input

Time Input

TimezoneInput

Toggle

Toggle Me!

Toolbar

Bold is enabled: {$boldStore}

Tabs

{#snippet tab1()}

Dashboard Overview

Total Users

1,247

Revenue

$12,450

{/snippet} {#snippet tab2()}

Recent Activity

{/snippet} {#snippet tab3()}

Settings

{/snippet}
{ dialogOpen = false; alert('Dialog submitted!'); }} >

This is a dialog content area.