@trendyol/baklava
Version:
Trendyol Baklava Design System
138 lines • 3.71 kB
TypeScript
import { CSSResultGroup, LitElement, PropertyValues, TemplateResult } from "lit";
import "element-internals-polyfill";
export declare type TextareaSize = "small" | "medium" | "large";
declare const BlTextarea_base: import("@open-wc/form-control").Constructor<import("@open-wc/form-control").FormControlInterface> & typeof LitElement;
/**
* @tag bl-textarea
* @summary Baklava Textarea component
*/
export default class BlTextarea extends BlTextarea_base {
static get styles(): CSSResultGroup;
static shadowRootOptions: {
delegatesFocus: boolean;
mode: ShadowRootMode;
slotAssignment?: SlotAssignmentMode | undefined;
customElements?: CustomElementRegistry | undefined;
};
static formControlValidators: ({
key: keyof ValidityState;
isValid(instance: HTMLElement & {
validationTarget: HTMLInputElement;
}): boolean;
} | {
isValid(instance: HTMLElement & {
validationTarget: HTMLTextAreaElement; /**
* @tag bl-textarea
* @summary Baklava Textarea component
*/
}): boolean;
attribute?: string | string[] | undefined;
key?: keyof ValidityState | undefined;
message: string | import("@open-wc/form-control").validationMessageCallback;
})[];
validationTarget: HTMLTextAreaElement;
/**
* Name of textarea
*/
name: string;
/**
* Makes textarea a mandatory field
*/
required: boolean;
/**
* Disables the textarea
*/
disabled: boolean;
/**
* Sets expandity
*/
expand: boolean;
/**
* Sets max row when expand is true
*/
maxRows?: number;
/**
* Sets textarea size.
*/
size?: TextareaSize;
/**
* Sets label of the textarea
*/
label?: string;
/**
* Makes label as fixed positioned
*/
labelFixed: boolean;
/**
* Sets placeholder of the textarea
*/
placeholder?: string;
/**
* Enables showing character counter.
*/
characterCounter: boolean;
/**
* Adds help text
*/
helpText?: string;
/**
* Set custom error message
*/
customInvalidText?: string;
/**
* Sets minimum length of the textarea
*/
minlength?: number;
/**
* Sets max length of textarea
*/
maxlength?: number;
/**
* Sets initial value of the textarea
*/
value: string;
/**
* Sets textarea visible row count.
*/
rows?: number;
/**
* Sets the input mode of the field for asking browser to show the desired keyboard.
*/
inputmode: "none" | "text" | "decimal" | "numeric" | "tel" | "search" | "email" | "url";
/**
* Sets input to get keyboard focus automatically
*/
autofocus: boolean;
/**
* Hints browser to autocomplete this field.
*/
autocomplete: string;
/**
* Enables/disables spellcheck feature inside the textarea
*/
spellchecker: "true" | "false";
private onInput;
private onChange;
private onInvalid;
private customScrollHeight;
private inputId;
connectedCallback(): void;
private onError;
private inputHandler;
private changeHandler;
firstUpdated(): void;
protected updated(changedProperties: PropertyValues): Promise<void>;
reportValidity(): boolean;
valueChangedCallback(value: string): void;
validityCallback(): string | void;
private autoResize;
private dirty;
render(): TemplateResult;
}
declare global {
interface HTMLElementTagNameMap {
"bl-textarea": BlTextarea;
}
}
export {};
//# sourceMappingURL=bl-textarea.d.ts.map