@imtbl/checkout-widgets 2.0.0-alpha.0 → 2.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- export{a as default}from'./chunk-273L75VZ.js';import'./chunk-UNEH2WXY.js';import'./chunk-OPMBNAY3.js';import'./chunk-R7NCCCUY.js';import'./chunk-BVF4MRFQ.js';import'./chunk-P7Y5EGBN.js';import'./chunk-Y7N65KJX.js';import'./chunk-5U7AR7XV.js';import'./chunk-UNLLKACC.js';import'./chunk-NNMZJ5NV.js';import'./chunk-MADECDXT.js';import'./chunk-ECAH5RC3.js';import'./chunk-JF3XWEEL.js';import'./chunk-I3HZNWUF.js';import'./chunk-QPOHDTWR.js';
1
+ export{a as default}from'./chunk-QPBIRWVO.js';import'./chunk-UNEH2WXY.js';import'./chunk-OPMBNAY3.js';import'./chunk-R7NCCCUY.js';import'./chunk-BVF4MRFQ.js';import'./chunk-P7Y5EGBN.js';import'./chunk-Y7N65KJX.js';import'./chunk-5U7AR7XV.js';import'./chunk-UNLLKACC.js';import'./chunk-NNMZJ5NV.js';import'./chunk-MADECDXT.js';import'./chunk-ECAH5RC3.js';import'./chunk-JF3XWEEL.js';import'./chunk-I3HZNWUF.js';import'./chunk-QPOHDTWR.js';
@@ -1 +1 @@
1
- import {a,b}from'./chunk-QJTHBCR2.js';import {a as a$3}from'./chunk-273L75VZ.js';import {e}from'./chunk-UNEH2WXY.js';import {a as a$4}from'./chunk-WWUSGIQB.js';import'./chunk-ME7FB46X.js';import {a as a$5}from'./chunk-XE2T4YRZ.js';import'./chunk-YOCWSYBR.js';import'./chunk-OPMBNAY3.js';import'./chunk-R7NCCCUY.js';import {a as a$2}from'./chunk-DVUYKTGV.js';import {a as a$1}from'./chunk-EEDQFEKZ.js';import'./chunk-BVF4MRFQ.js';import'./chunk-P7Y5EGBN.js';import {a as a$6}from'./chunk-WCTMM2S2.js';import'./chunk-R5TRMOBS.js';import'./chunk-3AHRPZYV.js';import'./chunk-Y7N65KJX.js';import'./chunk-5U7AR7XV.js';import'./chunk-EZWBOX2K.js';import'./chunk-UNLLKACC.js';import {b as b$1}from'./chunk-5AVK5XOU.js';import'./chunk-65KT4KZW.js';import'./chunk-AWLYHJ5L.js';import'./chunk-Z52PVTUZ.js';import'./chunk-K3KIUMY7.js';import'./chunk-NNMZJ5NV.js';import'./chunk-MADECDXT.js';import'./chunk-RTSPX46P.js';import'./chunk-ECAH5RC3.js';import {v}from'./chunk-JF3XWEEL.js';import'./chunk-KOBELCOG.js';import'./chunk-I3HZNWUF.js';import'./chunk-JV43EWXA.js';import {d,c,ga,ca,O,ha,P,S,C,B}from'./chunk-QPOHDTWR.js';import {createContext,useReducer,useMemo,useCallback,useEffect,Suspense}from'react';import {CommerceFlowType,OrchestrationEventType,IMTBLWidgetEvents,CommerceEventType,ProviderEventType,ChainId,ConnectEventType,CommerceFailureEventType,CommerceSuccessEventType,WalletEventType,CommerceUserActionEventType,SwapEventType,AddTokensEventType,BridgeEventType,OnRampEventType,SaleEventType}from'@imtbl/checkout-sdk';import {useTranslation}from'react-i18next';d();c();d();c();var R=(e,t)=>{let o=new CustomEvent(IMTBLWidgetEvents.IMTBL_COMMERCE_WIDGET_EVENT,{detail:t});console.log("checkout app event ",e,o),e!==void 0&&e.dispatchEvent(o);};d();c();var Ue=[CommerceFlowType.SALE,CommerceFlowType.SWAP,CommerceFlowType.WALLET,CommerceFlowType.ONRAMP],Be=[CommerceFlowType.ADD_TOKENS];function Se(e){return Ue.includes(e)}function Te(e){return Be.includes(e)}d();c();d();c();function Me(e){let{type:t,data:o}=e.detail;switch(t){case ConnectEventType.SUCCESS:return {type:CommerceEventType.SUCCESS,data:{type:CommerceSuccessEventType.CONNECT_SUCCESS,data:o}};case ConnectEventType.FAILURE:return {type:CommerceEventType.FAILURE,data:{type:CommerceFailureEventType.CONNECT_FAILED,data:o}};case ConnectEventType.CLOSE_WIDGET:return {type:CommerceEventType.CLOSE,data:{}};default:throw new Error(`Unknown connect event type "${e.detail.type}"`)}}function ke(e){let{type:t,data:o}=e.detail;switch(t){case WalletEventType.NETWORK_SWITCH:return {type:CommerceEventType.USER_ACTION,data:{type:CommerceUserActionEventType.NETWORK_SWITCH,data:o}};case WalletEventType.DISCONNECT_WALLET:return {type:CommerceEventType.DISCONNECTED,data:{}};case WalletEventType.CLOSE_WIDGET:return {type:CommerceEventType.CLOSE,data:{}};default:throw new Error(`Unknown wallet event type "${e.detail.type}"`)}}function xe(e){let{type:t,data:o}=e.detail;switch(t){case SwapEventType.SUCCESS:return {type:CommerceEventType.SUCCESS,data:{type:CommerceSuccessEventType.SWAP_SUCCESS,data:o}};case SwapEventType.FAILURE:return {type:CommerceEventType.FAILURE,data:{type:CommerceFailureEventType.SWAP_FAILED,data:o}};case SwapEventType.REJECTED:return {type:CommerceEventType.FAILURE,data:{type:CommerceFailureEventType.SWAP_REJECTED,data:o}};case SwapEventType.CLOSE_WIDGET:return {type:CommerceEventType.CLOSE,data:{}};default:throw new Error(`Unknown swap event type "${e.detail.type}"`)}}function Fe(e){let{type:t}=e.detail;switch(t){case AddTokensEventType.SUCCESS:return {type:CommerceEventType.SUCCESS,data:{type:CommerceSuccessEventType.ADD_TOKENS_SUCCESS,data:e.detail.data}};case AddTokensEventType.CONNECT_SUCCESS:return {type:CommerceEventType.SUCCESS,data:{type:CommerceSuccessEventType.ADD_TOKENS_CONNECT_SUCCESS,data:e.detail.data}};case AddTokensEventType.FAILURE:return {type:CommerceEventType.FAILURE,data:{type:CommerceFailureEventType.ADD_TOKENS_FAILED,data:e.detail.data}};case AddTokensEventType.CLOSE_WIDGET:return {type:CommerceEventType.CLOSE,data:{}};default:throw new Error(`Unknown add tokens event type "${e.detail.type}"`)}}function Ge(e){let{type:t,data:o}=e.detail;switch(t){case BridgeEventType.TRANSACTION_SENT:return {type:CommerceEventType.SUCCESS,data:{type:CommerceSuccessEventType.BRIDGE_SUCCESS,data:o}};case BridgeEventType.CLAIM_WITHDRAWAL_SUCCESS:return {type:CommerceEventType.SUCCESS,data:{type:CommerceSuccessEventType.BRIDGE_CLAIM_WITHDRAWAL_SUCCESS,data:o}};case BridgeEventType.CLAIM_WITHDRAWAL_FAILURE:return {type:CommerceEventType.FAILURE,data:{type:CommerceFailureEventType.BRIDGE_CLAIM_WITHDRAWAL_FAILED,data:o}};case BridgeEventType.FAILURE:return {type:CommerceEventType.FAILURE,data:{type:CommerceFailureEventType.BRIDGE_FAILED,data:o}};case BridgeEventType.CLOSE_WIDGET:return {type:CommerceEventType.CLOSE,data:{}};default:throw new Error(`Unknown bridge event type "${e.detail.type}"`)}}function Ke(e){let{type:t,data:o}=e.detail;switch(t){case OnRampEventType.SUCCESS:return {type:CommerceEventType.SUCCESS,data:{type:CommerceSuccessEventType.ONRAMP_SUCCESS,data:o}};case OnRampEventType.FAILURE:return {type:CommerceEventType.FAILURE,data:{type:CommerceFailureEventType.ONRAMP_FAILED,data:o}};case OnRampEventType.CLOSE_WIDGET:return {type:CommerceEventType.CLOSE,data:{}};default:throw new Error(`Unknown onRamp event type "${e.detail.type}"`)}}function Qe(e){let{type:t,data:o}=e.detail;switch(t){case SaleEventType.SUCCESS:return {type:CommerceEventType.SUCCESS,data:{type:CommerceSuccessEventType.SALE_SUCCESS,data:o}};case SaleEventType.FAILURE:return {type:CommerceEventType.FAILURE,data:{type:CommerceFailureEventType.SALE_FAILED,data:o}};case SaleEventType.CLOSE_WIDGET:return {type:CommerceEventType.CLOSE,data:{}};case SaleEventType.TRANSACTION_SUCCESS:return {type:CommerceEventType.SUCCESS,data:{type:CommerceSuccessEventType.SALE_TRANSACTION_SUCCESS,data:o}};case SaleEventType.PAYMENT_METHOD:return {type:CommerceEventType.USER_ACTION,data:{type:CommerceUserActionEventType.PAYMENT_METHOD_SELECTED,data:o}};case SaleEventType.PAYMENT_TOKEN:return {type:CommerceEventType.USER_ACTION,data:{type:CommerceUserActionEventType.PAYMENT_TOKEN_SELECTED,data:o}};default:throw new Error(`Unknown sale event type "${e.detail.type}"`)}}function ue(e){if(e.detail.type===ProviderEventType.PROVIDER_UPDATED)return {type:CommerceEventType.PROVIDER_UPDATED,data:e.detail.data};switch(e.type){case IMTBLWidgetEvents.IMTBL_CONNECT_WIDGET_EVENT:return Me(e);case IMTBLWidgetEvents.IMTBL_WALLET_WIDGET_EVENT:return ke(e);case IMTBLWidgetEvents.IMTBL_SWAP_WIDGET_EVENT:return xe(e);case IMTBLWidgetEvents.IMTBL_ADD_TOKENS_WIDGET_EVENT:return Fe(e);case IMTBLWidgetEvents.IMTBL_BRIDGE_WIDGET_EVENT:return Ge(e);case IMTBLWidgetEvents.IMTBL_ONRAMP_WIDGET_EVENT:return Ke(e);case IMTBLWidgetEvents.IMTBL_SALE_WIDGET_EVENT:return Qe(e);default:throw new Error(`Unknown widget event type "${e.type}"`)}}d();c();function ye(e){switch(e){case OrchestrationEventType.REQUEST_SWAP:return CommerceFlowType.SWAP;case OrchestrationEventType.REQUEST_CONNECT:return CommerceFlowType.CONNECT;case OrchestrationEventType.REQUEST_WALLET:return CommerceFlowType.WALLET;case OrchestrationEventType.REQUEST_BRIDGE:return CommerceFlowType.BRIDGE;case OrchestrationEventType.REQUEST_ONRAMP:return CommerceFlowType.ONRAMP;case OrchestrationEventType.REQUEST_ADD_TOKENS:return CommerceFlowType.ADD_TOKENS;default:return null}}d();c();var He=[OrchestrationEventType.REQUEST_CONNECT,OrchestrationEventType.REQUEST_WALLET,OrchestrationEventType.REQUEST_SWAP,OrchestrationEventType.REQUEST_BRIDGE,OrchestrationEventType.REQUEST_ONRAMP,OrchestrationEventType.REQUEST_ADD_TOKENS,OrchestrationEventType.REQUEST_GO_BACK];function _e(e){return He.includes(e.detail.type)}var fe=[IMTBLWidgetEvents.IMTBL_CONNECT_WIDGET_EVENT,IMTBLWidgetEvents.IMTBL_WALLET_WIDGET_EVENT,IMTBLWidgetEvents.IMTBL_SWAP_WIDGET_EVENT,IMTBLWidgetEvents.IMTBL_BRIDGE_WIDGET_EVENT,IMTBLWidgetEvents.IMTBL_ONRAMP_WIDGET_EVENT,IMTBLWidgetEvents.IMTBL_SALE_WIDGET_EVENT,IMTBLWidgetEvents.IMTBL_ADD_TOKENS_WIDGET_EVENT];function ve(e,t,o){let[{history:c},s]=t,m=p=>{let{type:r,data:_}=p.detail;if(r===OrchestrationEventType.REQUEST_GO_BACK){s({payload:{type:"UPDATE_VIEW",view:c?.[0]}});return}if(r===OrchestrationEventType.REQUEST_ONRAMP){let l=_;l.provider&&o(l.provider);}let A=ye(r);A&&s({payload:{type:"UPDATE_VIEW",view:{type:A,data:{params:_,config:{},showBackButton:!0}}}});},C=useMemo(()=>e?p=>{let r=p;if(_e(r)){m(r);return}let _=ue(r);R(e,_);}:null,[e]);useEffect(()=>C?(fe.map(p=>window.addEventListener(p,C)),()=>{fe.map(p=>window.removeEventListener(p,C));}):()=>{},[C]);}d();c();var Y=e=>e.config.isProduction?ChainId.IMTBL_ZKEVM_MAINNET:ChainId.IMTBL_ZKEVM_TESTNET;function Ae(e,t,o){let{type:c}=e;switch(c){case CommerceFlowType.WALLET:return {checkout:t,browserProvider:o,targetChainId:Y(t),allowedChains:[B(t.config),C(t.config)]};case CommerceFlowType.ONRAMP:case CommerceFlowType.ADD_TOKENS:return {checkout:t,browserProvider:o,targetChainId:Y(t),allowedChains:[B(t.config),C(t.config)]};case CommerceFlowType.SALE:case CommerceFlowType.SWAP:return {checkout:t,browserProvider:o,targetChainId:Y(t),allowedChains:[C(t.config)]};default:return {}}}d();c();var q={checkout:void 0,provider:void 0,passport:void 0};var J=createContext({commerceState:q,commerceDispatch:()=>{}});J.displayName="CommerceContext";var Ie=(e,t)=>{switch(t.payload.type){case"SET_CHECKOUT":return {...e,checkout:t.payload.checkout};case"SET_PROVIDER":return {...e,provider:t.payload.provider};case"SET_PASSPORT":return {...e,passport:t.payload.passport};default:return e}};function je(e$1){let{flowParams:t,flowConfig:o,widgetsConfig:c,checkout:s,browserProvider:m}=e$1,{t:C}=useTranslation(),p=ga(),[{view:r,history:_},A]=p,[{eventTarget:l}]=ca(),[x,I]=useReducer(Ie,q),We=useMemo(()=>({commerceState:x,commerceDispatch:I}),[x,I]),{provider:X}=x,Re=useMemo(()=>Ae(r,s,X||m),[r,s,X,m]),Le=t.flow===CommerceFlowType.ADD_TOKENS?()=>{}:void 0,De=useCallback(()=>{let W=["LOADING_VIEW","ERROR_VIEW","SUCCESS_VIEW","TOP_UP_VIEW","SERVICE_UNAVAILABLE_ERROR_VIEW"],B=_.slice(0,-1).filter(({type:Ne})=>!W.includes(Ne)),j=B[B.length-1];j&&A({payload:{type:"UPDATE_VIEW",view:j}});},[_]),Oe=useMemo(()=>W=>{I({payload:{type:"SET_PROVIDER",provider:W}});},[I]);ve(l,p,Oe),useEffect(()=>{m&&I({payload:{type:"SET_PROVIDER",provider:m}});},[I,m]),useEffect(()=>{if(!t.flow)return;let{flow:W,...B}=t;A({payload:{type:"UPDATE_VIEW",view:{type:W,data:{params:B,config:{...o?.[W]||{}}}}}});},[t]),useEffect(()=>{a.includes(t.flow)||A({payload:{type:"UPDATE_VIEW",view:{type:"ERROR_VIEW",error:{name:"InvalidViewType",message:`Invalid view type "${t.flow}"`}}}});},[t.flow]);let ge=useMemo(()=>Se(r.type),[r.type]),Pe=useMemo(()=>Te(r.type),[r.type]),g=!!r.data?.showBackButton;return O(ha,{children:P(J.Provider,{value:We,children:[r.type==="LOADING_VIEW"&&O(S,{loadingText:C("views.LOADING_VIEW.text")}),r.type==="ERROR_VIEW"&&O(v,{onCloseClick:()=>{R(l,{type:CommerceEventType.CLOSE,data:{}});},onActionClick:()=>{},actionText:C("views.ERROR_VIEW.actionText")}),r.type===CommerceFlowType.CONNECT&&O(a$1,{config:c,checkout:s,sendCloseEventOverride:()=>{R(l,{type:CommerceEventType.CLOSE,data:{}});},...r.data.params||{}}),r.type===CommerceFlowType.BRIDGE&&O(a$2,{config:c,checkout:s,browserProvider:m,showBackButton:g,...r.data.params||{}}),Pe&&r.type===CommerceFlowType.ADD_TOKENS&&O(e,{initialState:{checkout:s,toProvider:r.data.params.toProvider},children:O(a$3,{config:c,...r.data.params||{},...r.data.config||{},showBackButton:g})}),ge&&O(b,{widgetConfig:c,params:Re,successEvent:Le,closeEvent:()=>{R(l,{type:CommerceEventType.CLOSE,data:{}});},showBackButton:g,goBackEvent:De,children:P(Suspense,{fallback:O(S,{loadingText:C("views.LOADING_VIEW.text")}),children:[r.type===CommerceFlowType.WALLET&&O(a$4,{config:c,walletConfig:{showNetworkMenu:!0,showDisconnectButton:!0,...r.data.config},...r.data.params||{}}),r.type===CommerceFlowType.SALE&&O(a$5,{config:c,...r.data.params||{},hideExcludedPaymentTypes:!1,waitFulfillmentSettlements:!0,...r.data.config}),r.type===CommerceFlowType.SWAP&&O(a$6,{config:c,...r.data.params||{},...r.data.config||{},showBackButton:g}),r.type===CommerceFlowType.ONRAMP&&O(b$1,{config:c,...r.data.params||{},...r.data.config||{},showBackButton:g})]})})]})})}export{je as default};
1
+ import {a,b}from'./chunk-QJTHBCR2.js';import {a as a$3}from'./chunk-QPBIRWVO.js';import {e}from'./chunk-UNEH2WXY.js';import {a as a$4}from'./chunk-WWUSGIQB.js';import'./chunk-ME7FB46X.js';import {a as a$5}from'./chunk-XE2T4YRZ.js';import'./chunk-YOCWSYBR.js';import'./chunk-OPMBNAY3.js';import'./chunk-R7NCCCUY.js';import {a as a$2}from'./chunk-DVUYKTGV.js';import {a as a$1}from'./chunk-EEDQFEKZ.js';import'./chunk-BVF4MRFQ.js';import'./chunk-P7Y5EGBN.js';import {a as a$6}from'./chunk-WCTMM2S2.js';import'./chunk-R5TRMOBS.js';import'./chunk-3AHRPZYV.js';import'./chunk-Y7N65KJX.js';import'./chunk-5U7AR7XV.js';import'./chunk-EZWBOX2K.js';import'./chunk-UNLLKACC.js';import {b as b$1}from'./chunk-5AVK5XOU.js';import'./chunk-65KT4KZW.js';import'./chunk-AWLYHJ5L.js';import'./chunk-Z52PVTUZ.js';import'./chunk-K3KIUMY7.js';import'./chunk-NNMZJ5NV.js';import'./chunk-MADECDXT.js';import'./chunk-RTSPX46P.js';import'./chunk-ECAH5RC3.js';import {v}from'./chunk-JF3XWEEL.js';import'./chunk-KOBELCOG.js';import'./chunk-I3HZNWUF.js';import'./chunk-JV43EWXA.js';import {d,c,ga,ca,O,ha,P,S,C,B}from'./chunk-QPOHDTWR.js';import {createContext,useReducer,useMemo,useCallback,useEffect,Suspense}from'react';import {CommerceFlowType,OrchestrationEventType,IMTBLWidgetEvents,CommerceEventType,ProviderEventType,ChainId,ConnectEventType,CommerceFailureEventType,CommerceSuccessEventType,WalletEventType,CommerceUserActionEventType,SwapEventType,AddTokensEventType,BridgeEventType,OnRampEventType,SaleEventType}from'@imtbl/checkout-sdk';import {useTranslation}from'react-i18next';d();c();d();c();var R=(e,t)=>{let o=new CustomEvent(IMTBLWidgetEvents.IMTBL_COMMERCE_WIDGET_EVENT,{detail:t});console.log("checkout app event ",e,o),e!==void 0&&e.dispatchEvent(o);};d();c();var Ue=[CommerceFlowType.SALE,CommerceFlowType.SWAP,CommerceFlowType.WALLET,CommerceFlowType.ONRAMP],Be=[CommerceFlowType.ADD_TOKENS];function Se(e){return Ue.includes(e)}function Te(e){return Be.includes(e)}d();c();d();c();function Me(e){let{type:t,data:o}=e.detail;switch(t){case ConnectEventType.SUCCESS:return {type:CommerceEventType.SUCCESS,data:{type:CommerceSuccessEventType.CONNECT_SUCCESS,data:o}};case ConnectEventType.FAILURE:return {type:CommerceEventType.FAILURE,data:{type:CommerceFailureEventType.CONNECT_FAILED,data:o}};case ConnectEventType.CLOSE_WIDGET:return {type:CommerceEventType.CLOSE,data:{}};default:throw new Error(`Unknown connect event type "${e.detail.type}"`)}}function ke(e){let{type:t,data:o}=e.detail;switch(t){case WalletEventType.NETWORK_SWITCH:return {type:CommerceEventType.USER_ACTION,data:{type:CommerceUserActionEventType.NETWORK_SWITCH,data:o}};case WalletEventType.DISCONNECT_WALLET:return {type:CommerceEventType.DISCONNECTED,data:{}};case WalletEventType.CLOSE_WIDGET:return {type:CommerceEventType.CLOSE,data:{}};default:throw new Error(`Unknown wallet event type "${e.detail.type}"`)}}function xe(e){let{type:t,data:o}=e.detail;switch(t){case SwapEventType.SUCCESS:return {type:CommerceEventType.SUCCESS,data:{type:CommerceSuccessEventType.SWAP_SUCCESS,data:o}};case SwapEventType.FAILURE:return {type:CommerceEventType.FAILURE,data:{type:CommerceFailureEventType.SWAP_FAILED,data:o}};case SwapEventType.REJECTED:return {type:CommerceEventType.FAILURE,data:{type:CommerceFailureEventType.SWAP_REJECTED,data:o}};case SwapEventType.CLOSE_WIDGET:return {type:CommerceEventType.CLOSE,data:{}};default:throw new Error(`Unknown swap event type "${e.detail.type}"`)}}function Fe(e){let{type:t}=e.detail;switch(t){case AddTokensEventType.SUCCESS:return {type:CommerceEventType.SUCCESS,data:{type:CommerceSuccessEventType.ADD_TOKENS_SUCCESS,data:e.detail.data}};case AddTokensEventType.CONNECT_SUCCESS:return {type:CommerceEventType.SUCCESS,data:{type:CommerceSuccessEventType.ADD_TOKENS_CONNECT_SUCCESS,data:e.detail.data}};case AddTokensEventType.FAILURE:return {type:CommerceEventType.FAILURE,data:{type:CommerceFailureEventType.ADD_TOKENS_FAILED,data:e.detail.data}};case AddTokensEventType.CLOSE_WIDGET:return {type:CommerceEventType.CLOSE,data:{}};default:throw new Error(`Unknown add tokens event type "${e.detail.type}"`)}}function Ge(e){let{type:t,data:o}=e.detail;switch(t){case BridgeEventType.TRANSACTION_SENT:return {type:CommerceEventType.SUCCESS,data:{type:CommerceSuccessEventType.BRIDGE_SUCCESS,data:o}};case BridgeEventType.CLAIM_WITHDRAWAL_SUCCESS:return {type:CommerceEventType.SUCCESS,data:{type:CommerceSuccessEventType.BRIDGE_CLAIM_WITHDRAWAL_SUCCESS,data:o}};case BridgeEventType.CLAIM_WITHDRAWAL_FAILURE:return {type:CommerceEventType.FAILURE,data:{type:CommerceFailureEventType.BRIDGE_CLAIM_WITHDRAWAL_FAILED,data:o}};case BridgeEventType.FAILURE:return {type:CommerceEventType.FAILURE,data:{type:CommerceFailureEventType.BRIDGE_FAILED,data:o}};case BridgeEventType.CLOSE_WIDGET:return {type:CommerceEventType.CLOSE,data:{}};default:throw new Error(`Unknown bridge event type "${e.detail.type}"`)}}function Ke(e){let{type:t,data:o}=e.detail;switch(t){case OnRampEventType.SUCCESS:return {type:CommerceEventType.SUCCESS,data:{type:CommerceSuccessEventType.ONRAMP_SUCCESS,data:o}};case OnRampEventType.FAILURE:return {type:CommerceEventType.FAILURE,data:{type:CommerceFailureEventType.ONRAMP_FAILED,data:o}};case OnRampEventType.CLOSE_WIDGET:return {type:CommerceEventType.CLOSE,data:{}};default:throw new Error(`Unknown onRamp event type "${e.detail.type}"`)}}function Qe(e){let{type:t,data:o}=e.detail;switch(t){case SaleEventType.SUCCESS:return {type:CommerceEventType.SUCCESS,data:{type:CommerceSuccessEventType.SALE_SUCCESS,data:o}};case SaleEventType.FAILURE:return {type:CommerceEventType.FAILURE,data:{type:CommerceFailureEventType.SALE_FAILED,data:o}};case SaleEventType.CLOSE_WIDGET:return {type:CommerceEventType.CLOSE,data:{}};case SaleEventType.TRANSACTION_SUCCESS:return {type:CommerceEventType.SUCCESS,data:{type:CommerceSuccessEventType.SALE_TRANSACTION_SUCCESS,data:o}};case SaleEventType.PAYMENT_METHOD:return {type:CommerceEventType.USER_ACTION,data:{type:CommerceUserActionEventType.PAYMENT_METHOD_SELECTED,data:o}};case SaleEventType.PAYMENT_TOKEN:return {type:CommerceEventType.USER_ACTION,data:{type:CommerceUserActionEventType.PAYMENT_TOKEN_SELECTED,data:o}};default:throw new Error(`Unknown sale event type "${e.detail.type}"`)}}function ue(e){if(e.detail.type===ProviderEventType.PROVIDER_UPDATED)return {type:CommerceEventType.PROVIDER_UPDATED,data:e.detail.data};switch(e.type){case IMTBLWidgetEvents.IMTBL_CONNECT_WIDGET_EVENT:return Me(e);case IMTBLWidgetEvents.IMTBL_WALLET_WIDGET_EVENT:return ke(e);case IMTBLWidgetEvents.IMTBL_SWAP_WIDGET_EVENT:return xe(e);case IMTBLWidgetEvents.IMTBL_ADD_TOKENS_WIDGET_EVENT:return Fe(e);case IMTBLWidgetEvents.IMTBL_BRIDGE_WIDGET_EVENT:return Ge(e);case IMTBLWidgetEvents.IMTBL_ONRAMP_WIDGET_EVENT:return Ke(e);case IMTBLWidgetEvents.IMTBL_SALE_WIDGET_EVENT:return Qe(e);default:throw new Error(`Unknown widget event type "${e.type}"`)}}d();c();function ye(e){switch(e){case OrchestrationEventType.REQUEST_SWAP:return CommerceFlowType.SWAP;case OrchestrationEventType.REQUEST_CONNECT:return CommerceFlowType.CONNECT;case OrchestrationEventType.REQUEST_WALLET:return CommerceFlowType.WALLET;case OrchestrationEventType.REQUEST_BRIDGE:return CommerceFlowType.BRIDGE;case OrchestrationEventType.REQUEST_ONRAMP:return CommerceFlowType.ONRAMP;case OrchestrationEventType.REQUEST_ADD_TOKENS:return CommerceFlowType.ADD_TOKENS;default:return null}}d();c();var He=[OrchestrationEventType.REQUEST_CONNECT,OrchestrationEventType.REQUEST_WALLET,OrchestrationEventType.REQUEST_SWAP,OrchestrationEventType.REQUEST_BRIDGE,OrchestrationEventType.REQUEST_ONRAMP,OrchestrationEventType.REQUEST_ADD_TOKENS,OrchestrationEventType.REQUEST_GO_BACK];function _e(e){return He.includes(e.detail.type)}var fe=[IMTBLWidgetEvents.IMTBL_CONNECT_WIDGET_EVENT,IMTBLWidgetEvents.IMTBL_WALLET_WIDGET_EVENT,IMTBLWidgetEvents.IMTBL_SWAP_WIDGET_EVENT,IMTBLWidgetEvents.IMTBL_BRIDGE_WIDGET_EVENT,IMTBLWidgetEvents.IMTBL_ONRAMP_WIDGET_EVENT,IMTBLWidgetEvents.IMTBL_SALE_WIDGET_EVENT,IMTBLWidgetEvents.IMTBL_ADD_TOKENS_WIDGET_EVENT];function ve(e,t,o){let[{history:c},s]=t,m=p=>{let{type:r,data:_}=p.detail;if(r===OrchestrationEventType.REQUEST_GO_BACK){s({payload:{type:"UPDATE_VIEW",view:c?.[0]}});return}if(r===OrchestrationEventType.REQUEST_ONRAMP){let l=_;l.provider&&o(l.provider);}let A=ye(r);A&&s({payload:{type:"UPDATE_VIEW",view:{type:A,data:{params:_,config:{},showBackButton:!0}}}});},C=useMemo(()=>e?p=>{let r=p;if(_e(r)){m(r);return}let _=ue(r);R(e,_);}:null,[e]);useEffect(()=>C?(fe.map(p=>window.addEventListener(p,C)),()=>{fe.map(p=>window.removeEventListener(p,C));}):()=>{},[C]);}d();c();var Y=e=>e.config.isProduction?ChainId.IMTBL_ZKEVM_MAINNET:ChainId.IMTBL_ZKEVM_TESTNET;function Ae(e,t,o){let{type:c}=e;switch(c){case CommerceFlowType.WALLET:return {checkout:t,browserProvider:o,targetChainId:Y(t),allowedChains:[B(t.config),C(t.config)]};case CommerceFlowType.ONRAMP:case CommerceFlowType.ADD_TOKENS:return {checkout:t,browserProvider:o,targetChainId:Y(t),allowedChains:[B(t.config),C(t.config)]};case CommerceFlowType.SALE:case CommerceFlowType.SWAP:return {checkout:t,browserProvider:o,targetChainId:Y(t),allowedChains:[C(t.config)]};default:return {}}}d();c();var q={checkout:void 0,provider:void 0,passport:void 0};var J=createContext({commerceState:q,commerceDispatch:()=>{}});J.displayName="CommerceContext";var Ie=(e,t)=>{switch(t.payload.type){case"SET_CHECKOUT":return {...e,checkout:t.payload.checkout};case"SET_PROVIDER":return {...e,provider:t.payload.provider};case"SET_PASSPORT":return {...e,passport:t.payload.passport};default:return e}};function je(e$1){let{flowParams:t,flowConfig:o,widgetsConfig:c,checkout:s,browserProvider:m}=e$1,{t:C}=useTranslation(),p=ga(),[{view:r,history:_},A]=p,[{eventTarget:l}]=ca(),[x,I]=useReducer(Ie,q),We=useMemo(()=>({commerceState:x,commerceDispatch:I}),[x,I]),{provider:X}=x,Re=useMemo(()=>Ae(r,s,X||m),[r,s,X,m]),Le=t.flow===CommerceFlowType.ADD_TOKENS?()=>{}:void 0,De=useCallback(()=>{let W=["LOADING_VIEW","ERROR_VIEW","SUCCESS_VIEW","TOP_UP_VIEW","SERVICE_UNAVAILABLE_ERROR_VIEW"],B=_.slice(0,-1).filter(({type:Ne})=>!W.includes(Ne)),j=B[B.length-1];j&&A({payload:{type:"UPDATE_VIEW",view:j}});},[_]),Oe=useMemo(()=>W=>{I({payload:{type:"SET_PROVIDER",provider:W}});},[I]);ve(l,p,Oe),useEffect(()=>{m&&I({payload:{type:"SET_PROVIDER",provider:m}});},[I,m]),useEffect(()=>{if(!t.flow)return;let{flow:W,...B}=t;A({payload:{type:"UPDATE_VIEW",view:{type:W,data:{params:B,config:{...o?.[W]||{}}}}}});},[t]),useEffect(()=>{a.includes(t.flow)||A({payload:{type:"UPDATE_VIEW",view:{type:"ERROR_VIEW",error:{name:"InvalidViewType",message:`Invalid view type "${t.flow}"`}}}});},[t.flow]);let ge=useMemo(()=>Se(r.type),[r.type]),Pe=useMemo(()=>Te(r.type),[r.type]),g=!!r.data?.showBackButton;return O(ha,{children:P(J.Provider,{value:We,children:[r.type==="LOADING_VIEW"&&O(S,{loadingText:C("views.LOADING_VIEW.text")}),r.type==="ERROR_VIEW"&&O(v,{onCloseClick:()=>{R(l,{type:CommerceEventType.CLOSE,data:{}});},onActionClick:()=>{},actionText:C("views.ERROR_VIEW.actionText")}),r.type===CommerceFlowType.CONNECT&&O(a$1,{config:c,checkout:s,sendCloseEventOverride:()=>{R(l,{type:CommerceEventType.CLOSE,data:{}});},...r.data.params||{}}),r.type===CommerceFlowType.BRIDGE&&O(a$2,{config:c,checkout:s,browserProvider:m,showBackButton:g,...r.data.params||{}}),Pe&&r.type===CommerceFlowType.ADD_TOKENS&&O(e,{initialState:{checkout:s,toProvider:r.data.params.toProvider},children:O(a$3,{config:c,...r.data.params||{},...r.data.config||{},showBackButton:g})}),ge&&O(b,{widgetConfig:c,params:Re,successEvent:Le,closeEvent:()=>{R(l,{type:CommerceEventType.CLOSE,data:{}});},showBackButton:g,goBackEvent:De,children:P(Suspense,{fallback:O(S,{loadingText:C("views.LOADING_VIEW.text")}),children:[r.type===CommerceFlowType.WALLET&&O(a$4,{config:c,walletConfig:{showNetworkMenu:!0,showDisconnectButton:!0,...r.data.config},...r.data.params||{}}),r.type===CommerceFlowType.SALE&&O(a$5,{config:c,...r.data.params||{},hideExcludedPaymentTypes:!1,waitFulfillmentSettlements:!0,...r.data.config}),r.type===CommerceFlowType.SWAP&&O(a$6,{config:c,...r.data.params||{},...r.data.config||{},showBackButton:g}),r.type===CommerceFlowType.ONRAMP&&O(b$1,{config:c,...r.data.params||{},...r.data.config||{},showBackButton:g})]})})]})})}export{je as default};