{"ast":null,"code":"import _slicedToArray from \"C:/Users/user/Desktop/08portreact/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport { useCallback as $bnPw9$useCallback, useState as $bnPw9$useState, useRef as $bnPw9$useRef, useEffect as $bnPw9$useEffect } from \"react\";\nimport { useCallbackRef as $bnPw9$useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction $71cd76cc60e0454e$export$6f32135080cb4c3(_ref) {\n  var prop = _ref.prop,\n    defaultProp = _ref.defaultProp,\n    _ref$onChange = _ref.onChange,\n    onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange;\n  var _$71cd76cc60e0454e$va = $71cd76cc60e0454e$var$useUncontrolledState({\n      defaultProp: defaultProp,\n      onChange: onChange\n    }),\n    _$71cd76cc60e0454e$va2 = _slicedToArray(_$71cd76cc60e0454e$va, 2),\n    uncontrolledProp = _$71cd76cc60e0454e$va2[0],\n    setUncontrolledProp = _$71cd76cc60e0454e$va2[1];\n  var isControlled = prop !== undefined;\n  var value1 = isControlled ? prop : uncontrolledProp;\n  var handleChange = $bnPw9$useCallbackRef(onChange);\n  var setValue = $bnPw9$useCallback(function (nextValue) {\n    if (isControlled) {\n      var setter = nextValue;\n      var value = typeof nextValue === 'function' ? setter(prop) : nextValue;\n      if (value !== prop) handleChange(value);\n    } else setUncontrolledProp(nextValue);\n  }, [isControlled, prop, setUncontrolledProp, handleChange]);\n  return [value1, setValue];\n}\nfunction $71cd76cc60e0454e$var$useUncontrolledState(_ref2) {\n  var defaultProp = _ref2.defaultProp,\n    onChange = _ref2.onChange;\n  var uncontrolledState = $bnPw9$useState(defaultProp);\n  var _uncontrolledState = _slicedToArray(uncontrolledState, 1),\n    value = _uncontrolledState[0];\n  var prevValueRef = $bnPw9$useRef(value);\n  var handleChange = $bnPw9$useCallbackRef(onChange);\n  $bnPw9$useEffect(function () {\n    if (prevValueRef.current !== value) {\n      handleChange(value);\n      prevValueRef.current = value;\n    }\n  }, [value, prevValueRef, handleChange]);\n  return uncontrolledState;\n}\nexport { $71cd76cc60e0454e$export$6f32135080cb4c3 as useControllableState };","map":{"version":3,"names":["$71cd76cc60e0454e$export$6f32135080cb4c3","useControllableState","_ref","prop","defaultProp","_ref$onChange","onChange","_$71cd76cc60e0454e$va","$71cd76cc60e0454e$var$useUncontrolledState","_$71cd76cc60e0454e$va2","_slicedToArray","uncontrolledProp","setUncontrolledProp","isControlled","undefined","value1","handleChange","$bnPw9$useCallbackRef","setValue","$bnPw9$useCallback","nextValue","setter","value","useUncontrolledState","_ref2","uncontrolledState","$bnPw9$useState","_uncontrolledState","prevValueRef","$bnPw9$useRef","$bnPw9$useEffect","current"],"sources":["C:\\Users\\user\\Desktop\\08portreact\\node_modules\\@radix-ui\\react-use-controllable-state\\dist\\packages\\react\\use-controllable-state\\src\\index.ts","C:\\Users\\user\\Desktop\\08portreact\\node_modules\\@radix-ui\\react-use-controllable-state\\dist\\packages\\react\\use-controllable-state\\src\\useControllableState.tsx"],"sourcesContent":["export { useControllableState } from './useControllableState';\n","import * as React from 'react';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\n\ntype UseControllableStateParams<T> = {\n  prop?: T | undefined;\n  defaultProp?: T | undefined;\n  onChange?: (state: T) => void;\n};\n\ntype SetStateFn<T> = (prevState?: T) => T;\n\nfunction useControllableState<T>({\n  prop,\n  defaultProp,\n  onChange = () => {},\n}: UseControllableStateParams<T>) {\n  const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({ defaultProp, onChange });\n  const isControlled = prop !== undefined;\n  const value = isControlled ? prop : uncontrolledProp;\n  const handleChange = useCallbackRef(onChange);\n\n  const setValue: React.Dispatch<React.SetStateAction<T | undefined>> = React.useCallback(\n    (nextValue) => {\n      if (isControlled) {\n        const setter = nextValue as SetStateFn<T>;\n        const value = typeof nextValue === 'function' ? setter(prop) : nextValue;\n        if (value !== prop) handleChange(value as T);\n      } else {\n        setUncontrolledProp(nextValue);\n      }\n    },\n    [isControlled, prop, setUncontrolledProp, handleChange]\n  );\n\n  return [value, setValue] as const;\n}\n\nfunction useUncontrolledState<T>({\n  defaultProp,\n  onChange,\n}: Omit<UseControllableStateParams<T>, 'prop'>) {\n  const uncontrolledState = React.useState<T | undefined>(defaultProp);\n  const [value] = uncontrolledState;\n  const prevValueRef = React.useRef(value);\n  const handleChange = useCallbackRef(onChange);\n\n  React.useEffect(() => {\n    if (prevValueRef.current !== value) {\n      handleChange(value as T);\n      prevValueRef.current = value;\n    }\n  }, [value, prevValueRef, handleChange]);\n\n  return uncontrolledState;\n}\n\nexport { useControllableState };\n"],"mappings":";;;ACWA,SAASA,wCAATC,CAAAC,IAAA,EAIkC;EAAA,IAHhCC,IAD+B,GAAAD,IAAA,CAXjCC,IAAA;IAaEC,WAF+B,GAAAF,IAAA,CAXjCE,WAAA;IAAAC,aAAA,GAAAH,IAAA,CAWiCI,QAAA;IAG/BA,QAAQ,GAAAD,aAAA,cAAG,YAAM,EAAjB,GAAAA,aAAA;EAEA,IAAAE,qBAAA,GAAgDC,0CAAoB,CAAC;MAhBvEJ,WAAA,EAgByEA,WAAF;MAhBvEE,QAAA,EAgBsFA;KAAhB,CAApE;IAAAG,sBAAA,GAAAC,cAAA,CAAAH,qBAAA;IAAOI,gBAAD,GAAAF,sBAAA;IAAmBG,mBAAnB,GAAAH,sBAAA;EACN,IAAMI,YAAY,GAAGV,IAAI,KAAKW,SAA9B;EACA,IAAMC,MAAK,GAAGF,YAAY,GAAGV,IAAH,GAAUQ,gBAApC;EACA,IAAMK,YAAY,GAAGC,qBAAc,CAACX,QAAD,CAAnC;EAEA,IAAMY,QAA6D,GAAGC,kBAAA,CACnE,UAAAC,SAAD,EAAe;IACb,IAAIP,YAAJ,EAAkB;MAChB,IAAMQ,MAAM,GAAGD,SAAf;MACA,IAAME,KAAK,GAAG,OAAOF,SAAP,KAAqB,UAArB,GAAkCC,MAAM,CAAClB,IAAD,CAAxC,GAAiDiB,SAA/D;MACA,IAAIE,KAAK,KAAKnB,IAAd,EAAoBa,YAAY,CAACM,KAAD,CAAZ;KAHtB,MAKEV,mBAAmB,CAACQ,SAAD,CAAnB;GAPgE,EAUpE,CAACP,YAAD,EAAeV,IAAf,EAAqBS,mBAArB,EAA0CI,YAA1C,CAVoE,CAAtE;EAaA,OAAO,CAACD,MAAD,EAAQG,QAAR,CAAP;;AAGF,SAASV,0CAATe,CAAAC,KAAA,EAGgD;EAAA,IAF9CpB,WAD+B,GAAAoB,KAAA,CArCjCpB,WAAA;IAuCEE,QAAA,GAAAkB,KAAA,CAvCFlB,QAAA;EAyCE,IAAMmB,iBAAiB,GAAGC,eAAA,CAA8BtB,WAA9B,CAA1B;EACA,IAAAuB,kBAAA,GAAAjB,cAAA,CAAgBe,iBAAhB;IAAOH,KAAD,GAAAK,kBAAA;EACN,IAAMC,YAAY,GAAGC,aAAA,CAAaP,KAAb,CAArB;EACA,IAAMN,YAAY,GAAGC,qBAAc,CAACX,QAAD,CAAnC;EAEAwB,gBAAA,CAAgB,YAAM;IACpB,IAAIF,YAAY,CAACG,OAAb,KAAyBT,KAA7B,EAAoC;MAClCN,YAAY,CAACM,KAAD,CAAZ;MACAM,YAAY,CAACG,OAAb,GAAuBT,KAAvB;;GAHJ,EAKG,CAACA,KAAD,EAAQM,YAAR,EAAsBZ,YAAtB,CALH,CAKC;EAED,OAAOS,iBAAP"},"metadata":{},"sourceType":"module","externalDependencies":[]}