UNPKG

@ebay/ebayui-core

Version:

Collection of core eBay components; considered to be the building blocks for all composite structures, pages & apps.

33 lines (32 loc) 1.15 kB
import type { WithNormalizedProps } from "../../global"; import type { ToggleButtonEvent, Input as ToggleButtonInput } from "../ebay-toggle-button/component"; export interface ToggleButtonGroupEvent { originalEvent: MouseEvent; pressed: number[]; } interface ToggleButtonGroupInput extends Omit<Marko.HTML.Span, `on${string}`> { button?: Marko.AttrTag<Omit<ToggleButtonInput, `on${string}`>>; variant?: "checkbox" | "radio" | "radio-toggle"; "a11y-text"?: string; "a11y-label-id"?: string; columnsMin?: number; columnsXS?: number; columnsSM?: number; columnsMD?: number; columnsXL?: number; layoutType?: ToggleButtonInput["layoutType"]; "on-change"?: (event: ToggleButtonGroupEvent) => void; } export interface Input extends WithNormalizedProps<ToggleButtonGroupInput> { } interface State { pressed: { [index: number]: boolean; }; } declare class ToggleButtonGroup extends Marko.Component<Input, State> { onCreate(): void; onInput(input: Input): void; handleToggle(index: number, { originalEvent, pressed }: ToggleButtonEvent): void; } export default ToggleButtonGroup;