import type { InputProps } from './types'; /** * Text input field with leading/trailing icon slots, clear button, emoji picker, and an inset * focus underline. Discriminated `type` selects native input mode (`text` / `password` / `email` / * `search` / `url` / `tel`). Set `inert` for display mode (no focus, no animations), `readonly` * for non-editable but selectable, `error` for the visual + a11y error state. Imperative * `focus()` / `select()` / `clear()` exposed via `bind:this`. * * Leading / trailing whitespace is stripped at every commit point — `change`, blur, Enter — so the * value the consumer receives always matches what the field shows. Typing is untouched. Pass * `trim={false}` to opt out; `type="password"` never trims. * * Two snippet slots widen the chrome: `prefix` for a full-height segmented leading addon (see * `WebsiteInput`), and `suffix` for a free-form trailing addon rendered before any trailing icons * or the clear button (see `HandleInput`'s availability pill). * * ### CSS Custom Properties * | Property | Description | Default | * |---|---|---| * | `--sc-kit--input--height` | Container height | per size | * | `--sc-kit--input--padding-inline` | Horizontal padding | per size | * | `--sc-kit--input--gap` | Gap between value and icons / clear | `var(--sc-kit--space--2)` | * | `--sc-kit--input--width` | Container width | `100%` | * | `--sc-kit--input--background` | Container background | `var(--sc-kit--color--bg--field)` | * | `--sc-kit--input--background--disabled` | Disabled / inert background | `var(--sc-kit--color--bg--field-alt)` | * | `--sc-kit--input--border-color` | Border color | `var(--sc-kit--color--border--field)` | * | `--sc-kit--input--border-color--hover` | Border color on hover | `var(--sc-kit--color--border--strong)` | * | `--sc-kit--input--border-color--error` | Border color in error state | `var(--sc-kit--color--danger)` | * | `--sc-kit--input--border-radius` | Border radius | per size — `sm` 4px, `md`/`lg` 6px | * | `--sc-kit--input--underline-color` | Inset bottom-underline indicator (transparent default, accent on focus-within, danger on error) | `transparent` | * | `--sc-kit--input--font-size` | Text font size | per size | * | `--sc-kit--input--color` | Text color | `var(--sc-kit--color--text--primary)` | * | `--sc-kit--input--placeholder--color` | Placeholder text color | `var(--sc-kit--color--text--placeholder)` | * | `--sc-kit--input--icon--color` | Leading / trailing icon color (does NOT affect inner affordances — clear, password, emoji) | `var(--sc-kit--color--text--muted)` | * | `--sc-kit--input--icon--size` | Leading / trailing icon size (does NOT affect inner affordances) | per size | */ declare const Cmp: import("svelte").Component`. */ focus: () => void; select: () => void; clear: () => void; }, "">; type Cmp = ReturnType; export default Cmp;