Get started
Introduction
Build with Mielui
Start with everyday controls, compose larger interfaces from named parts, and tune everything through one set of theme tokens. Each component page pairs a live preview with source examples and an API reference.
- Native controls Buttons, text fields, and selects built around native form elements.
- Inputs Selection, numeric, file, and structured inputs.
- Forms Labels, field groups, validation, and form composition.
- Dates Calendars and date selection for single dates and ranges.
- Navigation Breadcrumbs, pagination, and tabbed views.
- Overlays Dialogs, menus, panels, and contextual information.
- Layout Surfaces, disclosure, grouping, scrolling, and tabular layout.
- Status and content Status messages, progress, identity, and text.
- Blocks Larger parts built from the components: code, tables, toasts, toolbars, and more.
- AI components Conversations, messages, tools, and the composer for chat and agent interfaces.
- Chart components Charts, gauges, and heatmaps for showing data.
- Actions 3 entries
Choose how to use it
Both paths use the same components and theme system. Choose based on whether you want dependency updates or direct ownership of the implementation.
Package import
- Best fit Use the library through its public API.
- Source Imported from
@mielui/svelte. - Customization Compose parts, set props, and apply classes or tokens.
- Updates Upgrade the package dependency.
CLI source copy
- Best fit Adapt component internals for your product.
- Source Copied into your repository.
- Customization Use the same options, plus edit the source directly.
- Updates Review upstream changes alongside your local edits.
Trying Mielui for the first time? Start with package imports. Choose source copy when you already know you need to change component behavior.
Requirements
- Svelte 5.56 or newer, with or without SvelteKit
- Tailwind CSS v4
- Package manager pnpm, npm, Yarn, or Bun
Start with an existing Svelte app and import the Mielui stylesheet once at the application level.
Quick start
Install the package:
npm i @mielui/svelteyarn add @mielui/sveltebun add @mielui/svelteImport the shared styles in your application stylesheet:
@import '@mielui/svelte/ui.css';Then use your first component:
<script>
import { Button } from '@mielui/svelte';
</script>
<Button>Get started</Button>Prefer local source? Initialize the CLI and add a component instead:
pnpm dlx @mielui/svelte init -y
pnpm dlx @mielui/svelte add buttonnpx @mielui/svelte init -y
npx @mielui/svelte add buttonyarn dlx @mielui/svelte init -y
yarn dlx @mielui/svelte add buttonbunx @mielui/svelte init -y
bunx @mielui/svelte add buttonFollow Installation for the local stylesheet import, component paths, and full setup for either approach.
Make it your own
Set colors, typography, corners, spacing, and motion together in Theme Studio. Preview the result on working components, then export CSS or JSON.
Compound components expose named parts such as Root, Trigger, and Content. Compose the parts shown on each component page, and use classes to adjust individual regions without replacing the whole component.
pnpm add @mielui/svelte