{"ast":null,"code":"import { useEffect, useRef, useState } from 'react';\nimport { generateColor } from '../util';\nfunction hasValue(value) {\n  return value !== undefined;\n}\nconst useColorState = (defaultStateValue, option) => {\n  const {\n    defaultValue,\n    value\n  } = option;\n  const prevColor = useRef(generateColor(''));\n  const [colorValue, _setColorValue] = useState(() => {\n    let mergedState;\n    if (hasValue(value)) {\n      mergedState = value;\n    } else if (hasValue(defaultValue)) {\n      mergedState = defaultValue;\n    } else {\n      mergedState = defaultStateValue;\n    }\n    const color = generateColor(mergedState || '');\n    prevColor.current = color;\n    return color;\n  });\n  const setColorValue = color => {\n    _setColorValue(color);\n    prevColor.current = color;\n  };\n  useEffect(() => {\n    if (hasValue(value)) {\n      const newColor = generateColor(value || '');\n      if (prevColor.current.cleared === true) {\n        newColor.cleared = 'controlled';\n      }\n      setColorValue(newColor);\n    }\n  }, [value]);\n  return [colorValue, setColorValue, prevColor];\n};\nexport default useColorState;","map":{"version":3,"names":["useEffect","useRef","useState","generateColor","hasValue","value","undefined","useColorState","defaultStateValue","option","defaultValue","prevColor","colorValue","_setColorValue","mergedState","color","current","setColorValue","newColor","cleared"],"sources":["D:/Project/UC_Trains_Voice/react-demo/node_modules/antd/es/color-picker/hooks/useColorState.js"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { generateColor } from '../util';\nfunction hasValue(value) {\n  return value !== undefined;\n}\nconst useColorState = (defaultStateValue, option) => {\n  const {\n    defaultValue,\n    value\n  } = option;\n  const prevColor = useRef(generateColor(''));\n  const [colorValue, _setColorValue] = useState(() => {\n    let mergedState;\n    if (hasValue(value)) {\n      mergedState = value;\n    } else if (hasValue(defaultValue)) {\n      mergedState = defaultValue;\n    } else {\n      mergedState = defaultStateValue;\n    }\n    const color = generateColor(mergedState || '');\n    prevColor.current = color;\n    return color;\n  });\n  const setColorValue = color => {\n    _setColorValue(color);\n    prevColor.current = color;\n  };\n  useEffect(() => {\n    if (hasValue(value)) {\n      const newColor = generateColor(value || '');\n      if (prevColor.current.cleared === true) {\n        newColor.cleared = 'controlled';\n      }\n      setColorValue(newColor);\n    }\n  }, [value]);\n  return [colorValue, setColorValue, prevColor];\n};\nexport default useColorState;"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACnD,SAASC,aAAa,QAAQ,SAAS;AACvC,SAASC,QAAQA,CAACC,KAAK,EAAE;EACvB,OAAOA,KAAK,KAAKC,SAAS;AAC5B;AACA,MAAMC,aAAa,GAAGA,CAACC,iBAAiB,EAAEC,MAAM,KAAK;EACnD,MAAM;IACJC,YAAY;IACZL;EACF,CAAC,GAAGI,MAAM;EACV,MAAME,SAAS,GAAGV,MAAM,CAACE,aAAa,CAAC,EAAE,CAAC,CAAC;EAC3C,MAAM,CAACS,UAAU,EAAEC,cAAc,CAAC,GAAGX,QAAQ,CAAC,MAAM;IAClD,IAAIY,WAAW;IACf,IAAIV,QAAQ,CAACC,KAAK,CAAC,EAAE;MACnBS,WAAW,GAAGT,KAAK;IACrB,CAAC,MAAM,IAAID,QAAQ,CAACM,YAAY,CAAC,EAAE;MACjCI,WAAW,GAAGJ,YAAY;IAC5B,CAAC,MAAM;MACLI,WAAW,GAAGN,iBAAiB;IACjC;IACA,MAAMO,KAAK,GAAGZ,aAAa,CAACW,WAAW,IAAI,EAAE,CAAC;IAC9CH,SAAS,CAACK,OAAO,GAAGD,KAAK;IACzB,OAAOA,KAAK;EACd,CAAC,CAAC;EACF,MAAME,aAAa,GAAGF,KAAK,IAAI;IAC7BF,cAAc,CAACE,KAAK,CAAC;IACrBJ,SAAS,CAACK,OAAO,GAAGD,KAAK;EAC3B,CAAC;EACDf,SAAS,CAAC,MAAM;IACd,IAAII,QAAQ,CAACC,KAAK,CAAC,EAAE;MACnB,MAAMa,QAAQ,GAAGf,aAAa,CAACE,KAAK,IAAI,EAAE,CAAC;MAC3C,IAAIM,SAAS,CAACK,OAAO,CAACG,OAAO,KAAK,IAAI,EAAE;QACtCD,QAAQ,CAACC,OAAO,GAAG,YAAY;MACjC;MACAF,aAAa,CAACC,QAAQ,CAAC;IACzB;EACF,CAAC,EAAE,CAACb,KAAK,CAAC,CAAC;EACX,OAAO,CAACO,UAAU,EAAEK,aAAa,EAAEN,SAAS,CAAC;AAC/C,CAAC;AACD,eAAeJ,aAAa","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}