import React, { InputHTMLAttributes } from 'react'; import Tappable, { ACTIVE_EFFECT_DELAY } from '../Tappable/Tappable'; import { getClassName } from '../../helpers/getClassName'; import { classNames } from '../../lib/classNames'; import { IOS, VKCOM } from '../../lib/platform'; import { Icon24CheckBoxOn, Icon24CheckBoxOff } from '@vkontakte/icons'; import { HasRef, HasRootRef } from '../../types'; import { usePlatform } from '../../hooks/usePlatform'; import { withAdaptivity, AdaptivityProps, SizeType } from '../../hoc/withAdaptivity'; import Text from '../Typography/Text/Text'; import Headline from '../Typography/Headline/Headline'; export interface CheckboxProps extends InputHTMLAttributes, HasRootRef, HasRef, AdaptivityProps { iconChecked?: JSX.Element; } export const Checkbox: React.FunctionComponent = ({ children, className, style, getRootRef, getRef, sizeY, iconChecked, ...restProps }: CheckboxProps) => { const platform = usePlatform(); const ContentComponent = platform === VKCOM || sizeY === SizeType.COMPACT ? Text : Headline; return (
{iconChecked ? iconChecked : }
{children}
); }; export default withAdaptivity(Checkbox, { sizeY: true, });