/** * Checkable Input Component * * @description Base component for Checkbox and RadioButton components. * Do not add props that are specific to either Checkbox or RadioButton. * Do not add props to the common interface that are not intended to be in the public interface of both components. * Styles of any children should be handled in their respective component files. */ import React, { ReactNode } from "react"; import { CommonHiddenCheckableInputProps } from "./hidden-checkable-input.component"; export interface CommonCheckableInputProps extends CommonHiddenCheckableInputProps { /** Unique identifier for the input. Will use a randomly generated GUID if none is provided. */ id?: string; /** Content of the label. */ label?: ReactNode; /** Additional hint text rendered below the label. */ inputHint?: ReactNode; /** If true, the component will be disabled. */ disabled?: boolean; /** Content to be rendered below the input when checked, is not supported when inputs are inline. */ progressiveDisclosure?: ReactNode; /** * Id of the validation icon * @deprecated Validation icons with tooltips are no longer supported on this component. */ validationIconId?: string; } export interface CheckableInputProps extends CommonCheckableInputProps { /** Element to be rendered as the visible input. */ children?: ReactNode; /** HTML type attribute of the input. */ type: string; /** Size of the component. */ size?: "small" | "medium" | "large"; /** Set error state - passed to Tabs context */ error?: boolean; /** Set warning state - passed to Tabs context */ warning?: boolean; /** Flag to display required asterisk. */ showRequiredAsterisk?: boolean; } declare const CheckableInput: React.ForwardRefExoticComponent>; export default CheckableInput;