import { type IconProp } from '../icon'; import type { Snippet } from 'svelte'; type Props = { /** Primary icon. SVG source string, `{ src, color }` object, or custom snippet. */ icon?: IconProp; /** Side of the text where the primary icon sits. @default 'leading' */ iconPosition?: 'leading' | 'trailing'; /** Optional secondary icon — always rendered on the opposite side of text from the primary. */ secondaryIcon?: IconProp; /** Truncate text with ellipsis on overflow */ trimText?: boolean; /** Hide text, showing only the icon(s) */ hideText?: boolean; /** Size preset matching `Button` of the same size — text/icon px: sm 12/15, md 14/16, lg 16/18. Unset: text + icon follow the inherited font size (`1em`). */ size?: 'sm' | 'md' | 'lg'; /** Bump the icon(s) one step up the scale relative to `size`, text unchanged (sm 15→16, md 16→18, lg 18→20). @default 'default' */ iconScale?: 'default' | 'large'; children?: Snippet; }; /** * Displays icons + text in a horizontal layout. Primary `icon` sits on the leading side by * default; flip with `iconPosition='trailing'`. Optional `secondaryIcon` always renders on * the opposite side of text from the primary, useful for "label + chevron" / "label + * status" dropdown-trigger patterns. Each icon prop accepts a string SVG source, an * `{ src, color }` object to apply a color preset, or a custom `Snippet`. * * ### CSS Custom Properties * | Property | Description | Default | * |---|---|---| * | `--sc-kit--icon-text--root--font-size` | Root font size of the component | `1em` | * | `--sc-kit--icon-text--root--color` | Root text color | — | * | `--sc-kit--icon-text--text--display` | Display mode of the text slot (set `none` to hide) | `flex` | * | `--sc-kit--icon-text--text--font-size` | Font size of the text slot | `1em` | * | `--sc-kit--icon-text--icon--font-size` | Font size of the primary icon | text font size | * | `--sc-kit--icon-text--icon--color` | Primary icon color | global color | * | `--sc-kit--icon-text--gap` | Gap between icon and text | `0.5em` | * | `--sc-kit--icon-text--justify-content` | Flex justify-content | `normal` | * | `--sc-kit--icon-text--secondary--font-size` | Font size of the secondary icon | text font size | * | `--sc-kit--icon-text--secondary--color` | Secondary icon color | global color | */ declare const Cmp: import("svelte").Component; type Cmp = ReturnType; export default Cmp;