import type { RichTextInputOptions } from './types'; import type { Editor, RawEditorOptions } from 'hugerte'; type Props = { /** HTML content. */ value: string | null | undefined; /** @default 'md' — controls the editor root font size (and downstream rem-based sizing). */ size?: 'sm' | 'md' | 'lg'; disabled?: boolean; /** Non-editable but still visible (mirrors `disabled` in editor mode). */ readonly?: boolean; /** Visual display mode — no focus, no hover, hidden affordances. */ inert?: boolean; /** Visual error state. */ error?: boolean; /** Strip border + background. */ borderless?: boolean; /** Show the inline emoji-picker affordance. */ emoji?: boolean; autofocus?: boolean; /** Minimum visible rows (0 = natural editor height). @default 0 */ rows?: number; placeholder?: string; options?: RichTextInputOptions; /** Escape-hatch for extra HugeRTE init options, merged AFTER kit defaults. */ conf?: Partial; 'aria-label'?: string; 'aria-describedby'?: string; 'aria-required'?: boolean; on?: { change?: (value: string) => void; focus?: () => void; blur?: () => void; mounted?: (data: { editor: Editor; insertEmoji: (emoji: string) => void; }) => void; }; }; /** * Rich text editor powered by HugeRTE (MIT fork of TinyMCE 6). Inline mode with a fixed * toolbar container (the `` slot above the editor * body, or an external host element addressed by `options.fixedToolbarId`). Imperative * `focus()` / `getContent()` / `setContent(val)` exposed via `bind:this`. * * ### CSS Custom Properties * | Property | Description | Default | * |---|---|---| * | `--sc-kit--rich-text-input--root--font-size` | Root font size (drives em-based sizing) | per size | * | `--sc-kit--rich-text-input--width` | Container width | `100%` | * | `--sc-kit--rich-text-input--min-height` | Minimum body height | `2em` | * | `--sc-kit--rich-text-input--padding-block` | Vertical padding | `0.5em` | * | `--sc-kit--rich-text-input--padding-inline` | Horizontal padding | `0.5em` | * | `--sc-kit--rich-text-input--background` | Background color | `var(--sc-kit--color--bg--field)` | * | `--sc-kit--rich-text-input--background--disabled` | Disabled background | `var(--sc-kit--color--bg--field-alt)` | * | `--sc-kit--rich-text-input--border-color` | Border color | `var(--sc-kit--color--border--field)` | * | `--sc-kit--rich-text-input--border-color--hover` | Border color on hover | `var(--sc-kit--color--border--strong)` | * | `--sc-kit--rich-text-input--border-color--error` | Border color in error state | `var(--sc-kit--color--danger)` | * | `--sc-kit--rich-text-input--border-radius` | Border radius | per size — `sm` 4px, `md`/`lg` 6px | * | `--sc-kit--rich-text-input--underline-color` | Inset bottom-underline (transparent default, accent on focus-within, danger on error) | `transparent` | * | `--sc-kit--rich-text-input--color` | Text color | `var(--sc-kit--color--text--primary)` | * | `--sc-kit--rich-text-input--placeholder--color` | Placeholder color | `var(--sc-kit--color--text--placeholder)` | */ declare const Cmp: import("svelte").Component void; getContent: () => string; setContent: (val: string) => void; }, "">; type Cmp = ReturnType; export default Cmp;