@ebay/ebayui-core
Version:
Collection of core eBay components; considered to be the building blocks for all composite structures, pages & apps.
30 lines (29 loc) • 998 B
TypeScript
import type { AttrBoolean, AttrString } from "marko/tags-html";
import type { WithNormalizedProps } from "../../global";
import type { Input as DetailsInput } from "../ebay-details/component-browser";
export interface AccordionInput extends Omit<Marko.Input<"ul">, `on${string}`> {
size?: "regular" | "large";
"auto-collapse"?: AttrBoolean;
"a11y-role-description"?: AttrString;
details?: Marko.AttrTag<Omit<DetailsInput, "size" | "alignment" | `on${string}`>>;
"on-toggle"?: (event: {
originalEvent: Event;
open: boolean;
}) => void;
"on-click"?: (event: {
originalEvent: MouseEvent;
}) => void;
}
interface State {
index: number;
}
export interface Input extends WithNormalizedProps<AccordionInput> {
}
declare class Accordion extends Marko.Component<Input, State> {
onInput(input: Input): void;
handleToggle(index: number, event: {
originalEvent: Event;
open: boolean;
}): void;
}
export default Accordion;