{"version":3,"file":"use-toggle.cjs","names":[],"sources":["../../src/hooks/use-toggle.ts"],"sourcesContent":["import { useCallback, useState } from \"react\";\n\nexport interface ToggleHelpers {\n    toggle: () => void;\n    setTrue: () => void;\n    setFalse: () => void;\n    set: (next: boolean) => void;\n}\n\n/**\n * Boolean state with `toggle`/`setTrue`/`setFalse` helpers.\n *\n * @param initial - initial value (default `false`).\n * @returns Tuple `[value, helpers]`.\n */\nexport function useToggle(initial = false): [boolean, ToggleHelpers] {\n    const [value, setValue] = useState<boolean>(initial);\n\n    const toggle = useCallback((): void => setValue((current) => !current), []);\n    const setTrue = useCallback((): void => setValue(true), []);\n    const setFalse = useCallback((): void => setValue(false), []);\n    const set = useCallback((next: boolean): void => setValue(next), []);\n\n    return [value, { toggle, setTrue, setFalse, set }];\n}\n"],"mappings":"uBAeA,SAAgB,EAAU,EAAU,GAAiC,CACjE,GAAM,CAAC,EAAO,IAAA,EAAY,EAAA,SAAA,CAAkB,CAAO,EAOnD,MAAO,CAAC,EAAO,CAAE,QAAA,EALF,EAAA,YAAA,KAAwB,EAAU,GAAY,CAAC,CAAO,EAAG,CAAC,CAKxD,EAAQ,SAAA,EAJT,EAAA,YAAA,KAAwB,EAAS,EAAI,EAAG,CAAC,CAIhC,EAAS,UAAA,EAHjB,EAAA,YAAA,KAAwB,EAAS,EAAK,EAAG,CAAC,CAGzB,EAAU,KAAA,EAFhC,EAAA,YAAA,CAAa,GAAwB,EAAS,CAAI,EAAG,CAAC,CAEtB,CAAI,CAAC,CACrD"}