vira
Version:
A simple and highly versatile design system using element-vir.
49 lines (48 loc) • 2.02 kB
TypeScript
import { type PartialWithUndefined } from '@augment-vir/common';
/**
* A multi-line text area element with all listeners properly attached. Mirrors the look and feel of
* {@link ViraInput} but for multi-line text input.
*
* @category Input
* @category Elements
* @see https://electrovir.github.io/vira/book/elements/vira-text-area
*/
export declare const ViraTextArea: import("element-vir").DeclarativeElementDefinition<"vira-text-area", PartialWithUndefined<{
/** A label that is shown above the text area, if provided. */
label: string;
/** If true, applies error styling. */
hasError: boolean;
/** Number of visible text rows. Defaults to 4. */
rows: number;
/** If true, blocks the user's ability to resize the text area. */
preventResize: boolean;
}> & {
value: string;
} & PartialWithUndefined<{
placeholder: string;
disabled: boolean;
isReadonly: boolean;
allowedInputs: string | RegExp;
blockedInputs: string | RegExp;
disableBrowserHelps: boolean;
fitText: boolean;
attributePassthrough: import("element-vir").AttributeValues;
}>, {
/**
* Used to couple the label and text area together. This is not applied if no label is
* provided.
*/
randomId: string;
}, {
/**
* Fires whenever a user input created a new value. Does not fire if all input letters are
* filtered out due to input restrictions.
*/
valueChange: import("element-vir").DefineEvent<string>;
/**
* Fires when inputs are blocked. Useful for showing warnings or error messages to inform
* the user why their input did not propagate if it was blocked. This does not fire for text
* that was blocked out of programmatic "value" property assignments.
*/
inputBlocked: import("element-vir").DefineEvent<string>;
}, "vira-text-area-disabled" | "vira-text-area-error" | "vira-text-area-prevent-resize", "vira-text-area-padding-horizontal" | "vira-text-area-padding-vertical", readonly [], readonly []>;