// Mirrors Base UI React's `otp-field/index.ts` + `index.parts.ts`: // - compound component exported under `OTPField.{Root,Input,Separator}`. // - Types re-exported flat for consumers that prefer direct imports. import { Separator } from "../separator/index.ts"; import { OTPFieldInput } from "./input/otp-field-input.tsx"; import { OTPFieldRoot } from "./root/otp-field-root.tsx"; export type { OTPFieldInputProps, OTPFieldInputState, } from "./input/otp-field-input.tsx"; export { OTPFieldInput } from "./input/otp-field-input.tsx"; export type { OTPFieldRootProps } from "./root/otp-field-root.tsx"; export { OTPFieldRoot } from "./root/otp-field-root.tsx"; export { getOTPFieldInputState, NOOP_OTP_FIELD_ROOT_CONTEXT, OTPFieldRootContext, type OTPFieldRootContextValue, useOTPFieldRootContext, } from "./root/otp-field-root-context.ts"; export type { OTPFieldRootChangeEventDetails, OTPFieldRootChangeEventReason, OTPFieldRootCompleteEventDetails, OTPFieldRootCompleteEventReason, OTPFieldRootInvalidEventDetails, OTPFieldRootInvalidEventReason, OTPFieldRootState, OTPFieldValidationType, } from "./root/otp-field-root-types.ts"; export { getOTPValidationConfig, normalizeOTPValue, type OTPValidationType, removeOTPCharacter, replaceOTPValue, stripOTPWhitespace, } from "./utils/otp.ts"; /** * Compound-namespace export matching React's `OTPField.{Root,Input,Separator}`. */ export const OTPField = { Root: OTPFieldRoot, Input: OTPFieldInput, Separator, };