ant-design/components/radio/interface.tsx

43 lines
1.1 KiB
TypeScript
Raw Normal View History

2017-11-21 15:12:03 +08:00
import * as React from 'react';
import { AbstractCheckboxGroupProps } from '../checkbox/Group';
import { AbstractCheckboxProps } from '../checkbox/Checkbox';
2017-11-21 15:12:03 +08:00
export interface RadioGroupProps extends AbstractCheckboxGroupProps {
defaultValue?: any;
value?: any;
onChange?: (e: RadioChangeEvent) => void;
2017-11-21 15:12:03 +08:00
size?: 'large' | 'default' | 'small';
onMouseEnter?: React.MouseEventHandler<HTMLDivElement>;
onMouseLeave?: React.MouseEventHandler<HTMLDivElement>;
name?: string;
children?: React.ReactNode;
2017-12-01 11:50:07 +08:00
id?: string;
buttonStyle?: 'outline' | 'solid';
2017-11-21 15:12:03 +08:00
}
export interface RadioGroupState {
value: any;
}
export interface RadioGroupContext {
radioGroup: {
onChange: React.ChangeEventHandler<HTMLInputElement>;
value: any;
disabled: boolean;
name: string;
};
}
export type RadioProps = AbstractCheckboxProps<RadioChangeEvent>;
export interface RadioChangeEventTarget extends RadioProps {
checked: boolean;
}
export interface RadioChangeEvent {
target: RadioChangeEventTarget;
stopPropagation: () => void;
preventDefault: () => void;
2018-05-07 12:32:26 +08:00
nativeEvent: Event;
}