{"version":3,"file":"static/js/91874.b81adf29.chunk.js","mappings":"wOA0BA,MAAMA,EAAyB,GAC/B,IAAIC,EAAyDD,EAEzDE,EAAmBC,IAAyD,IAADC,EAC7EC,QAAQC,MACN,8CAAwD,QAAxDF,EAA8CD,EAAK,GAAGI,UAAE,IAAAH,EAAAA,EAAI,KAC7D,EAGCI,EAAoBL,IACtBE,QAAQC,MAAM,8CAA8CH,IAAO,EAGrE,MAAMM,EAAoBF,IAAgB,IAADG,EACvC,IAAKT,EAAcU,OACjB,OAGF,MAAMC,EAAqB,QAAhBF,EAAGT,SAAa,IAAAS,OAAA,EAAbA,EAAeG,WAAUC,IAAY,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAMP,MAAOA,IACtDQ,EAAM,IAAId,GAChBc,EAAIC,OAAOJ,EAAO,GAClBV,EAAgBa,EAAI,EAGTE,GAAWC,EAAAA,EAAAA,IAAclB,GAAoB,KACxD,MAAOmB,EAAQC,IAAaC,EAAAA,EAAAA,UAC1BrB,GA6EF,OA1EAE,EAAkBC,IAChBF,EAAgBE,EAChBiB,EAAUjB,EAAK,EAGjBK,EAAoBL,IAAsB,IAADmB,EACvC,MAAMf,EAAW,OAANY,QAAM,IAANA,GAAAA,EAAQR,QAAe,OAANQ,QAAM,IAANA,OAAM,EAANA,EAAQR,QAAS,EAAI,EAC3CY,EAAwB,QAAhBD,EAAGnB,EAAKoB,gBAAQ,IAAAD,GAAAA,EAExBE,GACJC,EAAAA,EAAAA,MAACC,EAAAA,EAAK,CACJC,UAAUC,EAAAA,EAAAA,KAAa,QAAU,QACjCC,MAAO1B,EAAK0B,MACZC,SAAS,EACTP,SAAUA,EACVQ,aAAcR,EAEdS,UAAQ,EACRC,gBACEL,EAAAA,EAAAA,KAAaM,EAAAA,EAAaC,UAAYD,EAAAA,EAAaE,WAErDC,SAAUA,KACR5B,EAAiBF,EAAG,EAEtB+B,OAAQC,EAAAA,GACRC,MACErC,EAAKsC,KACD,IAAKtC,EAAKsC,MACV,CAAEC,IAAK,UAAWC,KAAM,mBAAoBC,MAAO,WACxDC,SAAA,EAEDC,EAAAA,EAAAA,KAAA,OAAKC,UAAU,YAAWF,UACxBC,EAAAA,EAAAA,KAAA,QAAAD,SAAO1C,EAAK6C,UAEdvB,EAAAA,EAAAA,MAACwB,EAAAA,EAAY,CAAAJ,SAAA,GACR1C,EAAK+C,YACNJ,EAAAA,EAAAA,KAACK,EAAAA,EAAM,CACLC,KAAK,SACLC,KAAK,QACLC,QAASA,KAAO,IAADC,GACC,QAAdA,EAAApD,EAAK+C,iBAAS,IAAAK,OAAA,EAAdA,EAAgBD,UAAWnD,EAAK+C,UAAUI,UAC1C7C,EAAiBF,EAAG,EACpBsC,SAED1C,EAAK+C,UAAUF,QAGpBF,EAAAA,EAAAA,KAACK,EAAAA,EAAM,CACLK,MAAO,CAAE,CAAC,UAASC,EAAAA,EAAQ,QAAU,SAAW,OAChDL,KAAK,UACLC,KAAK,QACLC,QAASA,KACPnD,EAAKuD,WAAWJ,UAChB7C,EAAiBF,EAAG,EACpBsC,SAED1C,EAAKuD,WAAWV,YAxChBzC,GA8CHO,EAAO,CACXP,GAAIA,EACJiB,MAAOA,GAGHT,EAAY,OAANI,QAAM,IAANA,GAAAA,EAAQR,OAAS,IAAIQ,EAAQL,GAAQ,CAACA,GAElDZ,EAAgBa,EAAI,EAGtBd,EAAgBkB,EAETA,CAAM,IAGFwC,EAAcxD,GAAqBK,EAAiBL,E","sources":["hooks/usePopup.tsx"],"sourcesContent":["import { ReactNode, useState } from 'react';\nimport { singletonHook } from 'react-singleton-hook';\nimport { isRtl } from 'utils/constants/app/rtl';\nimport { ModalPadding, ZINDEX_HIGH_1 } from 'utils/constants/app/ui';\nimport { isMobile } from 'utils/is-mobile';\nimport { Modal, ModalButtons } from 'components/Modal';\nimport { Button } from 'newcomponents/UI/Button';\n\ntype modalProps = {\n title?: string;\n text: string;\n icon?: {\n lib: string;\n name: string;\n theme: string;\n };\n successBtn: {\n text: string;\n onClick: Function;\n };\n cancelBtn?: {\n text: string;\n onClick?: Function;\n };\n closable?: boolean;\n};\nconst initialModalsValue: [] = [];\nlet currentModals: { id: number; modal: ReactNode }[] | [] = initialModalsValue;\n\nlet globalSetModals = (data: { id: number; modal: ReactNode }[] | []): void => {\n console.error(\n `you must usePopup before setting its state ${data[0].id ?? ''}`\n );\n};\n\nlet globalModalAlert = (data: modalProps): void => {\n console.error(`you must usePopup before setting its state ${data}`);\n};\n\nconst _removeFromModal = (id: number) => {\n if (!currentModals.length) {\n return;\n }\n\n const index = currentModals?.findIndex(item => item?.id === id);\n const res = [...currentModals];\n res.splice(index, 1);\n globalSetModals(res);\n};\n\nexport const usePopup = singletonHook(initialModalsValue, () => {\n const [modals, setModals] = useState<{ id: number; modal: ReactNode }[] | []>(\n initialModalsValue\n );\n\n globalSetModals = data => {\n currentModals = data;\n setModals(data);\n };\n\n globalModalAlert = (data: modalProps) => {\n const id = modals?.length ? modals?.length + 1 : 1;\n const closable = data.closable ?? true;\n\n const modal = (\n {\n _removeFromModal(id);\n }}\n zIndex={ZINDEX_HIGH_1}\n image={\n data.icon\n ? { ...data.icon }\n : { lib: 'generic', name: 'attentionGeneric', theme: 'colored' }\n }\n >\n
\n {data.text}\n
\n \n {!!data.cancelBtn && (\n {\n data.cancelBtn?.onClick && data.cancelBtn.onClick();\n _removeFromModal(id);\n }}\n >\n {data.cancelBtn.text}\n \n )}\n {\n data.successBtn.onClick();\n _removeFromModal(id);\n }}\n >\n {data.successBtn.text}\n \n \n \n );\n\n const item = {\n id: id,\n modal: modal\n };\n\n const res = modals?.length ? [...modals, item] : [item];\n\n globalSetModals(res);\n };\n\n currentModals = modals;\n\n return modals;\n});\n\nexport const modalAlert = (data: modalProps) => globalModalAlert(data);\n"],"names":["initialModalsValue","currentModals","globalSetModals","data","_data$0$id","console","error","id","globalModalAlert","_removeFromModal","_currentModals","length","index","findIndex","item","res","splice","usePopup","singletonHook","modals","setModals","useState","_data$closable","closable","modal","_jsxs","Modal","maxWidth","isMobile","title","visible","maskClosable","centered","wrapperPadding","ModalPadding","MOBILE_12","DESKTOP_24","onCancel","zIndex","ZINDEX_HIGH_1","image","icon","lib","name","theme","children","_jsx","className","text","ModalButtons","cancelBtn","Button","type","size","onClick","_data$cancelBtn","style","isRtl","successBtn","modalAlert"],"sourceRoot":""}