1
This commit is contained in:
+61
@@ -0,0 +1,61 @@
|
||||
import type * as React from 'react';
|
||||
import type { Orientation, SemanticClassNamesType, SemanticStylesType } from '../_util/hooks';
|
||||
import type { AbstractCheckboxProps } from '../checkbox/Checkbox';
|
||||
import type { AbstractCheckboxGroupProps } from '../checkbox/Group';
|
||||
import type { SizeType } from '../config-provider/SizeContext';
|
||||
export type { CheckboxRef as RadioRef } from '@rc-component/checkbox';
|
||||
export type RadioGroupButtonStyle = 'outline' | 'solid';
|
||||
export type RadioGroupOptionType = 'default' | 'button';
|
||||
export interface RadioGroupProps extends AbstractCheckboxGroupProps {
|
||||
defaultValue?: any;
|
||||
value?: any;
|
||||
onChange?: (e: RadioChangeEvent) => void;
|
||||
size?: SizeType;
|
||||
disabled?: boolean;
|
||||
onMouseEnter?: React.MouseEventHandler<HTMLDivElement>;
|
||||
onMouseLeave?: React.MouseEventHandler<HTMLDivElement>;
|
||||
name?: string;
|
||||
children?: React.ReactNode;
|
||||
id?: string;
|
||||
optionType?: RadioGroupOptionType;
|
||||
orientation?: Orientation;
|
||||
buttonStyle?: RadioGroupButtonStyle;
|
||||
onFocus?: React.FocusEventHandler<HTMLDivElement>;
|
||||
onBlur?: React.FocusEventHandler<HTMLDivElement>;
|
||||
block?: boolean;
|
||||
vertical?: boolean;
|
||||
}
|
||||
export interface RadioGroupContextProps {
|
||||
onChange: (e: RadioChangeEvent) => void;
|
||||
value: any;
|
||||
disabled?: boolean;
|
||||
name?: string;
|
||||
block?: boolean;
|
||||
}
|
||||
export type RadioSemanticName = keyof RadioSemanticClassNames & keyof RadioSemanticStyles;
|
||||
export type RadioSemanticClassNames = {
|
||||
root?: string;
|
||||
icon?: string;
|
||||
label?: string;
|
||||
};
|
||||
export type RadioSemanticStyles = {
|
||||
root?: React.CSSProperties;
|
||||
icon?: React.CSSProperties;
|
||||
label?: React.CSSProperties;
|
||||
};
|
||||
export type RadioClassNamesType = SemanticClassNamesType<RadioProps, RadioSemanticClassNames>;
|
||||
export type RadioStylesType = SemanticStylesType<RadioProps, RadioSemanticStyles>;
|
||||
export interface RadioProps extends AbstractCheckboxProps<RadioChangeEvent> {
|
||||
classNames?: RadioClassNamesType;
|
||||
styles?: RadioStylesType;
|
||||
}
|
||||
export interface RadioChangeEventTarget extends RadioProps {
|
||||
checked: boolean;
|
||||
}
|
||||
export interface RadioChangeEvent {
|
||||
target: RadioChangeEventTarget;
|
||||
stopPropagation: () => void;
|
||||
preventDefault: () => void;
|
||||
nativeEvent: MouseEvent;
|
||||
}
|
||||
export type RadioOptionTypeContextProps = RadioGroupOptionType;
|
||||
Reference in New Issue
Block a user