UNPKG

koval-ui

Version:

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

1 lines 1.71 kB
{"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,CAClE,KAAA,CAAC,MAAAC,CAAK,EAAIC,kBAAgB,EAChC,OAAOF,EAASC,CAAK,CACzB,EAEaE,EAAiBC,GAAe,CACnC,KAAA,CAAC,SAAAC,CAAQ,EAAIH,kBAAgB,EAC7BI,EAAYC,EAAAA,YAAY,IAAM,CACvBF,EAAA,CACL,KAAMG,EAAQ,QAAA,WACd,GAAAJ,CAAA,CACH,CAAA,EACF,CAACA,EAAIC,CAAQ,CAAC,EACXI,EAAaF,EAAAA,YAAY,IAAM,CACxBF,EAAA,CACL,KAAMG,EAAQ,QAAA,YACd,GAAAJ,CAAA,CACH,CAAA,EACF,CAACA,EAAIC,CAAQ,CAAC,EACXK,EAAcX,EAAaE,GAAsBA,EAAM,IAAI,EAE1D,MAAA,CACH,UAAAK,EACA,WAAAG,EACA,OAJWL,IAAOM,CAKtB,CACJ"}