{ "version": 3, "sources": ["../../../packages/controls/bz-core-controls/controls/payments/clear-accept/provider/index.tsx", "../../../packages/controls/bz-core-controls/controls/payments/clear-accept/provider/store.ts"], "sourcesContent": ["import createContext from 'bz-utilities/hooks/context-v2';\nimport { Provider } from 'mobx-react';\nimport type { TakePaymentRequest } from 'tm3-core/api.dtos';\nimport ClearAcceptStore from './store';\n\nexport const [ClearAcceptPaymentContext, useClearAcceptPaymentContext] =\n createContext('ClearAcceptPaymentContext');\n\nconst store = new ClearAcceptStore();\n\nexport default function ClearAcceptProvider({ children }) {\n return {children};\n}\n", "import bind from 'bind-decorator';\nimport JsonServiceClient from 'bz-stores/lib/JsonServiceClient';\nimport type { ClearAcceptConfigResponse, TakePaymentRequest } from 'tm3-core/api.dtos';\nimport {\n ClearAcceptConfigRequest,\n ClearAcceptStartPaymentCaptureRequest,\n StartVirtualTerminalPaymentCaptureRequest\n} from 'tm3-core/api.dtos';\n\nconst getScript = (config: ClearAcceptConfigResponse) =>\n new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = config.scriptUrl ?? '';\n script.integrity = config.scriptSri ?? '';\n script.crossOrigin = 'anonymous';\n script.async = true;\n script.onerror = reject;\n\n script.onload = script.onreadystatechange = function () {\n const loadState = this.readyState;\n\n if (loadState && loadState !== 'loaded' && loadState !== 'complete') return;\n\n script.onload = script.onreadystatechange = null;\n\n resolve();\n };\n\n document.head.appendChild(script);\n });\n\nexport default class ClearAcceptStore {\n client: JsonServiceClient;\n constructor() {\n this.client = new JsonServiceClient();\n this.load();\n }\n\n @bind\n async load() {\n if (window.clearAcceptloadingPromise) return window.clearAcceptloadingPromise;\n try {\n const config = await this.loadConfigFromApi(); // if needed\n await getScript(config);\n } catch (ex) {\n console.error(ex);\n window.clearAcceptloadingPromise = null;\n }\n }\n @bind\n async loadConfigFromApi(): Promise {\n const res = await this.client.get(new ClearAcceptConfigRequest());\n return res.result;\n }\n\n @bind\n async startPaymentCapture(\n amount: number,\n saveCard: boolean,\n locationId: number,\n paymentUrlCode: string,\n customerId: number, // virtual terminal only\n invoiceId: number, // virtual terminal only\n isVirtualTerminalMode: boolean,\n waitingListUrlCode: string\n ): Promise {\n const Request = isVirtualTerminalMode\n ? StartVirtualTerminalPaymentCaptureRequest\n : ClearAcceptStartPaymentCaptureRequest;\n\n const res = await this.client.post(\n new Request({\n amount,\n locationId,\n saveCard,\n paymentUrlCode,\n customerId,\n invoiceId,\n waitingListUrlCode\n })\n );\n return res.result;\n }\n}\n"], "mappings": "0WAAAA,IAAAC,ICAAC,IAAAC,IAAA,IAAAC,EAAiB,OASjB,IAAMC,EAAYC,EAACC,GACjB,IAAI,QAAc,CAACC,EAASC,IAAW,CACrC,IAAMC,EAAS,SAAS,cAAc,QAAQ,EAC9CA,EAAO,IAAMH,EAAO,WAAa,GACjCG,EAAO,UAAYH,EAAO,WAAa,GACvCG,EAAO,YAAc,YACrBA,EAAO,MAAQ,GACfA,EAAO,QAAUD,EAEjBC,EAAO,OAASA,EAAO,mBAAqB,UAAY,CACtD,IAAMC,EAAY,KAAK,WAEnBA,GAAaA,IAAc,UAAYA,IAAc,aAEzDD,EAAO,OAASA,EAAO,mBAAqB,KAE5CF,EAAQ,EACV,EAEA,SAAS,KAAK,YAAYE,CAAM,CAClC,CAAC,EApBe,aAsBGE,EAArB,KAAsC,CAEpC,aAAc,CACZ,KAAK,OAAS,IAAIC,EAClB,KAAK,KAAK,CACZ,CAGA,MAAM,MAAO,CACX,GAAI,OAAO,0BAA2B,OAAO,OAAO,0BACpD,GAAI,CACF,IAAMN,EAAS,MAAM,KAAK,kBAAkB,EAC5C,MAAMF,EAAUE,CAAM,CACxB,OAASO,EAAP,CACA,QAAQ,MAAMA,CAAE,EAChB,OAAO,0BAA4B,IACrC,CACF,CAEA,MAAM,mBAAwD,CAE5D,OADY,MAAM,KAAK,OAAO,IAAI,IAAIC,CAA0B,GACrD,MACb,CAGA,MAAM,oBACJC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAC6B,CAC7B,IAAMC,EAAUF,EACZG,EACAC,EAaJ,OAXY,MAAM,KAAK,OAAO,KAC5B,IAAIF,EAAQ,CACV,OAAAR,EACA,WAAAE,EACA,SAAAD,EACA,eAAAE,EACA,WAAAC,EACA,UAAAC,EACA,mBAAAE,CACF,CAAC,CACH,GACW,MACb,CACF,EApDqBjB,EAAAM,EAAA,oBAQbe,EAAA,CADN,EAAAC,SAPmBhB,EAQb,oBAWAe,EAAA,CADN,EAAAC,SAlBmBhB,EAmBb,iCAMAe,EAAA,CADN,EAAAC,SAxBmBhB,EAyBb,mCDxDR,IAAAiB,EAAA,OAKa,CAACC,EAA2BC,CAA4B,EACnEC,EAAyC,2BAA2B,EAEhEC,EAAQ,IAAIC,EAEH,SAARC,EAAqC,CAAE,SAAAC,CAAS,EAAG,CACxD,SAAO,OAACC,EAAA,CAAS,iBAAkBJ,EAAQ,SAAAG,EAAS,CACtD,CAFwBE,EAAAH,EAAA", "names": ["init_virtual_process_polyfill", "init_buffer", "init_virtual_process_polyfill", "init_buffer", "import_bind_decorator", "getScript", "__name", "config", "resolve", "reject", "script", "loadState", "ClearAcceptStore", "ServiceClient", "ex", "ClearAcceptConfigRequest", "amount", "saveCard", "locationId", "paymentUrlCode", "customerId", "invoiceId", "isVirtualTerminalMode", "waitingListUrlCode", "Request", "StartVirtualTerminalPaymentCaptureRequest", "ClearAcceptStartPaymentCaptureRequest", "__decorateClass", "bind", "import_jsx_runtime", "ClearAcceptPaymentContext", "useClearAcceptPaymentContext", "context_v2_default", "store", "ClearAcceptStore", "ClearAcceptProvider", "children", "Provider", "__name"] }