{"version":3,"file":"index.cjs","names":[],"sources":["../../../src/hooks/useToggleState/index.ts"],"sourcesContent":["import { useCallback, useState } from 'react';\n/**\n * @description 두 개의 값을 토글하는 기능을 제공하는 훅입니다.\n * 기본값으로 제공된 두 개의 값을 관리하며, 선택된 값과 두 값을 토글할 수 있는 함수를 반환합니다.\n *\n * @template T - 토글할 값의 타입을 나타냅니다.\n * @param {T} value1 - 초기값이자 첫 번째 토글 값입니다.\n * @param {T} value2 - 두 번째 토글 값입니다.\n * @returns {[T, () => void]}\n *\n * @example\n * const [value, toggle] = useToggle('ON', 'OFF');\n *\n * value; // 'ON'\n * toggle();\n * value; // 'OFF'\n */\nexport function useToggleState<T>(value1: T, value2: T): [T, () => void] {\n  const [value, setValue] = useState(value1);\n\n  const toggle = useCallback(() => {\n    setValue((prev) => (prev === value1 ? value2 : value1));\n  }, [value1, value2]);\n\n  return [value, toggle];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAiBA,SAAgB,eAAkB,QAAW,QAA4B;CACvE,MAAM,CAAC,OAAO,aAAA,GAAA,MAAA,UAAqB,OAAO;CAM1C,OAAO,CAAC,QAAA,GAAA,MAAA,mBAJyB;EAC/B,UAAU,SAAU,SAAS,SAAS,SAAS,OAAQ;IACtD,CAAC,QAAQ,OAAO,CAEE,CAAC"}