{"version":3,"file":"use-uncontrolled.cjs","sources":["../../src/use-uncontrolled/use-uncontrolled.ts"],"sourcesContent":["import { useState } from 'react';\n\ninterface UseUncontrolledInput<T> {\n  /** Value for controlled state */\n  value?: T;\n\n  /** Initial value for uncontrolled state */\n  defaultValue?: T;\n\n  /** Final value for uncontrolled state when value and defaultValue are not provided */\n  finalValue?: T;\n\n  /** Controlled state onChange handler */\n  onChange?: (value: T, ...payload: any[]) => void;\n}\n\nexport function useUncontrolled<T>({\n  value,\n  defaultValue,\n  finalValue,\n  onChange = () => {},\n}: UseUncontrolledInput<T>): [T, (value: T, ...payload: any[]) => void, boolean] {\n  const [uncontrolledValue, setUncontrolledValue] = useState(\n    defaultValue !== undefined ? defaultValue : finalValue\n  );\n\n  const handleUncontrolledChange = (val: T, ...payload: any[]) => {\n    setUncontrolledValue(val);\n    onChange?.(val, ...payload);\n  };\n\n  if (value !== undefined) {\n    return [value as T, onChange, true];\n  }\n\n  return [uncontrolledValue as T, handleUncontrolledChange, false];\n}\n"],"names":["useState"],"mappings":";;;;;AAgBO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,eAAmB,CAAA,CAAA;AAAA,CAAA,CACjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAW,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA;AACnB,CAAiF,CAAA,CAAA,CAAA;AAC/E,CAAA,CAAM,MAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,EAAA,CAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,GAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAChD,YAAA,CAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAY,YAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAC9C,CAAA,CAAA,CAAA;AAEA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,wBAAA,CAA2B,CAAA,CAAA,CAAC,GAAA,CAAA,CAAA,CAAA,CAAA,CAAW,OAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC9D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAA,CAAA,CAAG,CAAA,CAAA;AACxB,CAAA,CAAA,CAAA,CAAW,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAG,OAAO,CAAA,CAAA;AAAA,CAC5B,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA;AACvB,CAAA,CAAA,CAAA,CAAO,OAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAY,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,IAAI,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA;AAGpC,CAAA,CAAO,OAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0B,KAAK,CAAA,CAAA;AACjE,CAAA;;"}