{"version":3,"sources":["../../src/checkbox/useCheckbox.ts","../../src/checkbox/useCheckbox.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useControlledState } from '@primereact/hooks/use-controlled-state';\nimport type { useCheckboxChangeEvent } from '@primereact/types/shared/checkbox';\nimport * as React from 'react';\nimport { defaultProps } from './useCheckbox.props';\n\nexport const useCheckbox = withHeadless({\n    name: 'useCheckbox',\n    defaultProps,\n    setup({ props }) {\n        const [indeterminateState, setIndeterminateState] = React.useState<boolean | undefined>(props.indeterminate);\n        const [checkedState, setCheckedState] = useControlledState({\n            value: props.checked,\n            defaultValue: props.defaultChecked ?? false,\n            onChange: props.onCheckedChange\n        });\n\n        const checked = indeterminateState ? false : checkedState === props.trueValue;\n\n        const state = {\n            checked,\n            indeterminate: indeterminateState\n        };\n\n        // methods\n        const onChange = (event: useCheckboxChangeEvent) => {\n            const computedChecked = indeterminateState ? props.trueValue : checked ? props.falseValue : props.trueValue;\n\n            if (indeterminateState) {\n                setIndeterminateState(false);\n            }\n\n            setCheckedState([\n                computedChecked,\n                {\n                    originalEvent: event,\n                    checked: computedChecked\n                }\n            ]);\n        };\n\n        React.useEffect(() => {\n            if (props.indeterminate !== undefined) {\n                setIndeterminateState(props.indeterminate);\n            }\n        }, [props.indeterminate]);\n\n        return {\n            state,\n            // methods\n            onChange\n        };\n    }\n});\n","import type { useCheckboxProps } from '@primereact/types/shared/checkbox';\n\nexport const defaultProps: useCheckboxProps = {\n    checked: undefined,\n    defaultChecked: undefined,\n    indeterminate: false,\n    trueValue: true,\n    falseValue: false,\n    onCheckedChange: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,OAAS,sBAAAC,MAA0B,yCAEnC,UAAYC,MAAW,QCDhB,IAAMC,EAAiC,CAC1C,QAAS,OACT,eAAgB,OAChB,cAAe,GACf,UAAW,GACX,WAAY,GACZ,gBAAiB,MACrB,EDHO,IAAMC,EAAcC,EAAa,CACpC,KAAM,cACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CATrB,IAAAC,EAUQ,GAAM,CAACC,EAAoBC,CAAqB,EAAU,WAA8BH,EAAM,aAAa,EACrG,CAACI,EAAcC,CAAe,EAAIC,EAAmB,CACvD,MAAON,EAAM,QACb,cAAcC,EAAAD,EAAM,iBAAN,KAAAC,EAAwB,GACtC,SAAUD,EAAM,eACpB,CAAC,EAEKO,EAAUL,EAAqB,GAAQE,IAAiBJ,EAAM,UAE9DQ,EAAQ,CACV,QAAAD,EACA,cAAeL,CACnB,EAGMO,EAAYC,GAAkC,CAChD,IAAMC,EAAkBT,EAAqBF,EAAM,UAAYO,EAAUP,EAAM,WAAaA,EAAM,UAE9FE,GACAC,EAAsB,EAAK,EAG/BE,EAAgB,CACZM,EACA,CACI,cAAeD,EACf,QAASC,CACb,CACJ,CAAC,CACL,EAEA,OAAM,YAAU,IAAM,CACdX,EAAM,gBAAkB,QACxBG,EAAsBH,EAAM,aAAa,CAEjD,EAAG,CAACA,EAAM,aAAa,CAAC,EAEjB,CACH,MAAAQ,EAEA,SAAAC,CACJ,CACJ,CACJ,CAAC","names":["withHeadless","useControlledState","React","defaultProps","useCheckbox","withHeadless","defaultProps","props","_a","indeterminateState","setIndeterminateState","checkedState","setCheckedState","useControlledState","checked","state","onChange","event","computedChecked"]}