{"version":3,"file":"useBodyScrollLock.cjs","names":[],"sources":["../../../src/hooks/useBodyScrollLock/useBodyScrollLock.ts"],"sourcesContent":["import { useEffect } from 'react';\n\nimport { disableBodyScrollLock } from '../../utils/disableBodyScrollLock/index.ts';\nimport { enableBodyScrollLock } from '../../utils/enableBodyScrollLock/index.ts';\n\n/**\n * @description\n * `useBodyScrollLock` is a React hook that locks body scroll while the component is mounted.\n * It automatically locks on mount and unlocks on unmount.\n *\n * **Note:** For multiple overlapping modals, use a single lock at the parent level.\n *\n * @example\n * function Modal() {\n *   useBodyScrollLock();\n *   return <div className=\"modal\">Modal content</div>;\n * }\n *\n * @example\n * // Multiple modals - single lock pattern\n * function BodyScrollLock() {\n *   useBodyScrollLock();\n *   return null;\n * }\n *\n * function App() {\n *   const hasModal = showModal1 || showModal2;\n *\n *   return (\n *     <>\n *       {hasModal && <BodyScrollLock />}\n *       {showModal1 && <Modal1 />}\n *       {showModal2 && <Modal2 />}\n *     </>\n *   );\n * }\n */\nexport function useBodyScrollLock(): void {\n  useEffect(() => {\n    enableBodyScrollLock();\n\n    return () => {\n      disableBodyScrollLock();\n    };\n  }, []);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,SAAgB,oBAA0B;CACxC,CAAA,GAAA,MAAA,UAAA,OAAgB;EACd,6BAAA,qBAAqB;EAErB,aAAa;GACX,8BAAA,sBAAsB;EACxB;CACF,GAAG,CAAC,CAAC;AACP"}