import { BoxProps, ChakraComponent, ChakraProps } from '@chakra-ui/react'; import { default as React, InputHTMLAttributes } from 'react'; import { HelperErrorTextType } from '../HelperErrorText/HelperErrorText'; interface CheckboxIconProps { /** When using the Checkbox as a "controlled" form element, you can specify * the Checkbox's checked state using this prop. * Learn more about controlled and uncontrolled form fields: * https://goshakkk.name/controlled-vs-uncontrolled-inputs-react/ */ isChecked?: boolean; /** Adds the indeterminate state to the `Checkbox`. */ isIndeterminate?: boolean; } export interface CheckboxProps extends Pick, CheckboxIconProps, Omit, "color" | "height" | "width"> { /** Optional string to populate the HelperErrorText for standard state */ helperText?: HelperErrorTextType; /** Optional string to populate the HelperErrorText for the error state * when `isInvalid` is true. */ invalidText?: HelperErrorTextType; /** Adds the 'disabled' and `aria-disabled` attributes to the input when true. * This also makes the text italic and color scheme gray. */ isDisabled?: boolean; /** Adds the 'aria-invalid' attribute to the input when true. This also makes * the color theme "NYPL error" red for the button and text. */ isInvalid?: boolean; /** Adds the 'required' attribute to the input when true. */ isRequired?: boolean; /** The checkbox's label. This will serve as the text content for a `