@navinc/base-react-components
Version:
Nav's Pattern Library
31 lines (30 loc) • 1.99 kB
TypeScript
import { ChangeEventHandler } from 'react';
import { BasePatternInputProps } from '../base-pattern-input/base-pattern-input.js';
import { TargetValue } from '../shared.js';
import { type Brand } from '@navinc/utils';
export type ZipCode = Brand<string, 'ZipCode'>;
export declare const toZipCode: (value: string) => ZipCode;
export type BaseZipCodeInputProps = Omit<BasePatternInputProps, 'pattern' | 'value' | 'onChange'> & {
value?: ZipCode;
onChange?: ChangeEventHandler<TargetValue<HTMLInputElement, ZipCode>>;
};
export declare const BaseZipCodeInput: import("react").ForwardRefExoticComponent<Omit<BasePatternInputProps, "pattern" | "onChange" | "value"> & {
value?: ZipCode;
onChange?: ChangeEventHandler<TargetValue<HTMLInputElement, ZipCode>>;
} & import("react").RefAttributes<HTMLInputElement>>;
export type ZipCodeExtended = Brand<string, 'ZipCodeExtended'>;
export declare const toZipCodeExtended: (value: string) => ZipCodeExtended;
export type BaseZipCodeExtendedInputProps = Omit<BasePatternInputProps, 'pattern' | 'value' | 'onChange'> & {
value?: ZipCodeExtended;
onChange?: ChangeEventHandler<TargetValue<HTMLInputElement, ZipCodeExtended>>;
};
export declare const BaseZipCodeExtendedInput: import("react").ForwardRefExoticComponent<Omit<BasePatternInputProps, "pattern" | "onChange" | "value"> & {
value?: ZipCodeExtended;
onChange?: ChangeEventHandler<TargetValue<HTMLInputElement, ZipCodeExtended>>;
} & import("react").RefAttributes<HTMLInputElement>>;
/** Strict 5-digit zip code */
export declare const zipCodeValidator: (zip: ZipCode | undefined, errorMessage?: string) => string | undefined;
/** 5-digit OR 9-digit zip code */
export declare const zipCodeExtendedValidator: (zip: ZipCodeExtended | undefined, errorMessage?: string) => string | undefined;
/** Strict 9-digit extended zip code */
export declare const zipCodeExtendedStrictValidator: (zip: ZipCodeExtended | undefined, errorMessage?: string) => string | undefined;