{"version":3,"sources":["../src/components/AmountInput.tsx"],"names":[],"mappings":";;;;AAUA,IAAM,cAAgC,CAAC;AAAA,EACrC,KAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAY,GAAA,EAAA;AAAA,EACZ,QAAW,GAAA;AACb,CAAM,KAAA;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,EAAM,MAAA,cAAA,GAAiB,CAAC,MAA4B,KAAA;AAClD,IAAI,IAAA,CAAC,QAAe,OAAA,IAAA;AAGpB,IAAA,IAAI,CAAC,aAAA,CAAc,IAAK,CAAA,MAAM,CAAG,EAAA;AAC/B,MAAO,OAAA,KAAA;AAAA;AAGT,IAAM,MAAA,YAAA,GAAe,WAAW,MAAM,CAAA;AAEtC,IAAI,IAAA,KAAA,CAAM,YAAY,CAAG,EAAA;AACvB,MAAO,OAAA,KAAA;AAAA;AAGT,IAAA,IAAI,eAAe,CAAG,EAAA;AACpB,MAAO,OAAA,KAAA;AAAA;AAGT,IAAO,OAAA,IAAA;AAAA,GACT;AAEA,EAAM,MAAA,YAAA,GAAe,CAAC,CAAqC,KAAA;AACzD,IAAA,MAAM,QAAW,GAAA,CAAA,CAAE,MAAO,CAAA,KAAA,CAAM,IAAK,EAAA;AACrC,IAAA,aAAA,CAAc,QAAQ,CAAA;AAGtB,IAAA,IAAI,CAAC,QAAU,EAAA;AACb,MAAA,QAAA,CAAS,IAAI,CAAA;AACb,MAAA,QAAA,CAAS,QAAQ,CAAA;AACjB,MAAA;AAAA;AAGF,IAAI,IAAA,CAAC,cAAe,CAAA,QAAQ,CAAG,EAAA;AAC7B,MAAA,QAAA,CAAS,gBAAgB,CAAA;AACzB,MAAA,QAAA,CAAS,QAAQ,CAAA;AACjB,MAAA;AAAA;AAGF,IAAA,QAAA,CAAS,IAAI,CAAA;AACb,IAAA,QAAA,CAAS,QAAQ,CAAA;AAAA,GACnB;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,aAAA,CAAc,KAAK,CAAA;AAAA,GACrB,EAAG,CAAC,KAAK,CAAC,CAAA;AAEV,EAAA,uBACG,IAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,CAAA,gBAAA,EAAmB,SAAS,CAC1C,CAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,IAAK,EAAA,MAAA;AAAA,QACL,KAAO,EAAA,UAAA;AAAA,QACP,QAAU,EAAA,YAAA;AAAA,QACV,aAAa,WAAe,IAAA,kBAAA;AAAA,QAC5B,QAAA;AAAA,QACA,WAAW,CAAG,EAAA,KAAA,GAAQ,OAAU,GAAA,EAAE,IAAI,SAAS,CAAA;AAAA;AAAA,KACjD;AAAA,IACC,KAAA,oBAAU,GAAA,CAAA,MAAA,EAAA,EAAM,QAAM,EAAA,KAAA,EAAA;AAAA,GACzB,EAAA,CAAA;AAEJ,CAAA;AAEA,IAAO,mBAAQ,GAAA","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"]}