{"version":3,"sources":["../../src/panel/usePanel.ts","../../src/panel/usePanel.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { defaultProps } from './usePanel.props';\n\nexport const usePanel = withHeadless({\n    name: 'usePanel',\n    defaultProps,\n    setup({ props }) {\n        const [collapsedState, setCollapsedState] = React.useState<boolean | undefined>(props.collapsed);\n        const collapsed = props.toggleable ? (props.onToggle ? props.collapsed : collapsedState) : false;\n        const state = {\n            collapsed\n        };\n\n        // element refs\n        const contentRef = React.useRef(null);\n\n        // methods\n        const toggle = (event: React.SyntheticEvent) => {\n            if (!props.toggleable) {\n                return;\n            }\n\n            if (collapsed) expand(event);\n            else collapse(event);\n\n            props.onToggle?.({\n                originalEvent: event,\n                value: !collapsed\n            });\n        };\n\n        const expand = (event: React.SyntheticEvent) => {\n            if (!props.onToggle) {\n                setCollapsedState(false);\n            }\n\n            props.onExpand?.(event);\n        };\n\n        const collapse = (event: React.SyntheticEvent) => {\n            if (!props.onToggle) {\n                setCollapsedState(true);\n            }\n\n            props.onCollapse?.(event);\n        };\n\n        const onButtonClick = (event: React.SyntheticEvent) => {\n            toggle(event);\n            event.preventDefault();\n        };\n\n        return {\n            state,\n            // element refs\n            contentRef,\n            // methods\n            toggle,\n            expand,\n            collapse,\n            onButtonClick\n        };\n    }\n});\n","import type { usePanelProps } from '@primereact/types/shared/panel';\n\nexport const defaultProps: usePanelProps = {\n    collapsed: undefined,\n    toggleable: undefined,\n    // events\n    onCollapse: undefined,\n    onExpand: undefined,\n    onToggle: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,UAAYC,MAAW,QCChB,IAAMC,EAA8B,CACvC,UAAW,OACX,WAAY,OAEZ,WAAY,OACZ,SAAU,OACV,SAAU,MACd,EDLO,IAAMC,EAAWC,EAAa,CACjC,KAAM,WACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CACb,GAAM,CAACC,EAAgBC,CAAiB,EAAU,WAA8BF,EAAM,SAAS,EACzFG,EAAYH,EAAM,WAAcA,EAAM,SAAWA,EAAM,UAAYC,EAAkB,GACrFG,EAAQ,CACV,UAAAD,CACJ,EAGME,EAAmB,SAAO,IAAI,EAG9BC,EAAUC,GAAgC,CAlBxD,IAAAC,EAmBiBR,EAAM,aAIPG,EAAWM,EAAOF,CAAK,EACtBG,EAASH,CAAK,GAEnBC,EAAAR,EAAM,WAAN,MAAAQ,EAAA,KAAAR,EAAiB,CACb,cAAeO,EACf,MAAO,CAACJ,CACZ,GACJ,EAEMM,EAAUF,GAAgC,CAhCxD,IAAAC,EAiCiBR,EAAM,UACPE,EAAkB,EAAK,GAG3BM,EAAAR,EAAM,WAAN,MAAAQ,EAAA,KAAAR,EAAiBO,EACrB,EAEMG,EAAYH,GAAgC,CAxC1D,IAAAC,EAyCiBR,EAAM,UACPE,EAAkB,EAAI,GAG1BM,EAAAR,EAAM,aAAN,MAAAQ,EAAA,KAAAR,EAAmBO,EACvB,EAOA,MAAO,CACH,MAAAH,EAEA,WAAAC,EAEA,OAAAC,EACA,OAAAG,EACA,SAAAC,EACA,cAbmBH,GAAgC,CACnDD,EAAOC,CAAK,EACZA,EAAM,eAAe,CACzB,CAWA,CACJ,CACJ,CAAC","names":["withHeadless","React","defaultProps","usePanel","withHeadless","defaultProps","props","collapsedState","setCollapsedState","collapsed","state","contentRef","toggle","event","_a","expand","collapse"]}