{"version":3,"file":"ToastContext.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_functions","_Toast","_types","_zIndexes","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ToastContext","exports","createContext","ToastBucket","styled","div","Z_INDEXES","toast","ToastBucketTopLeft","ToastBucketTopMiddle","ToastBucketTopRight","ToastBucketBottomLeft","ToastBucketBottomMiddle","ToastBucketBottomRight","ToastProvider","_ref","children","toasts","setToasts","useState","add","content","options","id","createUUID","prev","remove","filter","functions","useMemo","addToast","removeToast","jsxs","Provider","value","jsx","position","ToastPosition","TOPLEFT","map","TOPMIDDLE","TOPRIGHT","BOTTOMLEFT","BOTTOMMIDDLE","BOTTOMRIGHT","propTypes","_propTypes","any","useToast","useContext"],"sources":["../../src/Toasters/ToastContext.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport { createUUID } from '../Services/functions';\r\nimport Toast, { ToastOptions } from './Toast';\r\nimport { ToastPosition } from '../types';\r\nimport {Z_INDEXES} from '../styles/z-indexes';\r\n\r\nexport type ToastProviderProps = {\r\n  children?: any;\r\n};\r\n\r\nexport interface toast {\r\n  options: ToastOptions;\r\n  id: string;\r\n  content: any;\r\n}\r\nexport type ToasterValueProps = { toasts: toast[]; addToast: (content: any, options: ToastOptions) => string; removeToast: (id: string) => void };\r\n\r\n/*export const ToastContext = React.createContext<ToasterValueProps>(null);*/\r\n\r\nexport const ToastContext = React.createContext({} as ToasterValueProps);\r\n\r\nconst ToastBucket = styled.div`\r\n  position: fixed;\r\n  z-index: ${Z_INDEXES.toast};\r\n  display: flex;\r\n  flex-direction: column-reverse;\r\n`;\r\n\r\nconst ToastBucketTopLeft = styled(ToastBucket)`\r\n  top: 16px;\r\n  left: 5%;\r\n`;\r\n\r\nconst ToastBucketTopMiddle = styled(ToastBucket)`\r\n  top: 16px;\r\n  left: 50%;\r\n  transform: translateX(-50%);\r\n`;\r\n\r\nconst ToastBucketTopRight = styled(ToastBucket)`\r\n  top: 16px;\r\n  right: 5%;\r\n`;\r\n\r\nconst ToastBucketBottomLeft = styled(ToastBucket)`\r\n  bottom: 16px;\r\n  left: 5%;\r\n`;\r\n\r\nconst ToastBucketBottomMiddle = styled(ToastBucket)`\r\n  bottom: 16px;\r\n  left: 50%;\r\n  transform: translateX(-50%);\r\n`;\r\n\r\nconst ToastBucketBottomRight = styled(ToastBucket)`\r\n  bottom: 16px;\r\n  right: 5%;\r\n`;\r\n\r\nexport const ToastProvider: React.FC<ToastProviderProps> = ({ children }: ToastProviderProps) => {\r\n  const [toasts, setToasts] = React.useState<toast[]>([]);\r\n\r\n  const add = (content: any, options: ToastOptions) => {\r\n    const id = createUUID();\r\n    setToasts(prev => [...prev, { id, content, options }]);\r\n    return id;\r\n  };\r\n\r\n  const remove = (id: string) => setToasts(toasts.filter(t => t.id !== id));\r\n\r\n  const functions = React.useMemo(() => {\r\n    return { addToast: add, removeToast: remove };\r\n  }, [toasts]);\r\n\r\n  return (\r\n    <ToastContext.Provider value={{ toasts, addToast: add, removeToast: remove }}>\r\n      <ToastBucketTopLeft>\r\n        {toasts\r\n          .filter(t => t.options.position === ToastPosition.TOPLEFT)\r\n          .map(t => (\r\n            <Toast key={t.id} content={t.content} remove={() => remove(t.id)} options={t.options} />\r\n          ))}\r\n      </ToastBucketTopLeft>\r\n      <ToastBucketTopMiddle>\r\n        {toasts\r\n          .filter(t => t.options.position === ToastPosition.TOPMIDDLE)\r\n          .map(t => (\r\n            <Toast key={t.id} content={t.content} remove={() => remove(t.id)} options={t.options} />\r\n          ))}\r\n      </ToastBucketTopMiddle>\r\n      <ToastBucketTopRight>\r\n        {toasts\r\n          .filter(t => t.options.position === ToastPosition.TOPRIGHT)\r\n          .map(t => (\r\n            <Toast key={t.id} content={t.content} remove={() => remove(t.id)} options={t.options} />\r\n          ))}\r\n      </ToastBucketTopRight>\r\n      <ToastBucketBottomLeft>\r\n        {toasts\r\n          .filter(t => t.options.position === ToastPosition.BOTTOMLEFT)\r\n          .map(t => (\r\n            <Toast key={t.id} content={t.content} remove={() => remove(t.id)} options={t.options} />\r\n          ))}\r\n      </ToastBucketBottomLeft>\r\n      <ToastBucketBottomMiddle>\r\n        {toasts\r\n          .filter(t => t.options.position === ToastPosition.BOTTOMMIDDLE)\r\n          .map(t => (\r\n            <Toast key={t.id} content={t.content} remove={() => remove(t.id)} options={t.options} />\r\n          ))}\r\n      </ToastBucketBottomMiddle>\r\n      <ToastBucketBottomRight>\r\n        {toasts\r\n          .filter(t => t.options.position === ToastPosition.BOTTOMRIGHT)\r\n          .map(t => (\r\n            <Toast key={t.id} content={t.content} remove={() => remove(t.id)} options={t.options} />\r\n          ))}\r\n      </ToastBucketBottomRight>\r\n      {children}\r\n    </ToastContext.Provider>\r\n  );\r\n};\r\n\r\nexport function useToast() {\r\n  const { addToast, removeToast } = React.useContext(ToastContext);\r\n  return {\r\n    addToast,\r\n    removeToast\r\n  };\r\n}\r\n"],"mappings":"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","ignoreList":[]}