coinley-checkout 0.1.0 → 0.1.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.
- package/dist/coinley-checkout.es.js +821 -743
- package/dist/coinley-checkout.umd.js +11 -11
- package/dist/style.css +1 -1
- package/package.json +4 -1
@@ -1,4 +1,4 @@
|
|
1
|
-
(function(m
|
1
|
+
(function(p,m){typeof exports=="object"&&typeof module<"u"?m(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],m):(p=typeof globalThis<"u"?globalThis:p||self,m(p.CoinleyCheckout={},p.React))})(this,function(p,m){"use strict";var me={exports:{}},se={};/**
|
2
2
|
* @license React
|
3
3
|
* react-jsx-runtime.production.min.js
|
4
4
|
*
|
@@ -6,7 +6,7 @@
|
|
6
6
|
*
|
7
7
|
* This source code is licensed under the MIT license found in the
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
9
|
-
*/var De;function
|
9
|
+
*/var De;function tt(){if(De)return se;De=1;var a=m,n=Symbol.for("react.element"),l=Symbol.for("react.fragment"),c=Object.prototype.hasOwnProperty,u=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,f={key:!0,ref:!0,__self:!0,__source:!0};function s(y,i,S){var h,D={},U=null,C=null;S!==void 0&&(U=""+S),i.key!==void 0&&(U=""+i.key),i.ref!==void 0&&(C=i.ref);for(h in i)c.call(i,h)&&!f.hasOwnProperty(h)&&(D[h]=i[h]);if(y&&y.defaultProps)for(h in i=y.defaultProps,i)D[h]===void 0&&(D[h]=i[h]);return{$$typeof:n,type:y,key:U,ref:C,props:D,_owner:u.current}}return se.Fragment=l,se.jsx=s,se.jsxs=s,se}var oe={};/**
|
10
10
|
* @license React
|
11
11
|
* react-jsx-runtime.development.js
|
12
12
|
*
|
@@ -14,19 +14,19 @@
|
|
14
14
|
*
|
15
15
|
* This source code is licensed under the MIT license found in the
|
16
16
|
* LICENSE file in the root directory of this source tree.
|
17
|
-
*/var
|
18
|
-
`+pe+e}}var
|
19
|
-
`),k=
|
20
|
-
`),
|
21
|
-
`+
|
17
|
+
*/var Ae;function rt(){return Ae||(Ae=1,process.env.NODE_ENV!=="production"&&function(){var a=m,n=Symbol.for("react.element"),l=Symbol.for("react.portal"),c=Symbol.for("react.fragment"),u=Symbol.for("react.strict_mode"),f=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),y=Symbol.for("react.context"),i=Symbol.for("react.forward_ref"),S=Symbol.for("react.suspense"),h=Symbol.for("react.suspense_list"),D=Symbol.for("react.memo"),U=Symbol.for("react.lazy"),C=Symbol.for("react.offscreen"),Y=Symbol.iterator,F="@@iterator";function W(e){if(e===null||typeof e!="object")return null;var r=Y&&e[Y]||e[F];return typeof r=="function"?r:null}var A=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function b(e){{for(var r=arguments.length,o=new Array(r>1?r-1:0),d=1;d<r;d++)o[d-1]=arguments[d];ie("error",e,o)}}function ie(e,r,o){{var d=A.ReactDebugCurrentFrame,w=d.getStackAddendum();w!==""&&(r+="%s",o=o.concat([w]));var v=o.map(function(M){return String(M)});v.unshift("Warning: "+r),Function.prototype.apply.call(console[e],console,v)}}var Q=!1,B=!1,K=!1,ce=!1,_=!1,ee;ee=Symbol.for("react.module.reference");function Z(e){return!!(typeof e=="string"||typeof e=="function"||e===c||e===f||_||e===u||e===S||e===h||ce||e===C||Q||B||K||typeof e=="object"&&e!==null&&(e.$$typeof===U||e.$$typeof===D||e.$$typeof===s||e.$$typeof===y||e.$$typeof===i||e.$$typeof===ee||e.getModuleId!==void 0))}function te(e,r,o){var d=e.displayName;if(d)return d;var w=r.displayName||r.name||"";return w!==""?o+"("+w+")":o}function G(e){return e.displayName||"Context"}function E(e){if(e==null)return null;if(typeof e.tag=="number"&&b("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case c:return"Fragment";case l:return"Portal";case f:return"Profiler";case u:return"StrictMode";case S:return"Suspense";case h:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case y:var r=e;return G(r)+".Consumer";case s:var o=e;return G(o._context)+".Provider";case i:return te(e,e.render,"ForwardRef");case D:var d=e.displayName||null;return d!==null?d:E(e.type)||"Memo";case U:{var w=e,v=w._payload,M=w._init;try{return E(M(v))}catch{return null}}}return null}var R=Object.assign,N=0,V,H,X,I,de,x,j;function fe(){}fe.__reactDisabledLog=!0;function je(){{if(N===0){V=console.log,H=console.info,X=console.warn,I=console.error,de=console.group,x=console.groupCollapsed,j=console.groupEnd;var e={configurable:!0,enumerable:!0,value:fe,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}N++}}function we(){{if(N--,N===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:R({},e,{value:V}),info:R({},e,{value:H}),warn:R({},e,{value:X}),error:R({},e,{value:I}),group:R({},e,{value:de}),groupCollapsed:R({},e,{value:x}),groupEnd:R({},e,{value:j})})}N<0&&b("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var re=A.ReactCurrentDispatcher,pe;function ge(e,r,o){{if(pe===void 0)try{throw Error()}catch(w){var d=w.stack.trim().match(/\n( *(at )?)/);pe=d&&d[1]||""}return`
|
18
|
+
`+pe+e}}var ve=!1,ye;{var vt=typeof WeakMap=="function"?WeakMap:Map;ye=new vt}function _e(e,r){if(!e||ve)return"";{var o=ye.get(e);if(o!==void 0)return o}var d;ve=!0;var w=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var v;v=re.current,re.current=null,je();try{if(r){var M=function(){throw Error()};if(Object.defineProperty(M.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(M,[])}catch(O){d=O}Reflect.construct(e,[],M)}else{try{M.call()}catch(O){d=O}e.call(M.prototype)}}else{try{throw Error()}catch(O){d=O}e()}}catch(O){if(O&&d&&typeof O.stack=="string"){for(var g=O.stack.split(`
|
19
|
+
`),k=d.stack.split(`
|
20
|
+
`),L=g.length-1,T=k.length-1;L>=1&&T>=0&&g[L]!==k[T];)T--;for(;L>=1&&T>=0;L--,T--)if(g[L]!==k[T]){if(L!==1||T!==1)do if(L--,T--,T<0||g[L]!==k[T]){var z=`
|
21
|
+
`+g[L].replace(" at new "," at ");return e.displayName&&z.includes("<anonymous>")&&(z=z.replace("<anonymous>",e.displayName)),typeof e=="function"&&ye.set(e,z),z}while(L>=1&&T>=0);break}}}finally{ve=!1,re.current=v,we(),Error.prepareStackTrace=w}var ne=e?e.displayName||e.name:"",J=ne?ge(ne):"";return typeof e=="function"&&ye.set(e,J),J}function Nt(e,r,o){return _e(e,!1)}function bt(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function Me(e,r,o){if(e==null)return"";if(typeof e=="function")return _e(e,bt(e));if(typeof e=="string")return ge(e);switch(e){case S:return ge("Suspense");case h:return ge("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case i:return Nt(e.render);case D:return Me(e.type,r,o);case U:{var d=e,w=d._payload,v=d._init;try{return Me(v(w),r,o)}catch{}}}return""}var le=Object.prototype.hasOwnProperty,$e={},Qe=A.ReactDebugCurrentFrame;function he(e){if(e){var r=e._owner,o=Me(e.type,e._source,r?r.type:null);Qe.setExtraStackFrame(o)}else Qe.setExtraStackFrame(null)}function St(e,r,o,d,w){{var v=Function.call.bind(le);for(var M in e)if(v(e,M)){var g=void 0;try{if(typeof e[M]!="function"){var k=Error((d||"React class")+": "+o+" type `"+M+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[M]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw k.name="Invariant Violation",k}g=e[M](r,M,d,o,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(L){g=L}g&&!(g instanceof Error)&&(he(w),b("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",d||"React class",o,M,typeof g),he(null)),g instanceof Error&&!(g.message in $e)&&($e[g.message]=!0,he(w),b("Failed %s type: %s",o,g.message),he(null))}}}var Lt=Array.isArray;function Ne(e){return Lt(e)}function Ct(e){{var r=typeof Symbol=="function"&&Symbol.toStringTag,o=r&&e[Symbol.toStringTag]||e.constructor.name||"Object";return o}}function Tt(e){try{return Ge(e),!1}catch{return!0}}function Ge(e){return""+e}function We(e){if(Tt(e))return b("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Ct(e)),Ge(e)}var ue=A.ReactCurrentOwner,Dt={key:!0,ref:!0,__self:!0,__source:!0},Be,Ze,be;be={};function At(e){if(le.call(e,"ref")){var r=Object.getOwnPropertyDescriptor(e,"ref").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function It(e){if(le.call(e,"key")){var r=Object.getOwnPropertyDescriptor(e,"key").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function kt(e,r){if(typeof e.ref=="string"&&ue.current&&r&&ue.current.stateNode!==r){var o=E(ue.current.type);be[o]||(b('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',E(ue.current.type),e.ref),be[o]=!0)}}function Et(e,r){{var o=function(){Be||(Be=!0,b("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",r))};o.isReactWarning=!0,Object.defineProperty(e,"key",{get:o,configurable:!0})}}function Ot(e,r){{var o=function(){Ze||(Ze=!0,b("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",r))};o.isReactWarning=!0,Object.defineProperty(e,"ref",{get:o,configurable:!0})}}var Pt=function(e,r,o,d,w,v,M){var g={$$typeof:n,type:e,key:r,ref:o,props:M,_owner:v};return g._store={},Object.defineProperty(g._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(g,"_self",{configurable:!1,enumerable:!1,writable:!1,value:d}),Object.defineProperty(g,"_source",{configurable:!1,enumerable:!1,writable:!1,value:w}),Object.freeze&&(Object.freeze(g.props),Object.freeze(g)),g};function Rt(e,r,o,d,w){{var v,M={},g=null,k=null;o!==void 0&&(We(o),g=""+o),It(r)&&(We(r.key),g=""+r.key),At(r)&&(k=r.ref,kt(r,w));for(v in r)le.call(r,v)&&!Dt.hasOwnProperty(v)&&(M[v]=r[v]);if(e&&e.defaultProps){var L=e.defaultProps;for(v in L)M[v]===void 0&&(M[v]=L[v])}if(g||k){var T=typeof e=="function"?e.displayName||e.name||"Unknown":e;g&&Et(M,T),k&&Ot(M,T)}return Pt(e,g,k,w,d,ue.current,M)}}var Se=A.ReactCurrentOwner,He=A.ReactDebugCurrentFrame;function ae(e){if(e){var r=e._owner,o=Me(e.type,e._source,r?r.type:null);He.setExtraStackFrame(o)}else He.setExtraStackFrame(null)}var Le;Le=!1;function Ce(e){return typeof e=="object"&&e!==null&&e.$$typeof===n}function Ve(){{if(Se.current){var e=E(Se.current.type);if(e)return`
|
22
22
|
|
23
|
-
Check the render method of \``+e+"`."}return""}}function
|
23
|
+
Check the render method of \``+e+"`."}return""}}function zt(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\/]/,""),o=e.lineNumber;return`
|
24
24
|
|
25
|
-
Check your code at `+r+":"+
|
25
|
+
Check your code at `+r+":"+o+"."}return""}}var Xe={};function Ut(e){{var r=Ve();if(!r){var o=typeof e=="string"?e:e.displayName||e.name;o&&(r=`
|
26
26
|
|
27
|
-
Check the top-level render call using <`+
|
27
|
+
Check the top-level render call using <`+o+">.")}return r}}function Je(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var o=Ut(r);if(Xe[o])return;Xe[o]=!0;var d="";e&&e._owner&&e._owner!==Se.current&&(d=" It was passed a child from "+E(e._owner.type)+"."),ae(e),b('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',o,d),ae(null)}}function qe(e,r){{if(typeof e!="object")return;if(Ne(e))for(var o=0;o<e.length;o++){var d=e[o];Ce(d)&&Je(d,r)}else if(Ce(e))e._store&&(e._store.validated=!0);else if(e){var w=W(e);if(typeof w=="function"&&w!==e.entries)for(var v=w.call(e),M;!(M=v.next()).done;)Ce(M.value)&&Je(M.value,r)}}}function Yt(e){{var r=e.type;if(r==null||typeof r=="string")return;var o;if(typeof r=="function")o=r.propTypes;else if(typeof r=="object"&&(r.$$typeof===i||r.$$typeof===D))o=r.propTypes;else return;if(o){var d=E(r);St(o,e.props,"prop",d,e)}else if(r.PropTypes!==void 0&&!Le){Le=!0;var w=E(r);b("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",w||"Unknown")}typeof r.getDefaultProps=="function"&&!r.getDefaultProps.isReactClassApproved&&b("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Ft(e){{for(var r=Object.keys(e.props),o=0;o<r.length;o++){var d=r[o];if(d!=="children"&&d!=="key"){ae(e),b("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",d),ae(null);break}}e.ref!==null&&(ae(e),b("Invalid attribute `ref` supplied to `React.Fragment`."),ae(null))}}var Ke={};function et(e,r,o,d,w,v){{var M=Z(e);if(!M){var g="";(e===void 0||typeof e=="object"&&e!==null&&Object.keys(e).length===0)&&(g+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var k=zt(w);k?g+=k:g+=Ve();var L;e===null?L="null":Ne(e)?L="array":e!==void 0&&e.$$typeof===n?(L="<"+(E(e.type)||"Unknown")+" />",g=" Did you accidentally export a JSX literal instead of a component?"):L=typeof e,b("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",L,g)}var T=Rt(e,r,o,w,v);if(T==null)return T;if(M){var z=r.children;if(z!==void 0)if(d)if(Ne(z)){for(var ne=0;ne<z.length;ne++)qe(z[ne],e);Object.freeze&&Object.freeze(z)}else b("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else qe(z,e)}if(le.call(r,"key")){var J=E(e),O=Object.keys(r).filter(function(Bt){return Bt!=="key"}),Te=O.length>0?"{key: someKey, "+O.join(": ..., ")+": ...}":"{key: someKey}";if(!Ke[J+Te]){var Wt=O.length>0?"{"+O.join(": ..., ")+": ...}":"{}";b(`A props object containing a "key" prop is being spread into JSX:
|
28
28
|
let props = %s;
|
29
29
|
<%s {...props} />
|
30
30
|
React keys must be passed directly to JSX without using spread:
|
31
31
|
let props = %s;
|
32
|
-
<%s key={someKey} {...props} />`,Ce,$,Gt,$),Ke[$+Ce]=!0}}return e===l?_t(T):zt(T),T}}function Yt(e,r,s){return qe(e,r,s,!0)}function Ut(e,r,s){return qe(e,r,s,!1)}var Ft=Ut,Wt=Yt;ee.Fragment=l,ee.jsx=Ft,ee.jsxs=Wt}()),ee}process.env.NODE_ENV==="production"?he.exports=et():he.exports=tt();var t=he.exports;const Ee=M.createContext(),rt=()=>M.useContext(Ee),nt=({initialTheme:n="light",children:a})=>{const[i,l]=M.useState(n),x=()=>{l(f=>f==="light"?"dark":"light")};return M.useEffect(()=>{document.documentElement.classList.remove("light","dark"),document.documentElement.classList.add(i)},[i]),t.jsx(Ee.Provider,{value:{theme:i,setTheme:l,toggleTheme:x},children:a})};let O={apiKey:null,apiSecret:null,apiUrl:"http://localhost:9000"};const at=n=>{O={...O,...n},console.log("API initialized with:",O)},H=()=>({"Content-Type":"application/json","x-api-key":O.apiKey,"x-api-secret":O.apiSecret}),ke=async n=>{try{console.log("Creating payment with data:",n),console.log("API URL:",`${O.apiUrl}/api/payments/create`);const a=await fetch(`${O.apiUrl}/api/payments/create`,{method:"POST",headers:H(),body:JSON.stringify(n)});if(console.log("Create payment response status:",a.status),!a.ok){const l=await a.json();throw console.error("Error creating payment:",l),new Error(l.error||`Failed to create payment: ${a.status}`)}const i=await a.json();return console.log("Create payment response data:",i),i}catch(a){throw console.error("Create payment error:",a),a}},st=async n=>{try{console.log("Getting payment:",n);const a=await fetch(`${O.apiUrl}/api/payments/${n}`,{method:"GET",headers:H()});if(!a.ok){const l=await a.json();throw console.error("Error getting payment:",l),new Error(l.error||`Failed to get payment: ${a.status}`)}const i=await a.json();return console.log("Get payment response:",i),i}catch(a){throw console.error("Get payment error:",a),a}},Ae=async n=>{try{console.log("Processing payment with data:",n),console.log("API URL:",`${O.apiUrl}/api/payments/process`);const a=await fetch(`${O.apiUrl}/api/payments/process`,{method:"POST",headers:H(),body:JSON.stringify(n)});if(console.log("Process payment response status:",a.status),!a.ok){const l=await a.json();throw console.error("Error processing payment:",l),new Error(l.error||`Failed to process payment: ${a.status}`)}const i=await a.json();return console.log("Process payment response data:",i),i}catch(a){throw console.error("Process payment error:",a),a}},ot=async(n={})=>{try{const{page:a=1,limit:i=10,status:l,currency:x,startDate:f,endDate:p,search:C}=n,o=new URLSearchParams;o.append("page",a),o.append("limit",i),l&&o.append("status",l),x&&o.append("currency",x),f&&o.append("startDate",f),p&&o.append("endDate",p),C&&o.append("search",C);const D=`${O.apiUrl}/api/payments/merchant/list?${o.toString()}`,h=await fetch(D,{method:"GET",headers:H()});if(!h.ok){const I=await h.json();throw new Error(I.error||`Failed to get payments: ${h.status}`)}return await h.json()}catch(a){throw console.error("Get merchant payments error:",a),a}},it=async()=>{try{const n=await fetch(`${O.apiUrl}/api/payments/merchant/stats`,{method:"GET",headers:H()});if(!n.ok){const a=await n.json();throw new Error(a.error||`Failed to get payment stats: ${n.status}`)}return await n.json()}catch(n){throw console.error("Get merchant payment stats error:",n),n}},ct=async()=>{try{const n=await fetch(`${O.apiUrl}/api/payments/currencies`,{method:"GET",headers:H()});if(!n.ok){const a=await n.json();throw new Error(a.error||`Failed to get currencies: ${n.status}`)}return await n.json()}catch(n){return console.error("Get supported currencies error:",n),{currencies:[{id:"USDT",name:"Tether USD",network:"ethereum"},{id:"USDC",name:"USD Coin",network:"ethereum"},{id:"BNB",name:"Binance Coin",network:"binance"},{id:"SOL",name:"Solana",network:"solana"},{id:"USDC_SOL",name:"USD Coin (Solana)",network:"solana"}]}}},Oe=M.createContext(),lt=()=>M.useContext(Oe),ut=({apiKey:n,apiSecret:a,apiUrl:i="http://localhost:9000",debug:l=!1,children:x})=>{const[f,p]=M.useState(!1),[C,o]=M.useState(null);M.useEffect(()=>{if(!n||!a){o("API key and secret are required");return}try{at({apiKey:n,apiSecret:a,apiUrl:i}),p(!0),l&&console.log("Coinley SDK initialized with:",{apiKey:n,apiUrl:i})}catch(h){o(h.message),l&&console.error("Coinley SDK initialization error:",h)}},[n,a,i,l]);const D={apiKey:n,apiSecret:a,apiUrl:i,isInitialized:f,error:C,debug:l};return t.jsx(Oe.Provider,{value:D,children:x})},dt=({onSelect:n,selected:a,theme:i="light"})=>{console.log("PaymentMethods render:",{selected:a});const l=[{id:"USDT",name:"USDT",description:"Tether USD",logo:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48Y2lyY2xlIGN4PSIxNiIgY3k9IjE2IiByPSIxNiIgZmlsbD0iIzI2QTE3QiIvPjxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik0xNy45MjIgMTcuMzgzdi0uMDAyYy0uMTEuMDA4LS42NzcuMDQyLTEuOTQyLjA0Mi0xLjAxIDAtMS43MjEtLjAzLTEuOTcxLS4wNDJ2LjAwM2MtMy44ODgtLjE3MS02Ljc5LS44NDgtNi43OS0xLjY1OCAwLS44MDkgMi45MDItMS40ODYgNi43OS0xLjY2di4wNDdjLjI1NC4wMTguOTgyLjA0NSAxLjk4OC4wNDUgMS4yMDcgMCAxLjgxMi0uMDM2IDEuOTI1LS4wNDZ2LS4wNDRjMy44OC4xNzQgNi43NzUuODUxIDYuNzc1IDEuNjU4IDAgLjgwNy0yLjg5NSAxLjQ4NS02Ljc3NSAxLjY1N3ptMC0zLjU2NnYtLjA0N2MuMS0uMDA4LjYyNS0uMDQ1IDEuOTI1LS4wNDUgMS4wMDUgMCAxLjczNC4wMjcgMS45ODguMDQ2di0yLjg0MWgtMy45MXYyLjgzOWMtLjExMS4wMDgtLjY4LjA0Ni0xLjk3MS4wNDYtMS4yNDMgMC0xLjgzMi0uMDM4LTEuOTQyLS4wNDZ2LTIuODRoLTMuOTF2Mi44MzhjLjI1NC4wMi45ODIuMDQ2IDEuOTg4LjA0NiAxLjIwOCAwIDEuODEyLS4wMzggMS45MjUtLjA0NnYuMDQ3QzguNDUgMTQuMDI1IDUgMTQuNzM3IDUgMTUuNzI0djMuMmMwIC45ODYgMy40NSAxLjY5OCA3Ljk4MiAxLjgyOXYuMDQ3Yy0uMTEzLjAwOC0uNzE3LjA0Ni0xLjkyNS4wNDYtMS4wMDYgMC0xLjczNC0uMDI2LTEuOTg4LS4wNDZ2Mi44MzhoMy45MXYtMi44MzZjLjExLS4wMDguNjk5LS4wNDYgMS45NDItLjA0NiAxLjI2MiAwIDEuODMxLjAzOCAxLjk3MS4wNDZ2Mi44MzdoMy45MXYtMi44MzljLS4yNTQtLjAyLS45ODMtLjA0Ny0xLjk4OC0uMDQ3LTEuMzAyIDAtMS44MjQuMDM5LTEuOTI1LjA0N3YtLjA0NWM0LjUxOS0uMTMgNy45NTQtLjg0MyA3Ljk1NC0xLjgzdi0zLjJjMC0uOTg3LTMuNDM1LTEuNjk5LTcuOTU0LTEuODN6Ii8+PC9nPjwvc3ZnPg=="},{id:"USDC",name:"USDC",description:"USD Coin",logo:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48Y2lyY2xlIGN4PSIxNiIgY3k9IjE2IiByPSIxNiIgZmlsbD0iIzJCNzVFRCIvPjxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik0yMS4yMDkgOS43MzlsLTIuOTQxIDIuOTQxYTMuMTMyIDMuMTMyIDAgMDAtNC41MzYgMGwtMi45NDItMi45NDFhNy42MjMgNy42MjMgMCAwMTEwLjQxOSAwek0xMC43OTEgMjIuMjYxbDIuOTQxLTIuOTQxYTMuMTMyIDMuMTMyIDAgMDA0LjUzNiAwbDIuOTQyIDIuOTQxYTcuNjIzIDcuNjIzIDAgMDEtMTAuNDE5IDB6bTExLjU3NS00LjI2MWgtNC4xNTNhMy4xMzMgMy4xMzMgMCAwMDAtNC41MzdoNC4xNTNhNy42MjEgNy42MjEgMCAwMTAgNC41Mzd6bS0xMy43OTMtNC41MzdoNC4xNTNhMy4xMzMgMy4xMzMgMCAwMDAgNC41MzdIOS42ODZhNy42MjEgNy42MjEgMCAwMTAtNC41Mzd6Ii8+PC9nPjwvc3ZnPg=="},{id:"BNB",name:"BNB",description:"Binance Coin",logo:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PGcgZmlsbD0ibm9uZSI+PGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTYiIGZpbGw9IiNGM0JBMkYiLz48cGF0aCBmaWxsPSIjRkZGIiBkPSJNMTIuMTE2IDE0LjQwNEwxNiAxMC41MmwzLjg4NiAzLjg4NmwtMi4yNiAyLjI1OEwxNiAxNC4xNDlsLTEuNjM0IDEuNjM1LTIuMjUtMi4yNTl6bTkuMTUyLS4wMDFsMi4yNi0yLjI1OSAyLjg4NyAyLjg4Ny0yLjI1OSAyLjI1OS0yLjg4OC0yLjg4N3pNMTIuMTE1IDE3LjU5NmwyLjI2LTIuMjU5IDIuODg3IDIuODg3LTIuMjU5IDIuMjU5LTIuODg4LTIuODg3em0tNC4yMjktLjAwMWwyLjI2LTIuMjU5IDIuODg3IDIuODg3LTIuMjU5IDIuMjU5LTIuODg4LTIuODg3em02LjM0NCAwTDE2IDE5LjM2NWwxLjc3Mi0xLjc3MSAyLjI1OCAyLjI1OS0xLjc3MiAxLjc3Mi0uMTcuMTctMS45MTUgMS45MTMtNC4wNDUtNC4wNDUuMDA1LS4wMDQuMDAzLS4wMDYuMDk0LS4wOTQuMDgtLjA3OXoiLz48L2c+PC9zdmc+"},{id:"SOL",name:"SOL",description:"Solana",logo:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PGcgZmlsbD0ibm9uZSI+PGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTYiIGZpbGw9IiM0MDNCODIiLz48cGF0aCBkPSJNMTIuNDQgMTAuMmE1NDUuNzYgNTQ1Ljc2IDAgMDE4LjMyLTQuNjZjLjE0LS4wOC4zIDAgLjMuMTlWOC42cy0uMDEuMTQtLjExLjJDMTkuNDQgOS42NyAxOCAyMC4wOCAxOCAyMC4wOGwtLjA0LjEzYy0uMS4zNC0uMzYuNjEtLjcuNzVsLS40Mi4xN2MtLjEzLjA1LS41OS4xNS0uNTkuMTUtLjE5LjA1LS4zNy0uMTMtLjI2LS4zbDYuNDUtMTJhLjM0LjM0IDAgMDAtLjAzLS4zNy4zMi4zMiAwIDAwLS4zMi0uMDlsLTkuOS41LjAxLjI5elptOS4wNiA0LjA0Yy4wOC0uMDkuMjMtLjA2LjMuMDUuMzYuNDQuMzYgMS4wNiAwIDEuNS0uMzcuNDQtMTAuMzcgMTIuMDQtMTAuMzcgMTIuMDRsLS4xMy4xNmMtLjEzLjE1LS4zMi4yNS0uNTIuMjlsLS4yOC4wNGMtLjI0LjAzLS41My0uMDUtLjY4LS4yM0w2LjU2IDI0Yy0uMTQtLjE1LS4wNS0uNC4xNS0uNDNsMTMuODMtOC4yMWMuMzgtLjIzLjY1LS42LjcyLTEuMDRsLjA4LS4zYy4wMy0uMTEuMS0uMi4xNi0uMjh6TTYuNTYgMTIuNTV2LTEuMnMuMDQtLjE3LjEzLS4yM2MuMDktLjA2LjIzLTEuMDQuMjMtMS4wNC4wMy0uMjIuMTYtLjQyLjM2LS41M2wuNC0uMjJjLjA4LS4wNC41My0uNDUuNTMtLjQ1LjEzLS4xLjMtLjAzLjM0LjEzIDAgMCAxLjg5IDkuMDEgMS44OSA5LjAxLjA1LjMtLjE3LjU2LS40NC42OWwtLjQ4LjI0Yy0uMy4xNS0xMS40NSA1LjgtMTEuNDUgNS44LS4yMi4xMi0uNTctLjA0LS41Ny0uMzJWMTJjLS4wMi0uMzUuMjQtLjY2LjU3LS43aDguNDRhLjY3LjY3IDAgMDAuNjEtLjM4di0uMDJjLjA3LS4xNi4yNC0uMjQuNC0uMmwuMjUuMDRjLjE0LjAyLjMuMTguMy4xOHoiIGZpbGw9IiNmZmYiLz48L2c+PC9zdmc+"},{id:"USDC_SOL",name:"USDC (Solana)",description:"USD Coin on Solana",logo:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48Y2lyY2xlIGN4PSIxNiIgY3k9IjE2IiByPSIxNiIgZmlsbD0iIzJCNzVFRCIvPjxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik0yMS4yMDkgOS43MzlsLTIuOTQxIDIuOTQxYTMuMTMyIDMuMTMyIDAgMDAtNC41MzYgMGwtMi45NDItMi45NDFhNy42MjMgNy42MjMgMCAwMTEwLjQxOSAwek0xMC43OTEgMjIuMjYxbDIuOTQxLTIuOTQxYTMuMTMyIDMuMTMyIDAgMDA0LjUzNiAwbDIuOTQyIDIuOTQxYTcuNjIzIDcuNjIzIDAgMDEtMTAuNDE5IDB6bTExLjU3NS00LjI2MWgtNC4xNTNhMy4xMzMgMy4xMzMgMCAwMDAtNC41MzdoNC4xNTNhNy42MjEgNy42MjEgMCAwMTAgNC41Mzd6bS0xMy43OTMtNC41MzdoNC4xNTNhMy4xMzMgMy4xMzMgMCAwMDAgNC41MzdIOS42ODZhNy42MjEgNy42MjEgMCAwMTAtNC41Mzd6Ii8+PC9nPjwvc3ZnPg=="}],x=f=>{console.log("Method selected:",f),n(f)};return t.jsxs("div",{children:[t.jsx("h3",{className:`text-lg font-medium mb-3 ${i==="dark"?"text-white":"text-gray-800"}`,children:"Select Payment Method"}),t.jsx("div",{className:"space-y-2",children:l.map(f=>t.jsxs("button",{onClick:()=>x(f.id),className:`w-full flex items-center p-3 rounded-lg transition-colors ${a===f.id?i==="dark"?"bg-blue-900/30 border border-blue-500":"bg-blue-50 border border-blue-500":i==="dark"?"bg-gray-700 hover:bg-gray-600 border border-gray-700":"bg-white hover:bg-gray-50 border border-gray-200"}`,children:[t.jsx("div",{className:"flex-shrink-0 h-10 w-10 bg-white rounded-full flex items-center justify-center mr-3",children:t.jsx("img",{src:f.logo,alt:f.name,className:"h-6 w-6"})}),t.jsxs("div",{className:"flex-1 text-left",children:[t.jsx("h4",{className:`font-medium ${i==="dark"?"text-white":"text-gray-900"}`,children:f.name}),t.jsx("p",{className:`text-sm ${i==="dark"?"text-gray-300":"text-gray-500"}`,children:f.description})]}),a===f.id&&t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5 text-blue-500",viewBox:"0 0 20 20",fill:"currentColor",children:t.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})})]},f.id))})]})},je=({status:n,theme:a="light",message:i})=>{console.log("PaymentStatus render:",{status:n,message:i});const l=()=>{switch(n){case"processing":return t.jsx("div",{className:"animate-spin rounded-full h-12 w-12 border-4 border-t-blue-500 border-blue-500/20"});case"success":return t.jsx("div",{className:"rounded-full h-12 w-12 bg-green-100 flex items-center justify-center",children:t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-8 w-8 text-green-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})})});case"error":return t.jsx("div",{className:"rounded-full h-12 w-12 bg-red-100 flex items-center justify-center",children:t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-8 w-8 text-red-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})});default:return null}},x=()=>{switch(n){case"processing":return"Processing Payment";case"success":return"Payment Successful";case"error":return"Payment Failed";default:return"Unknown Status"}},f=()=>{switch(n){case"processing":return a==="dark"?"text-blue-300":"text-blue-600";case"success":return a==="dark"?"text-green-300":"text-green-600";case"error":return a==="dark"?"text-red-300":"text-red-600";default:return a==="dark"?"text-gray-300":"text-gray-600"}};return t.jsxs("div",{className:"flex flex-col items-center justify-center py-6",children:[t.jsx("div",{className:"mb-4",children:l()}),t.jsx("h3",{className:`text-xl font-bold mb-2 ${a==="dark"?"text-white":"text-gray-900"}`,children:x()}),t.jsx("p",{className:`text-center ${f()}`,children:i}),n==="processing"&&t.jsx("div",{className:`mt-4 text-xs ${a==="dark"?"text-gray-400":"text-gray-500"}`,children:"This may take a few moments. Please do not close this window."}),n==="success"&&t.jsx("div",{className:`mt-4 p-2 rounded ${a==="dark"?"bg-gray-700":"bg-gray-100"}`,children:t.jsx("p",{className:`text-xs ${a==="dark"?"text-gray-300":"text-gray-600"}`,children:"Your payment has been successfully processed. You will receive a confirmation shortly."})})]})},W=()=>typeof window<"u"&&typeof window.ethereum<"u",Pe=async()=>{if(!W())throw new Error("MetaMask is not installed");try{return await window.ethereum.request({method:"eth_requestAccounts"})}catch(n){throw console.error("Error connecting to wallet:",n),n}},Re=async()=>{if(!W())throw new Error("MetaMask is not installed");try{return await window.ethereum.request({method:"eth_accounts"})}catch(n){throw console.error("Error getting accounts:",n),n}},ft=async()=>{if(!W())throw new Error("MetaMask is not installed");try{return await window.ethereum.request({method:"eth_chainId"})}catch(n){throw console.error("Error getting chain ID:",n),n}},ze=async n=>{if(!W())throw new Error("MetaMask is not installed");try{return await window.ethereum.request({method:"eth_sendTransaction",params:[n]})}catch(a){throw console.error("Error sending transaction:",a),a}},gt=async(n,a,i)=>{if(!W())throw new Error("MetaMask is not installed");try{const x=(await window.ethereum.request({method:"eth_requestAccounts"}))[0],f="0xa9059cbb",p=a.slice(2).padStart(64,"0"),C=i.toString(16).padStart(64,"0"),o=`${f}${p}${C}`,D={from:x,to:n,data:o};return await window.ethereum.request({method:"eth_sendTransaction",params:[D]})}catch(l){throw console.error("Error sending token:",l),l}},Mt=async()=>{try{return(await Re()).length>0}catch{return!1}},yt=n=>({"0x1":"Ethereum Mainnet","0x3":"Ropsten Testnet","0x4":"Rinkeby Testnet","0x5":"Goerli Testnet","0x2a":"Kovan Testnet","0x38":"Binance Smart Chain","0x89":"Polygon","0xa86a":"Avalanche"})[n]||`Unknown Network (${n})`,mt=async(n,a)=>{if(!W())throw new Error("MetaMask is not installed");try{const i="0x70a08231",l=a.slice(2).padStart(64,"0"),x=`${i}${l}`,f=await window.ethereum.request({method:"eth_call",params:[{to:n,data:x},"latest"]});return parseInt(f,16).toString()}catch(i){throw console.error("Error getting token balance:",i),i}},ht={USDT:"0xdAC17F958D2ee523a2206206994597C13D831ec7",USDC:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",DAI:"0x6B175474E89094C44Da98b954EedeAC495271d0F",WETH:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",WBTC:"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599"},_e=({isOpen:n,onClose:a,payment:i,paymentStatus:l,selectedCurrency:x,onCurrencySelect:f,onPayment:p,error:C,theme:o="light",merchantName:D,transactionHash:h,walletConnected:I,onConnectWallet:R,testMode:b=!1})=>{const[z,_]=M.useState("select-currency"),[Q,E]=M.useState(!1);M.useEffect(()=>{E(W())},[]),M.useEffect(()=>{l==="loading"?_("processing"):l==="success"?_("success"):l==="error"?_("error"):l==="idle"&&i&&_("select-currency")},[l,i]);const S=w=>{f(w),_("confirm")},te=()=>{p()},Y=()=>{z==="confirm"&&_("select-currency")},V=()=>{a()},re=w=>parseFloat(w).toFixed(2),ne=w=>w?w.length<=14?w:`${w.slice(0,8)}...${w.slice(-6)}`:"",U=`fixed inset-0 z-50 overflow-y-auto ${o==="dark"?"bg-gray-900/75":"bg-black/50"}`,J=`relative p-6 w-full max-w-md mx-auto rounded-lg shadow-xl ${o==="dark"?"bg-gray-800 text-white":"bg-white text-gray-800"}`,B=`text-xl font-bold mb-4 ${o==="dark"?"text-white":"text-gray-900"}`,Z=`w-full py-2 px-4 rounded-md font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 ${o==="dark"?"bg-blue-600 hover:bg-blue-700 text-white focus:ring-blue-500":"bg-blue-500 hover:bg-blue-600 text-white focus:ring-blue-500"}`,F=`w-full py-2 px-4 rounded-md font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 ${o==="dark"?"bg-gray-700 hover:bg-gray-600 text-white focus:ring-gray-500":"bg-gray-200 hover:bg-gray-300 text-gray-800 focus:ring-gray-500"}`;return n?t.jsx("div",{className:U,children:t.jsx("div",{className:"flex min-h-screen items-center justify-center p-4",children:t.jsxs("div",{className:J,children:[t.jsxs("div",{className:"flex justify-between items-center mb-6",children:[t.jsxs("div",{className:"flex items-center",children:[t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-6 h-6 mr-2 text-blue-500",children:t.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm.31-8.86c-1.77-.45-2.34-.94-2.34-1.67 0-.84.79-1.43 2.1-1.43 1.38 0 1.9.66 1.94 1.64h1.71c-.05-1.34-.87-2.57-2.49-2.97V5H10.9v1.69c-1.51.32-2.72 1.3-2.72 2.81 0 1.79 1.49 2.69 3.66 3.21 1.95.46 2.34 1.15 2.34 1.87 0 .53-.39 1.39-2.1 1.39-1.6 0-2.23-.72-2.32-1.64H8.04c.1 1.7 1.36 2.66 2.86 2.97V19h2.34v-1.67c1.52-.29 2.72-1.16 2.73-2.77-.01-2.2-1.9-2.96-3.66-3.42z"})}),t.jsx("h2",{className:B,children:"Coinley Pay"})]}),t.jsx("button",{onClick:V,className:`text-gray-500 hover:text-gray-700 focus:outline-none ${o==="dark"?"text-gray-400 hover:text-gray-300":""}`,children:t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),t.jsxs("div",{className:"mb-6",children:[i&&t.jsxs("div",{className:`mb-6 p-4 rounded-lg ${o==="dark"?"bg-gray-700":"bg-gray-100"}`,children:[t.jsx("p",{className:`text-sm ${o==="dark"?"text-gray-300":"text-gray-600"}`,children:D}),t.jsxs("div",{className:"flex justify-between items-center mt-2",children:[t.jsx("span",{className:`font-medium ${o==="dark"?"text-gray-300":"text-gray-700"}`,children:"Amount:"}),t.jsxs("span",{className:"font-bold text-xl",children:["$",re(i.totalAmount||i.amount)]})]}),t.jsx("div",{className:"text-xs mt-1 text-right",children:t.jsxs("span",{className:`${o==="dark"?"text-gray-400":"text-gray-500"}`,children:["Payment ID: ",i.id.slice(0,8),"..."]})})]}),z==="select-currency"&&t.jsx(dt,{onSelect:S,selected:x,theme:o}),z==="confirm"&&i&&t.jsxs("div",{children:[t.jsxs("div",{className:`p-4 rounded-lg mb-4 ${o==="dark"?"bg-gray-700":"bg-gray-100"}`,children:[t.jsx("h3",{className:`text-lg font-medium mb-2 ${o==="dark"?"text-white":"text-gray-800"}`,children:"Payment Details"}),t.jsxs("div",{className:"space-y-2",children:[t.jsxs("div",{className:"flex justify-between",children:[t.jsx("span",{className:o==="dark"?"text-gray-300":"text-gray-600",children:"Currency:"}),t.jsx("span",{className:"font-medium",children:x})]}),t.jsxs("div",{className:"flex justify-between",children:[t.jsx("span",{className:o==="dark"?"text-gray-300":"text-gray-600",children:"Network:"}),t.jsx("span",{className:"font-medium",children:x==="SOL"||x==="USDC_SOL"?"Solana":"Ethereum"})]}),t.jsxs("div",{className:"flex justify-between",children:[t.jsx("span",{className:o==="dark"?"text-gray-300":"text-gray-600",children:"Fee:"}),t.jsx("span",{className:"font-medium",children:"1.75%"})]})]})]}),b?t.jsx("div",{className:`p-4 rounded-lg mb-4 ${o==="dark"?"bg-blue-900/20":"bg-blue-50"}`,children:t.jsxs("div",{className:"flex items-center",children:[t.jsx("div",{className:"bg-blue-500 rounded-full p-2 mr-3",children:t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-6 w-6 text-white",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 10V3L4 14h7v7l9-11h-7z"})})}),t.jsxs("div",{children:[t.jsx("h3",{className:`font-medium ${o==="dark"?"text-white":"text-gray-800"}`,children:"Test Mode Payment"}),t.jsx("p",{className:`text-sm ${o==="dark"?"text-gray-300":"text-gray-600"}`,children:'Click "Pay Now" to simulate a successful payment'})]})]})}):Q?t.jsxs("div",{className:`p-4 rounded-lg mb-4 ${o==="dark"?"bg-blue-900/20":"bg-blue-50"}`,children:[t.jsxs("div",{className:"flex items-center",children:[t.jsx("img",{src:"https://metamask.io/images/metamask-fox.svg",alt:"MetaMask",className:"w-8 h-8 mr-2"}),t.jsxs("div",{children:[t.jsx("h3",{className:`font-medium ${o==="dark"?"text-white":"text-gray-800"}`,children:"Pay with MetaMask"}),t.jsx("p",{className:`text-sm ${o==="dark"?"text-gray-300":"text-gray-600"}`,children:I?"Your wallet is connected. Click 'Pay Now' to proceed.":"Click 'Connect Wallet' to proceed with payment."})]})]}),!I&&t.jsx("button",{onClick:R,className:`mt-3 ${Z}`,children:"Connect Wallet"})]}):t.jsxs("div",{className:`p-4 rounded-lg mb-4 ${o==="dark"?"bg-yellow-900/20":"bg-yellow-50"}`,children:[t.jsxs("div",{className:"flex items-center",children:[t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-6 w-6 text-yellow-500 mr-2",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})}),t.jsxs("div",{children:[t.jsx("h3",{className:`font-medium ${o==="dark"?"text-white":"text-gray-800"}`,children:"MetaMask Not Detected"}),t.jsx("p",{className:`text-sm ${o==="dark"?"text-gray-300":"text-gray-600"}`,children:"Please install MetaMask extension to make payments"})]})]}),t.jsx("a",{href:"https://metamask.io/download/",target:"_blank",rel:"noopener noreferrer",className:`block mt-3 text-center ${Z}`,children:"Install MetaMask"})]}),t.jsxs("div",{className:"mt-6 grid grid-cols-2 gap-3",children:[t.jsx("button",{type:"button",onClick:Y,className:F,children:"Back"}),t.jsx("button",{type:"button",onClick:te,className:Z,disabled:!b&&Q&&!I,children:"Pay Now"})]})]}),z==="processing"&&t.jsx(je,{status:"processing",theme:o,message:"Processing your payment..."}),z==="success"&&t.jsxs("div",{children:[t.jsx(je,{status:"success",theme:o,message:"Payment successful!"}),h&&t.jsxs("div",{className:`mt-4 p-3 rounded-lg ${o==="dark"?"bg-gray-700":"bg-gray-100"}`,children:[t.jsx("p",{className:`text-xs ${o==="dark"?"text-gray-300":"text-gray-600"} mb-1`,children:"Transaction Hash:"}),t.jsx("p",{className:`text-sm font-mono break-all ${o==="dark"?"text-white":"text-gray-800"}`,children:ne(h)}),t.jsx("a",{href:`https://etherscan.io/tx/${h}`,target:"_blank",rel:"noopener noreferrer",className:`text-xs ${o==="dark"?"text-blue-400":"text-blue-600"} mt-2 inline-block`,children:"View on Etherscan →"})]})]}),z==="error"&&t.jsxs("div",{children:[t.jsx(je,{status:"error",theme:o,message:C||"An error occurred while processing your payment."}),t.jsx("button",{type:"button",onClick:Y,className:`mt-4 ${F}`,children:"Try Again"})]})]}),t.jsx("div",{className:`text-center text-xs ${o==="dark"?"text-gray-400":"text-gray-500"}`,children:t.jsx("p",{children:"Powered by Coinley - Secure Cryptocurrency Payments"})})]})})}):null},Ye=M.forwardRef(({apiKey:n,apiSecret:a,apiUrl:i,customerEmail:l,merchantName:x="Merchant",onSuccess:f,onError:p,onClose:C,theme:o,autoOpen:D=!1,debug:h=!1,testMode:I=!1},R)=>{const b=lt(),{theme:z}=rt(),[_,Q]=M.useState(D),[E,S]=M.useState(null),[te,Y]=M.useState("idle"),[V,re]=M.useState("USDT"),[ne,U]=M.useState(null),[J,B]=M.useState(null),[Z,F]=M.useState(!1);n||(b==null||b.apiKey),a||(b==null||b.apiSecret),i||(b==null||b.apiUrl);const w=o||z,G=h||(b==null?void 0:b.debug);M.useImperativeHandle(R,()=>({open:u=>{ce(u)},close:()=>{ae()},getPayment:()=>E}));const N=(u,L)=>{G&&console.log(`[Coinley SDK] ${u}`,L)};M.useEffect(()=>{(async()=>{if(W())try{const L=await window.ethereum.request({method:"eth_accounts"});F(L&&L.length>0)}catch(L){N("Error checking wallet connection:",L),F(!1)}else F(!1)})()},[]),M.useEffect(()=>{const u=L=>{F(L.length>0)};return window.ethereum&&window.ethereum.on("accountsChanged",u),()=>{window.ethereum&&window.ethereum.removeListener("accountsChanged",u)}},[]);const ce=async u=>{if(!u||!u.amount){U("Payment amount is required"),p&&p(new Error("Payment amount is required"));return}Y("loading"),Q(!0);try{N("Creating payment with details:",u);const L=await ke({amount:u.amount,currency:u.currency||"USDT",customerEmail:u.customerEmail||l,callbackUrl:u.callbackUrl,metadata:u.metadata||{}});N("Payment created:",L),S(L.payment),Y("idle"),U(null)}catch(L){N("Error creating payment:",L),U(L.message||"Failed to create payment"),Y("error"),p&&p(L)}},ae=()=>{Q(!1),B(null),C&&C()},le=u=>{N("Currency selected:",u),re(u)},se=async()=>{if(!W())return U("MetaMask is not installed. Please install MetaMask to make payments."),!1;try{const u=await Pe();return F(u.length>0),u.length>0}catch(u){return N("Error connecting to wallet:",u),U(u.message||"Failed to connect to wallet"),!1}},ue=async()=>{if(!E){U("No active payment to process");return}N("Starting payment process..."),Y("loading"),B(null);try{N("Processing payment:",{paymentId:E.id,currency:V});let u;if(I)N("Test mode: Generating mock transaction..."),u=`0x${Array.from({length:64},()=>Math.floor(Math.random()*16).toString(16)).join("")}`;else{if(!Z&&!await se())throw new Error("Please connect your wallet to proceed with payment");const de=E.merchantAddress||"0x742d35Cc6634C0532925a3b844Bc454e4438f44e",xe={from:await window.ethereum.request({method:"eth_requestAccounts"}).then(fe=>fe[0]),to:de,value:"0x0",data:"0x"};N("Sending transaction to wallet for approval..."),u=await ze(xe)}N("Transaction hash:",u),B(u),N("Sending process payment request to API...");const L=await Ae({paymentId:E.id,transactionHash:u,network:"ethereum"});N("Payment processed successfully:",L),Y("success"),f&&(N("Calling onSuccess callback..."),f(E.id,u))}catch(u){N("Payment error:",u),U(u.message||"Failed to process payment"),Y("error"),p&&p(u)}};return M.useEffect(()=>{D&&E&&Q(!0)},[D,E]),t.jsx(t.Fragment,{children:_&&t.jsx(_e,{isOpen:_,onClose:ae,payment:E,paymentStatus:te,selectedCurrency:V,onCurrencySelect:le,onPayment:ue,error:ne,theme:w,merchantName:x,transactionHash:J,walletConnected:Z,onConnectWallet:se,testMode:I})})});Ye.displayName="CoinleyCheckout";const Zt="",jt={apiUrl:"http://localhost:9000",debug:!1,testMode:!1,theme:"light"},xt="1.0.0";m.CoinleyCheckout=Ye,m.CoinleyModal=_e,m.CoinleyProvider=ut,m.DEFAULT_CONFIG=jt,m.TOKEN_ADDRESSES=ht,m.ThemeProvider=nt,m.VERSION=xt,m.connectWallet=Pe,m.createPayment=ke,m.getAccounts=Re,m.getChainId=ft,m.getMerchantPaymentStats=it,m.getMerchantPayments=ot,m.getNetworkName=yt,m.getPayment=st,m.getSupportedCurrencies=ct,m.getTokenBalance=mt,m.isMetaMaskInstalled=W,m.isWalletConnected=Mt,m.processPayment=Ae,m.sendToken=gt,m.sendTransaction=ze,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})});
|
32
|
+
<%s key={someKey} {...props} />`,Te,J,Wt,J),Ke[J+Te]=!0}}return e===c?Ft(T):Yt(T),T}}function _t(e,r,o){return et(e,r,o,!0)}function $t(e,r,o){return et(e,r,o,!1)}var Qt=$t,Gt=_t;oe.Fragment=c,oe.jsx=Qt,oe.jsxs=Gt}()),oe}process.env.NODE_ENV==="production"?me.exports=tt():me.exports=rt();var t=me.exports;const Ie=m.createContext(),at=()=>m.useContext(Ie),nt=({initialTheme:a="light",children:n})=>{const[l,c]=m.useState(a),u=()=>{c(f=>f==="light"?"dark":"light")};return m.useEffect(()=>{document.documentElement.classList.remove("light","dark"),document.documentElement.classList.add(l)},[l]),t.jsx(Ie.Provider,{value:{theme:l,setTheme:c,toggleTheme:u},children:n})};let P={apiKey:null,apiSecret:null,apiUrl:"https://coinleyserver-production.up.railway.app"};const st=a=>{P={...P,...a},console.log("API initialized with:",P)},q=()=>({"Content-Type":"application/json","x-api-key":P.apiKey,"x-api-secret":P.apiSecret}),ke=async a=>{try{console.log("Creating payment with data:",a),console.log("API URL:",`${P.apiUrl}/api/payments/create`);const n=await fetch(`${P.apiUrl}/api/payments/create`,{method:"POST",headers:q(),body:JSON.stringify(a)});if(console.log("Create payment response status:",n.status),!n.ok){const c=await n.json();throw console.error("Error creating payment:",c),new Error(c.error||`Failed to create payment: ${n.status}`)}const l=await n.json();return console.log("Create payment response data:",l),l}catch(n){throw console.error("Create payment error:",n),n}},ot=async a=>{try{console.log("Getting payment:",a);const n=await fetch(`${P.apiUrl}/api/payments/${a}`,{method:"GET",headers:q()});if(!n.ok){const c=await n.json();throw console.error("Error getting payment:",c),new Error(c.error||`Failed to get payment: ${n.status}`)}const l=await n.json();return console.log("Get payment response:",l),l}catch(n){throw console.error("Get payment error:",n),n}},Ee=async a=>{try{console.log("Processing payment with data:",a),console.log("API URL:",`${P.apiUrl}/api/payments/process`);const n=await fetch(`${P.apiUrl}/api/payments/process`,{method:"POST",headers:q(),body:JSON.stringify(a)});if(console.log("Process payment response status:",n.status),!n.ok){const c=await n.json();throw console.error("Error processing payment:",c),new Error(c.error||`Failed to process payment: ${n.status}`)}const l=await n.json();return console.log("Process payment response data:",l),l}catch(n){throw console.error("Process payment error:",n),n}},it=async(a={})=>{try{const{page:n=1,limit:l=10,status:c,currency:u,startDate:f,endDate:s,search:y}=a,i=new URLSearchParams;i.append("page",n),i.append("limit",l),c&&i.append("status",c),u&&i.append("currency",u),f&&i.append("startDate",f),s&&i.append("endDate",s),y&&i.append("search",y);const S=`${P.apiUrl}/api/payments/merchant/list?${i.toString()}`,h=await fetch(S,{method:"GET",headers:q()});if(!h.ok){const D=await h.json();throw new Error(D.error||`Failed to get payments: ${h.status}`)}return await h.json()}catch(n){throw console.error("Get merchant payments error:",n),n}},ct=async()=>{try{const a=await fetch(`${P.apiUrl}/api/payments/merchant/stats`,{method:"GET",headers:q()});if(!a.ok){const n=await a.json();throw new Error(n.error||`Failed to get payment stats: ${a.status}`)}return await a.json()}catch(a){throw console.error("Get merchant payment stats error:",a),a}},lt=async()=>{try{const a=await fetch(`${P.apiUrl}/api/payments/currencies`,{method:"GET",headers:q()});if(!a.ok){const n=await a.json();throw new Error(n.error||`Failed to get currencies: ${a.status}`)}return await a.json()}catch(a){return console.error("Get supported currencies error:",a),{currencies:[{id:"USDT",name:"Tether USD",network:"ethereum"},{id:"USDC",name:"USD Coin",network:"ethereum"},{id:"BNB",name:"Binance Coin",network:"binance"},{id:"SOL",name:"Solana",network:"solana"},{id:"USDC_SOL",name:"USD Coin (Solana)",network:"solana"}]}}},Oe=m.createContext(),ut=()=>m.useContext(Oe),dt=({apiKey:a,apiSecret:n,apiUrl:l="https://coinleyserver-production.up.railway.app",debug:c=!1,children:u})=>{const[f,s]=m.useState(!1),[y,i]=m.useState(null);m.useEffect(()=>{if(!a||!n){i("API key and secret are required");return}try{st({apiKey:a,apiSecret:n,apiUrl:l}),s(!0),c&&console.log("Coinley SDK initialized with:",{apiKey:a,apiUrl:l})}catch(h){i(h.message),c&&console.error("Coinley SDK initialization error:",h)}},[a,n,l,c]);const S={apiKey:a,apiSecret:n,apiUrl:l,isInitialized:f,error:y,debug:c};return t.jsx(Oe.Provider,{value:S,children:u})},ft=({onSelect:a,selected:n,theme:l="light"})=>{console.log("PaymentMethods render:",{selected:n});const c=[{id:"USDT",name:"USDT",description:"Tether USD",logo:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48Y2lyY2xlIGN4PSIxNiIgY3k9IjE2IiByPSIxNiIgZmlsbD0iIzI2QTE3QiIvPjxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik0xNy45MjIgMTcuMzgzdi0uMDAyYy0uMTEuMDA4LS42NzcuMDQyLTEuOTQyLjA0Mi0xLjAxIDAtMS43MjEtLjAzLTEuOTcxLS4wNDJ2LjAwM2MtMy44ODgtLjE3MS02Ljc5LS44NDgtNi43OS0xLjY1OCAwLS44MDkgMi45MDItMS40ODYgNi43OS0xLjY2di4wNDdjLjI1NC4wMTguOTgyLjA0NSAxLjk4OC4wNDUgMS4yMDcgMCAxLjgxMi0uMDM2IDEuOTI1LS4wNDZ2LS4wNDRjMy44OC4xNzQgNi43NzUuODUxIDYuNzc1IDEuNjU4IDAgLjgwNy0yLjg5NSAxLjQ4NS02Ljc3NSAxLjY1N3ptMC0zLjU2NnYtLjA0N2MuMS0uMDA4LjYyNS0uMDQ1IDEuOTI1LS4wNDUgMS4wMDUgMCAxLjczNC4wMjcgMS45ODguMDQ2di0yLjg0MWgtMy45MXYyLjgzOWMtLjExMS4wMDgtLjY4LjA0Ni0xLjk3MS4wNDYtMS4yNDMgMC0xLjgzMi0uMDM4LTEuOTQyLS4wNDZ2LTIuODRoLTMuOTF2Mi44MzhjLjI1NC4wMi45ODIuMDQ2IDEuOTg4LjA0NiAxLjIwOCAwIDEuODEyLS4wMzggMS45MjUtLjA0NnYuMDQ3QzguNDUgMTQuMDI1IDUgMTQuNzM3IDUgMTUuNzI0djMuMmMwIC45ODYgMy40NSAxLjY5OCA3Ljk4MiAxLjgyOXYuMDQ3Yy0uMTEzLjAwOC0uNzE3LjA0Ni0xLjkyNS4wNDYtMS4wMDYgMC0xLjczNC0uMDI2LTEuOTg4LS4wNDZ2Mi44MzhoMy45MXYtMi44MzZjLjExLS4wMDguNjk5LS4wNDYgMS45NDItLjA0NiAxLjI2MiAwIDEuODMxLjAzOCAxLjk3MS4wNDZ2Mi44MzdoMy45MXYtMi44MzljLS4yNTQtLjAyLS45ODMtLjA0Ny0xLjk4OC0uMDQ3LTEuMzAyIDAtMS44MjQuMDM5LTEuOTI1LjA0N3YtLjA0NWM0LjUxOS0uMTMgNy45NTQtLjg0MyA3Ljk1NC0xLjgzdi0zLjJjMC0uOTg3LTMuNDM1LTEuNjk5LTcuOTU0LTEuODN6Ii8+PC9nPjwvc3ZnPg=="},{id:"USDC",name:"USDC",description:"USD Coin",logo:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48Y2lyY2xlIGN4PSIxNiIgY3k9IjE2IiByPSIxNiIgZmlsbD0iIzJCNzVFRCIvPjxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik0yMS4yMDkgOS43MzlsLTIuOTQxIDIuOTQxYTMuMTMyIDMuMTMyIDAgMDAtNC41MzYgMGwtMi45NDItMi45NDFhNy42MjMgNy42MjMgMCAwMTEwLjQxOSAwek0xMC43OTEgMjIuMjYxbDIuOTQxLTIuOTQxYTMuMTMyIDMuMTMyIDAgMDA0LjUzNiAwbDIuOTQyIDIuOTQxYTcuNjIzIDcuNjIzIDAgMDEtMTAuNDE5IDB6bTExLjU3NS00LjI2MWgtNC4xNTNhMy4xMzMgMy4xMzMgMCAwMDAtNC41MzdoNC4xNTNhNy42MjEgNy42MjEgMCAwMTAgNC41Mzd6bS0xMy43OTMtNC41MzdoNC4xNTNhMy4xMzMgMy4xMzMgMCAwMDAgNC41MzdIOS42ODZhNy42MjEgNy42MjEgMCAwMTAtNC41Mzd6Ii8+PC9nPjwvc3ZnPg=="},{id:"BNB",name:"BNB",description:"Binance Coin",logo:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PGcgZmlsbD0ibm9uZSI+PGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTYiIGZpbGw9IiNGM0JBMkYiLz48cGF0aCBmaWxsPSIjRkZGIiBkPSJNMTIuMTE2IDE0LjQwNEwxNiAxMC41MmwzLjg4NiAzLjg4NmwtMi4yNiAyLjI1OEwxNiAxNC4xNDlsLTEuNjM0IDEuNjM1LTIuMjUtMi4yNTl6bTkuMTUyLS4wMDFsMi4yNi0yLjI1OSAyLjg4NyAyLjg4Ny0yLjI1OSAyLjI1OS0yLjg4OC0yLjg4N3pNMTIuMTE1IDE3LjU5NmwyLjI2LTIuMjU5IDIuODg3IDIuODg3LTIuMjU5IDIuMjU5LTIuODg4LTIuODg3em0tNC4yMjktLjAwMWwyLjI2LTIuMjU5IDIuODg3IDIuODg3LTIuMjU5IDIuMjU5LTIuODg4LTIuODg3em02LjM0NCAwTDE2IDE5LjM2NWwxLjc3Mi0xLjc3MSAyLjI1OCAyLjI1OS0xLjc3MiAxLjc3Mi0uMTcuMTctMS45MTUgMS45MTMtNC4wNDUtNC4wNDUuMDA1LS4wMDQuMDAzLS4wMDYuMDk0LS4wOTQuMDgtLjA3OXoiLz48L2c+PC9zdmc+"},{id:"SOL",name:"SOL",description:"Solana",logo:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PGcgZmlsbD0ibm9uZSI+PGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTYiIGZpbGw9IiM0MDNCODIiLz48cGF0aCBkPSJNMTIuNDQgMTAuMmE1NDUuNzYgNTQ1Ljc2IDAgMDE4LjMyLTQuNjZjLjE0LS4wOC4zIDAgLjMuMTlWOC42cy0uMDEuMTQtLjExLjJDMTkuNDQgOS42NyAxOCAyMC4wOCAxOCAyMC4wOGwtLjA0LjEzYy0uMS4zNC0uMzYuNjEtLjcuNzVsLS40Mi4xN2MtLjEzLjA1LS41OS4xNS0uNTkuMTUtLjE5LjA1LS4zNy0uMTMtLjI2LS4zbDYuNDUtMTJhLjM0LjM0IDAgMDAtLjAzLS4zNy4zMi4zMiAwIDAwLS4zMi0uMDlsLTkuOS41LjAxLjI5elptOS4wNiA0LjA0Yy4wOC0uMDkuMjMtLjA2LjMuMDUuMzYuNDQuMzYgMS4wNiAwIDEuNS0uMzcuNDQtMTAuMzcgMTIuMDQtMTAuMzcgMTIuMDRsLS4xMy4xNmMtLjEzLjE1LS4zMi4yNS0uNTIuMjlsLS4yOC4wNGMtLjI0LjAzLS41My0uMDUtLjY4LS4yM0w2LjU2IDI0Yy0uMTQtLjE1LS4wNS0uNC4xNS0uNDNsMTMuODMtOC4yMWMuMzgtLjIzLjY1LS42LjcyLTEuMDRsLjA4LS4zYy4wMy0uMTEuMS0uMi4xNi0uMjh6TTYuNTYgMTIuNTV2LTEuMnMuMDQtLjE3LjEzLS4yM2MuMDktLjA2LjIzLTEuMDQuMjMtMS4wNC4wMy0uMjIuMTYtLjQyLjM2LS41M2wuNC0uMjJjLjA4LS4wNC41My0uNDUuNTMtLjQ1LjEzLS4xLjMtLjAzLjM0LjEzIDAgMCAxLjg5IDkuMDEgMS44OSA5LjAxLjA1LjMtLjE3LjU2LS40NC42OWwtLjQ4LjI0Yy0uMy4xNS0xMS40NSA1LjgtMTEuNDUgNS44LS4yMi4xMi0uNTctLjA0LS41Ny0uMzJWMTJjLS4wMi0uMzUuMjQtLjY2LjU3LS43aDguNDRhLjY3LjY3IDAgMDAuNjEtLjM4di0uMDJjLjA3LS4xNi4yNC0uMjQuNC0uMmwuMjUuMDRjLjE0LjAyLjMuMTguMy4xOHoiIGZpbGw9IiNmZmYiLz48L2c+PC9zdmc+"},{id:"USDC_SOL",name:"USDC (Solana)",description:"USD Coin on Solana",logo:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48Y2lyY2xlIGN4PSIxNiIgY3k9IjE2IiByPSIxNiIgZmlsbD0iIzJCNzVFRCIvPjxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik0yMS4yMDkgOS43MzlsLTIuOTQxIDIuOTQxYTMuMTMyIDMuMTMyIDAgMDAtNC41MzYgMGwtMi45NDItMi45NDFhNy42MjMgNy42MjMgMCAwMTEwLjQxOSAwek0xMC43OTEgMjIuMjYxbDIuOTQxLTIuOTQxYTMuMTMyIDMuMTMyIDAgMDA0LjUzNiAwbDIuOTQyIDIuOTQxYTcuNjIzIDcuNjIzIDAgMDEtMTAuNDE5IDB6bTExLjU3NS00LjI2MWgtNC4xNTNhMy4xMzMgMy4xMzMgMCAwMDAtNC41MzdoNC4xNTNhNy42MjEgNy42MjEgMCAwMTAgNC41Mzd6bS0xMy43OTMtNC41MzdoNC4xNTNhMy4xMzMgMy4xMzMgMCAwMDAgNC41MzdIOS42ODZhNy42MjEgNy42MjEgMCAwMTAtNC41Mzd6Ii8+PC9nPjwvc3ZnPg=="}],u=f=>{console.log("Method selected:",f),a(f)};return t.jsxs("div",{children:[t.jsx("h3",{className:`text-lg font-medium mb-3 ${l==="dark"?"text-white":"text-gray-800"}`,children:"Select Payment Method"}),t.jsx("div",{className:"space-y-2",children:c.map(f=>t.jsxs("button",{onClick:()=>u(f.id),className:`w-full flex items-center p-3 rounded-lg transition-colors ${n===f.id?l==="dark"?"bg-blue-900/30 border border-blue-500":"bg-blue-50 border border-blue-500":l==="dark"?"bg-gray-700 hover:bg-gray-600 border border-gray-700":"bg-white hover:bg-gray-50 border border-gray-200"}`,children:[t.jsx("div",{className:"flex-shrink-0 h-10 w-10 bg-white rounded-full flex items-center justify-center mr-3",children:t.jsx("img",{src:f.logo,alt:f.name,className:"h-6 w-6"})}),t.jsxs("div",{className:"flex-1 text-left",children:[t.jsx("h4",{className:`font-medium ${l==="dark"?"text-white":"text-gray-900"}`,children:f.name}),t.jsx("p",{className:`text-sm ${l==="dark"?"text-gray-300":"text-gray-500"}`,children:f.description})]}),n===f.id&&t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5 text-blue-500",viewBox:"0 0 20 20",fill:"currentColor",children:t.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})})]},f.id))})]})},xe=({status:a,theme:n="light",message:l})=>{console.log("PaymentStatus render:",{status:a,message:l});const c=()=>{switch(a){case"processing":return t.jsx("div",{className:"animate-spin rounded-full h-12 w-12 border-4 border-t-blue-500 border-blue-500/20"});case"success":return t.jsx("div",{className:"rounded-full h-12 w-12 bg-green-100 flex items-center justify-center",children:t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-8 w-8 text-green-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})})});case"error":return t.jsx("div",{className:"rounded-full h-12 w-12 bg-red-100 flex items-center justify-center",children:t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-8 w-8 text-red-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})});default:return null}},u=()=>{switch(a){case"processing":return"Processing Payment";case"success":return"Payment Successful";case"error":return"Payment Failed";default:return"Unknown Status"}},f=()=>{switch(a){case"processing":return n==="dark"?"text-blue-300":"text-blue-600";case"success":return n==="dark"?"text-green-300":"text-green-600";case"error":return n==="dark"?"text-red-300":"text-red-600";default:return n==="dark"?"text-gray-300":"text-gray-600"}};return t.jsxs("div",{className:"flex flex-col items-center justify-center py-6",children:[t.jsx("div",{className:"mb-4",children:c()}),t.jsx("h3",{className:`text-xl font-bold mb-2 ${n==="dark"?"text-white":"text-gray-900"}`,children:u()}),t.jsx("p",{className:`text-center ${f()}`,children:l}),a==="processing"&&t.jsx("div",{className:`mt-4 text-xs ${n==="dark"?"text-gray-400":"text-gray-500"}`,children:"This may take a few moments. Please do not close this window."}),a==="success"&&t.jsx("div",{className:`mt-4 p-2 rounded ${n==="dark"?"bg-gray-700":"bg-gray-100"}`,children:t.jsx("p",{className:`text-xs ${n==="dark"?"text-gray-300":"text-gray-600"}`,children:"Your payment has been successfully processed. You will receive a confirmation shortly."})})]})},Pe=({walletAddress:a,amount:n,currency:l,theme:c="light",size:u=200})=>{const f=()=>{const s=Math.floor(u/10);let y=`<svg xmlns="http://www.w3.org/2000/svg" width="${u}" height="${u}" viewBox="0 0 ${u} ${u}">`;y+=`<rect width="${u}" height="${u}" fill="${c==="dark"?"#1f2937":"white"}"/>`,y+=`<rect x="${s}" y="${s}" width="${s*3}" height="${s*3}" fill="${c==="dark"?"white":"black"}"/>`,y+=`<rect x="${s*1.5}" y="${s*1.5}" width="${s*2}" height="${s*2}" fill="${c==="dark"?"#1f2937":"white"}"/>`,y+=`<rect x="${s*2}" y="${s*2}" width="${s}" height="${s}" fill="${c==="dark"?"white":"black"}"/>`,y+=`<rect x="${u-s*4}" y="${s}" width="${s*3}" height="${s*3}" fill="${c==="dark"?"white":"black"}"/>`,y+=`<rect x="${u-s*3.5}" y="${s*1.5}" width="${s*2}" height="${s*2}" fill="${c==="dark"?"#1f2937":"white"}"/>`,y+=`<rect x="${u-s*3}" y="${s*2}" width="${s}" height="${s}" fill="${c==="dark"?"white":"black"}"/>`,y+=`<rect x="${s}" y="${u-s*4}" width="${s*3}" height="${s*3}" fill="${c==="dark"?"white":"black"}"/>`,y+=`<rect x="${s*1.5}" y="${u-s*3.5}" width="${s*2}" height="${s*2}" fill="${c==="dark"?"#1f2937":"white"}"/>`,y+=`<rect x="${s*2}" y="${u-s*3}" width="${s}" height="${s}" fill="${c==="dark"?"white":"black"}"/>`,l.length+((a==null?void 0:a.length)||0);for(let i=0;i<50;i++){const S=s*(1+Math.floor(Math.random()*8)),h=s*(1+Math.floor(Math.random()*8));S<s*4&&h<s*4||S>u-s*5&&h<s*4||S<s*4&&h>u-s*5||(y+=`<rect x="${S}" y="${h}" width="${s}" height="${s}" fill="${c==="dark"?"white":"black"}"/>`)}return y+=`<rect x="${u/2-s*3}" y="${u/2-s*1.5}" width="${s*6}" height="${s*3}" fill="${c==="dark"?"#1f2937":"white"}"/>`,y+=`<text x="${u/2}" y="${u/2+s/2}" font-family="Arial" font-size="${s*2}" font-weight="bold" text-anchor="middle" fill="${c==="dark"?"white":"black"}">${l}</text>`,y+="</svg>",y};return t.jsxs("div",{className:"flex flex-col items-center",children:[t.jsx("div",{className:`p-4 rounded-lg ${c==="dark"?"bg-gray-700":"bg-white"} mb-3`,dangerouslySetInnerHTML:{__html:f()}}),t.jsx("div",{className:`text-center text-sm ${c==="dark"?"text-gray-300":"text-gray-700"}`,children:"Scan with your wallet app to pay"}),a&&t.jsxs("div",{className:"mt-3 w-full",children:[t.jsxs("p",{className:`text-xs ${c==="dark"?"text-gray-400":"text-gray-500"} mb-1`,children:["Send ",n," ",l," to:"]}),t.jsx("div",{className:`text-xs font-mono p-2 rounded overflow-auto break-all ${c==="dark"?"bg-gray-800 text-gray-300":"bg-gray-100 text-gray-700"}`,children:a})]}),t.jsx("div",{className:"mt-4 w-full",children:t.jsxs("div",{className:`p-3 rounded ${c==="dark"?"bg-gray-700":"bg-gray-100"}`,children:[t.jsx("h4",{className:`text-sm font-medium mb-2 ${c==="dark"?"text-white":"text-gray-800"}`,children:"Payment Instructions"}),t.jsxs("ol",{className:`text-xs space-y-2 ${c==="dark"?"text-gray-300":"text-gray-600"}`,children:[t.jsx("li",{children:"1. Open your crypto wallet app"}),t.jsx("li",{children:"2. Scan the QR code above"}),t.jsxs("li",{children:["3. Confirm the payment amount (",n," ",l,")"]}),t.jsx("li",{children:'4. Click "Pay Now" button below after sending the payment'})]})]})})]})},$=()=>typeof window<"u"&&typeof window.ethereum<"u",Re=async()=>{if(!$())throw new Error("MetaMask is not installed");try{return await window.ethereum.request({method:"eth_requestAccounts"})}catch(a){throw console.error("Error connecting to wallet:",a),a}},ze=async()=>{if(!$())throw new Error("MetaMask is not installed");try{return await window.ethereum.request({method:"eth_accounts"})}catch(a){throw console.error("Error getting accounts:",a),a}},gt=async()=>{if(!$())throw new Error("MetaMask is not installed");try{return await window.ethereum.request({method:"eth_chainId"})}catch(a){throw console.error("Error getting chain ID:",a),a}},Ue=async a=>{if(!$())throw new Error("MetaMask is not installed");try{return await window.ethereum.request({method:"eth_sendTransaction",params:[a]})}catch(n){throw console.error("Error sending transaction:",n),n}},yt=async(a,n,l)=>{if(!$())throw new Error("MetaMask is not installed");try{const u=(await window.ethereum.request({method:"eth_requestAccounts"}))[0],f="0xa9059cbb",s=n.slice(2).padStart(64,"0"),y=l.toString(16).padStart(64,"0"),i=`${f}${s}${y}`,S={from:u,to:a,data:i};return await window.ethereum.request({method:"eth_sendTransaction",params:[S]})}catch(c){throw console.error("Error sending token:",c),c}},Mt=async()=>{try{return(await ze()).length>0}catch{return!1}},ht=a=>({"0x1":"Ethereum Mainnet","0x3":"Ropsten Testnet","0x4":"Rinkeby Testnet","0x5":"Goerli Testnet","0x2a":"Kovan Testnet","0x38":"Binance Smart Chain","0x89":"Polygon","0xa86a":"Avalanche"})[a]||`Unknown Network (${a})`,mt=async(a,n)=>{if(!$())throw new Error("MetaMask is not installed");try{const l="0x70a08231",c=n.slice(2).padStart(64,"0"),u=`${l}${c}`,f=await window.ethereum.request({method:"eth_call",params:[{to:a,data:u},"latest"]});return parseInt(f,16).toString()}catch(l){throw console.error("Error getting token balance:",l),l}},xt={USDT:"0xdAC17F958D2ee523a2206206994597C13D831ec7",USDC:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",DAI:"0x6B175474E89094C44Da98b954EedeAC495271d0F",WETH:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",WBTC:"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599"},jt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAAcCAYAAACqAXueAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAiaSURBVHgB7VrdddNIFL4zNuDAw2orQDQATgUoUABQAU4FOGcLiF0BpoI4FcQ0QLQVxAHOvqLtwDyQOBBr9rszI2n058jeBEhOvnNkS6M7o7m6c39HRA3Qf/bxLR+l9uDIR/sXHD26trjTJeoMiO6/pEuCEBuHOBQfZuxfB9mQjpnv958d9/O9W2/w6+N4StcSHV+INoQhdoVQB7ju0Q1DUwFbiN1Cw6Wt+l+EHg4vu5TXdKHWIydgmFyv//xjWWhCzOyZB5pA0xo63zSrf0vjQNvZhNPvjTB/Gf9NNwx5DZZyQIoOSn5VOYxLaRaAUkHaFotpcgqhdmG6j7Aq4LNbXfqtMQ+VUts4xkrRDq7HdMOQF3BMkT3zcez1n30yJjmOJymNsv5WyCdZx0XIvzvB59cQ7qHur1SUtP/eYKHOt4lOR3QD0XYvRuGTUX/r+A1Msm9a1ACm9isEPMYFm2kP94zPUsq3/+9H4eaMNVdJTWe7iiG301ro+PgJKHUBEhYixjGPGvRN+uFQeD5bl3l4wbMskvE98Di3vrmDMWaz8thaGcJmc1r67ICW8unOxZ1jHfL07dJ9Fb8iobXQErGpJTxUDe15kX6kfa1sHTiNEO6TMa2MTsARLRmm3YfwPLC27o/jOB5WMSnlxhuY2QHlgiZh/zcijIu+J8NiP7R/SZ+iOltmMcz7dh5o4+vONq73yvPSY09g4ndWE/QqfM67oD3M5rixs8zaCHGGeYqXhlaFpSgaWjeleAFGKdM+0dodfXiCQdU7HO/to94ZQW6GEC5P1rftQ9AOaEWwgCwjQR0NJtwDzVE+Z/U8zjshXGbaq+nqo+8AL+4or7EXA8/zL5jXS3Pf85qMJ+X93YZ8Hpq5ausTZvOhF1QLzZsbJO+3jfZx4CTYp7JQjyHgEMcm/OyhNtfCTAaCS/NgI/CMSdNXC3cNX9bpWQG5mIHRqWFKcLCWvEAIVO0pdSci+jHFimXLEbgdMdbUmGfd17mnoA3yQClvKzO7F8LPxlUhadOsMAfZde75rPX4HywbyFgZNSjwOMF/koU8dearFxbmugkrMnTaA+MqKt1OULgO22lQlJtJi61FSAqarAiMtJavznixzYOt53O52JDLr8E0DV0zpJSmGzh0nonQdZQeZHRaANuuuYTZ5fHZtdiVrbpNhFFAhLG3KsblxaUzBZxDeN6ofuF0fOtCLMRUsTssmHaMG9hx+Z37Up7txvF8h90MpXLSJjgsPgH9XmfjiDHeYSTRGlEVWGtli/3TbBQ+HtMSQLCT9QMqN8jgiZ1vVfuY+YBTGRYijkcc/eYXhg6mtsq+cA7hnOJF0iSlhDCamlQzJ7VdPS773hQY75tfP4roU2aFoirh2nHBn9jOns3FGM/Ds/bTkQS9Ls8/DdgsYk0vaXH+yvjTGiR57xWhvOp+TOupWfCJENOI1vb9sU1LUBbGSUDNMKuPwovt9ZYOQnmazUWEy4OykwllMRBHxZBBZ1Ro6xc6Bc55lMytbTWPq04jaCwTvchSoRj+OF7Dp66EbnZ6/p6aw3fOZ8sXBoNf6MY0e572oRO6AEkccAlI+UQMAYFtBNQcPpt+mO93idXC/wvX5BurZGAWkEEaRUPQESpSEbH0uUihCxViqtuvFs6qlyuYeeVqS9N+67qRy4b2rxccVdZg7Jx3rRUja54dRYnTdFDnwbqurAiBiC1eZOih0OGvk/asAFNAMfAb9yLhCqupP23sd68ALp8cPa+ymC2ttkIhWXPM2qw4GDb+PcHUNf9tXY7Mh+55xDVB2OWBTWDAJ+yPMeFxs24trvokF96S1MGiuMppCe2VIOUTPO5X+NBGwMIopExcBzh74dzPxVMw0apXMxavmjFJVb3D5KAffO7SmkA06frdgOjB6zpaUyTY+GL2bb/xC4uSe6bSVBcZ80uQTqUtC0J+FvDi0w0bEwUvK7gwH3V708XCh64D+A5B6FJL5LA7lAUSM53/mqiaA5CeLk9ih+mvZ/88pDrIeFd/9YFtQloZG2PKCSoesyDzL8DzUCR4a4sEvhFmZ8Cr2RkI7WdHmV9KwHnl90OT/xpAg+qzhitDPgo2laq7FYrD+fXZAfOI97BXtRDKSpG0cxaSj84FVaD//NMRqPNayZUt2YYpiL9ytcp83SEejj483tGCFfIIKjbjtGv1wEwn94cVNyL77xfa2YdtMjNSdsZgrKj1eJHsWpRX7AvhYuHqvFjDfFaT3FO2Fp0VVUzxhFOzalT159IppeaYF+F8YPns2Zp2kUdU5ATz5FOpKuf2T6DNMtcovDztAnx9z2UGpVq0/vaqKFwdUetS5AC7RMbe6wqXTq8CnWpx4s4TRGVsdU3Wyf0rKke5PpWFG5liiFmpqPL0KjTSsxrr59ngYsG9pfny1WJu951z8HG85PozNRIug1OmUu0iKgqXUfyiw+e/IhFv/dkNhTKEabebFK/0hFvtNYR8wrsym27FpgBmaqjUvc1yznvaNxv3VJmzcrutRvVWqEFfEU5HXIlbwifZat1WtXATaJPv9MlyXxc5Ew2zOyh/d6Xe8SYDf+VBZo/VXh/jATa5jhd/JqVK+0UHm6gJzPea2qL3NB0NXEBwD6JmwtE+yx6cVzfdR/5V4JhBgt/YM/O9GzbkM2fubfk2KlLl94MV+XmRW2Ga77B83RQnKyX7TAcC5WBhzKesyaDXO1HWfIe0MjSDYaGNmkEzGdG1QTGaP7m4S2GDxsYJURVlQcDxAIHUQ+1z48V+Jhzp+OSFEWy8mECwdgXlfbYNsh6tF1Xfoh7GslnN9Z0btZay8MmOFkw5YpR2MKW3BCNLO0O0HZqP78QfVYP/jx2mW5TAmcbZYTHxsYFYVNer2XfRyobjxWh1cT607T7d4qejPsrO0EzAgv0u/HH4OBeGaxPO94Q6plv8FECovJc8uTjKNvgPcUpIo0ZgmzUAAAAASUVORK5CYII=",Ye=({isOpen:a,onClose:n,payment:l,paymentStatus:c,selectedCurrency:u,onCurrencySelect:f,onPayment:s,error:y,theme:i="light",merchantName:S,transactionHash:h,walletConnected:D,onConnectWallet:U,testMode:C=!1})=>{const[Y,F]=m.useState("select-currency"),[W,A]=m.useState(!1),[b,ie]=m.useState("wallet");m.useEffect(()=>{typeof window<"u"&&A($())},[]),m.useEffect(()=>{c==="loading"?F("processing"):c==="success"?F("success"):c==="error"?F("error"):c==="idle"&&l&&F("select-currency")},[c,l]);const Q=I=>{f(I),F("confirm")},B=()=>{s(b==="qrcode")},K=()=>{Y==="confirm"&&F("select-currency")},ce=()=>{n()},_=I=>parseFloat(I).toFixed(2),ee=I=>I?I.length<=14?I:`${I.slice(0,8)}...${I.slice(-6)}`:"",Z=I=>{ie(I)},te=`fixed inset-0 z-50 overflow-y-auto ${i==="dark"?"bg-gray-900/75":"bg-black/50"}`,G=`relative p-6 w-full max-w-md mx-auto rounded-lg shadow-xl ${i==="dark"?"bg-gray-800 text-white":"bg-white text-gray-800"}`,E=`text-xl font-bold mb-4 ${i==="dark"?"text-white":"text-gray-900"}`,R=`w-full py-2 px-4 rounded-md font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 ${i==="dark"?"bg-blue-600 hover:bg-blue-700 text-white focus:ring-blue-500":"bg-blue-500 hover:bg-blue-600 text-white focus:ring-blue-500"}`,N=`w-full py-2 px-4 rounded-md font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 ${i==="dark"?"bg-gray-700 hover:bg-gray-600 text-white focus:ring-gray-500":"bg-gray-200 hover:bg-gray-300 text-gray-800 focus:ring-gray-500"}`,V="py-2 px-4 text-sm font-medium focus:outline-none transition-colors",H=`${i==="dark"?"bg-gray-700 text-white":"bg-gray-100 text-gray-800"} rounded-t-md`,X=`${i==="dark"?"text-gray-400 hover:text-gray-300":"text-gray-500 hover:text-gray-700"}`;return a?t.jsx("div",{className:te,children:t.jsx("div",{className:"flex min-h-screen items-center justify-center p-4",children:t.jsxs("div",{className:G,children:[t.jsxs("div",{className:"flex justify-between items-center mb-6",children:[t.jsxs("div",{className:"flex items-center",children:[t.jsx("img",{src:jt,alt:"Coinley Logo",className:"h-8 mr-2"}),t.jsx("h2",{className:E,children:"Coinley Pay"})]}),t.jsx("button",{onClick:ce,className:`text-gray-500 hover:text-gray-700 focus:outline-none ${i==="dark"?"text-gray-400 hover:text-gray-300":""}`,children:t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),t.jsxs("div",{className:"mb-6",children:[l&&t.jsxs("div",{className:`mb-6 p-4 rounded-lg ${i==="dark"?"bg-gray-700":"bg-gray-100"}`,children:[t.jsx("p",{className:`text-sm ${i==="dark"?"text-gray-300":"text-gray-600"}`,children:S}),t.jsxs("div",{className:"flex justify-between items-center mt-2",children:[t.jsx("span",{className:`font-medium ${i==="dark"?"text-gray-300":"text-gray-700"}`,children:"Amount:"}),t.jsxs("span",{className:"font-bold text-xl",children:["$",_(l.totalAmount||l.amount)]})]}),t.jsx("div",{className:"text-xs mt-1 text-right",children:t.jsxs("span",{className:`${i==="dark"?"text-gray-400":"text-gray-500"}`,children:["Payment ID: ",l.id.slice(0,8),"..."]})})]}),Y==="select-currency"&&t.jsx(ft,{onSelect:Q,selected:u,theme:i}),Y==="confirm"&&l&&t.jsxs("div",{children:[t.jsxs("div",{className:`p-4 rounded-lg mb-4 ${i==="dark"?"bg-gray-700":"bg-gray-100"}`,children:[t.jsx("h3",{className:`text-lg font-medium mb-2 ${i==="dark"?"text-white":"text-gray-800"}`,children:"Payment Details"}),t.jsxs("div",{className:"space-y-2",children:[t.jsxs("div",{className:"flex justify-between",children:[t.jsx("span",{className:i==="dark"?"text-gray-300":"text-gray-600",children:"Currency:"}),t.jsx("span",{className:"font-medium",children:u})]}),t.jsxs("div",{className:"flex justify-between",children:[t.jsx("span",{className:i==="dark"?"text-gray-300":"text-gray-600",children:"Network:"}),t.jsx("span",{className:"font-medium",children:u==="SOL"||u==="USDC_SOL"?"Solana":"Ethereum"})]}),t.jsxs("div",{className:"flex justify-between",children:[t.jsx("span",{className:i==="dark"?"text-gray-300":"text-gray-600",children:"Fee:"}),t.jsx("span",{className:"font-medium",children:"1.75%"})]})]})]}),t.jsx("div",{className:"mb-4",children:t.jsxs("div",{className:"flex border-b border-gray-200",children:[t.jsx("button",{onClick:()=>Z("wallet"),className:`${V} ${b==="wallet"?H:X}`,children:"Connect Wallet"}),t.jsx("button",{onClick:()=>Z("qrcode"),className:`${V} ${b==="qrcode"?H:X}`,children:"QR Code"})]})}),C?t.jsx("div",{className:`p-4 rounded-lg mb-4 ${i==="dark"?"bg-blue-900/20":"bg-blue-50"}`,children:t.jsxs("div",{className:"flex items-center",children:[t.jsx("div",{className:"bg-blue-500 rounded-full p-2 mr-3",children:t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-6 w-6 text-white",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 10V3L4 14h7v7l9-11h-7z"})})}),t.jsxs("div",{children:[t.jsx("h3",{className:`font-medium ${i==="dark"?"text-white":"text-gray-800"}`,children:"Test Mode Payment"}),t.jsx("p",{className:`text-sm ${i==="dark"?"text-gray-300":"text-gray-600"}`,children:'Click "Pay Now" to simulate a successful payment'})]})]})}):b==="qrcode"?t.jsx("div",{className:`p-4 rounded-lg mb-4 ${i==="dark"?"bg-blue-900/20":"bg-blue-50"}`,children:t.jsx(Pe,{walletAddress:l.walletAddress||"0x742d35Cc6634C0532925a3b844Bc454e4438f44e",amount:l.totalAmount||l.amount,currency:u,theme:i})}):W?t.jsxs("div",{className:`p-4 rounded-lg mb-4 ${i==="dark"?"bg-blue-900/20":"bg-blue-50"}`,children:[t.jsxs("div",{className:"flex items-center",children:[t.jsx("img",{src:"https://metamask.io/images/metamask-fox.svg",alt:"MetaMask",className:"w-8 h-8 mr-2"}),t.jsxs("div",{children:[t.jsx("h3",{className:`font-medium ${i==="dark"?"text-white":"text-gray-800"}`,children:"Pay with MetaMask"}),t.jsx("p",{className:`text-sm ${i==="dark"?"text-gray-300":"text-gray-600"}`,children:D?"Your wallet is connected. Click 'Pay Now' to proceed.":"Click 'Connect Wallet' to proceed with payment."})]})]}),!D&&t.jsx("button",{onClick:U,className:`mt-3 ${R}`,children:"Connect Wallet"})]}):t.jsxs("div",{className:`p-4 rounded-lg mb-4 ${i==="dark"?"bg-yellow-900/20":"bg-yellow-50"}`,children:[t.jsxs("div",{className:"flex items-center",children:[t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-6 w-6 text-yellow-500 mr-2",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})}),t.jsxs("div",{children:[t.jsx("h3",{className:`font-medium ${i==="dark"?"text-white":"text-gray-800"}`,children:"MetaMask Not Detected"}),t.jsx("p",{className:`text-sm ${i==="dark"?"text-gray-300":"text-gray-600"}`,children:"Please install MetaMask extension to make payments"})]})]}),t.jsx("a",{href:"https://metamask.io/download/",target:"_blank",rel:"noopener noreferrer",className:`block mt-3 text-center ${R}`,children:"Install MetaMask"})]}),t.jsxs("div",{className:"mt-6 grid grid-cols-2 gap-3",children:[t.jsx("button",{type:"button",onClick:K,className:N,children:"Back"}),t.jsx("button",{type:"button",onClick:B,className:R,disabled:!C&&b==="wallet"&&W&&!D,children:"Pay Now"})]})]}),Y==="processing"&&t.jsx(xe,{status:"processing",theme:i,message:"Processing your payment..."}),Y==="success"&&t.jsxs("div",{children:[t.jsx(xe,{status:"success",theme:i,message:"Payment successful!"}),h&&t.jsxs("div",{className:`mt-4 p-3 rounded-lg ${i==="dark"?"bg-gray-700":"bg-gray-100"}`,children:[t.jsx("p",{className:`text-xs ${i==="dark"?"text-gray-300":"text-gray-600"} mb-1`,children:"Transaction Hash:"}),t.jsx("p",{className:`text-sm font-mono break-all ${i==="dark"?"text-white":"text-gray-800"}`,children:ee(h)}),t.jsx("a",{href:`https://etherscan.io/tx/${h}`,target:"_blank",rel:"noopener noreferrer",className:`text-xs ${i==="dark"?"text-blue-400":"text-blue-600"} mt-2 inline-block`,children:"View on Etherscan →"})]})]}),Y==="error"&&t.jsxs("div",{children:[t.jsx(xe,{status:"error",theme:i,message:y||"An error occurred while processing your payment."}),t.jsx("button",{type:"button",onClick:K,className:`mt-4 ${N}`,children:"Try Again"})]})]}),t.jsx("div",{className:`text-center text-xs ${i==="dark"?"text-gray-400":"text-gray-500"}`,children:t.jsx("p",{children:"Powered by Coinley - Secure Cryptocurrency Payments"})})]})})}):null},Fe=m.forwardRef(({apiKey:a,apiSecret:n,apiUrl:l,customerEmail:c,merchantName:u="Merchant",onSuccess:f,onError:s,onClose:y,theme:i,autoOpen:S=!1,debug:h=!1,testMode:D=!1},U)=>{const C=ut(),{theme:Y}=at(),[F,W]=m.useState(S),[A,b]=m.useState(null),[ie,Q]=m.useState("idle"),[B,K]=m.useState("USDT"),[ce,_]=m.useState(null),[ee,Z]=m.useState(null),[te,G]=m.useState(!1);a||(C==null||C.apiKey),n||(C==null||C.apiSecret),l||(C==null||C.apiUrl);const E=i||Y,R=h||(C==null?void 0:C.debug);m.useImperativeHandle(U,()=>({open:x=>{V(x)},close:()=>{H()},getPayment:()=>A}));const N=(x,j)=>{R&&console.log(`[Coinley SDK] ${x}`,j)};m.useEffect(()=>{(async()=>{if($())try{const j=await window.ethereum.request({method:"eth_accounts"});G(j&&j.length>0)}catch(j){N("Error checking wallet connection:",j),G(!1)}else G(!1)})()},[]),m.useEffect(()=>{const x=j=>{G(j.length>0)};return typeof window<"u"&&window.ethereum&&window.ethereum.on("accountsChanged",x),()=>{typeof window<"u"&&window.ethereum&&window.ethereum.removeListener("accountsChanged",x)}},[]);const V=async x=>{if(!x||!x.amount){_("Payment amount is required"),s&&s(new Error("Payment amount is required"));return}Q("loading"),W(!0);try{N("Creating payment with details:",x);const j=await ke({amount:x.amount,currency:x.currency||"USDT",customerEmail:x.customerEmail||c,callbackUrl:x.callbackUrl,metadata:x.metadata||{}});N("Payment created:",j),b(j.payment),Q("idle"),_(null),N("Payment created and state updated:",{payment:j.payment,status:"idle"})}catch(j){N("Error creating payment:",j),_(j.message||"Failed to create payment"),Q("error"),s&&s(j)}},H=()=>{W(!1),Z(null),y&&y()},X=x=>{N("Currency selected:",x),K(x)},I=async()=>{if(!$())return _("MetaMask is not installed. Please install MetaMask to make payments."),!1;try{const x=await Re();return G(x.length>0),x.length>0}catch(x){return N("Error connecting to wallet:",x),_(x.message||"Failed to connect to wallet"),!1}},de=async(x=!1)=>{if(!A){_("No active payment to process");return}N("Starting payment process...",{isQrCodeMode:x}),Q("loading"),Z(null);try{N("Processing payment:",{paymentId:A.id,currency:B,isQrCodeMode:x});let j;if(D)N("Test mode: Generating mock transaction..."),j=`0x${Array.from({length:64},()=>Math.floor(Math.random()*16).toString(16)).join("")}`;else if(x)N("QR code payment: User confirms payment was sent"),j=`qrcode_${Date.now().toString(16)}_${Math.random().toString(16).substring(2,10)}`;else{if(!te&&!await I())throw new Error("Please connect your wallet to proceed with payment");const je=A.walletAddress||"0x742d35Cc6634C0532925a3b844Bc454e4438f44e",we={from:await window.ethereum.request({method:"eth_requestAccounts"}).then(re=>re[0]),to:je,value:"0x0",data:"0x"};N("Sending transaction to wallet for approval..."),j=await Ue(we)}N("Transaction hash:",j),Z(j),N("Sending process payment request to API...");const fe=await Ee({paymentId:A.id,transactionHash:j,network:B==="SOL"||B==="USDC_SOL"?"solana":"ethereum"});N("Payment processed successfully:",fe),Q("success"),f&&(N("Calling onSuccess callback..."),f(A.id,j))}catch(j){N("Payment error:",j),_(j.message||"Failed to process payment"),Q("error"),s&&s(j)}};return m.useEffect(()=>{S&&A&&W(!0)},[S,A]),t.jsx(t.Fragment,{children:F&&t.jsx(Ye,{isOpen:F,onClose:H,payment:A,paymentStatus:ie,selectedCurrency:B,onCurrencySelect:X,onPayment:de,error:ce,theme:E,merchantName:u,transactionHash:ee,walletConnected:te,onConnectWallet:I,testMode:D})})});Fe.displayName="CoinleyCheckout";const Zt="",wt={apiUrl:"https://coinleyserver-production.up.railway.app",debug:!1,testMode:!1,theme:"light"},pt="1.0.2";p.CoinleyCheckout=Fe,p.CoinleyModal=Ye,p.CoinleyProvider=dt,p.DEFAULT_CONFIG=wt,p.QRCode=Pe,p.TOKEN_ADDRESSES=xt,p.ThemeProvider=nt,p.VERSION=pt,p.connectWallet=Re,p.createPayment=ke,p.getAccounts=ze,p.getChainId=gt,p.getMerchantPaymentStats=ct,p.getMerchantPayments=it,p.getNetworkName=ht,p.getPayment=ot,p.getSupportedCurrencies=lt,p.getTokenBalance=mt,p.isMetaMaskInstalled=$,p.isWalletConnected=Mt,p.processPayment=Ee,p.sendToken=yt,p.sendTransaction=Ue,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})});
|
package/dist/style.css
CHANGED
@@ -1 +1 @@
|
|
1
|
-
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.top-16{top:4rem}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-11{margin-top:2.75rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-32{margin-top:8rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-9{margin-top:2.25rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\[200px\]{height:200px}.h-\[300px\]{height:300px}.h-min{height:-moz-min-content;height:min-content}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-24{width:6rem}.w-28{width:7rem}.w-32{width:8rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\[1000px\]{width:1000px}.w-\[100px\]{width:100px}.w-\[180px\]{width:180px}.w-\[300px\]{width:300px}.w-\[350px\]{width:350px}.w-\[400px\]{width:400px}.w-full{width:100%}.max-w-\[170px\]{max-width:170px}.max-w-\[230px\]{max-width:230px}.max-w-\[350px\]{max-width:350px}.max-w-\[370px\]{max-width:370px}.max-w-\[480px\]{max-width:480px}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-16{gap:4rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-12{-moz-column-gap:3rem;column-gap:3rem}.gap-x-16{-moz-column-gap:4rem;column-gap:4rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-24{-moz-column-gap:6rem;column-gap:6rem}.gap-x-32{-moz-column-gap:8rem;column-gap:8rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-2{row-gap:.5rem}.gap-y-4{row-gap:1rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-y-auto{overflow-y:auto}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:2rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:1rem}.border{border-width:1px}.border-4{border-width:4px}.border-\[\#FF6A2B\]{--tw-border-opacity: 1;border-color:rgb(255 106 43 / var(--tw-border-opacity, 1))}.border-black{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-blue-500\/20{border-color:#3b82f633}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.border-t-blue-500{--tw-border-opacity: 1;border-top-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.bg-\[\#FF6A2B\]{--tw-bg-opacity: 1;background-color:rgb(255 106 43 / var(--tw-bg-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/50{background-color:#00000080}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-blue-900\/20{background-color:#1e3a8a33}.bg-blue-900\/30{background-color:#1e3a8a4d}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.bg-gray-900\/75{background-color:#111827bf}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-yellow-900\/20{background-color:#713f1233}.bg-opacity-50{--tw-bg-opacity: .5}.bg-cover{background-size:cover}.bg-center{background-position:center}.bg-no-repeat{background-repeat:no-repeat}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-32{padding-left:8rem;padding-right:8rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-9{padding-left:2.25rem;padding-right:2.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pt-12{padding-top:3rem}.pt-32{padding-top:8rem}.pt-4{padding-top:1rem}.pt-9{padding-top:2.25rem}.pt-\[10px\]{padding-top:10px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-\[\#FF6A2B\]{--tw-text-opacity: 1;color:rgb(255 106 43 / var(--tw-text-opacity, 1))}.text-blue-300{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-300{--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-300:hover{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.hover\:text-gray-300:hover{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-gray-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}@media (min-width: 768px){.md\:mb-32{margin-bottom:8rem}.md\:mt-11{margin-top:2.75rem}.md\:mt-24{margin-top:6rem}.md\:mt-32{margin-top:8rem}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-auto{width:auto}.md\:flex-row{flex-direction:row}.md\:justify-end{justify-content:flex-end}.md\:justify-around{justify-content:space-around}.md\:gap-0{gap:0px}.md\:gap-x-12{-moz-column-gap:3rem;column-gap:3rem}.md\:gap-y-0{row-gap:0px}.md\:px-0{padding-left:0;padding-right:0}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:px-32{padding-left:8rem;padding-right:8rem}.md\:px-48{padding-left:12rem;padding-right:12rem}}
|
1
|
+
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.top-16{top:4rem}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-11{margin-top:2.75rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-32{margin-top:8rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-9{margin-top:2.25rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\[200px\]{height:200px}.h-\[300px\]{height:300px}.h-min{height:-moz-min-content;height:min-content}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-24{width:6rem}.w-28{width:7rem}.w-32{width:8rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\[1000px\]{width:1000px}.w-\[100px\]{width:100px}.w-\[180px\]{width:180px}.w-\[300px\]{width:300px}.w-\[350px\]{width:350px}.w-\[400px\]{width:400px}.w-full{width:100%}.max-w-\[170px\]{max-width:170px}.max-w-\[230px\]{max-width:230px}.max-w-\[350px\]{max-width:350px}.max-w-\[370px\]{max-width:370px}.max-w-\[480px\]{max-width:480px}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-16{gap:4rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-12{-moz-column-gap:3rem;column-gap:3rem}.gap-x-16{-moz-column-gap:4rem;column-gap:4rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-24{-moz-column-gap:6rem;column-gap:6rem}.gap-x-32{-moz-column-gap:8rem;column-gap:8rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-2{row-gap:.5rem}.gap-y-4{row-gap:1rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:2rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:1rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.border{border-width:1px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-\[\#FF6A2B\]{--tw-border-opacity: 1;border-color:rgb(255 106 43 / var(--tw-border-opacity, 1))}.border-black{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-blue-500\/20{border-color:#3b82f633}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.border-t-blue-500{--tw-border-opacity: 1;border-top-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.bg-\[\#FF6A2B\]{--tw-bg-opacity: 1;background-color:rgb(255 106 43 / var(--tw-bg-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/50{background-color:#00000080}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-blue-900\/20{background-color:#1e3a8a33}.bg-blue-900\/30{background-color:#1e3a8a4d}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.bg-gray-900\/75{background-color:#111827bf}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-yellow-900\/20{background-color:#713f1233}.bg-cover{background-size:cover}.bg-center{background-position:center}.bg-no-repeat{background-repeat:no-repeat}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-32{padding-left:8rem;padding-right:8rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-9{padding-left:2.25rem;padding-right:2.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pt-12{padding-top:3rem}.pt-32{padding-top:8rem}.pt-4{padding-top:1rem}.pt-9{padding-top:2.25rem}.pt-\[10px\]{padding-top:10px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-\[\#FF6A2B\]{--tw-text-opacity: 1;color:rgb(255 106 43 / var(--tw-text-opacity, 1))}.text-blue-300{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-300{--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-300:hover{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.hover\:text-gray-300:hover{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-gray-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}@media (min-width: 768px){.md\:mb-32{margin-bottom:8rem}.md\:mt-11{margin-top:2.75rem}.md\:mt-24{margin-top:6rem}.md\:mt-32{margin-top:8rem}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-auto{width:auto}.md\:flex-row{flex-direction:row}.md\:justify-end{justify-content:flex-end}.md\:justify-around{justify-content:space-around}.md\:gap-0{gap:0px}.md\:gap-x-12{-moz-column-gap:3rem;column-gap:3rem}.md\:gap-y-0{row-gap:0px}.md\:px-0{padding-left:0;padding-right:0}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:px-32{padding-left:8rem;padding-right:8rem}.md\:px-48{padding-left:12rem;padding-right:12rem}}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "coinley-checkout",
|
3
|
-
"version": "0.1.
|
3
|
+
"version": "0.1.2",
|
4
4
|
"description": "A React SDK for Coinley cryptocurrency payment processing",
|
5
5
|
"main": "dist/coinley-checkout.umd.js",
|
6
6
|
"module": "dist/coinley-checkout.es.js",
|
@@ -36,5 +36,8 @@
|
|
36
36
|
"postcss": "^8.5.3",
|
37
37
|
"tailwindcss": "^3.4.17",
|
38
38
|
"vite": "^4.5.12"
|
39
|
+
},
|
40
|
+
"dependencies": {
|
41
|
+
"qrcode.react": "^4.2.0"
|
39
42
|
}
|
40
43
|
}
|