UNPKG

@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
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;