"use client"; /** * Vault Field * * A credential/API key input form with integration branding. * Supports 1-6 dynamic fields with password masking by default. */ import { KeyRound } from "lucide-react"; import Image from "next/image"; import { ANIMATION_CLASSES, getStaggerStyle, STAGGER_PRESETS, } from "../animations"; import { cx } from "../lib/utils"; import { OnboardingButton } from "../primitives/onboarding-button"; import { OnboardingInput } from "../primitives/onboarding-input"; import { OnboardingLabel } from "../primitives/onboarding-label"; import type { VaultFieldProps } from "../types/fields"; export function VaultField({ integration, title = "Add Credential", fields, values, onChange, onSave, onCancel, loading = false, disabled = false, animationIndex = 0, }: VaultFieldProps) { const displayTitle = integration?.name || title; const handleFieldChange = (key: string, value: string) => { onChange({ ...values, [key]: value }); }; return (