lucid-ui
Version:
A UI component library from AppNexus.
54 lines (53 loc) • 2 kB
TypeScript
import { IButtonProps } from '../Button/Button';
import React from 'react';
import { StandardProps } from '../../util/component-types';
export interface IButtonGroupState {
selectedIndices: number[];
}
export interface IButtonGroupProps extends StandardProps {
/** A function that is called with the index of the child button clicked. */
onSelect: (selectedIndex: number, { event, props }: {
event: React.MouseEvent;
props: IButtonProps;
}) => void;
/** An array of currently selected \`ButtonGroup.Button\`s indices. You can
also pass the prop \`isActive\` to individual \`ButtonGroup.Button\`
components. */
selectedIndices: number[];
}
declare class ButtonGroup extends React.Component<IButtonGroupProps, IButtonGroupState> {
static displayName: string;
static peek: {
description: string;
categories: string[];
madeFrom: string[];
};
static Button: {
(_props: Partial<import("../../util/component-types").Overwrite<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, import("../Button/Button").IButtonPropsRaw>>): null;
displayName: string;
peek: {
description: string;
};
};
static reducers: {
onSelect(state: IButtonGroupState | undefined, index: number): IButtonGroupState;
};
static defaultProps: {
onSelect: (...args: any[]) => void;
selectedIndices: never[];
};
static propTypes: {
onSelect: any;
className: any;
children: any;
selectedIndices: any;
};
handleSelect: ({ event, props: childProps, }: {
event: React.MouseEvent<HTMLButtonElement>;
props: IButtonProps;
}) => void;
render(): JSX.Element;
}
declare const _default: typeof ButtonGroup & import("../../util/state-management").IHybridComponent<IButtonGroupProps, IButtonGroupState>;
export default _default;
export { ButtonGroup as ButtonGroupDumb };