import type { InputForwardedProps } from '../input'; type Props = Omit & { /** Protocols offered in the leading segment. A single entry renders it as static text. @default ['https', 'http'] */ schemes?: string[]; /** Which of `schemes` applies to text that carries none. A value outside `schemes` is emitted as given, unvalidated. @default schemes[0] */ scheme?: string; on?: NonNullable & { /** Fires when a protocol is picked in the leading segment — not when one is detected in the text. */ schemeChange?: (scheme: string) => void; }; }; /** * A URL input whose protocol lives in a tonally distinct leading segment instead of the text. The bound * `value` is always the full URL or `''`; the user types only host and path. * * The segment reflects the value rather than a wish. A protocol from `schemes` found at the head of the * text — typed, pasted or arriving as `value` — moves into the segment and is stripped from the field, so * nothing is silently upgraded: turning `http` into `https` takes picking it. A protocol *outside* * `schemes` (`mailto:`, `ftp://`) is left in the text and emitted verbatim, and the segment dims and stops * accepting picks — judging that address belongs to the consumer's validation, not to the field. * * With two or more `schemes` the segment is a popover picker — no chevron, the hover shift carries the * affordance; with one it is static text. The picker floats with `position: fixed`, since `Input` clips * its own box, and sits outside the tab order: Tab reaches the text field only, where typing or pasting * `http://…` moves the protocol into the segment anyway. Keyboard users lose no capability, and one * field costs one tab stop. * * ### CSS Custom Properties * | Property | Description | Default | * |---|---|---| * | `--sc-kit--url-input--scheme--background` | Segment background | `--sc-kit--color--bg--field-alt` | * | `--sc-kit--url-input--scheme--background--hover` | Segment background while pickable and hovered | `--sc-kit--color--bg--hover` | * | `--sc-kit--url-input--scheme--color` | Segment text color | `--sc-kit--color--text--muted` | * | `--sc-kit--url-input--scheme--border-color` | Vertical separator color | `--sc-kit--color--border--field` | * * Plus every public CSS variable exposed by ``. */ declare const Cmp: import("svelte").Component; type Cmp = ReturnType; export default Cmp;