{"version":3,"file":"Notification.cjs","sources":["../../../../src/lib/Notification/Notification.tsx"],"sourcesContent":["import type {FC} from 'react';\nimport {Fragment, useEffect} from 'react';\n\nimport {useRegisterNotification} from './useRegisterNotification.ts';\nimport type {NotificationProps, Id} from './NotificationReducer.ts';\nimport {useNotificationState} from './useNotificationState.tsx';\n\nexport type Props = NotificationProps & {\n    /** Unique id of notification */\n    id: Id;\n    /** Callback triggered when Notification toggles */\n    onToggle?: (isOpen: boolean) => void;\n    onDenied?: () => void;\n};\n\nexport const Notification: FC<Props> = ({\n    id,\n    title,\n    icon,\n    body,\n    requireInteraction,\n    onToggle = () => {},\n    onDenied = () => {},\n}) => {\n    const registerNotification = useRegisterNotification();\n    const {isOpen, permission} = useNotificationState(id);\n    useEffect(() => {\n        registerNotification(id, {title, icon, body, requireInteraction});\n    }, [id, title, icon, body, requireInteraction, registerNotification]);\n\n    useEffect(() => {\n        onToggle(isOpen);\n    }, [isOpen, onToggle]);\n\n    useEffect(() => {\n        permission === 'denied' && onDenied();\n    }, [onDenied, permission]);\n\n    return <Fragment />;\n};\n"],"names":["Notification","id","title","icon","body","requireInteraction","onToggle","onDenied","registerNotification","useRegisterNotification","isOpen","permission","useNotificationState","useEffect","Fragment"],"mappings":"wOAeaA,EAA0B,CAAC,CACpC,GAAAC,EACA,MAAAC,EACA,KAAAC,EACA,KAAAC,EACA,mBAAAC,EACA,SAAAC,EAAW,IAAM,CAAC,EAClB,SAAAC,EAAW,IAAM,CAAA,CACrB,IAAM,CACF,MAAMC,EAAuBC,EAAAA,wBAAwB,EAC/C,CAAC,OAAAC,EAAQ,WAAAC,GAAcC,EAAAA,qBAAqBX,CAAE,EACpDY,OAAAA,EAAAA,UAAU,IAAM,CACZL,EAAqBP,EAAI,CAAC,MAAAC,EAAO,KAAAC,EAAM,KAAAC,EAAM,mBAAAC,EAAmB,CAAA,EACjE,CAACJ,EAAIC,EAAOC,EAAMC,EAAMC,EAAoBG,CAAoB,CAAC,EAEpEK,EAAAA,UAAU,IAAM,CACZP,EAASI,CAAM,CAAA,EAChB,CAACA,EAAQJ,CAAQ,CAAC,EAErBO,EAAAA,UAAU,IAAM,CACZF,IAAe,UAAYJ,EAAS,CAAA,EACrC,CAACA,EAAUI,CAAU,CAAC,QAEjBG,EAAS,SAAA,EAAA,CACrB"}