Text-Editor (Eingabe)
Rich-Text-EINGABE mit Werkzeugleiste (fett, kursiv, unterstrichen, Überschrift, Listen, Zitat, Code, Link) — erzeugt genau das HTML, das der Sanitizer erlaubt; Gegenstück zur Anzeige ui.richtext
Nutzt: ui.icon
Beispiele
Diamond-Mesh-Set
Vierteiliges Set mit Gold-Knopf und Diamond-Mesh-Einsatz.
- Front-Open-Bra
- Taillengürtel mit Clips
Handwäsche empfohlen.
Eigenschaften
| Prop | Typ | Default | Builder-Label |
|---|---|---|---|
| label | string | "" | Label |
| html | string | "" | Vorbelegung (HTML, wird sanitisiert) |
| placeholder | string | "Text eingeben …" | Platzhalter |
| height | string: sm | md | lg | "md" | Höhe |
| counter | boolean | true | Zeichenzähler |
* Pflicht-Prop
Events & Slots
Events:
⚡ change — im Surface per on: {<event>: {action, params}} verdrahtbar.
Genutzte Design-Tokens
LLM-Notizen
component.editor
Rich-Text-Eingabe. Gegenstück zu ui.richtext (Anzeige) — beide teilen denselben Whitelist-Sanitizer.
Wann nutzen
- Beschreibungstexte, Notizen, E-Mail-Entwürfe in App-Fenstern.
- Für reinen Text:
ui.textarea. Für Quelltext-ANZEIGE:component.code-block.
Wichtige Props
html(Vorbelegung — läuft beim Rendern durchinvisible_sanitize_rich),label,placeholder,height(sm|md|lg),counter.
Erzeugtes Markup
Die Werkzeugleiste ist auf die Sanitizer-Whitelist abgestimmt und erzeugt nur:
p · br · strong · em · u · h3 · blockquote · code · ul · ol · li · a[href]
Beispiel-Node
{
"definition": "component.editor",
"props": {"label": "Produktbeschreibung", "html": "<p>Erster Absatz</p>", "height": "md"},
"on": {"change": {"action": "action.notify.show", "params": {"title": "Entwurf gespeichert"}}}
}
Hinweise
- Emittiert
changemit{html, text}bei jeder Änderung. - Einfügen übernimmt NUR Text (kein fremdes Markup).
- Der Editor ist nie die Sicherheitsgrenze — beim Speichern serverseitig erneut sanitisieren.
- Tastatur: Strg+B/I/U.