@ebay/ebayui-core
Version:
Collection of core eBay components; considered to be the building blocks for all composite structures, pages & apps.
40 lines (39 loc) • 1.09 kB
TypeScript
import type { WithNormalizedProps } from "../../global";
export interface Option extends Omit<Marko.HTML.Option, `on${string}`> {
optgroup?: string;
text?: string;
}
interface SelectInput extends Omit<Marko.HTML.Select, `on${string}`> {
option?: Marko.AttrTag<Option>;
"floating-label"?: string;
"is-large"?: boolean;
borderless?: boolean;
fluid?: boolean;
"on-change"?: (event: {
index: number;
selected: string[];
el: HTMLOptionElement;
}) => void;
"on-floating-label-init"?: () => void;
}
export interface Input extends WithNormalizedProps<SelectInput> {
}
export interface State {
selectedIndex: number;
}
declare class Select extends Marko.Component<Input, State> {
_floatingLabel: any;
get selectId(): string;
handleChange(event: Event | {
target: {
selectedIndex: number;
};
}): void;
handleFloatingLabelInit(): void;
onCreate(): void;
onInput(input: Input): void;
onMount(): void;
onUpdate(): void;
_setupMakeup(): void;
}
export default Select;