Skip to main content

We have released KoliBri - Public UI v3. For the LTS version, see .

Your opinion matters! Together with you, we want to continuously improve KoliBri. Share your ideas, wishes, or suggestions—quickly and easily.

Textarea

Die Komponente Textarea stellt ein größeres Eingabefeld für Inhalte zur Verfügung. Im Gegensatz zum können hier auch umfangreiche Inhalte eingegeben werden, die auch mit Zeilenumbrüchen versehen sein können.

Konstruktion

Code

<kol-textarea
_label="Beschreibung"
_resize="none"
_rows="5"
_value="Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore
magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd
gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing
elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos
et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor
sit amet."
></kol-textarea>

Events

Zur Behandlung von Events bzw. Callbacks siehe .

EventAuslöserValue
clickEingabefeld wird angeklickt-
focusEingabefeld wird fokussiert-
blurEingabefeld verliert Fokus-
inputWert wird durch Eingabe geändertAktueller Wert des Eingabefelds
changeEingabe wurde abgeschlossenAktueller Wert des Eingabefelds

Beispiel

<kol-textarea
_label="Beschreibung"
_resize="none"
_rows="5"
_value="Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.">
</kol-textarea>

Verwendung

Verwenden Sie die Textarea-Komponente wenn die Eingabe von größeren Textmengen erforderlich ist, z.B. bei der Erfassung eines Anliegens innerhalb eines Formulars. Mit Hilfe des Attributs _rows kann die Höhe der Textarea in Zeilen bestimmt werden. Über das Attribut _resize kann zusätzlich festgelegt werden ob und in welche Richtung die Textarea vergrößert werden kann. Der Wert none sperrt die Textarea gegen Größenänderungen.

Barrierefreiheit

Tastatursteuerung

TasteFunktion
TabFokussiert die Textarea.
Pfeil-TastenKönnen für die Navigation im Inhalt der fokussierten Textarea verwendet werden.

Zeichenbegrenzung und Zeichenzähler

Mit den drei Attributen _max-length, _max-length-behavior und _has-counter lässt sich die Eingabelänge flexibel begrenzen und gleichzeitig visuelles Feedback geben.

Attribute

AttributTypStandardBeschreibung
_has-counterbooleanfalseGlobaler Schalter für den Zeichenzähler. Nur wenn dieses Attribut gesetzt (= true) ist, wird überhaupt ein Zähler ausgegeben.
_max-lengthnumberMaximale Anzahl erlaubter Zeichen. Wirksam nur, wenn _has-counter aktiv ist.
_max-length-behavior"hard" | "soft""hard"Legt fest, wie die Grenze behandelt wird, falls _max-length gesetzt ist:
- hard: Setzt zusätzlich das native maxlength‑Attribut und verhindert weitere Eingaben.
- soft: Lässt weitere Eingaben zu; der Zähler zeigt verbleibende oder überschrittene Zeichen an.

Ausgabevarianten

Fall_has-counter_max-length_max-length-behaviorSichtbarer Text
1(leer) oder false— (kein Zähler)
2true(leer)n Zeichen
3true5(leer) oder hardn/5 Zeichen
4true5softnoch 3 Zeichen verfügbar
(bzw. 3 Zeichen zu viel)

Wird _max-length-behavior="soft" verwendet, wird das native maxlength‑Attribut nicht gesetzt – das Eingabefeld wird also nicht hart begrenzt.

Barrierefreiheit

  • Der Zähler aktualisiert sich mit einer Verzögerung von 500 ms, damit Screenreader‑Ereignisse gebündelt werden und das Tippen nicht unterbrechen.
  • Für Screenreader wird zusätzlich ein versteckter, nur für assistive Technologien sichtbarer Text eingeblendet, etwa: „Sie können bis zu 10 Zeichen eingeben.“

Beispiele

<!-- Nur Zähler -->
<kol-textarea _label="Beschreibung" _has-counter></kol-textarea>

<!-- Harte Begrenzung auf 5 Zeichen -->
<kol-textarea _label="Beschreibung" _has-counter _max-length="5"></kol-textarea>

