UNPKG

zarm

Version:

基于 React 的移动端UI库

39 lines (38 loc) 2 kB
import React, { ChangeEvent, ReactNode } from 'react'; import type { HTMLProps } from '../utils/utilityTypes'; import type { BaseRadioProps } from './interface'; export interface RadioCssVars { '--icon-size'?: React.CSSProperties['height']; '--icon-background'?: React.CSSProperties['background']; '--icon-border-radius'?: React.CSSProperties['borderRadius']; '--icon-border-width'?: React.CSSProperties['borderWidth']; '--icon-border-color'?: React.CSSProperties['borderColor']; '--tick-font-size'?: React.CSSProperties['fontSize']; '--tick-color'?: React.CSSProperties['color']; '--tick-transition'?: React.CSSProperties['transition']; '--text-margin-horizontal'?: React.CSSProperties['marginLeft']; '--active-opacity'?: React.CSSProperties['opacity']; '--checked-icon-background'?: React.CSSProperties['background']; '--checked-icon-border-color'?: React.CSSProperties['borderColor']; '--checked-tick-color'?: React.CSSProperties['color']; '--disabled-icon-background'?: React.CSSProperties['background']; '--disabled-icon-border-color'?: React.CSSProperties['borderColor']; '--disabled-text-color'?: React.CSSProperties['color']; '--disabled-tick-color'?: React.CSSProperties['color']; '--group-spacing-vertical'?: React.CSSProperties['marginBottom']; '--group-spacing-horizontal'?: React.CSSProperties['marginRight']; } export declare type RadioProps = BaseRadioProps & HTMLProps<RadioCssVars> & { renderIcon?: (props: RadioProps) => ReactNode; render?: (props: RadioProps) => ReactNode; onChange?: (e: ChangeEvent<HTMLInputElement>) => void; }; export interface RadioRef { check: () => void; } declare const Radio: React.ForwardRefExoticComponent<BaseRadioProps & HTMLProps<RadioCssVars> & { renderIcon?: (props: RadioProps) => ReactNode; render?: (props: RadioProps) => ReactNode; onChange?: (e: ChangeEvent<HTMLInputElement>) => void; } & React.RefAttributes<RadioRef>>; export default Radio;