@navinc/base-react-components
Version:
Nav's Pattern Library
46 lines (45 loc) • 2.95 kB
TypeScript
import { FocusEventHandler, ChangeEventHandler } from 'react';
import Input from '../input.js';
import { InferComponentProps } from '../types.js';
declare const createZipCodeValidator: ({ isRequired, requiredErrorMessage, minLengthErrorMessage, nineDigitLengthErrorMessage, }?: {
isRequired?: boolean | undefined;
requiredErrorMessage?: string | undefined;
minLengthErrorMessage?: string | undefined;
nineDigitLengthErrorMessage?: string | undefined;
}) => (zip: string) => [string] | void;
declare type ZipCodeInputProps = InferComponentProps<typeof Input> & Parameters<typeof createZipCodeValidator>[0] & {
name: string;
onBlur?: FocusEventHandler<HTMLInputElement>;
onChange?: ChangeEventHandler<HTMLInputElement>;
invalidOnTouched?: boolean;
restrictToFiveDigits?: boolean;
};
export declare const ZipCodeInput: ({ name, onBlur, onChange, invalidOnTouched, isRequired, requiredErrorMessage, minLengthErrorMessage, nineDigitLengthErrorMessage, restrictToFiveDigits, ...props }: ZipCodeInputProps) => JSX.Element;
declare const _default: import("styled-components").StyledComponent<({ name, onBlur, onChange, invalidOnTouched, isRequired, requiredErrorMessage, minLengthErrorMessage, nineDigitLengthErrorMessage, restrictToFiveDigits, ...props }: InferComponentProps<import("styled-components").StyledComponent<({ autoFocus, children, className, label, hasSpaceForErrors, helperIcon, helperLinkAction, helperText, isInvalid, isStatic, value, required, type, errors, lede, touched, placeholder, childrenBeforeErrors, innerRef, tooltipText, ...props }: {
label?: string | undefined;
hasSpaceForErrors?: boolean | undefined;
helperIcon?: import("../index.js").IconName | undefined;
helperLinkAction?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
helperText?: string | undefined;
isStatic?: boolean | undefined;
errors?: string[] | undefined;
lede?: import("react").ReactNode;
touched?: boolean | undefined;
childrenBeforeErrors?: import("react").ReactNode;
innerRef?: import("react").MutableRefObject<HTMLInputElement | undefined> | undefined;
tooltipText?: string | undefined;
} & InferComponentProps<import("styled-components").StyledComponent<"input", import("styled-components").DefaultTheme, {
isInvalid?: boolean | undefined;
}, never>>) => JSX.Element, import("styled-components").DefaultTheme, {}, never>> & {
isRequired?: boolean | undefined;
requiredErrorMessage?: string | undefined;
minLengthErrorMessage?: string | undefined;
nineDigitLengthErrorMessage?: string | undefined;
} & {
name: string;
onBlur?: FocusEventHandler<HTMLInputElement> | undefined;
onChange?: ChangeEventHandler<HTMLInputElement> | undefined;
invalidOnTouched?: boolean | undefined;
restrictToFiveDigits?: boolean | undefined;
}) => JSX.Element, import("styled-components").DefaultTheme, {}, never>;
export default _default;