# Bref-UI Minimal Svelte 5 UI component library. Scoped CSS, no dependencies, batteries-included theming. Install: `npm|bun|pnpm install bref-ui` Import: `import { Button, Icon, TextInput, TreeView, Pill, Theme } from 'bref-ui';` ## Types ```ts type Size = 'x-small' | 'small' | 'medium' | 'large' | 'x-large' type Color = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'foreground' | 'background' type Variant = 'filled' | 'soft' | 'ghost' type Speed = 'slow' | 'normal' | 'fast' ``` --- ## Theme Generates CSS custom properties for theming. Add at app root. **Props:** - `paletteHex`: { primary, secondary, success, warning, danger, info: string } - `surfaceHex`: { background, foreground: string } - `border`: { widthPx: number, radiusRem: number, colorHex: string } - `spacingRem`: number ```svelte ``` --- ## Button Versatile button with variants, colors, sizes, optional icon. **Props:** - `label`: string (required) - `onClick`: () => void (required) - `size?`: Size - `color?`: Color - `variant?`: Variant - `disabled?`: boolean - `wide?`: boolean - `icon?`: { name: IconName, filled?: boolean } ```svelte