{"version":3,"file":"DexWidgetProvider.Dzai7kAC.mjs","sources":["../src/DexWidgetProvider.tsx"],"sourcesContent":["import React, { createContext, useContext, useRef, useEffect, ReactNode, useState } from 'react';\n\nimport { createOkxSwapWidget, type OkxSwapWidgetHandler, type IWidgetConfig } from './index';\n\n\n// 创建上下文\nconst DexWidgetContext = createContext<OkxSwapWidgetHandler | null>(null);\n\ninterface DexWidgetProviderProps {\n    children: ReactNode;\n    config: IWidgetConfig;\n}\n\nexport const DexWidgetProvider: React.FC<DexWidgetProviderProps> = ({ children, config }) => {\n    const iframeContainerRef = useRef<HTMLDivElement>(null);\n    const [providerState, setProviderState] = useState(null);\n\n    useEffect(() => {\n        if (iframeContainerRef.current) {\n            setProviderState(createOkxSwapWidget(iframeContainerRef.current, config))\n        }\n\n        return () => {\n            providerState?.destroy();\n        };\n    }, [config]);\n\n    console.log('widgetHandlerRef.current', providerState, iframeContainerRef);\n\n    return (\n        <DexWidgetContext.Provider value={providerState}>\n            <div ref={iframeContainerRef} style={{ width: '100%', height: config.params.height }} />\n            {children}\n        </DexWidgetContext.Provider>\n    );\n};\n\nexport const useDexWidget = () => {\n    return useContext(DexWidgetContext);\n};\n\nexport { createOkxSwapWidget, OkxSwapWidgetHandler };"],"names":["DexWidgetContext","createContext","DexWidgetProvider","children","config","iframeContainerRef","useRef","providerState","setProviderState","useState","useEffect","createOkxSwapWidget","React","useDexWidget","useContext"],"mappings":";;;AAMA,MAAMA,IAAmBC,EAA2C,IAAI,GAO3DC,IAAsD,CAAC,EAAE,UAAAC,GAAU,QAAAC,QAAa;AACnF,QAAAC,IAAqBC,EAAuB,IAAI,GAChD,CAACC,GAAeC,CAAgB,IAAIC,EAAS,IAAI;AAEvD,SAAAC,EAAU,OACFL,EAAmB,WACnBG,EAAiBG,EAAoBN,EAAmB,SAASD,CAAM,CAAC,GAGrE,MAAM;AACT,IAAAG,KAAA,QAAAA,EAAe;AAAA,EAAQ,IAE5B,CAACH,CAAM,CAAC,GAEH,QAAA,IAAI,4BAA4BG,GAAeF,CAAkB,GAGrE,gBAAAO,EAAA,cAACZ,EAAiB,UAAjB,EAA0B,OAAOO,KAC9B,gBAAAK,EAAA,cAAC,SAAI,KAAKP,GAAoB,OAAO,EAAE,OAAO,QAAQ,QAAQD,EAAO,OAAO,OAAO,GAAG,GACrFD,CACL;AAER,GAEaU,IAAe,MACjBC,EAAWd,CAAgB;"}