{"version":3,"sources":["../src/components/AmountInput.tsx"],"names":[],"mappings":";;;;AAUA,IAAM,cAAgC,CAAC;AAAA,EACrC,KAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA,GAAW;AACb,CAAA,KAAM;AACJ,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAS,KAAK,CAAA;AAClD,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAwB,IAAI,CAAA;AAEtD,EAAA,MAAM,cAAA,GAAiB,CAAC,MAAA,KAA4B;AAClD,IAAA,IAAI,CAAC,QAAQ,OAAO,IAAA;AAGpB,IAAA,IAAI,CAAC,aAAA,CAAc,IAAA,CAAK,MAAM,CAAA,EAAG;AAC/B,MAAA,OAAO,KAAA;AAAA,IACT;AAEA,IAAA,MAAM,YAAA,GAAe,WAAW,MAAM,CAAA;AAEtC,IAAA,IAAI,KAAA,CAAM,YAAY,CAAA,EAAG;AACvB,MAAA,OAAO,KAAA;AAAA,IACT;AAEA,IAAA,IAAI,eAAe,CAAA,EAAG;AACpB,MAAA,OAAO,KAAA;AAAA,IACT;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,YAAA,GAAe,CAAC,CAAA,KAAqC;AACzD,IAAA,MAAM,QAAA,GAAW,CAAA,CAAE,MAAA,CAAO,KAAA,CAAM,IAAA,EAAK;AACrC,IAAA,aAAA,CAAc,QAAQ,CAAA;AAGtB,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA,QAAA,CAAS,IAAI,CAAA;AACb,MAAA,QAAA,CAAS,QAAQ,CAAA;AACjB,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,CAAC,cAAA,CAAe,QAAQ,CAAA,EAAG;AAC7B,MAAA,QAAA,CAAS,gBAAgB,CAAA;AACzB,MAAA,QAAA,CAAS,QAAQ,CAAA;AACjB,MAAA;AAAA,IACF;AAEA,IAAA,QAAA,CAAS,IAAI,CAAA;AACb,IAAA,QAAA,CAAS,QAAQ,CAAA;AAAA,EACnB,CAAA;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,aAAA,CAAc,KAAK,CAAA;AAAA,EACrB,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAEV,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,CAAA,gBAAA,EAAmB,SAAS,CAAA,CAAA,EAC1C,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,MAAA;AAAA,QACL,KAAA,EAAO,UAAA;AAAA,QACP,QAAA,EAAU,YAAA;AAAA,QACV,aAAa,WAAA,IAAe,kBAAA;AAAA,QAC5B,QAAA;AAAA,QACA,WAAW,CAAA,EAAG,KAAA,GAAQ,OAAA,GAAU,EAAE,IAAI,SAAS,CAAA;AAAA;AAAA,KACjD;AAAA,IACC,KAAA,oBAAS,GAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EACzB,CAAA;AAEJ,CAAA;AAEA,IAAO,mBAAA,GAAQ","file":"chunk-OTZWN3H4.mjs","sourcesContent":["import { ChangeEvent, FC, useEffect, useState } from 'react'\n\nexport interface IAmountInput {\n  value: string\n  onChange: (value: string) => void\n  placeholder?: string\n  className?: string\n  disabled?: boolean\n}\n\nconst AmountInput: FC<IAmountInput> = ({\n  value,\n  onChange,\n  placeholder,\n  className = '',\n  disabled = false,\n}) => {\n  const [inputValue, setInputValue] = useState(value)\n  const [error, setError] = useState<string | null>(null)\n\n  const validateAmount = (amount: string): boolean => {\n    if (!amount) return true\n\n    // Only allow numbers and decimal points\n    if (!/^\\d*\\.?\\d*$/.test(amount)) {\n      return false\n    }\n\n    const numericValue = parseFloat(amount)\n\n    if (isNaN(numericValue)) {\n      return false\n    }\n\n    if (numericValue < 0) {\n      return false\n    }\n\n    return true\n  }\n\n  const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n    const newValue = e.target.value.trim()\n    setInputValue(newValue)\n\n    // Allow empty input\n    if (!newValue) {\n      setError(null)\n      onChange(newValue)\n      return\n    }\n\n    if (!validateAmount(newValue)) {\n      setError('Invalid amount')\n      onChange(newValue)\n      return\n    }\n\n    setError(null)\n    onChange(newValue)\n  }\n\n  useEffect(() => {\n    setInputValue(value)\n  }, [value])\n\n  return (\n    <div className={`sk-amount-input ${className}`}>\n      <input\n        type=\"text\"\n        value={inputValue}\n        onChange={handleChange}\n        placeholder={placeholder || 'Enter SUI amount'}\n        disabled={disabled}\n        className={`${error ? 'error' : ''} ${className}`}\n      />\n      {error && <span>{error}</span>}\n    </div>\n  )\n}\n\nexport default AmountInput\n"]}