@ebay/ebayui-core
Version:
Collection of core eBay components; considered to be the building blocks for all composite structures, pages & apps.
58 lines (57 loc) • 2.1 kB
TypeScript
import type { WithNormalizedProps } from "../../global";
import type { AttrOnOff, AttrString, AttrStringOrNumber } from "marko/tags-html";
export interface TextboxEvent {
originalEvent: Event;
value: string;
}
export interface TextboxInput extends Omit<Marko.HTML.Input, `on${string}`> {
multiline?: boolean;
type?: Marko.HTML.Input["type"];
"input-size"?: "regular" | "large";
fluid?: boolean;
"opaque-label"?: boolean;
"floating-label"?: AttrString;
"floating-label-static"?: boolean;
"prefix-icon"?: Marko.AttrTag<{
renderBody: Marko.Body;
}>;
"prefix-text"?: Marko.AttrTag<{
renderBody: Marko.Body;
}>;
"postfix-text"?: Marko.AttrTag<{
renderBody: Marko.Body;
}>;
"postfix-icon"?: Marko.AttrTag<{
renderBody: Marko.Body;
}>;
invalid?: boolean;
"button-aria-label"?: AttrString;
"on-floating-label-init"?: () => void;
"on-keydown"?: (event: TextboxEvent) => void;
"on-keypress"?: (event: TextboxEvent) => void;
"on-keyup"?: (event: TextboxEvent) => void;
"on-change"?: (event: TextboxEvent) => void;
"on-input-change"?: (event: TextboxEvent) => void;
"on-focus"?: (event: TextboxEvent) => void;
"on-blur"?: (event: TextboxEvent) => void;
"on-invalid"?: (event: TextboxEvent) => void;
"on-button-click"?: (event: TextboxEvent) => void;
autocorrect?: AttrOnOff;
cols?: AttrStringOrNumber;
rows?: AttrStringOrNumber;
}
export interface Input extends WithNormalizedProps<TextboxInput> {
}
declare class Textbox extends Marko.Component<Input> {
_floatingLabel: any;
onMount(): void;
onUpdate(): void;
focus(): void;
/** Can be removed after `:has` is fully supported */
onFocus(e: FocusEvent, el: HTMLInputElement): void;
/** Can be removed after `:has` is fully supported */
onBlur(e: FocusEvent, el: HTMLInputElement): void;
_setupMakeup(): void;
forwardEvent(eventName: string, originalEvent: Event, el: HTMLInputElement | HTMLTextAreaElement | HTMLButtonElement): void;
}
export default Textbox;