@navinc/base-react-components
Version:
Nav's Pattern Library
17 lines • 1.44 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { forwardRef } from 'react';
import { BasePatternInput } from '../base-pattern-input/base-pattern-input.js';
import { inputPattern } from '@navinc/utils';
const zipCodePattern = '99999';
const zipCodeExtendedPattern = '99999-9999';
export const toZipCode = (value) => inputPattern(value, zipCodePattern);
export const BaseZipCodeInput = forwardRef((props, ref) => (_jsx(BasePatternInput, Object.assign({ ref: ref, inputMode: "numeric", pattern: zipCodePattern }, props))));
export const toZipCodeExtended = (value) => inputPattern(value, zipCodeExtendedPattern);
export const BaseZipCodeExtendedInput = forwardRef((props, ref) => (_jsx(BasePatternInput, Object.assign({ ref: ref, inputMode: "numeric", pattern: zipCodeExtendedPattern }, props))));
/** Strict 5-digit zip code */
export const zipCodeValidator = (zip, errorMessage = 'We need your 5-digit zip code') => zip && zip.length !== 5 ? errorMessage : undefined;
/** 5-digit OR 9-digit zip code */
export const zipCodeExtendedValidator = (zip, errorMessage = 'We need your 5-digit or 9-digit zip code') => (zip && zip.length !== 5 && zip.length !== 10 ? errorMessage : undefined);
/** Strict 9-digit extended zip code */
export const zipCodeExtendedStrictValidator = (zip, errorMessage = 'We need your 9-digit zip code') => (zip && zip.length !== 10 ? errorMessage : undefined);
//# sourceMappingURL=base-zip-code-input.js.map