UNPKG

koval-ui

Version:

React components collection with minimalistic design. Supports theming, layout, and input validation.

1 lines 1.73 kB
{"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,CACnE,KAAA,CAAC,MAAAC,CAAK,EAAIC,mBAAiB,EACjC,OAAOF,EAASC,CAAK,CACzB,EAEaE,EAAkBC,GAAe,CACpC,KAAA,CAAC,SAAAC,CAAQ,EAAIH,mBAAiB,EAC9BI,EAAaC,EAAAA,YAAY,IAAM,CACxBF,EAAA,CACL,KAAMG,EAAQ,QAAA,YACd,GAAAJ,CAAA,CACH,CAAA,EACF,CAACA,EAAIC,CAAQ,CAAC,EACXI,EAAcF,EAAAA,YAAY,IAAM,CACzBF,EAAA,CACL,KAAMG,EAAQ,QAAA,aACd,GAAAJ,CAAA,CACH,CAAA,EACF,CAACA,EAAIC,CAAQ,CAAC,EACXK,EAAeX,EAAaE,GAAuBA,EAAM,IAAI,EAE5D,MAAA,CACH,WAAAK,EACA,YAAAG,EACA,OAJWL,IAAOM,CAKtB,CACJ"}