paydeuk-payment-modal
Version:
Paydeuk Payment Modal Component
1 lines • 1.98 kB
Source Map (JSON)
{"version":3,"file":"index.esm","sources":["../../src/sdk/index.js"],"sourcesContent":["import { PaymentModal } from '../components/payment-module/payment-modal';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nclass PaydeukSDK {\n constructor() {\n this.modal = null;\n }\n\n init(config = {}) {\n // React 컴포넌트를 렌더링할 div 생성\n const container = document.createElement('div');\n container.id = 'paydeuk-payment-container';\n document.body.appendChild(container);\n\n // React 컴포넌트 렌더링\n const root = ReactDOM.createRoot(container);\n root.render(\n React.createElement(PaymentModal, {\n ...config,\n onPaymentComplete: () => {\n if (config.onPaymentComplete) {\n config.onPaymentComplete();\n }\n this.close();\n },\n })\n );\n\n this.modal = container;\n }\n\n open(paymentInfo) {\n if (!this.modal) {\n this.init({ paymentInfo });\n }\n }\n\n close() {\n if (this.modal) {\n const root = ReactDOM.createRoot(this.modal);\n root.unmount();\n this.modal.remove();\n this.modal = null;\n }\n }\n}\n\n// 전역 객체로 SDK 제공\nwindow.PaydeukSDK = new PaydeukSDK();\n"],"names":["PaydeukSDK","config","container","ReactDOM","React","PaymentModal","paymentInfo"],"mappings":";;;AAIA,MAAMA,EAAW;AAAA,EACf,cAAc;AACZ,SAAK,QAAQ;AAAA,EACjB;AAAA,EAEE,KAAKC,IAAS,IAAI;AAEhB,UAAMC,IAAY,SAAS,cAAc,KAAK;AAC9C,IAAAA,EAAU,KAAK,6BACf,SAAS,KAAK,YAAYA,CAAS,GAGtBC,EAAS,WAAWD,CAAS,EACrC;AAAA,MACHE,EAAM,cAAcC,GAAc;AAAA,QAChC,GAAGJ;AAAA,QACH,mBAAmB,MAAM;AACvB,UAAIA,EAAO,qBACTA,EAAO,kBAAmB,GAE5B,KAAK,MAAO;AAAA,QACb;AAAA,MACF,CAAA;AAAA,IACF,GAED,KAAK,QAAQC;AAAA,EACjB;AAAA,EAEE,KAAKI,GAAa;AAChB,IAAK,KAAK,SACR,KAAK,KAAK,EAAE,aAAAA,GAAa;AAAA,EAE/B;AAAA,EAEE,QAAQ;AACN,IAAI,KAAK,UACMH,EAAS,WAAW,KAAK,KAAK,EACtC,QAAS,GACd,KAAK,MAAM,OAAQ,GACnB,KAAK,QAAQ;AAAA,EAEnB;AACA;AAGA,OAAO,aAAa,IAAIH,EAAY;"}