UNPKG

zarm

Version:

基于 React 的移动端UI库

41 lines (40 loc) 2.1 kB
import React, { ChangeEvent, ReactNode } from 'react'; import type { HTMLProps } from '../utils/utilityTypes'; import type { BaseCheckboxProps } from './interface'; export interface CheckboxCssVars { '--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 CheckboxProps = BaseCheckboxProps & HTMLProps<CheckboxCssVars> & { renderIcon?: (props: CheckboxProps) => ReactNode; render?: (props: CheckboxProps) => ReactNode; onChange?: (e: ChangeEvent<HTMLInputElement>) => void; }; export interface CheckboxRef { check: () => void; uncheck: () => void; toggle: () => void; } declare const Checkbox: React.ForwardRefExoticComponent<BaseCheckboxProps & HTMLProps<CheckboxCssVars> & { renderIcon?: (props: CheckboxProps) => ReactNode; render?: (props: CheckboxProps) => ReactNode; onChange?: (e: ChangeEvent<HTMLInputElement>) => void; } & React.RefAttributes<CheckboxRef>>; export default Checkbox;