koval-ui
Version:
React components collection with minimalistic design. Supports theming, layout, and input validation.
1 lines • 1.71 kB
Source Map (JSON)
{"version":3,"file":"useToastState.cjs","sources":["../../../../src/lib/Toast/useToastState.tsx"],"sourcesContent":["import {useCallback} from 'react';\n\nimport {useToastContext} from './ToastContext.ts';\nimport type {ToastState} from './ToastReducer.ts';\nimport {Actions} from './ToastReducer.ts';\n\nconst useSelector = (callback: (arg0: ToastState) => string | undefined) => {\n const {state} = useToastContext();\n return callback(state);\n};\n\nexport const useToastState = (id: string) => {\n const {dispatch} = useToastContext();\n const openToast = useCallback(() => {\n dispatch({\n type: Actions.TOAST_OPEN,\n id,\n });\n }, [id, dispatch]);\n const closeToast = useCallback(() => {\n dispatch({\n type: Actions.TOAST_CLOSE,\n id,\n });\n }, [id, dispatch]);\n const openToastId = useSelector((state: ToastState) => state.open);\n const isOpen = id === openToastId;\n return {\n openToast,\n closeToast,\n isOpen,\n };\n};\n"],"names":["useSelector","callback","state","useToastContext","useToastState","id","dispatch","openToast","useCallback","Actions","closeToast","openToastId"],"mappings":"sLAMMA,EAAeC,GAAuD,CACxE,KAAM,CAAC,MAAAC,CAAA,EAASC,kBAAA,EAChB,OAAOF,EAASC,CAAK,CACzB,EAEaE,EAAiBC,GAAe,CACzC,KAAM,CAAC,SAAAC,CAAA,EAAYH,kBAAA,EACbI,EAAYC,EAAAA,YAAY,IAAM,CAChCF,EAAS,CACL,KAAMG,EAAAA,QAAQ,WACd,GAAAJ,CAAA,CACH,CACL,EAAG,CAACA,EAAIC,CAAQ,CAAC,EACXI,EAAaF,EAAAA,YAAY,IAAM,CACjCF,EAAS,CACL,KAAMG,EAAAA,QAAQ,YACd,GAAAJ,CAAA,CACH,CACL,EAAG,CAACA,EAAIC,CAAQ,CAAC,EACXK,EAAcX,EAAaE,GAAsBA,EAAM,IAAI,EAEjE,MAAO,CACH,UAAAK,EACA,WAAAG,EACA,OAJWL,IAAOM,CAIlB,CAER"}