Zum Hauptinhalt springen

Wir haben KoliBri - Public UI v3 veröffentlicht. Für die LTS Version, siehe .

Ihre Meinung ist uns wichtig! Gemeinsam mit Ihnen möchten wir KoliBri stetig verbessern. Teilen Sie uns Ihre Ideen, Wünsche oder Anregungen mit – schnell und unkompliziert.

InputText

Synonyme: Text Field

Der Input-Typ Text erzeugt ein Eingabefeld für normalen Text, Suchbegriffe, URLs oder Telefonnummern.

Die Komponente hat Known-Issues bezüglich Browserabhängigkeit und Barrierefreiheit. Näheres kann unter KNOWN_ISSUES.md nachgelssen werden.

Konstruktion

Code

<kol-input-text
_type="text"
_label="Texteingabe"
_icons='{"left": "codicon codicon-arrow-left", "right": {"icon": "codicon codicon-arrow-right", "style": {"font-size": "200%"}}}'
></kol-input-text>
<kol-input-text _type="text" _label="Deaktiviert" _disabled></kol-input-text>
<kol-input-text _type="text" _label="Schreibgeschützt" _read-only></kol-input-text>
<kol-input-text
_type="text"
_label="Mit Button"
_smart-button='{"_icons": "codicon codicon-chrome-close", "_hideLabel": true, "_label": "Löschen"}'
></kol-input-text>

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

Verwendung

Best practices

  • Achten sie darauf id und name korrekt zu setzen, damit die Daten beim Formular Absenden mitgesendet werden.

Barrierefreiheit

Tastatursteuerung

TasteFunktion
TabFokussiert das Eingabefeld.
ESCLöscht den Inhalt (nur Typ = Search).

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-input-text _label="Texteingabe" _has-counter></kol-input-text>

<!-- Harte Begrenzung auf 5 Zeichen -->
<kol-input-text _label="Texteingabe" _has-counter _max-length="5"></kol-input-text>

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

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
_autoComplete_auto-completeDefines whether the input can be auto-completed.string | undefined'off'
_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
_pattern_patternDefines a validation pattern for the input field.string | 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
_shortKey_short-keyAdds a visual shortcut hint after the label and instructs the screen reader to read the shortcut aloud.string | undefinedundefined
_smartButton_smart-buttonAllows to add a button with an arbitrary action within the element (_hide-label only).string | undefined | { _label: string; } & { _tabIndex?: number | undefined; _value?: StencilUnknown; _ariaExpanded?: boolean | undefined; _accessKey?: string | undefined; _role?: "tab" | "treeitem" | undefined; _ariaControls?: string | undefined; _ariaDescription?: string | undefined; _ariaSelected?: boolean | undefined; _on?: ButtonCallbacksPropType<StencilUnknown> | undefined; _type?: "button" | "reset" | "submit" | undefined; _variant?: "primary" | "secondary" | "normal" | "tertiary" | "danger" | "ghost" | "custom" | undefined; _customClass?: string | undefined; _disabled?: boolean | undefined; _hideLabel?: boolean | undefined; _icons?: IconsPropType | undefined; _id?: string | undefined; _name?: string | undefined; _shortKey?: string | undefined; _syncValueBySelector?: string | undefined; _tooltipAlign?: AlignPropType | undefined; }undefined
_spellCheck_spell-checkDefines whether the browser should check the spelling and grammar.boolean | undefinedundefined
_suggestions_suggestionsSuggestions to provide for the input.W3CInputValue[] | string | 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
_type_typeDefines either the type of the component or of the components interactive element."search" | "tel" | "text" | "url" | undefined'text'
_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>

selectioconEnd() => Promise<number | null | undefined>

Get selection end of internal element.

Returns

Type: Promise<number | null | undefined>

selectionStart() => Promise<number | null | undefined>

Get selection start of internal element.

Returns

Type: Promise<number | null | undefined>

setRangeText(replacement: string, selectionStart?: number, selectionEnd?: number, selectMode?: "select" | "start" | "end" | "preserve") => Promise<void>

Add string at position of internal element; just like https://developer.mozilla.org/docs/Web/API/HTMLInputElement/setRangeText

Parameters

NameTypeDescription
replacementstring
selectionStartnumber | undefined
selectionEndnumber | undefined
selectMode"select" | "start" | "end" | "preserve" | undefined

Returns

Type: Promise<void>

setSelectionRange(selectionStart: number, selectionEnd: number, selectionDirection?: "forward" | "backward" | "none") => Promise<void>

Set selection start and end, and optional in which direction, of internal element; just like https://developer.mozilla.org/docs/Web/API/HTMLInputElement/setSelectionRange

Parameters

NameTypeDescription
selectionStartnumber
selectionEndnumber
selectionDirection"none" | "forward" | "backward" | undefined

Returns

Type: Promise<void>

setSelectionStart(selectionStart: number) => Promise<void>

Set selection start (and end = start) of internal element.

Parameters

NameTypeDescription
selectionStartnumber

Returns

Type: Promise<void>

Slots

SlotDescription
Die Beschriftung des Eingabefeldes.

Verwendung _msg

Fall_msg-Wert
Keine Messageundefined
"Standard"-Fehlermeldungstring
Meldung{_type: 'success', _description: 'Erfolgs-Meldung'}

Beispiel ansehen

Live-Editor

Beispiele