<!-- Weiche Begrenzung auf 5 Zeichen -->
<kol-textarea
_label="Beschreibung"
_has-counter
_max-length="5"
_max-length-behavior="soft">
</kol-textarea>

Zusammenfassung

  • Ohne _has-counter gibt es nie einen Zähler.
  • Mit _has-counter und ohne _max-length wird nur die aktuell eingegebene Zeichenzahl angezeigt.
  • Mit _has-counter und _max-length bestimmt _max-length-behavior, ob die Grenze hart (hard) oder weich (soft) umgesetzt wird.

Properties

PropertyAttributeDescriptionTypeDefault
_accessKey_access-keyDefines the key combination that can be used to trigger or focus the component’s interactive element.string | undefinedundefined
_adjustHeight_adjust-heightAdjusts the height of the element to its content.boolean | undefinedfalse
_disabled_disabledMakes the element not focusable and ignore all events.boolean | undefinedfalse
_hasCounter_has-counterShows a character counter for the input element.boolean | undefinedfalse
_hideLabel_hide-labelHides the caption by default and displays the caption text with a tooltip when the interactive element is focused or the mouse is over it.boolean | undefinedfalse
_hideMsg_hide-msgHides the error message but leaves it in the DOM for the input's aria-describedby.boolean | undefinedfalse
_hint_hintDefines the hint text.string | undefined''
_icons_iconsDefines the icon classnames (e.g. _icons="fa-solid fa-user").string | undefined | { right?: IconOrIconClass | undefined; left?: IconOrIconClass | undefined; }undefined
_id_id[DEPRECATED] Will be removed in the next major version.

Defines the internal ID of the primary component element.
string | undefinedundefined
_label (required)_labelDefines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to false to enable the expert slot.stringundefined
_maxLength_max-lengthDefines the maximum number of input characters.number | undefinedundefined
_maxLengthBehavior_max-length-behaviorDefines the behavior when maxLength is set. 'hard' sets the maxlength attribute, 'soft' shows a character counter without preventing input."hard" | "soft" | undefined'hard'
_msg_msgDefines the properties for a message rendered as Alert component.Omit<AlertProps, "_label" | "_variant"> & { _description: string; } | string | undefinedundefined
_name_nameDefines the technical name of an input field.string | undefinedundefined
_on--Gibt die EventCallback-Funktionen für das Input-Event an.InputTypeOnBlur & InputTypeOnClick & InputTypeOnChange & InputTypeOnFocus & InputTypeOnInput | undefinedundefined
_placeholder_placeholderDefines the placeholder for input field. To be shown when there's no value.string | undefinedundefined
_readOnly_read-onlyMakes the input element read only.boolean | undefinedfalse
_required_requiredMakes the input element required.boolean | undefinedfalse
_resize_resizeDefines whether and in which direction the size of the input can be changed by the user. (https://developer.mozilla.org/de/docs/Web/CSS/resize) In version 3 (v3), horizontal resizing is abolished. The corresponding property is then reduced to the properties vertical (default) and none."none" | "vertical" | undefined'vertical'
_rows_rowsDefines how many rows of text should be visible at the same time.number | undefinedundefined
_shortKey_short-keyAdds a visual shortcut hint after the label and instructs the screen reader to read the shortcut aloud.string | undefinedundefined
_spellCheck_spell-checkDefines whether the browser should check the spelling and grammar.boolean | undefinedundefined
_tooltipAlign_tooltip-alignDefines where to show the Tooltip preferably: top, right, bottom or left."bottom" | "left" | "right" | "top" | undefined'top'
_touched_touchedShows if the input was touched by a user.boolean | undefinedfalse
_value_valueDefines the value of the input.string | undefinedundefined

Methods

getValue

getValue() => Promise<string | undefined>

Returns the current value.

Returns

Type: Promise<string | undefined>

kolFocus() => Promise<void>

Sets focus on the internal element.

Returns

Type: Promise<void>

Slots

SlotDescription
Die Beschriftung des Eingabefeldes.

View example

Live-Editor

Beispiele

Einfach

Automatische Zeilenanpassung

Disabled

Placeholder

Readonly

Resizable Textarea

Zeilenlänge