1 |
- {"version":3,"file":"79717.js","mappings":"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","sources":["webpack://quran.com/./src/components/dls/Toast/Toast.module.scss","webpack://quran.com/./src/components/dls/Toast/Toast.tsx","webpack://quran.com/./src/components/dls/Toast/ToastContext.ts","webpack://quran.com/./node_modules/react-toastify/dist/ReactToastify.css"],"sourcesContent":["// Exports\nmodule.exports = {\n\t\"animate\": \"Toast_animate__Tmzfu\",\n\t\"enter\": \"Toast_enter__rE9Mm\",\n\t\"slideInUp\": \"Toast_slideInUp__vGysg\",\n\t\"exit\": \"Toast_exit__oVQ6p\",\n\t\"slideOutDown\": \"Toast_slideOutDown__B6Jc9\",\n\t\"toast\": \"Toast_toast__wngG9\",\n\t\"toastContainer\": \"Toast_toastContainer___t7rD\",\n\t\"errorBody\": \"Toast_errorBody__Ltyof\",\n\t\"warningBody\": \"Toast_warningBody__E9wSE\",\n\t\"successBody\": \"Toast_successBody__Jx1gZ\",\n\t\"contentContainer\": \"Toast_contentContainer__lfumt\",\n\t\"actionsContainer\": \"Toast_actionsContainer__nyh90\",\n\t\"action\": \"Toast_action__z57l_\"\n};\n","/* eslint-disable react/no-multi-comp */\nimport { useContext } from 'react';\n\nimport classNames from 'classnames';\nimport {\n ToastContainer as PrimitiveToastContainer,\n toast as primitiveToast,\n cssTransition,\n} from 'react-toastify';\n\nimport 'react-toastify/dist/ReactToastify.css';\nimport styles from './Toast.module.scss';\nimport ToastContext from './ToastContext';\n\nimport Button, { ButtonSize, ButtonType } from '@/dls/Button/Button';\n\nexport enum ToastStatus {\n Success = 'success',\n Error = 'error',\n Warning = 'warning',\n}\ntype Action = {\n text: string;\n onClick?: () => void;\n primary?: boolean;\n};\ntype Options = {\n preserve?: boolean;\n actions?: Action[];\n status?: ToastStatus;\n};\nconst TOAST_DURATION = 3000; // 3 second\nconst toast = (content: React.ReactNode, options: Options = {}) => {\n const toastId = primitiveToast(\n <div className={styles.contentContainer}>\n {content}\n {options.actions && (\n <div className={styles.actionsContainer}>\n {options.actions.map((action, index) => (\n <Button\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n type={action.primary ? ButtonType.Primary : ButtonType.Secondary}\n className={styles.action}\n size={ButtonSize.Small}\n onClick={() => {\n primitiveToast.dismiss(toastId);\n action.onClick?.();\n }}\n >\n {action.text}\n </Button>\n ))}\n </div>\n )}\n </div>,\n {\n autoClose: options.preserve ? false : TOAST_DURATION,\n closeButton: false,\n className: classNames(styles.toast, {\n [styles.errorBody]: options.status === 'error',\n [styles.successBody]: options.status === 'success',\n [styles.warningBody]: options.status === 'warning',\n }),\n },\n );\n};\n\nexport const ToastContainer = () => {\n return (\n <PrimitiveToastContainer\n transition={cssTransition({\n enter: `${styles.animate} ${styles.enter}`,\n exit: `${styles.animate} ${styles.exit}`,\n })}\n className={styles.toastContainer}\n bodyClassName={styles.toastBody}\n toastClassName={styles.toast}\n position=\"bottom-right\"\n hideProgressBar\n draggableDirection=\"y\"\n />\n );\n};\n\nexport const useToast = () => {\n const setShouldRenderToast = useContext(ToastContext);\n\n return (content: React.ReactNode, options: Options = {}) => {\n setShouldRenderToast(true);\n toast(content, options);\n };\n};\n","import React from 'react';\n\nconst ToastContext = React.createContext(null);\n\nexport default ToastContext;\n",""],"names":["useContext","classNames","ToastContainer","PrimitiveToastContainer","toast","primitiveToast","cssTransition","styles","ToastContext","Button","ButtonSize","ButtonType","ToastStatus","Success","Error","Warning","TOAST_DURATION","content","options","toastId","div","className","contentContainer","actions","actionsContainer","map","action","index","type","primary","Primary","Secondary","size","Small","onClick","dismiss","text","autoClose","preserve","closeButton","errorBody","status","successBody","warningBody","transition","enter","animate","exit","toastContainer","bodyClassName","toastBody","toastClassName","position","hideProgressBar","draggableDirection","useToast","setShouldRenderToast","React","createContext"],"sourceRoot":""}
|