koval-ui
Version:
React components collection with minimalistic design. Supports theming, layout, and input validation.
1 lines • 1.73 kB
Source Map (JSON)
{"version":3,"file":"useDrawerState.cjs","sources":["../../../../src/lib/Drawer/useDrawerState.tsx"],"sourcesContent":["import {useCallback} from 'react';\n\nimport {useDrawerContext} from './DrawerContext.ts';\nimport type {DrawerState} from './DrawerReducer.ts';\nimport {Actions} from './DrawerReducer.ts';\n\nconst useSelector = (callback: (arg0: DrawerState) => string | undefined) => {\n const {state} = useDrawerContext();\n return callback(state);\n};\n\nexport const useDrawerState = (id: string) => {\n const {dispatch} = useDrawerContext();\n const openDrawer = useCallback(() => {\n dispatch({\n type: Actions.DRAWER_OPEN,\n id,\n });\n }, [id, dispatch]);\n const closeDrawer = useCallback(() => {\n dispatch({\n type: Actions.DRAWER_CLOSE,\n id,\n });\n }, [id, dispatch]);\n const openDrawerId = useSelector((state: DrawerState) => state.open);\n const isOpen = id === openDrawerId;\n return {\n openDrawer,\n closeDrawer,\n isOpen,\n };\n};\n"],"names":["useSelector","callback","state","useDrawerContext","useDrawerState","id","dispatch","openDrawer","useCallback","Actions","closeDrawer","openDrawerId"],"mappings":"wLAMMA,EAAeC,GAAwD,CACzE,KAAM,CAAC,MAAAC,CAAA,EAASC,mBAAA,EAChB,OAAOF,EAASC,CAAK,CACzB,EAEaE,EAAkBC,GAAe,CAC1C,KAAM,CAAC,SAAAC,CAAA,EAAYH,mBAAA,EACbI,EAAaC,EAAAA,YAAY,IAAM,CACjCF,EAAS,CACL,KAAMG,EAAAA,QAAQ,YACd,GAAAJ,CAAA,CACH,CACL,EAAG,CAACA,EAAIC,CAAQ,CAAC,EACXI,EAAcF,EAAAA,YAAY,IAAM,CAClCF,EAAS,CACL,KAAMG,EAAAA,QAAQ,aACd,GAAAJ,CAAA,CACH,CACL,EAAG,CAACA,EAAIC,CAAQ,CAAC,EACXK,EAAeX,EAAaE,GAAuBA,EAAM,IAAI,EAEnE,MAAO,CACH,WAAAK,EACA,YAAAG,EACA,OAJWL,IAAOM,CAIlB,CAER"}