@ebay/ebayui-core
Version:
Collection of core eBay components; considered to be the building blocks for all composite structures, pages & apps.
31 lines (30 loc) • 1 kB
TypeScript
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"?: boolean;
"a11y-role-description"?: Marko.HTMLAttributes["aria-label"];
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;
interacted: boolean;
}
export interface Input extends WithNormalizedProps<AccordionInput> {
}
declare class Accordion extends Marko.Component<Input, State> {
onCreate(): void;
onInput(input: Input): void;
handleToggle(index: number, event: {
originalEvent: Event;
open: boolean;
}): void;
}
export default Accordion;