atlas-react-widget 0.1.1 → 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/index.es.js +70 -71
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -18,8 +18,8 @@ function ne() {
|
|
|
18
18
|
var r = null;
|
|
19
19
|
if (u !== void 0 && (r = "" + u), l.key !== void 0 && (r = "" + l.key), "key" in l) {
|
|
20
20
|
u = {};
|
|
21
|
-
for (var
|
|
22
|
-
|
|
21
|
+
for (var t in l)
|
|
22
|
+
t !== "key" && (u[t] = l[t]);
|
|
23
23
|
} else u = l;
|
|
24
24
|
return l = u.ref, {
|
|
25
25
|
$$typeof: o,
|
|
@@ -67,7 +67,7 @@ function le() {
|
|
|
67
67
|
switch (typeof e.tag == "number" && console.error(
|
|
68
68
|
"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
|
|
69
69
|
), e.$$typeof) {
|
|
70
|
-
case
|
|
70
|
+
case n:
|
|
71
71
|
return "Portal";
|
|
72
72
|
case G:
|
|
73
73
|
return (e.displayName || "Context") + ".Provider";
|
|
@@ -132,7 +132,7 @@ function le() {
|
|
|
132
132
|
}
|
|
133
133
|
return e.key !== void 0;
|
|
134
134
|
}
|
|
135
|
-
function
|
|
135
|
+
function t(e, s) {
|
|
136
136
|
function p() {
|
|
137
137
|
M || (M = !0, console.error(
|
|
138
138
|
"%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://react.dev/link/special-props)",
|
|
@@ -144,22 +144,22 @@ function le() {
|
|
|
144
144
|
configurable: !0
|
|
145
145
|
});
|
|
146
146
|
}
|
|
147
|
-
function
|
|
147
|
+
function N() {
|
|
148
148
|
var e = o(this.type);
|
|
149
149
|
return z[e] || (z[e] = !0, console.error(
|
|
150
150
|
"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
|
|
151
151
|
)), e = this.props.ref, e !== void 0 ? e : null;
|
|
152
152
|
}
|
|
153
|
-
function P(e, s, p, C,
|
|
153
|
+
function P(e, s, p, C, w, g, S, L) {
|
|
154
154
|
return p = g.ref, e = {
|
|
155
155
|
$$typeof: m,
|
|
156
156
|
type: e,
|
|
157
157
|
key: s,
|
|
158
158
|
props: g,
|
|
159
|
-
_owner:
|
|
159
|
+
_owner: w
|
|
160
160
|
}, (p !== void 0 ? p : null) !== null ? Object.defineProperty(e, "ref", {
|
|
161
161
|
enumerable: !1,
|
|
162
|
-
get:
|
|
162
|
+
get: N
|
|
163
163
|
}) : Object.defineProperty(e, "ref", { enumerable: !1, value: null }), e._store = {}, Object.defineProperty(e._store, "validated", {
|
|
164
164
|
configurable: !1,
|
|
165
165
|
enumerable: !1,
|
|
@@ -182,7 +182,7 @@ function le() {
|
|
|
182
182
|
value: L
|
|
183
183
|
}), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
|
|
184
184
|
}
|
|
185
|
-
function c(e, s, p, C,
|
|
185
|
+
function c(e, s, p, C, w, g, S, L) {
|
|
186
186
|
var j = s.children;
|
|
187
187
|
if (j !== void 0)
|
|
188
188
|
if (C)
|
|
@@ -218,14 +218,14 @@ React keys must be passed directly to JSX without using spread:
|
|
|
218
218
|
for (var I in s)
|
|
219
219
|
I !== "key" && (p[I] = s[I]);
|
|
220
220
|
} else p = s;
|
|
221
|
-
return j &&
|
|
221
|
+
return j && t(
|
|
222
222
|
p,
|
|
223
223
|
typeof e == "function" ? e.displayName || e.name || "Unknown" : e
|
|
224
224
|
), P(
|
|
225
225
|
e,
|
|
226
226
|
j,
|
|
227
227
|
g,
|
|
228
|
-
|
|
228
|
+
w,
|
|
229
229
|
l(),
|
|
230
230
|
p,
|
|
231
231
|
S,
|
|
@@ -235,7 +235,7 @@ React keys must be passed directly to JSX without using spread:
|
|
|
235
235
|
function v(e) {
|
|
236
236
|
typeof e == "object" && e !== null && e.$$typeof === m && e._store && (e._store.validated = 1);
|
|
237
237
|
}
|
|
238
|
-
var h = se, m = Symbol.for("react.transitional.element"),
|
|
238
|
+
var h = se, m = Symbol.for("react.transitional.element"), n = Symbol.for("react.portal"), y = Symbol.for("react.fragment"), b = Symbol.for("react.strict_mode"), x = Symbol.for("react.profiler"), E = Symbol.for("react.consumer"), G = Symbol.for("react.context"), Z = Symbol.for("react.forward_ref"), B = Symbol.for("react.suspense"), X = Symbol.for("react.suspense_list"), Q = Symbol.for("react.memo"), $ = Symbol.for("react.lazy"), K = Symbol.for("react.activity"), ee = Symbol.for("react.client.reference"), T = h.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, Y = Object.prototype.hasOwnProperty, ae = Array.isArray, O = console.createTask ? console.createTask : function() {
|
|
239
239
|
return null;
|
|
240
240
|
};
|
|
241
241
|
h = {
|
|
@@ -247,7 +247,7 @@ React keys must be passed directly to JSX without using spread:
|
|
|
247
247
|
h,
|
|
248
248
|
u
|
|
249
249
|
)(), U = O(i(u)), H = {};
|
|
250
|
-
k.Fragment = y, k.jsx = function(e, s, p, C,
|
|
250
|
+
k.Fragment = y, k.jsx = function(e, s, p, C, w) {
|
|
251
251
|
var g = 1e4 > T.recentlyCreatedOwnerStacks++;
|
|
252
252
|
return c(
|
|
253
253
|
e,
|
|
@@ -255,11 +255,11 @@ React keys must be passed directly to JSX without using spread:
|
|
|
255
255
|
p,
|
|
256
256
|
!1,
|
|
257
257
|
C,
|
|
258
|
-
|
|
258
|
+
w,
|
|
259
259
|
g ? Error("react-stack-top-frame") : V,
|
|
260
260
|
g ? O(i(e)) : U
|
|
261
261
|
);
|
|
262
|
-
}, k.jsxs = function(e, s, p, C,
|
|
262
|
+
}, k.jsxs = function(e, s, p, C, w) {
|
|
263
263
|
var g = 1e4 > T.recentlyCreatedOwnerStacks++;
|
|
264
264
|
return c(
|
|
265
265
|
e,
|
|
@@ -267,7 +267,7 @@ React keys must be passed directly to JSX without using spread:
|
|
|
267
267
|
p,
|
|
268
268
|
!0,
|
|
269
269
|
C,
|
|
270
|
-
|
|
270
|
+
w,
|
|
271
271
|
g ? Error("react-stack-top-frame") : V,
|
|
272
272
|
g ? O(i(e)) : U
|
|
273
273
|
);
|
|
@@ -283,7 +283,7 @@ const oe = (o, f) => {
|
|
|
283
283
|
}), [l, u] = D({
|
|
284
284
|
isValid: !1,
|
|
285
285
|
isLoading: !0
|
|
286
|
-
}), r = W(null),
|
|
286
|
+
}), r = W(null), t = W(null);
|
|
287
287
|
A(() => {
|
|
288
288
|
(async () => {
|
|
289
289
|
if (!o) {
|
|
@@ -301,7 +301,7 @@ const oe = (o, f) => {
|
|
|
301
301
|
message: "Loading payment information..."
|
|
302
302
|
});
|
|
303
303
|
try {
|
|
304
|
-
const
|
|
304
|
+
const n = await (await fetch(
|
|
305
305
|
"https://api.atlascard.xyz/api/auth/external/validate",
|
|
306
306
|
{
|
|
307
307
|
method: "POST",
|
|
@@ -312,12 +312,11 @@ const oe = (o, f) => {
|
|
|
312
312
|
})
|
|
313
313
|
}
|
|
314
314
|
)).json();
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
}), new Error(t.error || "Invalid auth key");
|
|
315
|
+
n.valid || i({
|
|
316
|
+
status: "error",
|
|
317
|
+
message: "Failed to initialize payment",
|
|
318
|
+
error: n.error || "Invalid Auth Key"
|
|
319
|
+
});
|
|
321
320
|
const y = await fetch(
|
|
322
321
|
"https://api.atlascard.xyz/api/credentials/get",
|
|
323
322
|
{
|
|
@@ -332,8 +331,8 @@ const oe = (o, f) => {
|
|
|
332
331
|
if (!y.ok)
|
|
333
332
|
throw new Error("Failed to fetch credentials");
|
|
334
333
|
const b = await y.json(), x = {
|
|
335
|
-
cardId:
|
|
336
|
-
businessAddress:
|
|
334
|
+
cardId: n.cardId,
|
|
335
|
+
businessAddress: n.businessAddress,
|
|
337
336
|
userAddress: b.address,
|
|
338
337
|
identifier: b.identifier,
|
|
339
338
|
credentials: b,
|
|
@@ -358,30 +357,30 @@ const oe = (o, f) => {
|
|
|
358
357
|
}, [o, f]), A(() => {
|
|
359
358
|
const h = (m) => {
|
|
360
359
|
if (m.origin !== "https://atlascard.xyz") return;
|
|
361
|
-
const
|
|
362
|
-
switch (
|
|
360
|
+
const n = m.data;
|
|
361
|
+
switch (n.type) {
|
|
363
362
|
case "payment_result":
|
|
364
|
-
|
|
363
|
+
n.status === "success" ? (i({
|
|
365
364
|
status: "success",
|
|
366
365
|
message: "Payment successful!",
|
|
367
|
-
transactionHash:
|
|
368
|
-
}),
|
|
366
|
+
transactionHash: n.transactionHash
|
|
367
|
+
}), t.current && (t.current.resolve({
|
|
369
368
|
success: !0,
|
|
370
|
-
transactionHash:
|
|
371
|
-
amount:
|
|
372
|
-
merchant:
|
|
373
|
-
type:
|
|
369
|
+
transactionHash: n.transactionHash,
|
|
370
|
+
amount: n.amount,
|
|
371
|
+
merchant: n.merchant,
|
|
372
|
+
type: n.paymentType,
|
|
374
373
|
paymentData: l
|
|
375
|
-
}),
|
|
374
|
+
}), t.current = null), r.current && setTimeout(() => {
|
|
376
375
|
var y;
|
|
377
376
|
(y = r.current) == null || y.close(), r.current = null;
|
|
378
377
|
}, 3e3)) : (i({
|
|
379
378
|
status: "error",
|
|
380
|
-
message:
|
|
381
|
-
error:
|
|
382
|
-
}),
|
|
383
|
-
new Error(
|
|
384
|
-
),
|
|
379
|
+
message: n.error || "Payment failed",
|
|
380
|
+
error: n.error
|
|
381
|
+
}), t.current && (t.current.reject(
|
|
382
|
+
new Error(n.error || "Payment failed")
|
|
383
|
+
), t.current = null), r.current && setTimeout(() => {
|
|
385
384
|
var y;
|
|
386
385
|
(y = r.current) == null || y.close(), r.current = null;
|
|
387
386
|
}, 3e3));
|
|
@@ -389,19 +388,19 @@ const oe = (o, f) => {
|
|
|
389
388
|
case "payment_error":
|
|
390
389
|
i({
|
|
391
390
|
status: "error",
|
|
392
|
-
message:
|
|
393
|
-
error:
|
|
394
|
-
}),
|
|
395
|
-
new Error(
|
|
396
|
-
),
|
|
391
|
+
message: n.error || "Payment failed",
|
|
392
|
+
error: n.error
|
|
393
|
+
}), t.current && (t.current.reject(
|
|
394
|
+
new Error(n.error || "Payment failed")
|
|
395
|
+
), t.current = null), r.current && (r.current.close(), r.current = null);
|
|
397
396
|
break;
|
|
398
397
|
case "close_popup":
|
|
399
398
|
r.current && (r.current.close(), r.current = null), d.status === "popup_open" && (i({
|
|
400
399
|
status: "ready",
|
|
401
400
|
message: "Payment cancelled"
|
|
402
|
-
}),
|
|
401
|
+
}), t.current && (t.current.reject(
|
|
403
402
|
new Error("Payment cancelled by user")
|
|
404
|
-
),
|
|
403
|
+
), t.current = null));
|
|
405
404
|
break;
|
|
406
405
|
}
|
|
407
406
|
};
|
|
@@ -413,13 +412,13 @@ const oe = (o, f) => {
|
|
|
413
412
|
(m = r.current) != null && m.closed && (clearInterval(h), d.status === "popup_open" && (i({
|
|
414
413
|
status: "ready",
|
|
415
414
|
message: "Payment cancelled"
|
|
416
|
-
}),
|
|
415
|
+
}), t.current && (t.current.reject(
|
|
417
416
|
new Error("Payment cancelled by user")
|
|
418
|
-
),
|
|
417
|
+
), t.current = null)), r.current = null);
|
|
419
418
|
}, 500);
|
|
420
419
|
return () => clearInterval(h);
|
|
421
420
|
}, [d.status]);
|
|
422
|
-
const
|
|
421
|
+
const N = te(
|
|
423
422
|
async (h, m) => {
|
|
424
423
|
if (!l.isValid || !l.credentials)
|
|
425
424
|
throw new Error("Payment data not validated");
|
|
@@ -457,8 +456,8 @@ const oe = (o, f) => {
|
|
|
457
456
|
processPayment: async (h, m) => {
|
|
458
457
|
if (!l.isValid)
|
|
459
458
|
throw new Error("Payment data not validated");
|
|
460
|
-
return new Promise((
|
|
461
|
-
|
|
459
|
+
return new Promise((n, y) => {
|
|
460
|
+
t.current = { resolve: n, reject: y }, N(h, m).catch(y);
|
|
462
461
|
});
|
|
463
462
|
},
|
|
464
463
|
status: d,
|
|
@@ -467,13 +466,13 @@ const oe = (o, f) => {
|
|
|
467
466
|
r.current && (r.current.close(), r.current = null), d.status === "popup_open" && i({
|
|
468
467
|
status: "ready",
|
|
469
468
|
message: "Payment cancelled"
|
|
470
|
-
}),
|
|
469
|
+
}), t.current && (t.current.reject(new Error("Payment cancelled")), t.current = null);
|
|
471
470
|
},
|
|
472
471
|
reset: () => {
|
|
473
472
|
i({ status: "idle", message: "Ready to pay" }), u({
|
|
474
473
|
isValid: !1,
|
|
475
474
|
isLoading: !0
|
|
476
|
-
}), r.current && (r.current.close(), r.current = null),
|
|
475
|
+
}), r.current && (r.current.close(), r.current = null), t.current && (t.current.reject(new Error("Payment reset")), t.current = null);
|
|
477
476
|
}
|
|
478
477
|
};
|
|
479
478
|
}, ie = ({
|
|
@@ -523,10 +522,10 @@ const oe = (o, f) => {
|
|
|
523
522
|
onSuccess: l,
|
|
524
523
|
onError: u,
|
|
525
524
|
className: r = "",
|
|
526
|
-
buttonText:
|
|
527
|
-
disabled:
|
|
525
|
+
buttonText: t = "PAY NOW",
|
|
526
|
+
disabled: N = !1
|
|
528
527
|
}) => {
|
|
529
|
-
const { processPayment: P, status: c, paymentData: v, closePopup: h, reset: m } = oe(o, i),
|
|
528
|
+
const { processPayment: P, status: c, paymentData: v, closePopup: h, reset: m } = oe(o, i), n = async (x) => {
|
|
530
529
|
if (x.preventDefault(), !(!(v != null && v.isValid) || parseFloat(d) <= 0))
|
|
531
530
|
try {
|
|
532
531
|
const E = await P(f, d);
|
|
@@ -570,7 +569,7 @@ const oe = (o, f) => {
|
|
|
570
569
|
] })
|
|
571
570
|
] }),
|
|
572
571
|
/* @__PURE__ */ a.jsx("div", { className: "atlas-divider" }),
|
|
573
|
-
/* @__PURE__ */ a.jsxs("form", { onSubmit:
|
|
572
|
+
/* @__PURE__ */ a.jsxs("form", { onSubmit: n, className: "atlas-form", children: [
|
|
574
573
|
/* @__PURE__ */ a.jsx("div", { className: "atlas-validation-info", children: /* @__PURE__ */ a.jsxs("div", { className: "atlas-info-section", children: [
|
|
575
574
|
/* @__PURE__ */ a.jsx("h4", { children: "Payment Account" }),
|
|
576
575
|
/* @__PURE__ */ a.jsxs("div", { className: "atlas-info-grid", children: [
|
|
@@ -640,8 +639,8 @@ const oe = (o, f) => {
|
|
|
640
639
|
{
|
|
641
640
|
type: "submit",
|
|
642
641
|
className: "atlas-pay-button",
|
|
643
|
-
disabled: !v.isValid || parseFloat(d) <= 0 ||
|
|
644
|
-
children:
|
|
642
|
+
disabled: !v.isValid || parseFloat(d) <= 0 || N,
|
|
643
|
+
children: t
|
|
645
644
|
}
|
|
646
645
|
),
|
|
647
646
|
c.status !== "ready" && c.status !== "idle" && c.status !== "popup_open" && /* @__PURE__ */ a.jsxs("div", { className: "atlas-status-wrapper", children: [
|
|
@@ -686,14 +685,14 @@ const oe = (o, f) => {
|
|
|
686
685
|
className: l = "",
|
|
687
686
|
buttonText: u = "Pay Now",
|
|
688
687
|
amount: r = "0",
|
|
689
|
-
paymentType:
|
|
690
|
-
disabled:
|
|
688
|
+
paymentType: t = "one_time_payment",
|
|
689
|
+
disabled: N = !1
|
|
691
690
|
// chainId = 8453,
|
|
692
691
|
}) => {
|
|
693
|
-
const [P, c] = D(!1), v = (
|
|
694
|
-
d == null || d(
|
|
695
|
-
}, h = (
|
|
696
|
-
i == null || i(
|
|
692
|
+
const [P, c] = D(!1), v = (n) => {
|
|
693
|
+
d == null || d(n), setTimeout(() => c(!1), 2e3);
|
|
694
|
+
}, h = (n) => {
|
|
695
|
+
i == null || i(n);
|
|
697
696
|
}, m = () => {
|
|
698
697
|
if (!o) {
|
|
699
698
|
alert("Payment configuration error: No auth key provided");
|
|
@@ -707,7 +706,7 @@ const oe = (o, f) => {
|
|
|
707
706
|
{
|
|
708
707
|
className: `atlas-payment-button ${l}`,
|
|
709
708
|
onClick: m,
|
|
710
|
-
disabled:
|
|
709
|
+
disabled: N || !o,
|
|
711
710
|
children: u
|
|
712
711
|
}
|
|
713
712
|
),
|
|
@@ -716,7 +715,7 @@ const oe = (o, f) => {
|
|
|
716
715
|
{
|
|
717
716
|
className: "atlas-modal-overlay",
|
|
718
717
|
onClick: () => c(!1),
|
|
719
|
-
children: /* @__PURE__ */ a.jsxs("div", { className: "atlas-modal", onClick: (
|
|
718
|
+
children: /* @__PURE__ */ a.jsxs("div", { className: "atlas-modal", onClick: (n) => n.stopPropagation(), children: [
|
|
720
719
|
/* @__PURE__ */ a.jsxs("div", { className: "atlas-modal-header", children: [
|
|
721
720
|
/* @__PURE__ */ a.jsxs("div", { className: "atlas-modal-header2", children: [
|
|
722
721
|
/* @__PURE__ */ a.jsx(ue, {}),
|
|
@@ -737,11 +736,11 @@ const oe = (o, f) => {
|
|
|
737
736
|
authKey: o,
|
|
738
737
|
merchantPaymentAddress: f,
|
|
739
738
|
amount: r,
|
|
740
|
-
paymentType:
|
|
739
|
+
paymentType: t,
|
|
741
740
|
onSuccess: v,
|
|
742
741
|
onError: h,
|
|
743
742
|
buttonText: u,
|
|
744
|
-
disabled:
|
|
743
|
+
disabled: N
|
|
745
744
|
}
|
|
746
745
|
) })
|
|
747
746
|
] })
|
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../node_modules/react/cjs/react-jsx-runtime.production.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../src/hooks/useAtlasPayment.ts","../src/components/AtlasPaymentStatus.tsx","../src/components/AtlasPaymentForm.tsx","../src/assets/Icon.tsx","../src/components/AtlasPaymentButton.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%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://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(\n type,\n key,\n self,\n source,\n owner,\n props,\n debugStack,\n debugTask\n ) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n self,\n source,\n getOwner(),\n maybeKey,\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_ELEMENT_TYPE &&\n node._store &&\n (node._store.validated = 1);\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","// hooks/useAtlasPayment.ts\r\nimport { useState, useEffect, useCallback, useRef } from \"react\";\r\nimport type {\r\n PaymentType,\r\n ValidationResponse,\r\n DecryptedCredentials,\r\n} from \"../types\";\r\n\r\ninterface PaymentStatus {\r\n status:\r\n | \"idle\"\r\n | \"loading\"\r\n | \"validating\"\r\n | \"ready\"\r\n | \"popup_open\"\r\n | \"processing\"\r\n | \"success\"\r\n | \"error\";\r\n message: string;\r\n transactionHash?: string;\r\n error?: string;\r\n}\r\n\r\ninterface PaymentData {\r\n cardId?: string;\r\n businessAddress?: string;\r\n userAddress?: string;\r\n identifier?: string;\r\n credentials?: DecryptedCredentials;\r\n isValid: boolean;\r\n isLoading: boolean;\r\n}\r\n\r\ninterface PopupMessage {\r\n type: \"payment_result\" | \"payment_error\" | \"close_popup\";\r\n status?: \"success\" | \"failed\";\r\n transactionHash?: string;\r\n amount?: string;\r\n merchant?: string;\r\n paymentType?: string;\r\n error?: string;\r\n}\r\n\r\nexport const useAtlasPayment = (authKey: string, paymentType: PaymentType) => {\r\n const [status, setStatus] = useState<PaymentStatus>({\r\n status: \"idle\",\r\n message: \"Ready to pay\",\r\n });\r\n const [paymentData, setPaymentData] = useState<PaymentData>({\r\n isValid: false,\r\n isLoading: true,\r\n });\r\n const popupRef = useRef<Window | null>(null);\r\n const paymentPromiseRef = useRef<{\r\n resolve: (value: any) => void;\r\n reject: (reason?: any) => void;\r\n } | null>(null);\r\n\r\n // Automatically validate and fetch credentials when authKey or paymentType changes\r\n useEffect(() => {\r\n const initializePayment = async () => {\r\n if (!authKey) {\r\n setPaymentData({\r\n isValid: false,\r\n isLoading: false,\r\n });\r\n setStatus({\r\n status: \"error\",\r\n message: \"No auth key provided\",\r\n });\r\n return;\r\n }\r\n\r\n setPaymentData((prev) => ({ ...prev, isLoading: true }));\r\n setStatus({\r\n status: \"loading\",\r\n message: \"Loading payment information...\",\r\n });\r\n\r\n try {\r\n // Step 1: Validate auth key\r\n const validationResponse = await fetch(\r\n \"https://api.atlascard.xyz/api/auth/external/validate\",\r\n {\r\n method: \"POST\",\r\n headers: { \"Content-Type\": \"application/json\" },\r\n body: JSON.stringify({\r\n key: authKey,\r\n required_scopes: [paymentType],\r\n }),\r\n }\r\n );\r\n\r\n const validationData: ValidationResponse =\r\n await validationResponse.json();\r\n\r\n if (!validationData.valid) {\r\n setStatus({\r\n status: \"error\",\r\n message: \"Failed to initialize payment\",\r\n error: validationData.error || \"Invalid Auth Key\",\r\n });\r\n throw new Error(validationData.error || \"Invalid auth key\");\r\n }\r\n\r\n // Step 2: Get credentials\r\n const credentialsResponse = await fetch(\r\n \"https://api.atlascard.xyz/api/credentials/get\",\r\n {\r\n method: \"POST\",\r\n headers: { \"Content-Type\": \"application/json\" },\r\n body: JSON.stringify({\r\n auth_key: authKey,\r\n required_scopes: [paymentType],\r\n }),\r\n }\r\n );\r\n\r\n if (!credentialsResponse.ok) {\r\n throw new Error(\"Failed to fetch credentials\");\r\n }\r\n\r\n const credentialsData: DecryptedCredentials =\r\n await credentialsResponse.json();\r\n\r\n const updatedPaymentData = {\r\n cardId: validationData.cardId,\r\n businessAddress: validationData.businessAddress,\r\n userAddress: credentialsData.address,\r\n identifier: credentialsData.identifier,\r\n credentials: credentialsData,\r\n isValid: true,\r\n isLoading: false,\r\n };\r\n\r\n setPaymentData(updatedPaymentData);\r\n setStatus({\r\n status: \"ready\",\r\n message: \"Ready to process payment\",\r\n });\r\n } catch (error) {\r\n console.error(\"Payment initialization error:\", error);\r\n const errorData = {\r\n isValid: false,\r\n isLoading: false,\r\n };\r\n setPaymentData(errorData);\r\n setStatus({\r\n status: \"error\",\r\n message: \"Failed to initialize payment\",\r\n error: error instanceof Error ? error.message : \"Unknown error\",\r\n });\r\n }\r\n };\r\n\r\n initializePayment();\r\n }, [authKey, paymentType]);\r\n\r\n // Listen for messages from popup\r\n useEffect(() => {\r\n const handleMessage = (event: MessageEvent) => {\r\n // Security: Only accept messages from Atlascard.xyz\r\n if (event.origin !== \"https://atlascard.xyz\") return;\r\n\r\n const data: PopupMessage = event.data;\r\n\r\n switch (data.type) {\r\n case \"payment_result\":\r\n if (data.status === \"success\") {\r\n setStatus({\r\n status: \"success\",\r\n message: \"Payment successful!\",\r\n transactionHash: data.transactionHash,\r\n });\r\n\r\n // Resolve the promise\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.resolve({\r\n success: true,\r\n transactionHash: data.transactionHash,\r\n amount: data.amount,\r\n merchant: data.merchant,\r\n type: data.paymentType,\r\n paymentData,\r\n });\r\n paymentPromiseRef.current = null;\r\n }\r\n\r\n // Close the popup\r\n if (popupRef.current) {\r\n setTimeout(() => {\r\n popupRef.current?.close();\r\n popupRef.current = null;\r\n }, 3000); // Give user time to see success message\r\n }\r\n } else {\r\n setStatus({\r\n status: \"error\",\r\n message: data.error || \"Payment failed\",\r\n error: data.error,\r\n });\r\n\r\n // Reject the promise\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(\r\n new Error(data.error || \"Payment failed\")\r\n );\r\n paymentPromiseRef.current = null;\r\n }\r\n\r\n // Close the popup after a delay\r\n if (popupRef.current) {\r\n setTimeout(() => {\r\n popupRef.current?.close();\r\n popupRef.current = null;\r\n }, 3000);\r\n }\r\n }\r\n break;\r\n\r\n case \"payment_error\":\r\n setStatus({\r\n status: \"error\",\r\n message: data.error || \"Payment failed\",\r\n error: data.error,\r\n });\r\n\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(\r\n new Error(data.error || \"Payment failed\")\r\n );\r\n paymentPromiseRef.current = null;\r\n }\r\n\r\n if (popupRef.current) {\r\n popupRef.current.close();\r\n popupRef.current = null;\r\n }\r\n break;\r\n\r\n case \"close_popup\":\r\n if (popupRef.current) {\r\n popupRef.current.close();\r\n popupRef.current = null;\r\n }\r\n\r\n // If still in popup_open status, user closed manually\r\n if (status.status === \"popup_open\") {\r\n setStatus({\r\n status: \"ready\",\r\n message: \"Payment cancelled\",\r\n });\r\n\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(\r\n new Error(\"Payment cancelled by user\")\r\n );\r\n paymentPromiseRef.current = null;\r\n }\r\n }\r\n break;\r\n }\r\n };\r\n\r\n window.addEventListener(\"message\", handleMessage);\r\n return () => window.removeEventListener(\"message\", handleMessage);\r\n }, [paymentData, status.status]);\r\n\r\n // Check if popup was closed by user\r\n useEffect(() => {\r\n if (!popupRef.current) return;\r\n\r\n const checkPopup = setInterval(() => {\r\n if (popupRef.current?.closed) {\r\n clearInterval(checkPopup);\r\n\r\n // If still in popup_open status, user closed manually\r\n if (status.status === \"popup_open\") {\r\n setStatus({\r\n status: \"ready\",\r\n message: \"Payment cancelled\",\r\n });\r\n\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(\r\n new Error(\"Payment cancelled by user\")\r\n );\r\n paymentPromiseRef.current = null;\r\n }\r\n }\r\n\r\n popupRef.current = null;\r\n }\r\n }, 500);\r\n\r\n return () => clearInterval(checkPopup);\r\n }, [status.status]);\r\n\r\n const openPaymentPopup = useCallback(\r\n async (merchantAddress: string, amount: string) => {\r\n if (!paymentData.isValid || !paymentData.credentials) {\r\n throw new Error(\"Payment data not validated\");\r\n }\r\n\r\n // Close any existing popup\r\n if (popupRef.current) {\r\n popupRef.current.close();\r\n popupRef.current = null;\r\n }\r\n\r\n // Build popup URL with all necessary parameters\r\n const params = new URLSearchParams({\r\n merchantAddress: merchantAddress,\r\n amount: amount,\r\n eoaAddress: paymentData.credentials.address,\r\n credentials: encodeURIComponent(\r\n JSON.stringify(paymentData.credentials)\r\n ),\r\n paymentType: paymentType,\r\n origin: window.location.origin,\r\n });\r\n\r\n const url = `https://atlascard.xyz/pay?${params.toString()}`;\r\n\r\n // Open popup window\r\n const popup = window.open(\r\n url,\r\n \"Atlascard Payment\",\r\n \"width=500,height=700,scrollbars=no,resizable=no,menubar=no,toolbar=no,location=no,status=no\"\r\n );\r\n\r\n if (!popup) {\r\n const error = \"Please allow popups to complete the payment\";\r\n setStatus({\r\n status: \"error\",\r\n message: error,\r\n error: error,\r\n });\r\n throw new Error(error);\r\n }\r\n\r\n popupRef.current = popup;\r\n setStatus({\r\n status: \"popup_open\",\r\n message: \"Complete payment in the popup window\",\r\n });\r\n },\r\n [paymentData, paymentType]\r\n );\r\n\r\n const processPayment = async (merchantAddress: string, amount: string) => {\r\n if (!paymentData.isValid) {\r\n throw new Error(\"Payment data not validated\");\r\n }\r\n\r\n // Create promise to handle payment result\r\n return new Promise((resolve, reject) => {\r\n paymentPromiseRef.current = { resolve, reject };\r\n\r\n // Open popup\r\n openPaymentPopup(merchantAddress, amount).catch(reject);\r\n });\r\n };\r\n\r\n const closePopup = () => {\r\n if (popupRef.current) {\r\n popupRef.current.close();\r\n popupRef.current = null;\r\n }\r\n\r\n if (status.status === \"popup_open\") {\r\n setStatus({\r\n status: \"ready\",\r\n message: \"Payment cancelled\",\r\n });\r\n }\r\n\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(new Error(\"Payment cancelled\"));\r\n paymentPromiseRef.current = null;\r\n }\r\n };\r\n\r\n const reset = () => {\r\n setStatus({ status: \"idle\", message: \"Ready to pay\" });\r\n setPaymentData({\r\n isValid: false,\r\n isLoading: true,\r\n });\r\n\r\n if (popupRef.current) {\r\n popupRef.current.close();\r\n popupRef.current = null;\r\n }\r\n\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(new Error(\"Payment reset\"));\r\n paymentPromiseRef.current = null;\r\n }\r\n };\r\n\r\n return {\r\n processPayment,\r\n status,\r\n paymentData,\r\n closePopup,\r\n reset,\r\n };\r\n};\r\n","import React from \"react\";\r\n\r\ninterface PaymentStatus {\r\n status:\r\n | \"idle\"\r\n | \"loading\"\r\n | \"validating\"\r\n | \"ready\"\r\n | \"popup_open\"\r\n | \"processing\"\r\n | \"success\"\r\n | \"error\";\r\n message: string;\r\n transactionHash?: string;\r\n error?: string;\r\n}\r\n\r\ninterface AtlasPaymentStatusProps {\r\n status: PaymentStatus;\r\n}\r\n\r\nexport const AtlasPaymentStatus: React.FC<AtlasPaymentStatusProps> = ({\r\n status,\r\n}) => {\r\n const getStatusIcon = () => {\r\n switch (status.status) {\r\n case \"processing\":\r\n return (\r\n <div className=\"atlas-spinner\">\r\n <div className=\"atlas-spinner-circle\"></div>\r\n </div>\r\n );\r\n case \"success\":\r\n return <div className=\"atlas-status-icon atlas-success\">✓</div>;\r\n case \"error\":\r\n return <div className=\"atlas-status-icon atlas-error\">✗</div>;\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const getStatusColor = () => {\r\n switch (status.status) {\r\n case \"processing\":\r\n return \"atlas-status-processing\";\r\n case \"success\":\r\n return \"atlas-status-success\";\r\n case \"error\":\r\n return \"atlas-status-error\";\r\n default:\r\n return \"\";\r\n }\r\n };\r\n\r\n if (status.status === \"idle\") return null;\r\n\r\n return (\r\n <div className={`atlas-payment-status ${getStatusColor()}`}>\r\n <div className=\"atlas-status-content\">\r\n {getStatusIcon()}\r\n <div className=\"atlas-status-text\">\r\n <p className=\"atlas-status-message\">{status.message}</p>\r\n {status.transactionHash && (\r\n <p className=\"atlas-transaction-hash\">\r\n Tx: {status.transactionHash.slice(0, 10)}...\r\n {status.transactionHash.slice(-8)}\r\n </p>\r\n )}\r\n {status.error && (\r\n <p className=\"atlas-error-message\">{status.error}</p>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport React, { useEffect } from \"react\";\r\nimport { useAtlasPayment } from \"../hooks/useAtlasPayment\";\r\nimport { AtlasPaymentStatus } from \"./AtlasPaymentStatus\";\r\nimport type { PaymentType } from \"../types\";\r\n\r\ninterface AtlasPaymentFormProps {\r\n authKey: string;\r\n merchantPaymentAddress: string;\r\n amount?: string;\r\n paymentType?: PaymentType;\r\n onSuccess?: (receipt: any) => void;\r\n onError?: (error: Error) => void;\r\n className?: string;\r\n buttonText?: string;\r\n disabled?: boolean;\r\n chainId?: number;\r\n}\r\n\r\nexport const AtlasPaymentForm: React.FC<AtlasPaymentFormProps> = ({\r\n authKey,\r\n merchantPaymentAddress,\r\n amount = \"0\",\r\n paymentType = \"one_time_payment\",\r\n onSuccess,\r\n onError,\r\n className = \"\",\r\n buttonText = \"PAY NOW\",\r\n disabled = false,\r\n}) => {\r\n const { processPayment, status, paymentData, closePopup, reset } =\r\n useAtlasPayment(authKey, paymentType);\r\n\r\n const handleSubmit = async (e: React.FormEvent) => {\r\n e.preventDefault();\r\n\r\n if (!paymentData?.isValid || parseFloat(amount) <= 0) {\r\n return;\r\n }\r\n\r\n try {\r\n const receipt = await processPayment(merchantPaymentAddress, amount);\r\n onSuccess?.(receipt);\r\n } catch (error) {\r\n onError?.(error as Error);\r\n }\r\n };\r\n\r\n const handleReset = () => {\r\n reset();\r\n };\r\n\r\n // Call onSuccess when payment is successful\r\n useEffect(() => {\r\n if (status.status === \"success\" && status.transactionHash) {\r\n onSuccess?.({\r\n success: true,\r\n transactionHash: status.transactionHash,\r\n amount,\r\n merchant: merchantPaymentAddress,\r\n type: paymentType,\r\n paymentData,\r\n });\r\n }\r\n }, [status.status, status.transactionHash]);\r\n\r\n // Call onError when payment fails\r\n useEffect(() => {\r\n if (status.status === \"error\" && status.error) {\r\n onError?.(new Error(status.error));\r\n }\r\n }, [status.status, status.error]);\r\n\r\n const getPaymentTypeLabel = (type: PaymentType) => {\r\n return type === \"delegate\" ? \"Recurring Payment\" : \"One-time Payment\";\r\n };\r\n\r\n // Handle undefined paymentData gracefully\r\n if (!paymentData) {\r\n return (\r\n <div className={`atlas-container ${className}`}>\r\n <div className=\"atlas-loading\">\r\n <div className=\"atlas-spinner\"></div>\r\n <p>Initializing payment system...</p>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n // Show loading state while initializing\r\n if (paymentData.isLoading) {\r\n return (\r\n <div className={`atlas-container ${className}`}>\r\n <div className=\"atlas-loading\">\r\n <div className=\"atlas-spinner\"></div>\r\n <p>Loading payment information...</p>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n // Show error if initialization failed\r\n if (!paymentData.isValid && status.status === \"error\") {\r\n return (\r\n <div className={`atlas-container ${className}`}>\r\n <div className=\"atlas-error-state\">\r\n <div className=\"atlas-error-icon\">⚠️</div>\r\n <h3>Payment Setup Failed</h3>\r\n <p>{status.error || \"Unable to initialize payment\"}</p>\r\n <button onClick={reset} className=\"atlas-secondary-button\">\r\n Try Again\r\n </button>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div className={`atlas-container ${className}`}>\r\n <div className=\"atlas-header\">\r\n <div className=\"atlas-payment-type-badge\">\r\n {getPaymentTypeLabel(paymentType)}\r\n </div>\r\n <div className=\"atlas-total\">\r\n Pay <span>{amount} USDC</span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"atlas-divider\" />\r\n\r\n <form onSubmit={handleSubmit} className=\"atlas-form\">\r\n {/* Payment Information (fetched from APIs) */}\r\n <div className=\"atlas-validation-info\">\r\n <div className=\"atlas-info-section\">\r\n <h4>Payment Account</h4>\r\n <div className=\"atlas-info-grid\">\r\n <div className=\"atlas-info-item\">\r\n <span className=\"atlas-info-label\">Card ID:</span>\r\n <span className=\"atlas-info-value\">\r\n {paymentData.cardId || \"N/A\"}\r\n </span>\r\n </div>\r\n {paymentData.userAddress && (\r\n <div className=\"atlas-info-item\">\r\n <span className=\"atlas-info-label\">Payer Address:</span>\r\n <span className=\"atlas-info-value\">\r\n {paymentData.userAddress.slice(0, 8)}...\r\n {paymentData.userAddress.slice(-6)}\r\n </span>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"atlas-merchant-info\">\r\n <div className=\"atlas-info-item\">\r\n <span className=\"atlas-info-label\">Merchant:</span>\r\n <span className=\"atlas-info-value\">\r\n {merchantPaymentAddress.slice(0, 8)}...\r\n {merchantPaymentAddress.slice(-6)}\r\n </span>\r\n </div>\r\n </div>\r\n\r\n {/* Amount Display */}\r\n <div className=\"atlas-amount-display-section\">\r\n <div className=\"atlas-amount-main\">\r\n <span className=\"atlas-amount-label\">Amount to Pay:</span>\r\n <span className=\"atlas-amount-value\">\r\n {amount} <span className=\"atlas-amount-token\">USDC</span>\r\n </span>\r\n </div>\r\n </div>\r\n\r\n {/* Popup Status Display */}\r\n {status.status === \"popup_open\" && (\r\n <div className=\"atlas-popup-status\">\r\n <div className=\"atlas-popup-icon\">🪟</div>\r\n <div className=\"atlas-popup-content\">\r\n <h4>Complete Payment in Popup</h4>\r\n <p>A new window has opened to complete your payment.</p>\r\n <p className=\"atlas-popup-hint\">\r\n If you don't see the popup, please check your browser settings\r\n or allow popups for this site.\r\n </p>\r\n <div className=\"atlas-popup-actions\">\r\n <button\r\n type=\"button\"\r\n onClick={closePopup}\r\n className=\"atlas-secondary-button\"\r\n >\r\n Cancel Payment\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n // Try to focus the popup\r\n if (window.open(\"\", \"Atlascard Payment\")) {\r\n window.focus();\r\n }\r\n }}\r\n className=\"atlas-tertiary-button\"\r\n >\r\n Show Popup\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n\r\n <div className=\"atlas-form-actions\">\r\n {status.status === \"ready\" && (\r\n <button\r\n type=\"submit\"\r\n className=\"atlas-pay-button\"\r\n disabled={\r\n !paymentData.isValid || parseFloat(amount) <= 0 || disabled\r\n }\r\n >\r\n {buttonText}\r\n </button>\r\n )}\r\n\r\n {status.status !== \"ready\" &&\r\n status.status !== \"idle\" &&\r\n status.status !== \"popup_open\" && (\r\n <div className=\"atlas-status-wrapper\">\r\n <AtlasPaymentStatus status={status} />\r\n\r\n {status.status === \"success\" && (\r\n <button\r\n type=\"button\"\r\n onClick={handleReset}\r\n className=\"atlas-secondary-button\"\r\n >\r\n Make Another Payment\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </form>\r\n </div>\r\n );\r\n};\r\n","const AtlasIcon = () => {\r\n return (\r\n <>\r\n <svg\r\n width=\"40\"\r\n height=\"40\"\r\n viewBox=\"0 0 40 40\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M2.95703 21.4442C2.72371 20.0639 2.75066 20.0321 3.3877 20.8817C3.75566 21.3763 4.4245 22.1637 4.86426 22.6268C5.3087 23.09 6.68217 23.9215 7.91602 24.4745C9.14997 25.0229 11.2674 25.7423 12.627 26.075C14.009 26.4078 17.3615 26.6555 20.2559 26.6375C23.572 26.6151 26.4573 26.3265 28.333 25.8319C29.9348 25.4093 31.8552 24.7578 32.5957 24.3846C33.3361 24.0069 34.5035 23.1704 35.1855 22.5184C35.8675 21.8665 36.4234 21.0796 36.4189 20.7694C36.4145 20.4593 36.6117 20.3113 36.8584 20.4325C37.1052 20.5584 37.2227 21.0125 37.124 21.4442C37.0208 21.876 36.8008 23.0406 36.3252 25.828L37.3252 24.9286C37.8771 24.434 38.703 23.2195 39.1562 22.2303C39.9773 20.4411 39.9821 20.4368 40 21.7811C40.009 22.523 39.6184 24.4474 39.1338 26.0526C38.6357 27.6892 37.4018 30.1537 36.3203 31.66C35.2567 33.1348 33.179 35.2212 31.6982 36.2957C30.1501 37.4198 27.7625 38.6246 26.0889 39.1327C24.3299 39.6632 21.8797 40.0043 19.9189 39.9998C17.8863 39.9953 15.6563 39.6537 13.9736 39.0916C12.4928 38.597 10.4735 37.6887 9.48633 37.0682C8.4991 36.4522 6.7802 35.0358 5.67188 33.9207C4.55907 32.8056 2.94764 30.4369 2.07715 28.6385C1.13932 26.6961 0.403864 24.3801 0 20.4325L0.866211 22.2303C1.34186 23.2195 2.18963 24.4341 3.76465 25.828L3.48242 24.3661C3.32987 23.5613 3.09164 22.2489 2.95703 21.4442ZM6.18652 27.0584C5.79164 26.8786 5.43257 26.9008 5.3877 27.1122C5.34286 27.3235 5.87657 28.3085 6.58105 29.2977C7.28115 30.2869 8.75343 31.86 9.84375 32.7997C10.9387 33.7349 12.8946 34.9 14.1914 35.3856C15.4882 35.8712 17.6065 36.3968 18.9033 36.5497C20.2809 36.716 22.2826 36.5992 23.7275 36.2664C25.0827 35.9517 26.9536 35.3174 27.8779 34.8543C28.8022 34.3957 30.3006 33.3622 31.207 32.5575C32.1134 31.7527 33.4331 30.2869 34.1377 29.2977C34.8416 28.3093 35.411 27.3968 35.3984 27.2743C35.3895 27.1529 33.6173 27.6293 31.459 28.3397C28.5468 29.3019 26.33 29.6975 22.8301 29.8729C20.0077 30.0123 16.6778 29.882 14.5283 29.5448C12.5539 29.23 10.0318 28.6186 8.91895 28.1825C7.80647 27.7465 6.57736 27.2429 6.18652 27.0584ZM19.8066 0.000823975C21.4085 -0.0171596 23.8317 0.257193 25.1914 0.603363C26.5466 0.954077 28.4679 1.69562 29.4551 2.25766C30.4423 2.81972 32.143 4.00237 33.2334 4.88364C34.3238 5.76942 35.8945 7.50556 36.7246 8.74203C37.5502 9.97862 38.6314 12.3079 39.125 13.9129C39.6141 15.5225 40.009 17.4426 40 18.1844C39.9821 19.5285 39.9774 19.5236 39.1562 17.7342C38.703 16.7451 37.8683 15.5313 36.2754 14.1375L36.5361 15.2616C36.6797 15.8821 36.9307 17.1951 37.3838 19.9823L36.2979 18.6336C35.701 17.8917 34.5252 16.8488 33.6816 16.3182C32.838 15.7876 31.1868 15.0273 30.0156 14.6317C28.8444 14.236 26.1163 13.7011 23.958 13.4403C21.2073 13.1075 18.8912 13.1075 16.2168 13.4403C14.1167 13.7011 11.0882 14.3582 9.48633 14.9022C7.87987 15.4462 5.91455 16.4578 5.11133 17.1502C4.30844 17.8424 3.65289 18.7139 3.65234 19.0829C3.65234 19.456 3.45083 19.6588 3.2041 19.5331C2.9573 19.4116 2.83624 18.953 2.93945 18.5213C3.04266 18.0897 3.25813 16.9251 3.71582 14.1375L2.55762 15.2616C1.92046 15.8821 1.09031 17.195 0.0224609 19.9823L0.250977 17.285C0.403546 15.4595 0.987496 13.5347 2.06445 11.327C3.04266 9.32176 4.5636 7.15914 6.02637 5.70688C7.33666 4.40744 9.40542 2.84709 10.626 2.24008C11.851 1.63308 13.7582 0.887039 14.8711 0.585785C15.9794 0.284556 18.2002 0.0188488 19.8066 0.000823975ZM21.2588 3.17368C19.6613 3.07031 17.5659 3.28152 16.0986 3.69516C14.7435 4.07733 12.9267 4.81969 12.0605 5.33676C11.1946 5.8583 9.71813 7.00901 8.78027 7.89926C7.83794 8.78503 6.67488 10.1696 6.19922 10.9745C5.71949 11.7786 5.37934 12.529 5.44141 12.6424C5.50423 12.7548 6.76528 12.3686 8.24609 11.784C9.72697 11.195 12.554 10.4663 14.5283 10.1561C16.6957 9.8189 19.9852 9.69815 22.8301 9.84653C26.2716 10.0309 28.5962 10.4445 31.459 11.3797C33.6152 12.0849 35.3861 12.5565 35.3984 12.4364C35.4119 12.315 34.847 11.402 34.1426 10.4129C33.4426 9.42374 31.9703 7.84974 30.8799 6.91C29.7851 5.97486 27.7751 4.78789 26.4199 4.27524C25.0647 3.76266 22.7396 3.2681 21.2588 3.17368Z\"\r\n fill=\"#E4A300\"\r\n />\r\n </svg>\r\n </>\r\n );\r\n};\r\n\r\nexport default AtlasIcon;\r\n","// AtlasPaymentButton.tsx\r\nimport React, { useState } from \"react\";\r\nimport { AtlasPaymentForm } from \"./AtlasPaymentForm\";\r\nimport type { PaymentType } from \"../types\";\r\nimport AtlasIcon from \"@/assets/Icon\";\r\n\r\ninterface AtlasPaymentButtonProps {\r\n authKey: string; // Auth key passed directly\r\n merchantPaymentAddress: string;\r\n onSuccess?: (receipt: any) => void;\r\n onError?: (error: Error) => void;\r\n className?: string;\r\n buttonText?: string;\r\n amount?: string;\r\n paymentType?: PaymentType;\r\n disabled?: boolean;\r\n chainId?: number;\r\n}\r\n\r\nexport const AtlasPaymentButton: React.FC<AtlasPaymentButtonProps> = ({\r\n authKey,\r\n merchantPaymentAddress,\r\n onSuccess,\r\n onError,\r\n className = \"\",\r\n buttonText = \"Pay Now\",\r\n amount = \"0\",\r\n paymentType = \"one_time_payment\",\r\n disabled = false,\r\n // chainId = 8453,\r\n}) => {\r\n const [showModal, setShowModal] = useState(false);\r\n\r\n const handleSuccess = (receipt: any) => {\r\n onSuccess?.(receipt);\r\n setTimeout(() => setShowModal(false), 2000);\r\n };\r\n\r\n const handleError = (error: Error) => {\r\n onError?.(error);\r\n };\r\n\r\n const handleButtonClick = () => {\r\n if (!authKey) {\r\n alert(\"Payment configuration error: No auth key provided\");\r\n return;\r\n }\r\n setShowModal(true);\r\n };\r\n\r\n return (\r\n <>\r\n <button\r\n className={`atlas-payment-button ${className}`}\r\n onClick={handleButtonClick}\r\n disabled={disabled || !authKey}\r\n >\r\n {buttonText}\r\n </button>\r\n\r\n {showModal && (\r\n <div\r\n className=\"atlas-modal-overlay\"\r\n onClick={() => setShowModal(false)}\r\n >\r\n <div className=\"atlas-modal\" onClick={(e) => e.stopPropagation()}>\r\n <div className=\"atlas-modal-header\">\r\n <div className=\"atlas-modal-header2\">\r\n <AtlasIcon />\r\n <h3>Pay with Atlas</h3>\r\n </div>\r\n <button\r\n className=\"atlas-modal-close\"\r\n onClick={() => setShowModal(false)}\r\n >\r\n ×\r\n </button>\r\n </div>\r\n <div className=\"atlas-modal-body\">\r\n <AtlasPaymentForm\r\n authKey={authKey}\r\n merchantPaymentAddress={merchantPaymentAddress}\r\n amount={amount}\r\n paymentType={paymentType}\r\n onSuccess={handleSuccess}\r\n onError={handleError}\r\n buttonText={buttonText}\r\n disabled={disabled}\r\n // chainId={chainId}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </>\r\n );\r\n};\r\n"],"names":["REACT_ELEMENT_TYPE","REACT_FRAGMENT_TYPE","jsxProd","type","config","maybeKey","key","propName","reactJsxRuntime_production","getComponentNameFromType","REACT_CLIENT_REFERENCE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","REACT_FORWARD_REF_TYPE","innerType","REACT_MEMO_TYPE","REACT_LAZY_TYPE","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","getTaskName","name","getOwner","dispatcher","ReactSharedInternals","UnknownOwner","hasValidKey","hasOwnProperty","getter","defineKeyPropWarningGetter","props","displayName","warnAboutAccessingKey","specialPropKeyWarningShown","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","ReactElement","self","source","owner","debugStack","debugTask","jsxDEVImpl","isStaticChildren","children","isArrayImpl","validateChildKeys","keys","k","didWarnAboutKeySpread","node","React","require$$0","createTask","callStackForError","unknownOwnerDebugStack","unknownOwnerDebugTask","reactJsxRuntime_development","trackActualOwner","jsxRuntimeModule","require$$1","useAtlasPayment","authKey","paymentType","status","setStatus","useState","paymentData","setPaymentData","popupRef","useRef","paymentPromiseRef","useEffect","prev","validationData","credentialsResponse","credentialsData","updatedPaymentData","error","handleMessage","event","data","_a","checkPopup","openPaymentPopup","useCallback","merchantAddress","amount","url","popup","resolve","reject","AtlasPaymentStatus","getStatusIcon","jsx","getStatusColor","jsxs","AtlasPaymentForm","merchantPaymentAddress","onSuccess","onError","className","buttonText","disabled","processPayment","closePopup","reset","handleSubmit","e","receipt","handleReset","getPaymentTypeLabel","AtlasIcon","Fragment","AtlasPaymentButton","showModal","setShowModal","handleSuccess","handleError","handleButtonClick"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../node_modules/react/cjs/react-jsx-runtime.production.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../src/hooks/useAtlasPayment.ts","../src/components/AtlasPaymentStatus.tsx","../src/components/AtlasPaymentForm.tsx","../src/assets/Icon.tsx","../src/components/AtlasPaymentButton.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%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://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(\n type,\n key,\n self,\n source,\n owner,\n props,\n debugStack,\n debugTask\n ) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n self,\n source,\n getOwner(),\n maybeKey,\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_ELEMENT_TYPE &&\n node._store &&\n (node._store.validated = 1);\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","// hooks/useAtlasPayment.ts\r\nimport { useState, useEffect, useCallback, useRef } from \"react\";\r\nimport type {\r\n PaymentType,\r\n ValidationResponse,\r\n DecryptedCredentials,\r\n} from \"../types\";\r\n\r\ninterface PaymentStatus {\r\n status:\r\n | \"idle\"\r\n | \"loading\"\r\n | \"validating\"\r\n | \"ready\"\r\n | \"popup_open\"\r\n | \"processing\"\r\n | \"success\"\r\n | \"error\";\r\n message: string;\r\n transactionHash?: string;\r\n error?: string;\r\n}\r\n\r\ninterface PaymentData {\r\n cardId?: string;\r\n businessAddress?: string;\r\n userAddress?: string;\r\n identifier?: string;\r\n credentials?: DecryptedCredentials;\r\n isValid: boolean;\r\n isLoading: boolean;\r\n}\r\n\r\ninterface PopupMessage {\r\n type: \"payment_result\" | \"payment_error\" | \"close_popup\";\r\n status?: \"success\" | \"failed\";\r\n transactionHash?: string;\r\n amount?: string;\r\n merchant?: string;\r\n paymentType?: string;\r\n error?: string;\r\n}\r\n\r\nexport const useAtlasPayment = (authKey: string, paymentType: PaymentType) => {\r\n const [status, setStatus] = useState<PaymentStatus>({\r\n status: \"idle\",\r\n message: \"Ready to pay\",\r\n });\r\n const [paymentData, setPaymentData] = useState<PaymentData>({\r\n isValid: false,\r\n isLoading: true,\r\n });\r\n const popupRef = useRef<Window | null>(null);\r\n const paymentPromiseRef = useRef<{\r\n resolve: (value: any) => void;\r\n reject: (reason?: any) => void;\r\n } | null>(null);\r\n\r\n // Automatically validate and fetch credentials when authKey or paymentType changes\r\n useEffect(() => {\r\n const initializePayment = async () => {\r\n if (!authKey) {\r\n setPaymentData({\r\n isValid: false,\r\n isLoading: false,\r\n });\r\n setStatus({\r\n status: \"error\",\r\n message: \"No auth key provided\",\r\n });\r\n return;\r\n }\r\n\r\n setPaymentData((prev) => ({ ...prev, isLoading: true }));\r\n setStatus({\r\n status: \"loading\",\r\n message: \"Loading payment information...\",\r\n });\r\n\r\n try {\r\n // Step 1: Validate auth key\r\n const validationResponse = await fetch(\r\n \"https://api.atlascard.xyz/api/auth/external/validate\",\r\n {\r\n method: \"POST\",\r\n headers: { \"Content-Type\": \"application/json\" },\r\n body: JSON.stringify({\r\n key: authKey,\r\n required_scopes: [paymentType],\r\n }),\r\n }\r\n );\r\n\r\n const validationData: ValidationResponse =\r\n await validationResponse.json();\r\n\r\n if (!validationData.valid) {\r\n setStatus({\r\n status: \"error\",\r\n message: \"Failed to initialize payment\",\r\n error: validationData.error || \"Invalid Auth Key\",\r\n });\r\n }\r\n\r\n // Step 2: Get credentials\r\n const credentialsResponse = await fetch(\r\n \"https://api.atlascard.xyz/api/credentials/get\",\r\n {\r\n method: \"POST\",\r\n headers: { \"Content-Type\": \"application/json\" },\r\n body: JSON.stringify({\r\n auth_key: authKey,\r\n required_scopes: [paymentType],\r\n }),\r\n }\r\n );\r\n\r\n if (!credentialsResponse.ok) {\r\n throw new Error(\"Failed to fetch credentials\");\r\n }\r\n\r\n const credentialsData: DecryptedCredentials =\r\n await credentialsResponse.json();\r\n\r\n const updatedPaymentData = {\r\n cardId: validationData.cardId,\r\n businessAddress: validationData.businessAddress,\r\n userAddress: credentialsData.address,\r\n identifier: credentialsData.identifier,\r\n credentials: credentialsData,\r\n isValid: true,\r\n isLoading: false,\r\n };\r\n\r\n setPaymentData(updatedPaymentData);\r\n setStatus({\r\n status: \"ready\",\r\n message: \"Ready to process payment\",\r\n });\r\n } catch (error) {\r\n console.error(\"Payment initialization error:\", error);\r\n const errorData = {\r\n isValid: false,\r\n isLoading: false,\r\n };\r\n setPaymentData(errorData);\r\n setStatus({\r\n status: \"error\",\r\n message: \"Failed to initialize payment\",\r\n error: error instanceof Error ? error.message : \"Unknown error\",\r\n });\r\n }\r\n };\r\n\r\n initializePayment();\r\n }, [authKey, paymentType]);\r\n\r\n // Listen for messages from popup\r\n useEffect(() => {\r\n const handleMessage = (event: MessageEvent) => {\r\n // Security: Only accept messages from Atlascard.xyz\r\n if (event.origin !== \"https://atlascard.xyz\") return;\r\n\r\n const data: PopupMessage = event.data;\r\n\r\n switch (data.type) {\r\n case \"payment_result\":\r\n if (data.status === \"success\") {\r\n setStatus({\r\n status: \"success\",\r\n message: \"Payment successful!\",\r\n transactionHash: data.transactionHash,\r\n });\r\n\r\n // Resolve the promise\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.resolve({\r\n success: true,\r\n transactionHash: data.transactionHash,\r\n amount: data.amount,\r\n merchant: data.merchant,\r\n type: data.paymentType,\r\n paymentData,\r\n });\r\n paymentPromiseRef.current = null;\r\n }\r\n\r\n // Close the popup\r\n if (popupRef.current) {\r\n setTimeout(() => {\r\n popupRef.current?.close();\r\n popupRef.current = null;\r\n }, 3000); // Give user time to see success message\r\n }\r\n } else {\r\n setStatus({\r\n status: \"error\",\r\n message: data.error || \"Payment failed\",\r\n error: data.error,\r\n });\r\n\r\n // Reject the promise\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(\r\n new Error(data.error || \"Payment failed\")\r\n );\r\n paymentPromiseRef.current = null;\r\n }\r\n\r\n // Close the popup after a delay\r\n if (popupRef.current) {\r\n setTimeout(() => {\r\n popupRef.current?.close();\r\n popupRef.current = null;\r\n }, 3000);\r\n }\r\n }\r\n break;\r\n\r\n case \"payment_error\":\r\n setStatus({\r\n status: \"error\",\r\n message: data.error || \"Payment failed\",\r\n error: data.error,\r\n });\r\n\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(\r\n new Error(data.error || \"Payment failed\")\r\n );\r\n paymentPromiseRef.current = null;\r\n }\r\n\r\n if (popupRef.current) {\r\n popupRef.current.close();\r\n popupRef.current = null;\r\n }\r\n break;\r\n\r\n case \"close_popup\":\r\n if (popupRef.current) {\r\n popupRef.current.close();\r\n popupRef.current = null;\r\n }\r\n\r\n // If still in popup_open status, user closed manually\r\n if (status.status === \"popup_open\") {\r\n setStatus({\r\n status: \"ready\",\r\n message: \"Payment cancelled\",\r\n });\r\n\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(\r\n new Error(\"Payment cancelled by user\")\r\n );\r\n paymentPromiseRef.current = null;\r\n }\r\n }\r\n break;\r\n }\r\n };\r\n\r\n window.addEventListener(\"message\", handleMessage);\r\n return () => window.removeEventListener(\"message\", handleMessage);\r\n }, [paymentData, status.status]);\r\n\r\n // Check if popup was closed by user\r\n useEffect(() => {\r\n if (!popupRef.current) return;\r\n\r\n const checkPopup = setInterval(() => {\r\n if (popupRef.current?.closed) {\r\n clearInterval(checkPopup);\r\n\r\n // If still in popup_open status, user closed manually\r\n if (status.status === \"popup_open\") {\r\n setStatus({\r\n status: \"ready\",\r\n message: \"Payment cancelled\",\r\n });\r\n\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(\r\n new Error(\"Payment cancelled by user\")\r\n );\r\n paymentPromiseRef.current = null;\r\n }\r\n }\r\n\r\n popupRef.current = null;\r\n }\r\n }, 500);\r\n\r\n return () => clearInterval(checkPopup);\r\n }, [status.status]);\r\n\r\n const openPaymentPopup = useCallback(\r\n async (merchantAddress: string, amount: string) => {\r\n if (!paymentData.isValid || !paymentData.credentials) {\r\n throw new Error(\"Payment data not validated\");\r\n }\r\n\r\n // Close any existing popup\r\n if (popupRef.current) {\r\n popupRef.current.close();\r\n popupRef.current = null;\r\n }\r\n\r\n // Build popup URL with all necessary parameters\r\n const params = new URLSearchParams({\r\n merchantAddress: merchantAddress,\r\n amount: amount,\r\n eoaAddress: paymentData.credentials.address,\r\n credentials: encodeURIComponent(\r\n JSON.stringify(paymentData.credentials)\r\n ),\r\n paymentType: paymentType,\r\n origin: window.location.origin,\r\n });\r\n\r\n const url = `https://atlascard.xyz/pay?${params.toString()}`;\r\n\r\n // Open popup window\r\n const popup = window.open(\r\n url,\r\n \"Atlascard Payment\",\r\n \"width=500,height=700,scrollbars=no,resizable=no,menubar=no,toolbar=no,location=no,status=no\"\r\n );\r\n\r\n if (!popup) {\r\n const error = \"Please allow popups to complete the payment\";\r\n setStatus({\r\n status: \"error\",\r\n message: error,\r\n error: error,\r\n });\r\n throw new Error(error);\r\n }\r\n\r\n popupRef.current = popup;\r\n setStatus({\r\n status: \"popup_open\",\r\n message: \"Complete payment in the popup window\",\r\n });\r\n },\r\n [paymentData, paymentType]\r\n );\r\n\r\n const processPayment = async (merchantAddress: string, amount: string) => {\r\n if (!paymentData.isValid) {\r\n throw new Error(\"Payment data not validated\");\r\n }\r\n\r\n // Create promise to handle payment result\r\n return new Promise((resolve, reject) => {\r\n paymentPromiseRef.current = { resolve, reject };\r\n\r\n // Open popup\r\n openPaymentPopup(merchantAddress, amount).catch(reject);\r\n });\r\n };\r\n\r\n const closePopup = () => {\r\n if (popupRef.current) {\r\n popupRef.current.close();\r\n popupRef.current = null;\r\n }\r\n\r\n if (status.status === \"popup_open\") {\r\n setStatus({\r\n status: \"ready\",\r\n message: \"Payment cancelled\",\r\n });\r\n }\r\n\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(new Error(\"Payment cancelled\"));\r\n paymentPromiseRef.current = null;\r\n }\r\n };\r\n\r\n const reset = () => {\r\n setStatus({ status: \"idle\", message: \"Ready to pay\" });\r\n setPaymentData({\r\n isValid: false,\r\n isLoading: true,\r\n });\r\n\r\n if (popupRef.current) {\r\n popupRef.current.close();\r\n popupRef.current = null;\r\n }\r\n\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(new Error(\"Payment reset\"));\r\n paymentPromiseRef.current = null;\r\n }\r\n };\r\n\r\n return {\r\n processPayment,\r\n status,\r\n paymentData,\r\n closePopup,\r\n reset,\r\n };\r\n};\r\n","import React from \"react\";\r\n\r\ninterface PaymentStatus {\r\n status:\r\n | \"idle\"\r\n | \"loading\"\r\n | \"validating\"\r\n | \"ready\"\r\n | \"popup_open\"\r\n | \"processing\"\r\n | \"success\"\r\n | \"error\";\r\n message: string;\r\n transactionHash?: string;\r\n error?: string;\r\n}\r\n\r\ninterface AtlasPaymentStatusProps {\r\n status: PaymentStatus;\r\n}\r\n\r\nexport const AtlasPaymentStatus: React.FC<AtlasPaymentStatusProps> = ({\r\n status,\r\n}) => {\r\n const getStatusIcon = () => {\r\n switch (status.status) {\r\n case \"processing\":\r\n return (\r\n <div className=\"atlas-spinner\">\r\n <div className=\"atlas-spinner-circle\"></div>\r\n </div>\r\n );\r\n case \"success\":\r\n return <div className=\"atlas-status-icon atlas-success\">✓</div>;\r\n case \"error\":\r\n return <div className=\"atlas-status-icon atlas-error\">✗</div>;\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const getStatusColor = () => {\r\n switch (status.status) {\r\n case \"processing\":\r\n return \"atlas-status-processing\";\r\n case \"success\":\r\n return \"atlas-status-success\";\r\n case \"error\":\r\n return \"atlas-status-error\";\r\n default:\r\n return \"\";\r\n }\r\n };\r\n\r\n if (status.status === \"idle\") return null;\r\n\r\n return (\r\n <div className={`atlas-payment-status ${getStatusColor()}`}>\r\n <div className=\"atlas-status-content\">\r\n {getStatusIcon()}\r\n <div className=\"atlas-status-text\">\r\n <p className=\"atlas-status-message\">{status.message}</p>\r\n {status.transactionHash && (\r\n <p className=\"atlas-transaction-hash\">\r\n Tx: {status.transactionHash.slice(0, 10)}...\r\n {status.transactionHash.slice(-8)}\r\n </p>\r\n )}\r\n {status.error && (\r\n <p className=\"atlas-error-message\">{status.error}</p>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport React, { useEffect } from \"react\";\r\nimport { useAtlasPayment } from \"../hooks/useAtlasPayment\";\r\nimport { AtlasPaymentStatus } from \"./AtlasPaymentStatus\";\r\nimport type { PaymentType } from \"../types\";\r\n\r\ninterface AtlasPaymentFormProps {\r\n authKey: string;\r\n merchantPaymentAddress: string;\r\n amount?: string;\r\n paymentType?: PaymentType;\r\n onSuccess?: (receipt: any) => void;\r\n onError?: (error: Error) => void;\r\n className?: string;\r\n buttonText?: string;\r\n disabled?: boolean;\r\n chainId?: number;\r\n}\r\n\r\nexport const AtlasPaymentForm: React.FC<AtlasPaymentFormProps> = ({\r\n authKey,\r\n merchantPaymentAddress,\r\n amount = \"0\",\r\n paymentType = \"one_time_payment\",\r\n onSuccess,\r\n onError,\r\n className = \"\",\r\n buttonText = \"PAY NOW\",\r\n disabled = false,\r\n}) => {\r\n const { processPayment, status, paymentData, closePopup, reset } =\r\n useAtlasPayment(authKey, paymentType);\r\n\r\n const handleSubmit = async (e: React.FormEvent) => {\r\n e.preventDefault();\r\n\r\n if (!paymentData?.isValid || parseFloat(amount) <= 0) {\r\n return;\r\n }\r\n\r\n try {\r\n const receipt = await processPayment(merchantPaymentAddress, amount);\r\n onSuccess?.(receipt);\r\n } catch (error) {\r\n onError?.(error as Error);\r\n }\r\n };\r\n\r\n const handleReset = () => {\r\n reset();\r\n };\r\n\r\n // Call onSuccess when payment is successful\r\n useEffect(() => {\r\n if (status.status === \"success\" && status.transactionHash) {\r\n onSuccess?.({\r\n success: true,\r\n transactionHash: status.transactionHash,\r\n amount,\r\n merchant: merchantPaymentAddress,\r\n type: paymentType,\r\n paymentData,\r\n });\r\n }\r\n }, [status.status, status.transactionHash]);\r\n\r\n // Call onError when payment fails\r\n useEffect(() => {\r\n if (status.status === \"error\" && status.error) {\r\n onError?.(new Error(status.error));\r\n }\r\n }, [status.status, status.error]);\r\n\r\n const getPaymentTypeLabel = (type: PaymentType) => {\r\n return type === \"delegate\" ? \"Recurring Payment\" : \"One-time Payment\";\r\n };\r\n\r\n // Handle undefined paymentData gracefully\r\n if (!paymentData) {\r\n return (\r\n <div className={`atlas-container ${className}`}>\r\n <div className=\"atlas-loading\">\r\n <div className=\"atlas-spinner\"></div>\r\n <p>Initializing payment system...</p>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n // Show loading state while initializing\r\n if (paymentData.isLoading) {\r\n return (\r\n <div className={`atlas-container ${className}`}>\r\n <div className=\"atlas-loading\">\r\n <div className=\"atlas-spinner\"></div>\r\n <p>Loading payment information...</p>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n // Show error if initialization failed\r\n if (!paymentData.isValid && status.status === \"error\") {\r\n return (\r\n <div className={`atlas-container ${className}`}>\r\n <div className=\"atlas-error-state\">\r\n <div className=\"atlas-error-icon\">⚠️</div>\r\n <h3>Payment Setup Failed</h3>\r\n <p>{status.error || \"Unable to initialize payment\"}</p>\r\n <button onClick={reset} className=\"atlas-secondary-button\">\r\n Try Again\r\n </button>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div className={`atlas-container ${className}`}>\r\n <div className=\"atlas-header\">\r\n <div className=\"atlas-payment-type-badge\">\r\n {getPaymentTypeLabel(paymentType)}\r\n </div>\r\n <div className=\"atlas-total\">\r\n Pay <span>{amount} USDC</span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"atlas-divider\" />\r\n\r\n <form onSubmit={handleSubmit} className=\"atlas-form\">\r\n {/* Payment Information (fetched from APIs) */}\r\n <div className=\"atlas-validation-info\">\r\n <div className=\"atlas-info-section\">\r\n <h4>Payment Account</h4>\r\n <div className=\"atlas-info-grid\">\r\n <div className=\"atlas-info-item\">\r\n <span className=\"atlas-info-label\">Card ID:</span>\r\n <span className=\"atlas-info-value\">\r\n {paymentData.cardId || \"N/A\"}\r\n </span>\r\n </div>\r\n {paymentData.userAddress && (\r\n <div className=\"atlas-info-item\">\r\n <span className=\"atlas-info-label\">Payer Address:</span>\r\n <span className=\"atlas-info-value\">\r\n {paymentData.userAddress.slice(0, 8)}...\r\n {paymentData.userAddress.slice(-6)}\r\n </span>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"atlas-merchant-info\">\r\n <div className=\"atlas-info-item\">\r\n <span className=\"atlas-info-label\">Merchant:</span>\r\n <span className=\"atlas-info-value\">\r\n {merchantPaymentAddress.slice(0, 8)}...\r\n {merchantPaymentAddress.slice(-6)}\r\n </span>\r\n </div>\r\n </div>\r\n\r\n {/* Amount Display */}\r\n <div className=\"atlas-amount-display-section\">\r\n <div className=\"atlas-amount-main\">\r\n <span className=\"atlas-amount-label\">Amount to Pay:</span>\r\n <span className=\"atlas-amount-value\">\r\n {amount} <span className=\"atlas-amount-token\">USDC</span>\r\n </span>\r\n </div>\r\n </div>\r\n\r\n {/* Popup Status Display */}\r\n {status.status === \"popup_open\" && (\r\n <div className=\"atlas-popup-status\">\r\n <div className=\"atlas-popup-icon\">🪟</div>\r\n <div className=\"atlas-popup-content\">\r\n <h4>Complete Payment in Popup</h4>\r\n <p>A new window has opened to complete your payment.</p>\r\n <p className=\"atlas-popup-hint\">\r\n If you don't see the popup, please check your browser settings\r\n or allow popups for this site.\r\n </p>\r\n <div className=\"atlas-popup-actions\">\r\n <button\r\n type=\"button\"\r\n onClick={closePopup}\r\n className=\"atlas-secondary-button\"\r\n >\r\n Cancel Payment\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n // Try to focus the popup\r\n if (window.open(\"\", \"Atlascard Payment\")) {\r\n window.focus();\r\n }\r\n }}\r\n className=\"atlas-tertiary-button\"\r\n >\r\n Show Popup\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n\r\n <div className=\"atlas-form-actions\">\r\n {status.status === \"ready\" && (\r\n <button\r\n type=\"submit\"\r\n className=\"atlas-pay-button\"\r\n disabled={\r\n !paymentData.isValid || parseFloat(amount) <= 0 || disabled\r\n }\r\n >\r\n {buttonText}\r\n </button>\r\n )}\r\n\r\n {status.status !== \"ready\" &&\r\n status.status !== \"idle\" &&\r\n status.status !== \"popup_open\" && (\r\n <div className=\"atlas-status-wrapper\">\r\n <AtlasPaymentStatus status={status} />\r\n\r\n {status.status === \"success\" && (\r\n <button\r\n type=\"button\"\r\n onClick={handleReset}\r\n className=\"atlas-secondary-button\"\r\n >\r\n Make Another Payment\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </form>\r\n </div>\r\n );\r\n};\r\n","const AtlasIcon = () => {\r\n return (\r\n <>\r\n <svg\r\n width=\"40\"\r\n height=\"40\"\r\n viewBox=\"0 0 40 40\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M2.95703 21.4442C2.72371 20.0639 2.75066 20.0321 3.3877 20.8817C3.75566 21.3763 4.4245 22.1637 4.86426 22.6268C5.3087 23.09 6.68217 23.9215 7.91602 24.4745C9.14997 25.0229 11.2674 25.7423 12.627 26.075C14.009 26.4078 17.3615 26.6555 20.2559 26.6375C23.572 26.6151 26.4573 26.3265 28.333 25.8319C29.9348 25.4093 31.8552 24.7578 32.5957 24.3846C33.3361 24.0069 34.5035 23.1704 35.1855 22.5184C35.8675 21.8665 36.4234 21.0796 36.4189 20.7694C36.4145 20.4593 36.6117 20.3113 36.8584 20.4325C37.1052 20.5584 37.2227 21.0125 37.124 21.4442C37.0208 21.876 36.8008 23.0406 36.3252 25.828L37.3252 24.9286C37.8771 24.434 38.703 23.2195 39.1562 22.2303C39.9773 20.4411 39.9821 20.4368 40 21.7811C40.009 22.523 39.6184 24.4474 39.1338 26.0526C38.6357 27.6892 37.4018 30.1537 36.3203 31.66C35.2567 33.1348 33.179 35.2212 31.6982 36.2957C30.1501 37.4198 27.7625 38.6246 26.0889 39.1327C24.3299 39.6632 21.8797 40.0043 19.9189 39.9998C17.8863 39.9953 15.6563 39.6537 13.9736 39.0916C12.4928 38.597 10.4735 37.6887 9.48633 37.0682C8.4991 36.4522 6.7802 35.0358 5.67188 33.9207C4.55907 32.8056 2.94764 30.4369 2.07715 28.6385C1.13932 26.6961 0.403864 24.3801 0 20.4325L0.866211 22.2303C1.34186 23.2195 2.18963 24.4341 3.76465 25.828L3.48242 24.3661C3.32987 23.5613 3.09164 22.2489 2.95703 21.4442ZM6.18652 27.0584C5.79164 26.8786 5.43257 26.9008 5.3877 27.1122C5.34286 27.3235 5.87657 28.3085 6.58105 29.2977C7.28115 30.2869 8.75343 31.86 9.84375 32.7997C10.9387 33.7349 12.8946 34.9 14.1914 35.3856C15.4882 35.8712 17.6065 36.3968 18.9033 36.5497C20.2809 36.716 22.2826 36.5992 23.7275 36.2664C25.0827 35.9517 26.9536 35.3174 27.8779 34.8543C28.8022 34.3957 30.3006 33.3622 31.207 32.5575C32.1134 31.7527 33.4331 30.2869 34.1377 29.2977C34.8416 28.3093 35.411 27.3968 35.3984 27.2743C35.3895 27.1529 33.6173 27.6293 31.459 28.3397C28.5468 29.3019 26.33 29.6975 22.8301 29.8729C20.0077 30.0123 16.6778 29.882 14.5283 29.5448C12.5539 29.23 10.0318 28.6186 8.91895 28.1825C7.80647 27.7465 6.57736 27.2429 6.18652 27.0584ZM19.8066 0.000823975C21.4085 -0.0171596 23.8317 0.257193 25.1914 0.603363C26.5466 0.954077 28.4679 1.69562 29.4551 2.25766C30.4423 2.81972 32.143 4.00237 33.2334 4.88364C34.3238 5.76942 35.8945 7.50556 36.7246 8.74203C37.5502 9.97862 38.6314 12.3079 39.125 13.9129C39.6141 15.5225 40.009 17.4426 40 18.1844C39.9821 19.5285 39.9774 19.5236 39.1562 17.7342C38.703 16.7451 37.8683 15.5313 36.2754 14.1375L36.5361 15.2616C36.6797 15.8821 36.9307 17.1951 37.3838 19.9823L36.2979 18.6336C35.701 17.8917 34.5252 16.8488 33.6816 16.3182C32.838 15.7876 31.1868 15.0273 30.0156 14.6317C28.8444 14.236 26.1163 13.7011 23.958 13.4403C21.2073 13.1075 18.8912 13.1075 16.2168 13.4403C14.1167 13.7011 11.0882 14.3582 9.48633 14.9022C7.87987 15.4462 5.91455 16.4578 5.11133 17.1502C4.30844 17.8424 3.65289 18.7139 3.65234 19.0829C3.65234 19.456 3.45083 19.6588 3.2041 19.5331C2.9573 19.4116 2.83624 18.953 2.93945 18.5213C3.04266 18.0897 3.25813 16.9251 3.71582 14.1375L2.55762 15.2616C1.92046 15.8821 1.09031 17.195 0.0224609 19.9823L0.250977 17.285C0.403546 15.4595 0.987496 13.5347 2.06445 11.327C3.04266 9.32176 4.5636 7.15914 6.02637 5.70688C7.33666 4.40744 9.40542 2.84709 10.626 2.24008C11.851 1.63308 13.7582 0.887039 14.8711 0.585785C15.9794 0.284556 18.2002 0.0188488 19.8066 0.000823975ZM21.2588 3.17368C19.6613 3.07031 17.5659 3.28152 16.0986 3.69516C14.7435 4.07733 12.9267 4.81969 12.0605 5.33676C11.1946 5.8583 9.71813 7.00901 8.78027 7.89926C7.83794 8.78503 6.67488 10.1696 6.19922 10.9745C5.71949 11.7786 5.37934 12.529 5.44141 12.6424C5.50423 12.7548 6.76528 12.3686 8.24609 11.784C9.72697 11.195 12.554 10.4663 14.5283 10.1561C16.6957 9.8189 19.9852 9.69815 22.8301 9.84653C26.2716 10.0309 28.5962 10.4445 31.459 11.3797C33.6152 12.0849 35.3861 12.5565 35.3984 12.4364C35.4119 12.315 34.847 11.402 34.1426 10.4129C33.4426 9.42374 31.9703 7.84974 30.8799 6.91C29.7851 5.97486 27.7751 4.78789 26.4199 4.27524C25.0647 3.76266 22.7396 3.2681 21.2588 3.17368Z\"\r\n fill=\"#E4A300\"\r\n />\r\n </svg>\r\n </>\r\n );\r\n};\r\n\r\nexport default AtlasIcon;\r\n","// AtlasPaymentButton.tsx\r\nimport React, { useState } from \"react\";\r\nimport { AtlasPaymentForm } from \"./AtlasPaymentForm\";\r\nimport type { PaymentType } from \"../types\";\r\nimport AtlasIcon from \"@/assets/Icon\";\r\n\r\ninterface AtlasPaymentButtonProps {\r\n authKey: string; // Auth key passed directly\r\n merchantPaymentAddress: string;\r\n onSuccess?: (receipt: any) => void;\r\n onError?: (error: Error) => void;\r\n className?: string;\r\n buttonText?: string;\r\n amount?: string;\r\n paymentType?: PaymentType;\r\n disabled?: boolean;\r\n chainId?: number;\r\n}\r\n\r\nexport const AtlasPaymentButton: React.FC<AtlasPaymentButtonProps> = ({\r\n authKey,\r\n merchantPaymentAddress,\r\n onSuccess,\r\n onError,\r\n className = \"\",\r\n buttonText = \"Pay Now\",\r\n amount = \"0\",\r\n paymentType = \"one_time_payment\",\r\n disabled = false,\r\n // chainId = 8453,\r\n}) => {\r\n const [showModal, setShowModal] = useState(false);\r\n\r\n const handleSuccess = (receipt: any) => {\r\n onSuccess?.(receipt);\r\n setTimeout(() => setShowModal(false), 2000);\r\n };\r\n\r\n const handleError = (error: Error) => {\r\n onError?.(error);\r\n };\r\n\r\n const handleButtonClick = () => {\r\n if (!authKey) {\r\n alert(\"Payment configuration error: No auth key provided\");\r\n return;\r\n }\r\n setShowModal(true);\r\n };\r\n\r\n return (\r\n <>\r\n <button\r\n className={`atlas-payment-button ${className}`}\r\n onClick={handleButtonClick}\r\n disabled={disabled || !authKey}\r\n >\r\n {buttonText}\r\n </button>\r\n\r\n {showModal && (\r\n <div\r\n className=\"atlas-modal-overlay\"\r\n onClick={() => setShowModal(false)}\r\n >\r\n <div className=\"atlas-modal\" onClick={(e) => e.stopPropagation()}>\r\n <div className=\"atlas-modal-header\">\r\n <div className=\"atlas-modal-header2\">\r\n <AtlasIcon />\r\n <h3>Pay with Atlas</h3>\r\n </div>\r\n <button\r\n className=\"atlas-modal-close\"\r\n onClick={() => setShowModal(false)}\r\n >\r\n ×\r\n </button>\r\n </div>\r\n <div className=\"atlas-modal-body\">\r\n <AtlasPaymentForm\r\n authKey={authKey}\r\n merchantPaymentAddress={merchantPaymentAddress}\r\n amount={amount}\r\n paymentType={paymentType}\r\n onSuccess={handleSuccess}\r\n onError={handleError}\r\n buttonText={buttonText}\r\n disabled={disabled}\r\n // chainId={chainId}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </>\r\n );\r\n};\r\n"],"names":["REACT_ELEMENT_TYPE","REACT_FRAGMENT_TYPE","jsxProd","type","config","maybeKey","key","propName","reactJsxRuntime_production","getComponentNameFromType","REACT_CLIENT_REFERENCE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","REACT_FORWARD_REF_TYPE","innerType","REACT_MEMO_TYPE","REACT_LAZY_TYPE","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","getTaskName","name","getOwner","dispatcher","ReactSharedInternals","UnknownOwner","hasValidKey","hasOwnProperty","getter","defineKeyPropWarningGetter","props","displayName","warnAboutAccessingKey","specialPropKeyWarningShown","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","ReactElement","self","source","owner","debugStack","debugTask","jsxDEVImpl","isStaticChildren","children","isArrayImpl","validateChildKeys","keys","k","didWarnAboutKeySpread","node","React","require$$0","createTask","callStackForError","unknownOwnerDebugStack","unknownOwnerDebugTask","reactJsxRuntime_development","trackActualOwner","jsxRuntimeModule","require$$1","useAtlasPayment","authKey","paymentType","status","setStatus","useState","paymentData","setPaymentData","popupRef","useRef","paymentPromiseRef","useEffect","prev","validationData","credentialsResponse","credentialsData","updatedPaymentData","error","handleMessage","event","data","_a","checkPopup","openPaymentPopup","useCallback","merchantAddress","amount","url","popup","resolve","reject","AtlasPaymentStatus","getStatusIcon","jsx","getStatusColor","jsxs","AtlasPaymentForm","merchantPaymentAddress","onSuccess","onError","className","buttonText","disabled","processPayment","closePopup","reset","handleSubmit","e","receipt","handleReset","getPaymentTypeLabel","AtlasIcon","Fragment","AtlasPaymentButton","showModal","setShowModal","handleSuccess","handleError","handleButtonClick"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(N,j){typeof exports=="object"&&typeof module<"u"?j(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],j):(N=typeof globalThis<"u"?globalThis:N||self,j(N.AtlasReactWidget={},N.React))})(this,function(N,j){"use strict";var S={exports:{}},k={};/**
|
|
2
2
|
* @license React
|
|
3
3
|
* react-jsx-runtime.production.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 M;function X(){if(M)return k;M=1;var o=Symbol.for("react.transitional.element"),p=Symbol.for("react.fragment");function d(i,l,u){var t=null;if(u!==void 0&&(t=""+u),l.key!==void 0&&(t=""+l.key),"key"in l){u={};for(var
|
|
9
|
+
*/var M;function X(){if(M)return k;M=1;var o=Symbol.for("react.transitional.element"),p=Symbol.for("react.fragment");function d(i,l,u){var t=null;if(u!==void 0&&(t=""+u),l.key!==void 0&&(t=""+l.key),"key"in l){u={};for(var r in l)r!=="key"&&(u[r]=l[r])}else u=l;return l=u.ref,{$$typeof:o,type:i,key:t,ref:l!==void 0?l:null,props:u}}return k.Fragment=p,k.jsx=d,k.jsxs=d,k}var A={};/**
|
|
10
10
|
* @license React
|
|
11
11
|
* react-jsx-runtime.development.js
|
|
12
12
|
*
|
|
@@ -14,10 +14,10 @@
|
|
|
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 Y;function Q(){return Y||(Y=1,process.env.NODE_ENV!=="production"&&function(){function o(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===le?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case y:return"Fragment";case b:return"Profiler";case g:return"StrictMode";case te:return"Suspense";case se:return"SuspenseList";case ne:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case
|
|
17
|
+
*/var Y;function Q(){return Y||(Y=1,process.env.NODE_ENV!=="production"&&function(){function o(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===le?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case y:return"Fragment";case b:return"Profiler";case g:return"StrictMode";case te:return"Suspense";case se:return"SuspenseList";case ne:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case n:return"Portal";case ee:return(e.displayName||"Context")+".Provider";case T:return(e._context.displayName||"Context")+".Consumer";case ae:var s=e.render;return e=e.displayName,e||(e=s.displayName||s.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case re:return s=e.displayName||null,s!==null?s:o(e.type)||"Memo";case U:s=e._payload,e=e._init;try{return o(e(s))}catch{}}return null}function p(e){return""+e}function d(e){try{p(e);var s=!1}catch{s=!0}if(s){s=console;var f=s.error,C=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return f.call(s,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",C),p(e)}}function i(e){if(e===y)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===U)return"<...>";try{var s=o(e);return s?"<"+s+">":"<...>"}catch{return"<...>"}}function l(){var e=O.A;return e===null?null:e.getOwner()}function u(){return Error("react-stack-top-frame")}function t(e){if(H.call(e,"key")){var s=Object.getOwnPropertyDescriptor(e,"key").get;if(s&&s.isReactWarning)return!1}return e.key!==void 0}function r(e,s){function f(){W||(W=!0,console.error("%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://react.dev/link/special-props)",s))}f.isReactWarning=!0,Object.defineProperty(e,"key",{get:f,configurable:!0})}function w(){var e=o(this.type);return J[e]||(J[e]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),e=this.props.ref,e!==void 0?e:null}function E(e,s,f,C,_,P,I,F){return f=P.ref,e={$$typeof:m,type:e,key:s,props:P,_owner:_},(f!==void 0?f:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:w}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:I}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:F}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function c(e,s,f,C,_,P,I,F){var x=s.children;if(x!==void 0)if(C)if(oe(x)){for(C=0;C<x.length;C++)v(x[C]);Object.freeze&&Object.freeze(x)}else console.error("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 v(x);if(H.call(s,"key")){x=o(e);var R=Object.keys(s).filter(function(ie){return ie!=="key"});C=0<R.length?"{key: someKey, "+R.join(": ..., ")+": ...}":"{key: someKey}",Z[x+C]||(R=0<R.length?"{"+R.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
18
18
|
let props = %s;
|
|
19
19
|
<%s {...props} />
|
|
20
20
|
React keys must be passed directly to JSX without using spread:
|
|
21
21
|
let props = %s;
|
|
22
|
-
<%s key={someKey} {...props} />`,C,x,R,x),Z[x+C]=!0)}if(x=null,f!==void 0&&(d(f),x=""+f),t(s)&&(d(s.key),x=""+s.key),"key"in s){f={};for(var D in s)D!=="key"&&(f[D]=s[D])}else f=s;return x&&n(f,typeof e=="function"?e.displayName||e.name||"Unknown":e),_(e,x,w,E,l(),f,I,F)}function v(e){typeof e=="object"&&e!==null&&e.$$typeof===m&&e._store&&(e._store.validated=1)}var h=j,m=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),y=Symbol.for("react.fragment"),g=Symbol.for("react.strict_mode"),b=Symbol.for("react.profiler"),T=Symbol.for("react.consumer"),ee=Symbol.for("react.context"),ae=Symbol.for("react.forward_ref"),te=Symbol.for("react.suspense"),se=Symbol.for("react.suspense_list"),re=Symbol.for("react.memo"),U=Symbol.for("react.lazy"),ne=Symbol.for("react.activity"),le=Symbol.for("react.client.reference"),O=h.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,H=Object.prototype.hasOwnProperty,oe=Array.isArray,L=console.createTask?console.createTask:function(){return null};h={react_stack_bottom_frame:function(e){return e()}};var W,J={},B=h.react_stack_bottom_frame.bind(h,u)(),G=L(i(u)),Z={};A.Fragment=y,A.jsx=function(e,s,f,C,E){var w=1e4>O.recentlyCreatedOwnerStacks++;return c(e,s,f,!1,C,E,w?Error("react-stack-top-frame"):B,w?L(i(e)):G)},A.jsxs=function(e,s,f,C,E){var w=1e4>O.recentlyCreatedOwnerStacks++;return c(e,s,f,!0,C,E,w?Error("react-stack-top-frame"):B,w?L(i(e)):G)}}()),A}process.env.NODE_ENV==="production"?S.exports=X():S.exports=Q();var a=S.exports;const z=(o,p)=>{const[d,i]=j.useState({status:"idle",message:"Ready to pay"}),[l,u]=j.useState({isValid:!1,isLoading:!0}),t=j.useRef(null),n=j.useRef(null);j.useEffect(()=>{(async()=>{if(!o){u({isValid:!1,isLoading:!1}),i({status:"error",message:"No auth key provided"});return}u(m=>({...m,isLoading:!0})),i({status:"loading",message:"Loading payment information..."});try{const r=await(await fetch("https://api.atlascard.xyz/api/auth/external/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:o,required_scopes:[p]})})).json();if(!r.valid)throw i({status:"error",message:"Failed to initialize payment",error:r.error||"Invalid Auth Key"}),new Error(r.error||"Invalid auth key");const y=await fetch("https://api.atlascard.xyz/api/credentials/get",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({auth_key:o,required_scopes:[p]})});if(!y.ok)throw new Error("Failed to fetch credentials");const g=await y.json(),b={cardId:r.cardId,businessAddress:r.businessAddress,userAddress:g.address,identifier:g.identifier,credentials:g,isValid:!0,isLoading:!1};u(b),i({status:"ready",message:"Ready to process payment"})}catch(m){console.error("Payment initialization error:",m),u({isValid:!1,isLoading:!1}),i({status:"error",message:"Failed to initialize payment",error:m instanceof Error?m.message:"Unknown error"})}})()},[o,p]),j.useEffect(()=>{const h=m=>{if(m.origin!=="https://atlascard.xyz")return;const r=m.data;switch(r.type){case"payment_result":r.status==="success"?(i({status:"success",message:"Payment successful!",transactionHash:r.transactionHash}),n.current&&(n.current.resolve({success:!0,transactionHash:r.transactionHash,amount:r.amount,merchant:r.merchant,type:r.paymentType,paymentData:l}),n.current=null),t.current&&setTimeout(()=>{var y;(y=t.current)==null||y.close(),t.current=null},3e3)):(i({status:"error",message:r.error||"Payment failed",error:r.error}),n.current&&(n.current.reject(new Error(r.error||"Payment failed")),n.current=null),t.current&&setTimeout(()=>{var y;(y=t.current)==null||y.close(),t.current=null},3e3));break;case"payment_error":i({status:"error",message:r.error||"Payment failed",error:r.error}),n.current&&(n.current.reject(new Error(r.error||"Payment failed")),n.current=null),t.current&&(t.current.close(),t.current=null);break;case"close_popup":t.current&&(t.current.close(),t.current=null),d.status==="popup_open"&&(i({status:"ready",message:"Payment cancelled"}),n.current&&(n.current.reject(new Error("Payment cancelled by user")),n.current=null));break}};return window.addEventListener("message",h),()=>window.removeEventListener("message",h)},[l,d.status]),j.useEffect(()=>{if(!t.current)return;const h=setInterval(()=>{var m;(m=t.current)!=null&&m.closed&&(clearInterval(h),d.status==="popup_open"&&(i({status:"ready",message:"Payment cancelled"}),n.current&&(n.current.reject(new Error("Payment cancelled by user")),n.current=null)),t.current=null)},500);return()=>clearInterval(h)},[d.status]);const N=j.useCallback(async(h,m)=>{if(!l.isValid||!l.credentials)throw new Error("Payment data not validated");t.current&&(t.current.close(),t.current=null);const y=`https://atlascard.xyz/pay?${new URLSearchParams({merchantAddress:h,amount:m,eoaAddress:l.credentials.address,credentials:encodeURIComponent(JSON.stringify(l.credentials)),paymentType:p,origin:window.location.origin}).toString()}`,g=window.open(y,"Atlascard Payment","width=500,height=700,scrollbars=no,resizable=no,menubar=no,toolbar=no,location=no,status=no");if(!g){const b="Please allow popups to complete the payment";throw i({status:"error",message:b,error:b}),new Error(b)}t.current=g,i({status:"popup_open",message:"Complete payment in the popup window"})},[l,p]);return{processPayment:async(h,m)=>{if(!l.isValid)throw new Error("Payment data not validated");return new Promise((r,y)=>{n.current={resolve:r,reject:y},N(h,m).catch(y)})},status:d,paymentData:l,closePopup:()=>{t.current&&(t.current.close(),t.current=null),d.status==="popup_open"&&i({status:"ready",message:"Payment cancelled"}),n.current&&(n.current.reject(new Error("Payment cancelled")),n.current=null)},reset:()=>{i({status:"idle",message:"Ready to pay"}),u({isValid:!1,isLoading:!0}),t.current&&(t.current.close(),t.current=null),n.current&&(n.current.reject(new Error("Payment reset")),n.current=null)}}},$=({status:o})=>{const p=()=>{switch(o.status){case"processing":return a.jsx("div",{className:"atlas-spinner",children:a.jsx("div",{className:"atlas-spinner-circle"})});case"success":return a.jsx("div",{className:"atlas-status-icon atlas-success",children:"✓"});case"error":return a.jsx("div",{className:"atlas-status-icon atlas-error",children:"✗"});default:return null}},d=()=>{switch(o.status){case"processing":return"atlas-status-processing";case"success":return"atlas-status-success";case"error":return"atlas-status-error";default:return""}};return o.status==="idle"?null:a.jsx("div",{className:`atlas-payment-status ${d()}`,children:a.jsxs("div",{className:"atlas-status-content",children:[p(),a.jsxs("div",{className:"atlas-status-text",children:[a.jsx("p",{className:"atlas-status-message",children:o.message}),o.transactionHash&&a.jsxs("p",{className:"atlas-transaction-hash",children:["Tx: ",o.transactionHash.slice(0,10),"...",o.transactionHash.slice(-8)]}),o.error&&a.jsx("p",{className:"atlas-error-message",children:o.error})]})]})})},V=({authKey:o,merchantPaymentAddress:p,amount:d="0",paymentType:i="one_time_payment",onSuccess:l,onError:u,className:t="",buttonText:n="PAY NOW",disabled:N=!1})=>{const{processPayment:_,status:c,paymentData:v,closePopup:h,reset:m}=z(o,i),r=async b=>{if(b.preventDefault(),!(!(v!=null&&v.isValid)||parseFloat(d)<=0))try{const T=await _(p,d);l==null||l(T)}catch(T){u==null||u(T)}},y=()=>{m()};j.useEffect(()=>{c.status==="success"&&c.transactionHash&&(l==null||l({success:!0,transactionHash:c.transactionHash,amount:d,merchant:p,type:i,paymentData:v}))},[c.status,c.transactionHash]),j.useEffect(()=>{c.status==="error"&&c.error&&(u==null||u(new Error(c.error)))},[c.status,c.error]);const g=b=>b==="delegate"?"Recurring Payment":"One-time Payment";return v?v.isLoading?a.jsx("div",{className:`atlas-container ${t}`,children:a.jsxs("div",{className:"atlas-loading",children:[a.jsx("div",{className:"atlas-spinner"}),a.jsx("p",{children:"Loading payment information..."})]})}):!v.isValid&&c.status==="error"?a.jsx("div",{className:`atlas-container ${t}`,children:a.jsxs("div",{className:"atlas-error-state",children:[a.jsx("div",{className:"atlas-error-icon",children:"⚠️"}),a.jsx("h3",{children:"Payment Setup Failed"}),a.jsx("p",{children:c.error||"Unable to initialize payment"}),a.jsx("button",{onClick:m,className:"atlas-secondary-button",children:"Try Again"})]})}):a.jsxs("div",{className:`atlas-container ${t}`,children:[a.jsxs("div",{className:"atlas-header",children:[a.jsx("div",{className:"atlas-payment-type-badge",children:g(i)}),a.jsxs("div",{className:"atlas-total",children:["Pay ",a.jsxs("span",{children:[d," USDC"]})]})]}),a.jsx("div",{className:"atlas-divider"}),a.jsxs("form",{onSubmit:r,className:"atlas-form",children:[a.jsx("div",{className:"atlas-validation-info",children:a.jsxs("div",{className:"atlas-info-section",children:[a.jsx("h4",{children:"Payment Account"}),a.jsxs("div",{className:"atlas-info-grid",children:[a.jsxs("div",{className:"atlas-info-item",children:[a.jsx("span",{className:"atlas-info-label",children:"Card ID:"}),a.jsx("span",{className:"atlas-info-value",children:v.cardId||"N/A"})]}),v.userAddress&&a.jsxs("div",{className:"atlas-info-item",children:[a.jsx("span",{className:"atlas-info-label",children:"Payer Address:"}),a.jsxs("span",{className:"atlas-info-value",children:[v.userAddress.slice(0,8),"...",v.userAddress.slice(-6)]})]})]})]})}),a.jsx("div",{className:"atlas-merchant-info",children:a.jsxs("div",{className:"atlas-info-item",children:[a.jsx("span",{className:"atlas-info-label",children:"Merchant:"}),a.jsxs("span",{className:"atlas-info-value",children:[p.slice(0,8),"...",p.slice(-6)]})]})}),a.jsx("div",{className:"atlas-amount-display-section",children:a.jsxs("div",{className:"atlas-amount-main",children:[a.jsx("span",{className:"atlas-amount-label",children:"Amount to Pay:"}),a.jsxs("span",{className:"atlas-amount-value",children:[d," ",a.jsx("span",{className:"atlas-amount-token",children:"USDC"})]})]})}),c.status==="popup_open"&&a.jsxs("div",{className:"atlas-popup-status",children:[a.jsx("div",{className:"atlas-popup-icon",children:"🪟"}),a.jsxs("div",{className:"atlas-popup-content",children:[a.jsx("h4",{children:"Complete Payment in Popup"}),a.jsx("p",{children:"A new window has opened to complete your payment."}),a.jsx("p",{className:"atlas-popup-hint",children:"If you don't see the popup, please check your browser settings or allow popups for this site."}),a.jsxs("div",{className:"atlas-popup-actions",children:[a.jsx("button",{type:"button",onClick:h,className:"atlas-secondary-button",children:"Cancel Payment"}),a.jsx("button",{type:"button",onClick:()=>{window.open("","Atlascard Payment")&&window.focus()},className:"atlas-tertiary-button",children:"Show Popup"})]})]})]}),a.jsxs("div",{className:"atlas-form-actions",children:[c.status==="ready"&&a.jsx("button",{type:"submit",className:"atlas-pay-button",disabled:!v.isValid||parseFloat(d)<=0||N,children:n}),c.status!=="ready"&&c.status!=="idle"&&c.status!=="popup_open"&&a.jsxs("div",{className:"atlas-status-wrapper",children:[a.jsx($,{status:c}),c.status==="success"&&a.jsx("button",{type:"button",onClick:y,className:"atlas-secondary-button",children:"Make Another Payment"})]})]})]})]}):a.jsx("div",{className:`atlas-container ${t}`,children:a.jsxs("div",{className:"atlas-loading",children:[a.jsx("div",{className:"atlas-spinner"}),a.jsx("p",{children:"Initializing payment system..."})]})})},q=()=>a.jsx(a.Fragment,{children:a.jsx("svg",{width:"40",height:"40",viewBox:"0 0 40 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:a.jsx("path",{d:"M2.95703 21.4442C2.72371 20.0639 2.75066 20.0321 3.3877 20.8817C3.75566 21.3763 4.4245 22.1637 4.86426 22.6268C5.3087 23.09 6.68217 23.9215 7.91602 24.4745C9.14997 25.0229 11.2674 25.7423 12.627 26.075C14.009 26.4078 17.3615 26.6555 20.2559 26.6375C23.572 26.6151 26.4573 26.3265 28.333 25.8319C29.9348 25.4093 31.8552 24.7578 32.5957 24.3846C33.3361 24.0069 34.5035 23.1704 35.1855 22.5184C35.8675 21.8665 36.4234 21.0796 36.4189 20.7694C36.4145 20.4593 36.6117 20.3113 36.8584 20.4325C37.1052 20.5584 37.2227 21.0125 37.124 21.4442C37.0208 21.876 36.8008 23.0406 36.3252 25.828L37.3252 24.9286C37.8771 24.434 38.703 23.2195 39.1562 22.2303C39.9773 20.4411 39.9821 20.4368 40 21.7811C40.009 22.523 39.6184 24.4474 39.1338 26.0526C38.6357 27.6892 37.4018 30.1537 36.3203 31.66C35.2567 33.1348 33.179 35.2212 31.6982 36.2957C30.1501 37.4198 27.7625 38.6246 26.0889 39.1327C24.3299 39.6632 21.8797 40.0043 19.9189 39.9998C17.8863 39.9953 15.6563 39.6537 13.9736 39.0916C12.4928 38.597 10.4735 37.6887 9.48633 37.0682C8.4991 36.4522 6.7802 35.0358 5.67188 33.9207C4.55907 32.8056 2.94764 30.4369 2.07715 28.6385C1.13932 26.6961 0.403864 24.3801 0 20.4325L0.866211 22.2303C1.34186 23.2195 2.18963 24.4341 3.76465 25.828L3.48242 24.3661C3.32987 23.5613 3.09164 22.2489 2.95703 21.4442ZM6.18652 27.0584C5.79164 26.8786 5.43257 26.9008 5.3877 27.1122C5.34286 27.3235 5.87657 28.3085 6.58105 29.2977C7.28115 30.2869 8.75343 31.86 9.84375 32.7997C10.9387 33.7349 12.8946 34.9 14.1914 35.3856C15.4882 35.8712 17.6065 36.3968 18.9033 36.5497C20.2809 36.716 22.2826 36.5992 23.7275 36.2664C25.0827 35.9517 26.9536 35.3174 27.8779 34.8543C28.8022 34.3957 30.3006 33.3622 31.207 32.5575C32.1134 31.7527 33.4331 30.2869 34.1377 29.2977C34.8416 28.3093 35.411 27.3968 35.3984 27.2743C35.3895 27.1529 33.6173 27.6293 31.459 28.3397C28.5468 29.3019 26.33 29.6975 22.8301 29.8729C20.0077 30.0123 16.6778 29.882 14.5283 29.5448C12.5539 29.23 10.0318 28.6186 8.91895 28.1825C7.80647 27.7465 6.57736 27.2429 6.18652 27.0584ZM19.8066 0.000823975C21.4085 -0.0171596 23.8317 0.257193 25.1914 0.603363C26.5466 0.954077 28.4679 1.69562 29.4551 2.25766C30.4423 2.81972 32.143 4.00237 33.2334 4.88364C34.3238 5.76942 35.8945 7.50556 36.7246 8.74203C37.5502 9.97862 38.6314 12.3079 39.125 13.9129C39.6141 15.5225 40.009 17.4426 40 18.1844C39.9821 19.5285 39.9774 19.5236 39.1562 17.7342C38.703 16.7451 37.8683 15.5313 36.2754 14.1375L36.5361 15.2616C36.6797 15.8821 36.9307 17.1951 37.3838 19.9823L36.2979 18.6336C35.701 17.8917 34.5252 16.8488 33.6816 16.3182C32.838 15.7876 31.1868 15.0273 30.0156 14.6317C28.8444 14.236 26.1163 13.7011 23.958 13.4403C21.2073 13.1075 18.8912 13.1075 16.2168 13.4403C14.1167 13.7011 11.0882 14.3582 9.48633 14.9022C7.87987 15.4462 5.91455 16.4578 5.11133 17.1502C4.30844 17.8424 3.65289 18.7139 3.65234 19.0829C3.65234 19.456 3.45083 19.6588 3.2041 19.5331C2.9573 19.4116 2.83624 18.953 2.93945 18.5213C3.04266 18.0897 3.25813 16.9251 3.71582 14.1375L2.55762 15.2616C1.92046 15.8821 1.09031 17.195 0.0224609 19.9823L0.250977 17.285C0.403546 15.4595 0.987496 13.5347 2.06445 11.327C3.04266 9.32176 4.5636 7.15914 6.02637 5.70688C7.33666 4.40744 9.40542 2.84709 10.626 2.24008C11.851 1.63308 13.7582 0.887039 14.8711 0.585785C15.9794 0.284556 18.2002 0.0188488 19.8066 0.000823975ZM21.2588 3.17368C19.6613 3.07031 17.5659 3.28152 16.0986 3.69516C14.7435 4.07733 12.9267 4.81969 12.0605 5.33676C11.1946 5.8583 9.71813 7.00901 8.78027 7.89926C7.83794 8.78503 6.67488 10.1696 6.19922 10.9745C5.71949 11.7786 5.37934 12.529 5.44141 12.6424C5.50423 12.7548 6.76528 12.3686 8.24609 11.784C9.72697 11.195 12.554 10.4663 14.5283 10.1561C16.6957 9.8189 19.9852 9.69815 22.8301 9.84653C26.2716 10.0309 28.5962 10.4445 31.459 11.3797C33.6152 12.0849 35.3861 12.5565 35.3984 12.4364C35.4119 12.315 34.847 11.402 34.1426 10.4129C33.4426 9.42374 31.9703 7.84974 30.8799 6.91C29.7851 5.97486 27.7751 4.78789 26.4199 4.27524C25.0647 3.76266 22.7396 3.2681 21.2588 3.17368Z",fill:"#E4A300"})})}),K=({authKey:o,merchantPaymentAddress:p,onSuccess:d,onError:i,className:l="",buttonText:u="Pay Now",amount:t="0",paymentType:n="one_time_payment",disabled:N=!1})=>{const[_,c]=j.useState(!1),v=r=>{d==null||d(r),setTimeout(()=>c(!1),2e3)},h=r=>{i==null||i(r)},m=()=>{if(!o){alert("Payment configuration error: No auth key provided");return}c(!0)};return a.jsxs(a.Fragment,{children:[a.jsx("button",{className:`atlas-payment-button ${l}`,onClick:m,disabled:N||!o,children:u}),_&&a.jsx("div",{className:"atlas-modal-overlay",onClick:()=>c(!1),children:a.jsxs("div",{className:"atlas-modal",onClick:r=>r.stopPropagation(),children:[a.jsxs("div",{className:"atlas-modal-header",children:[a.jsxs("div",{className:"atlas-modal-header2",children:[a.jsx(q,{}),a.jsx("h3",{children:"Pay with Atlas"})]}),a.jsx("button",{className:"atlas-modal-close",onClick:()=>c(!1),children:"×"})]}),a.jsx("div",{className:"atlas-modal-body",children:a.jsx(V,{authKey:o,merchantPaymentAddress:p,amount:t,paymentType:n,onSuccess:v,onError:h,buttonText:u,disabled:N})})]})})]})};P.AtlasPaymentButton=K,P.AtlasPaymentForm=V,P.useAtlasPayment=z,Object.defineProperty(P,Symbol.toStringTag,{value:"Module"})});
|
|
22
|
+
<%s key={someKey} {...props} />`,C,x,R,x),Z[x+C]=!0)}if(x=null,f!==void 0&&(d(f),x=""+f),t(s)&&(d(s.key),x=""+s.key),"key"in s){f={};for(var D in s)D!=="key"&&(f[D]=s[D])}else f=s;return x&&r(f,typeof e=="function"?e.displayName||e.name||"Unknown":e),E(e,x,P,_,l(),f,I,F)}function v(e){typeof e=="object"&&e!==null&&e.$$typeof===m&&e._store&&(e._store.validated=1)}var h=j,m=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),y=Symbol.for("react.fragment"),g=Symbol.for("react.strict_mode"),b=Symbol.for("react.profiler"),T=Symbol.for("react.consumer"),ee=Symbol.for("react.context"),ae=Symbol.for("react.forward_ref"),te=Symbol.for("react.suspense"),se=Symbol.for("react.suspense_list"),re=Symbol.for("react.memo"),U=Symbol.for("react.lazy"),ne=Symbol.for("react.activity"),le=Symbol.for("react.client.reference"),O=h.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,H=Object.prototype.hasOwnProperty,oe=Array.isArray,L=console.createTask?console.createTask:function(){return null};h={react_stack_bottom_frame:function(e){return e()}};var W,J={},B=h.react_stack_bottom_frame.bind(h,u)(),G=L(i(u)),Z={};A.Fragment=y,A.jsx=function(e,s,f,C,_){var P=1e4>O.recentlyCreatedOwnerStacks++;return c(e,s,f,!1,C,_,P?Error("react-stack-top-frame"):B,P?L(i(e)):G)},A.jsxs=function(e,s,f,C,_){var P=1e4>O.recentlyCreatedOwnerStacks++;return c(e,s,f,!0,C,_,P?Error("react-stack-top-frame"):B,P?L(i(e)):G)}}()),A}process.env.NODE_ENV==="production"?S.exports=X():S.exports=Q();var a=S.exports;const z=(o,p)=>{const[d,i]=j.useState({status:"idle",message:"Ready to pay"}),[l,u]=j.useState({isValid:!1,isLoading:!0}),t=j.useRef(null),r=j.useRef(null);j.useEffect(()=>{(async()=>{if(!o){u({isValid:!1,isLoading:!1}),i({status:"error",message:"No auth key provided"});return}u(m=>({...m,isLoading:!0})),i({status:"loading",message:"Loading payment information..."});try{const n=await(await fetch("https://api.atlascard.xyz/api/auth/external/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:o,required_scopes:[p]})})).json();n.valid||i({status:"error",message:"Failed to initialize payment",error:n.error||"Invalid Auth Key"});const y=await fetch("https://api.atlascard.xyz/api/credentials/get",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({auth_key:o,required_scopes:[p]})});if(!y.ok)throw new Error("Failed to fetch credentials");const g=await y.json(),b={cardId:n.cardId,businessAddress:n.businessAddress,userAddress:g.address,identifier:g.identifier,credentials:g,isValid:!0,isLoading:!1};u(b),i({status:"ready",message:"Ready to process payment"})}catch(m){console.error("Payment initialization error:",m),u({isValid:!1,isLoading:!1}),i({status:"error",message:"Failed to initialize payment",error:m instanceof Error?m.message:"Unknown error"})}})()},[o,p]),j.useEffect(()=>{const h=m=>{if(m.origin!=="https://atlascard.xyz")return;const n=m.data;switch(n.type){case"payment_result":n.status==="success"?(i({status:"success",message:"Payment successful!",transactionHash:n.transactionHash}),r.current&&(r.current.resolve({success:!0,transactionHash:n.transactionHash,amount:n.amount,merchant:n.merchant,type:n.paymentType,paymentData:l}),r.current=null),t.current&&setTimeout(()=>{var y;(y=t.current)==null||y.close(),t.current=null},3e3)):(i({status:"error",message:n.error||"Payment failed",error:n.error}),r.current&&(r.current.reject(new Error(n.error||"Payment failed")),r.current=null),t.current&&setTimeout(()=>{var y;(y=t.current)==null||y.close(),t.current=null},3e3));break;case"payment_error":i({status:"error",message:n.error||"Payment failed",error:n.error}),r.current&&(r.current.reject(new Error(n.error||"Payment failed")),r.current=null),t.current&&(t.current.close(),t.current=null);break;case"close_popup":t.current&&(t.current.close(),t.current=null),d.status==="popup_open"&&(i({status:"ready",message:"Payment cancelled"}),r.current&&(r.current.reject(new Error("Payment cancelled by user")),r.current=null));break}};return window.addEventListener("message",h),()=>window.removeEventListener("message",h)},[l,d.status]),j.useEffect(()=>{if(!t.current)return;const h=setInterval(()=>{var m;(m=t.current)!=null&&m.closed&&(clearInterval(h),d.status==="popup_open"&&(i({status:"ready",message:"Payment cancelled"}),r.current&&(r.current.reject(new Error("Payment cancelled by user")),r.current=null)),t.current=null)},500);return()=>clearInterval(h)},[d.status]);const w=j.useCallback(async(h,m)=>{if(!l.isValid||!l.credentials)throw new Error("Payment data not validated");t.current&&(t.current.close(),t.current=null);const y=`https://atlascard.xyz/pay?${new URLSearchParams({merchantAddress:h,amount:m,eoaAddress:l.credentials.address,credentials:encodeURIComponent(JSON.stringify(l.credentials)),paymentType:p,origin:window.location.origin}).toString()}`,g=window.open(y,"Atlascard Payment","width=500,height=700,scrollbars=no,resizable=no,menubar=no,toolbar=no,location=no,status=no");if(!g){const b="Please allow popups to complete the payment";throw i({status:"error",message:b,error:b}),new Error(b)}t.current=g,i({status:"popup_open",message:"Complete payment in the popup window"})},[l,p]);return{processPayment:async(h,m)=>{if(!l.isValid)throw new Error("Payment data not validated");return new Promise((n,y)=>{r.current={resolve:n,reject:y},w(h,m).catch(y)})},status:d,paymentData:l,closePopup:()=>{t.current&&(t.current.close(),t.current=null),d.status==="popup_open"&&i({status:"ready",message:"Payment cancelled"}),r.current&&(r.current.reject(new Error("Payment cancelled")),r.current=null)},reset:()=>{i({status:"idle",message:"Ready to pay"}),u({isValid:!1,isLoading:!0}),t.current&&(t.current.close(),t.current=null),r.current&&(r.current.reject(new Error("Payment reset")),r.current=null)}}},$=({status:o})=>{const p=()=>{switch(o.status){case"processing":return a.jsx("div",{className:"atlas-spinner",children:a.jsx("div",{className:"atlas-spinner-circle"})});case"success":return a.jsx("div",{className:"atlas-status-icon atlas-success",children:"✓"});case"error":return a.jsx("div",{className:"atlas-status-icon atlas-error",children:"✗"});default:return null}},d=()=>{switch(o.status){case"processing":return"atlas-status-processing";case"success":return"atlas-status-success";case"error":return"atlas-status-error";default:return""}};return o.status==="idle"?null:a.jsx("div",{className:`atlas-payment-status ${d()}`,children:a.jsxs("div",{className:"atlas-status-content",children:[p(),a.jsxs("div",{className:"atlas-status-text",children:[a.jsx("p",{className:"atlas-status-message",children:o.message}),o.transactionHash&&a.jsxs("p",{className:"atlas-transaction-hash",children:["Tx: ",o.transactionHash.slice(0,10),"...",o.transactionHash.slice(-8)]}),o.error&&a.jsx("p",{className:"atlas-error-message",children:o.error})]})]})})},V=({authKey:o,merchantPaymentAddress:p,amount:d="0",paymentType:i="one_time_payment",onSuccess:l,onError:u,className:t="",buttonText:r="PAY NOW",disabled:w=!1})=>{const{processPayment:E,status:c,paymentData:v,closePopup:h,reset:m}=z(o,i),n=async b=>{if(b.preventDefault(),!(!(v!=null&&v.isValid)||parseFloat(d)<=0))try{const T=await E(p,d);l==null||l(T)}catch(T){u==null||u(T)}},y=()=>{m()};j.useEffect(()=>{c.status==="success"&&c.transactionHash&&(l==null||l({success:!0,transactionHash:c.transactionHash,amount:d,merchant:p,type:i,paymentData:v}))},[c.status,c.transactionHash]),j.useEffect(()=>{c.status==="error"&&c.error&&(u==null||u(new Error(c.error)))},[c.status,c.error]);const g=b=>b==="delegate"?"Recurring Payment":"One-time Payment";return v?v.isLoading?a.jsx("div",{className:`atlas-container ${t}`,children:a.jsxs("div",{className:"atlas-loading",children:[a.jsx("div",{className:"atlas-spinner"}),a.jsx("p",{children:"Loading payment information..."})]})}):!v.isValid&&c.status==="error"?a.jsx("div",{className:`atlas-container ${t}`,children:a.jsxs("div",{className:"atlas-error-state",children:[a.jsx("div",{className:"atlas-error-icon",children:"⚠️"}),a.jsx("h3",{children:"Payment Setup Failed"}),a.jsx("p",{children:c.error||"Unable to initialize payment"}),a.jsx("button",{onClick:m,className:"atlas-secondary-button",children:"Try Again"})]})}):a.jsxs("div",{className:`atlas-container ${t}`,children:[a.jsxs("div",{className:"atlas-header",children:[a.jsx("div",{className:"atlas-payment-type-badge",children:g(i)}),a.jsxs("div",{className:"atlas-total",children:["Pay ",a.jsxs("span",{children:[d," USDC"]})]})]}),a.jsx("div",{className:"atlas-divider"}),a.jsxs("form",{onSubmit:n,className:"atlas-form",children:[a.jsx("div",{className:"atlas-validation-info",children:a.jsxs("div",{className:"atlas-info-section",children:[a.jsx("h4",{children:"Payment Account"}),a.jsxs("div",{className:"atlas-info-grid",children:[a.jsxs("div",{className:"atlas-info-item",children:[a.jsx("span",{className:"atlas-info-label",children:"Card ID:"}),a.jsx("span",{className:"atlas-info-value",children:v.cardId||"N/A"})]}),v.userAddress&&a.jsxs("div",{className:"atlas-info-item",children:[a.jsx("span",{className:"atlas-info-label",children:"Payer Address:"}),a.jsxs("span",{className:"atlas-info-value",children:[v.userAddress.slice(0,8),"...",v.userAddress.slice(-6)]})]})]})]})}),a.jsx("div",{className:"atlas-merchant-info",children:a.jsxs("div",{className:"atlas-info-item",children:[a.jsx("span",{className:"atlas-info-label",children:"Merchant:"}),a.jsxs("span",{className:"atlas-info-value",children:[p.slice(0,8),"...",p.slice(-6)]})]})}),a.jsx("div",{className:"atlas-amount-display-section",children:a.jsxs("div",{className:"atlas-amount-main",children:[a.jsx("span",{className:"atlas-amount-label",children:"Amount to Pay:"}),a.jsxs("span",{className:"atlas-amount-value",children:[d," ",a.jsx("span",{className:"atlas-amount-token",children:"USDC"})]})]})}),c.status==="popup_open"&&a.jsxs("div",{className:"atlas-popup-status",children:[a.jsx("div",{className:"atlas-popup-icon",children:"🪟"}),a.jsxs("div",{className:"atlas-popup-content",children:[a.jsx("h4",{children:"Complete Payment in Popup"}),a.jsx("p",{children:"A new window has opened to complete your payment."}),a.jsx("p",{className:"atlas-popup-hint",children:"If you don't see the popup, please check your browser settings or allow popups for this site."}),a.jsxs("div",{className:"atlas-popup-actions",children:[a.jsx("button",{type:"button",onClick:h,className:"atlas-secondary-button",children:"Cancel Payment"}),a.jsx("button",{type:"button",onClick:()=>{window.open("","Atlascard Payment")&&window.focus()},className:"atlas-tertiary-button",children:"Show Popup"})]})]})]}),a.jsxs("div",{className:"atlas-form-actions",children:[c.status==="ready"&&a.jsx("button",{type:"submit",className:"atlas-pay-button",disabled:!v.isValid||parseFloat(d)<=0||w,children:r}),c.status!=="ready"&&c.status!=="idle"&&c.status!=="popup_open"&&a.jsxs("div",{className:"atlas-status-wrapper",children:[a.jsx($,{status:c}),c.status==="success"&&a.jsx("button",{type:"button",onClick:y,className:"atlas-secondary-button",children:"Make Another Payment"})]})]})]})]}):a.jsx("div",{className:`atlas-container ${t}`,children:a.jsxs("div",{className:"atlas-loading",children:[a.jsx("div",{className:"atlas-spinner"}),a.jsx("p",{children:"Initializing payment system..."})]})})},q=()=>a.jsx(a.Fragment,{children:a.jsx("svg",{width:"40",height:"40",viewBox:"0 0 40 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:a.jsx("path",{d:"M2.95703 21.4442C2.72371 20.0639 2.75066 20.0321 3.3877 20.8817C3.75566 21.3763 4.4245 22.1637 4.86426 22.6268C5.3087 23.09 6.68217 23.9215 7.91602 24.4745C9.14997 25.0229 11.2674 25.7423 12.627 26.075C14.009 26.4078 17.3615 26.6555 20.2559 26.6375C23.572 26.6151 26.4573 26.3265 28.333 25.8319C29.9348 25.4093 31.8552 24.7578 32.5957 24.3846C33.3361 24.0069 34.5035 23.1704 35.1855 22.5184C35.8675 21.8665 36.4234 21.0796 36.4189 20.7694C36.4145 20.4593 36.6117 20.3113 36.8584 20.4325C37.1052 20.5584 37.2227 21.0125 37.124 21.4442C37.0208 21.876 36.8008 23.0406 36.3252 25.828L37.3252 24.9286C37.8771 24.434 38.703 23.2195 39.1562 22.2303C39.9773 20.4411 39.9821 20.4368 40 21.7811C40.009 22.523 39.6184 24.4474 39.1338 26.0526C38.6357 27.6892 37.4018 30.1537 36.3203 31.66C35.2567 33.1348 33.179 35.2212 31.6982 36.2957C30.1501 37.4198 27.7625 38.6246 26.0889 39.1327C24.3299 39.6632 21.8797 40.0043 19.9189 39.9998C17.8863 39.9953 15.6563 39.6537 13.9736 39.0916C12.4928 38.597 10.4735 37.6887 9.48633 37.0682C8.4991 36.4522 6.7802 35.0358 5.67188 33.9207C4.55907 32.8056 2.94764 30.4369 2.07715 28.6385C1.13932 26.6961 0.403864 24.3801 0 20.4325L0.866211 22.2303C1.34186 23.2195 2.18963 24.4341 3.76465 25.828L3.48242 24.3661C3.32987 23.5613 3.09164 22.2489 2.95703 21.4442ZM6.18652 27.0584C5.79164 26.8786 5.43257 26.9008 5.3877 27.1122C5.34286 27.3235 5.87657 28.3085 6.58105 29.2977C7.28115 30.2869 8.75343 31.86 9.84375 32.7997C10.9387 33.7349 12.8946 34.9 14.1914 35.3856C15.4882 35.8712 17.6065 36.3968 18.9033 36.5497C20.2809 36.716 22.2826 36.5992 23.7275 36.2664C25.0827 35.9517 26.9536 35.3174 27.8779 34.8543C28.8022 34.3957 30.3006 33.3622 31.207 32.5575C32.1134 31.7527 33.4331 30.2869 34.1377 29.2977C34.8416 28.3093 35.411 27.3968 35.3984 27.2743C35.3895 27.1529 33.6173 27.6293 31.459 28.3397C28.5468 29.3019 26.33 29.6975 22.8301 29.8729C20.0077 30.0123 16.6778 29.882 14.5283 29.5448C12.5539 29.23 10.0318 28.6186 8.91895 28.1825C7.80647 27.7465 6.57736 27.2429 6.18652 27.0584ZM19.8066 0.000823975C21.4085 -0.0171596 23.8317 0.257193 25.1914 0.603363C26.5466 0.954077 28.4679 1.69562 29.4551 2.25766C30.4423 2.81972 32.143 4.00237 33.2334 4.88364C34.3238 5.76942 35.8945 7.50556 36.7246 8.74203C37.5502 9.97862 38.6314 12.3079 39.125 13.9129C39.6141 15.5225 40.009 17.4426 40 18.1844C39.9821 19.5285 39.9774 19.5236 39.1562 17.7342C38.703 16.7451 37.8683 15.5313 36.2754 14.1375L36.5361 15.2616C36.6797 15.8821 36.9307 17.1951 37.3838 19.9823L36.2979 18.6336C35.701 17.8917 34.5252 16.8488 33.6816 16.3182C32.838 15.7876 31.1868 15.0273 30.0156 14.6317C28.8444 14.236 26.1163 13.7011 23.958 13.4403C21.2073 13.1075 18.8912 13.1075 16.2168 13.4403C14.1167 13.7011 11.0882 14.3582 9.48633 14.9022C7.87987 15.4462 5.91455 16.4578 5.11133 17.1502C4.30844 17.8424 3.65289 18.7139 3.65234 19.0829C3.65234 19.456 3.45083 19.6588 3.2041 19.5331C2.9573 19.4116 2.83624 18.953 2.93945 18.5213C3.04266 18.0897 3.25813 16.9251 3.71582 14.1375L2.55762 15.2616C1.92046 15.8821 1.09031 17.195 0.0224609 19.9823L0.250977 17.285C0.403546 15.4595 0.987496 13.5347 2.06445 11.327C3.04266 9.32176 4.5636 7.15914 6.02637 5.70688C7.33666 4.40744 9.40542 2.84709 10.626 2.24008C11.851 1.63308 13.7582 0.887039 14.8711 0.585785C15.9794 0.284556 18.2002 0.0188488 19.8066 0.000823975ZM21.2588 3.17368C19.6613 3.07031 17.5659 3.28152 16.0986 3.69516C14.7435 4.07733 12.9267 4.81969 12.0605 5.33676C11.1946 5.8583 9.71813 7.00901 8.78027 7.89926C7.83794 8.78503 6.67488 10.1696 6.19922 10.9745C5.71949 11.7786 5.37934 12.529 5.44141 12.6424C5.50423 12.7548 6.76528 12.3686 8.24609 11.784C9.72697 11.195 12.554 10.4663 14.5283 10.1561C16.6957 9.8189 19.9852 9.69815 22.8301 9.84653C26.2716 10.0309 28.5962 10.4445 31.459 11.3797C33.6152 12.0849 35.3861 12.5565 35.3984 12.4364C35.4119 12.315 34.847 11.402 34.1426 10.4129C33.4426 9.42374 31.9703 7.84974 30.8799 6.91C29.7851 5.97486 27.7751 4.78789 26.4199 4.27524C25.0647 3.76266 22.7396 3.2681 21.2588 3.17368Z",fill:"#E4A300"})})}),K=({authKey:o,merchantPaymentAddress:p,onSuccess:d,onError:i,className:l="",buttonText:u="Pay Now",amount:t="0",paymentType:r="one_time_payment",disabled:w=!1})=>{const[E,c]=j.useState(!1),v=n=>{d==null||d(n),setTimeout(()=>c(!1),2e3)},h=n=>{i==null||i(n)},m=()=>{if(!o){alert("Payment configuration error: No auth key provided");return}c(!0)};return a.jsxs(a.Fragment,{children:[a.jsx("button",{className:`atlas-payment-button ${l}`,onClick:m,disabled:w||!o,children:u}),E&&a.jsx("div",{className:"atlas-modal-overlay",onClick:()=>c(!1),children:a.jsxs("div",{className:"atlas-modal",onClick:n=>n.stopPropagation(),children:[a.jsxs("div",{className:"atlas-modal-header",children:[a.jsxs("div",{className:"atlas-modal-header2",children:[a.jsx(q,{}),a.jsx("h3",{children:"Pay with Atlas"})]}),a.jsx("button",{className:"atlas-modal-close",onClick:()=>c(!1),children:"×"})]}),a.jsx("div",{className:"atlas-modal-body",children:a.jsx(V,{authKey:o,merchantPaymentAddress:p,amount:t,paymentType:r,onSuccess:v,onError:h,buttonText:u,disabled:w})})]})})]})};N.AtlasPaymentButton=K,N.AtlasPaymentForm=V,N.useAtlasPayment=z,Object.defineProperty(N,Symbol.toStringTag,{value:"Module"})});
|
|
23
23
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../node_modules/react/cjs/react-jsx-runtime.production.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../src/hooks/useAtlasPayment.ts","../src/components/AtlasPaymentStatus.tsx","../src/components/AtlasPaymentForm.tsx","../src/assets/Icon.tsx","../src/components/AtlasPaymentButton.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%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://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(\n type,\n key,\n self,\n source,\n owner,\n props,\n debugStack,\n debugTask\n ) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n self,\n source,\n getOwner(),\n maybeKey,\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_ELEMENT_TYPE &&\n node._store &&\n (node._store.validated = 1);\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","// hooks/useAtlasPayment.ts\r\nimport { useState, useEffect, useCallback, useRef } from \"react\";\r\nimport type {\r\n PaymentType,\r\n ValidationResponse,\r\n DecryptedCredentials,\r\n} from \"../types\";\r\n\r\ninterface PaymentStatus {\r\n status:\r\n | \"idle\"\r\n | \"loading\"\r\n | \"validating\"\r\n | \"ready\"\r\n | \"popup_open\"\r\n | \"processing\"\r\n | \"success\"\r\n | \"error\";\r\n message: string;\r\n transactionHash?: string;\r\n error?: string;\r\n}\r\n\r\ninterface PaymentData {\r\n cardId?: string;\r\n businessAddress?: string;\r\n userAddress?: string;\r\n identifier?: string;\r\n credentials?: DecryptedCredentials;\r\n isValid: boolean;\r\n isLoading: boolean;\r\n}\r\n\r\ninterface PopupMessage {\r\n type: \"payment_result\" | \"payment_error\" | \"close_popup\";\r\n status?: \"success\" | \"failed\";\r\n transactionHash?: string;\r\n amount?: string;\r\n merchant?: string;\r\n paymentType?: string;\r\n error?: string;\r\n}\r\n\r\nexport const useAtlasPayment = (authKey: string, paymentType: PaymentType) => {\r\n const [status, setStatus] = useState<PaymentStatus>({\r\n status: \"idle\",\r\n message: \"Ready to pay\",\r\n });\r\n const [paymentData, setPaymentData] = useState<PaymentData>({\r\n isValid: false,\r\n isLoading: true,\r\n });\r\n const popupRef = useRef<Window | null>(null);\r\n const paymentPromiseRef = useRef<{\r\n resolve: (value: any) => void;\r\n reject: (reason?: any) => void;\r\n } | null>(null);\r\n\r\n // Automatically validate and fetch credentials when authKey or paymentType changes\r\n useEffect(() => {\r\n const initializePayment = async () => {\r\n if (!authKey) {\r\n setPaymentData({\r\n isValid: false,\r\n isLoading: false,\r\n });\r\n setStatus({\r\n status: \"error\",\r\n message: \"No auth key provided\",\r\n });\r\n return;\r\n }\r\n\r\n setPaymentData((prev) => ({ ...prev, isLoading: true }));\r\n setStatus({\r\n status: \"loading\",\r\n message: \"Loading payment information...\",\r\n });\r\n\r\n try {\r\n // Step 1: Validate auth key\r\n const validationResponse = await fetch(\r\n \"https://api.atlascard.xyz/api/auth/external/validate\",\r\n {\r\n method: \"POST\",\r\n headers: { \"Content-Type\": \"application/json\" },\r\n body: JSON.stringify({\r\n key: authKey,\r\n required_scopes: [paymentType],\r\n }),\r\n }\r\n );\r\n\r\n const validationData: ValidationResponse =\r\n await validationResponse.json();\r\n\r\n if (!validationData.valid) {\r\n setStatus({\r\n status: \"error\",\r\n message: \"Failed to initialize payment\",\r\n error: validationData.error || \"Invalid Auth Key\",\r\n });\r\n throw new Error(validationData.error || \"Invalid auth key\");\r\n }\r\n\r\n // Step 2: Get credentials\r\n const credentialsResponse = await fetch(\r\n \"https://api.atlascard.xyz/api/credentials/get\",\r\n {\r\n method: \"POST\",\r\n headers: { \"Content-Type\": \"application/json\" },\r\n body: JSON.stringify({\r\n auth_key: authKey,\r\n required_scopes: [paymentType],\r\n }),\r\n }\r\n );\r\n\r\n if (!credentialsResponse.ok) {\r\n throw new Error(\"Failed to fetch credentials\");\r\n }\r\n\r\n const credentialsData: DecryptedCredentials =\r\n await credentialsResponse.json();\r\n\r\n const updatedPaymentData = {\r\n cardId: validationData.cardId,\r\n businessAddress: validationData.businessAddress,\r\n userAddress: credentialsData.address,\r\n identifier: credentialsData.identifier,\r\n credentials: credentialsData,\r\n isValid: true,\r\n isLoading: false,\r\n };\r\n\r\n setPaymentData(updatedPaymentData);\r\n setStatus({\r\n status: \"ready\",\r\n message: \"Ready to process payment\",\r\n });\r\n } catch (error) {\r\n console.error(\"Payment initialization error:\", error);\r\n const errorData = {\r\n isValid: false,\r\n isLoading: false,\r\n };\r\n setPaymentData(errorData);\r\n setStatus({\r\n status: \"error\",\r\n message: \"Failed to initialize payment\",\r\n error: error instanceof Error ? error.message : \"Unknown error\",\r\n });\r\n }\r\n };\r\n\r\n initializePayment();\r\n }, [authKey, paymentType]);\r\n\r\n // Listen for messages from popup\r\n useEffect(() => {\r\n const handleMessage = (event: MessageEvent) => {\r\n // Security: Only accept messages from Atlascard.xyz\r\n if (event.origin !== \"https://atlascard.xyz\") return;\r\n\r\n const data: PopupMessage = event.data;\r\n\r\n switch (data.type) {\r\n case \"payment_result\":\r\n if (data.status === \"success\") {\r\n setStatus({\r\n status: \"success\",\r\n message: \"Payment successful!\",\r\n transactionHash: data.transactionHash,\r\n });\r\n\r\n // Resolve the promise\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.resolve({\r\n success: true,\r\n transactionHash: data.transactionHash,\r\n amount: data.amount,\r\n merchant: data.merchant,\r\n type: data.paymentType,\r\n paymentData,\r\n });\r\n paymentPromiseRef.current = null;\r\n }\r\n\r\n // Close the popup\r\n if (popupRef.current) {\r\n setTimeout(() => {\r\n popupRef.current?.close();\r\n popupRef.current = null;\r\n }, 3000); // Give user time to see success message\r\n }\r\n } else {\r\n setStatus({\r\n status: \"error\",\r\n message: data.error || \"Payment failed\",\r\n error: data.error,\r\n });\r\n\r\n // Reject the promise\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(\r\n new Error(data.error || \"Payment failed\")\r\n );\r\n paymentPromiseRef.current = null;\r\n }\r\n\r\n // Close the popup after a delay\r\n if (popupRef.current) {\r\n setTimeout(() => {\r\n popupRef.current?.close();\r\n popupRef.current = null;\r\n }, 3000);\r\n }\r\n }\r\n break;\r\n\r\n case \"payment_error\":\r\n setStatus({\r\n status: \"error\",\r\n message: data.error || \"Payment failed\",\r\n error: data.error,\r\n });\r\n\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(\r\n new Error(data.error || \"Payment failed\")\r\n );\r\n paymentPromiseRef.current = null;\r\n }\r\n\r\n if (popupRef.current) {\r\n popupRef.current.close();\r\n popupRef.current = null;\r\n }\r\n break;\r\n\r\n case \"close_popup\":\r\n if (popupRef.current) {\r\n popupRef.current.close();\r\n popupRef.current = null;\r\n }\r\n\r\n // If still in popup_open status, user closed manually\r\n if (status.status === \"popup_open\") {\r\n setStatus({\r\n status: \"ready\",\r\n message: \"Payment cancelled\",\r\n });\r\n\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(\r\n new Error(\"Payment cancelled by user\")\r\n );\r\n paymentPromiseRef.current = null;\r\n }\r\n }\r\n break;\r\n }\r\n };\r\n\r\n window.addEventListener(\"message\", handleMessage);\r\n return () => window.removeEventListener(\"message\", handleMessage);\r\n }, [paymentData, status.status]);\r\n\r\n // Check if popup was closed by user\r\n useEffect(() => {\r\n if (!popupRef.current) return;\r\n\r\n const checkPopup = setInterval(() => {\r\n if (popupRef.current?.closed) {\r\n clearInterval(checkPopup);\r\n\r\n // If still in popup_open status, user closed manually\r\n if (status.status === \"popup_open\") {\r\n setStatus({\r\n status: \"ready\",\r\n message: \"Payment cancelled\",\r\n });\r\n\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(\r\n new Error(\"Payment cancelled by user\")\r\n );\r\n paymentPromiseRef.current = null;\r\n }\r\n }\r\n\r\n popupRef.current = null;\r\n }\r\n }, 500);\r\n\r\n return () => clearInterval(checkPopup);\r\n }, [status.status]);\r\n\r\n const openPaymentPopup = useCallback(\r\n async (merchantAddress: string, amount: string) => {\r\n if (!paymentData.isValid || !paymentData.credentials) {\r\n throw new Error(\"Payment data not validated\");\r\n }\r\n\r\n // Close any existing popup\r\n if (popupRef.current) {\r\n popupRef.current.close();\r\n popupRef.current = null;\r\n }\r\n\r\n // Build popup URL with all necessary parameters\r\n const params = new URLSearchParams({\r\n merchantAddress: merchantAddress,\r\n amount: amount,\r\n eoaAddress: paymentData.credentials.address,\r\n credentials: encodeURIComponent(\r\n JSON.stringify(paymentData.credentials)\r\n ),\r\n paymentType: paymentType,\r\n origin: window.location.origin,\r\n });\r\n\r\n const url = `https://atlascard.xyz/pay?${params.toString()}`;\r\n\r\n // Open popup window\r\n const popup = window.open(\r\n url,\r\n \"Atlascard Payment\",\r\n \"width=500,height=700,scrollbars=no,resizable=no,menubar=no,toolbar=no,location=no,status=no\"\r\n );\r\n\r\n if (!popup) {\r\n const error = \"Please allow popups to complete the payment\";\r\n setStatus({\r\n status: \"error\",\r\n message: error,\r\n error: error,\r\n });\r\n throw new Error(error);\r\n }\r\n\r\n popupRef.current = popup;\r\n setStatus({\r\n status: \"popup_open\",\r\n message: \"Complete payment in the popup window\",\r\n });\r\n },\r\n [paymentData, paymentType]\r\n );\r\n\r\n const processPayment = async (merchantAddress: string, amount: string) => {\r\n if (!paymentData.isValid) {\r\n throw new Error(\"Payment data not validated\");\r\n }\r\n\r\n // Create promise to handle payment result\r\n return new Promise((resolve, reject) => {\r\n paymentPromiseRef.current = { resolve, reject };\r\n\r\n // Open popup\r\n openPaymentPopup(merchantAddress, amount).catch(reject);\r\n });\r\n };\r\n\r\n const closePopup = () => {\r\n if (popupRef.current) {\r\n popupRef.current.close();\r\n popupRef.current = null;\r\n }\r\n\r\n if (status.status === \"popup_open\") {\r\n setStatus({\r\n status: \"ready\",\r\n message: \"Payment cancelled\",\r\n });\r\n }\r\n\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(new Error(\"Payment cancelled\"));\r\n paymentPromiseRef.current = null;\r\n }\r\n };\r\n\r\n const reset = () => {\r\n setStatus({ status: \"idle\", message: \"Ready to pay\" });\r\n setPaymentData({\r\n isValid: false,\r\n isLoading: true,\r\n });\r\n\r\n if (popupRef.current) {\r\n popupRef.current.close();\r\n popupRef.current = null;\r\n }\r\n\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(new Error(\"Payment reset\"));\r\n paymentPromiseRef.current = null;\r\n }\r\n };\r\n\r\n return {\r\n processPayment,\r\n status,\r\n paymentData,\r\n closePopup,\r\n reset,\r\n };\r\n};\r\n","import React from \"react\";\r\n\r\ninterface PaymentStatus {\r\n status:\r\n | \"idle\"\r\n | \"loading\"\r\n | \"validating\"\r\n | \"ready\"\r\n | \"popup_open\"\r\n | \"processing\"\r\n | \"success\"\r\n | \"error\";\r\n message: string;\r\n transactionHash?: string;\r\n error?: string;\r\n}\r\n\r\ninterface AtlasPaymentStatusProps {\r\n status: PaymentStatus;\r\n}\r\n\r\nexport const AtlasPaymentStatus: React.FC<AtlasPaymentStatusProps> = ({\r\n status,\r\n}) => {\r\n const getStatusIcon = () => {\r\n switch (status.status) {\r\n case \"processing\":\r\n return (\r\n <div className=\"atlas-spinner\">\r\n <div className=\"atlas-spinner-circle\"></div>\r\n </div>\r\n );\r\n case \"success\":\r\n return <div className=\"atlas-status-icon atlas-success\">✓</div>;\r\n case \"error\":\r\n return <div className=\"atlas-status-icon atlas-error\">✗</div>;\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const getStatusColor = () => {\r\n switch (status.status) {\r\n case \"processing\":\r\n return \"atlas-status-processing\";\r\n case \"success\":\r\n return \"atlas-status-success\";\r\n case \"error\":\r\n return \"atlas-status-error\";\r\n default:\r\n return \"\";\r\n }\r\n };\r\n\r\n if (status.status === \"idle\") return null;\r\n\r\n return (\r\n <div className={`atlas-payment-status ${getStatusColor()}`}>\r\n <div className=\"atlas-status-content\">\r\n {getStatusIcon()}\r\n <div className=\"atlas-status-text\">\r\n <p className=\"atlas-status-message\">{status.message}</p>\r\n {status.transactionHash && (\r\n <p className=\"atlas-transaction-hash\">\r\n Tx: {status.transactionHash.slice(0, 10)}...\r\n {status.transactionHash.slice(-8)}\r\n </p>\r\n )}\r\n {status.error && (\r\n <p className=\"atlas-error-message\">{status.error}</p>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport React, { useEffect } from \"react\";\r\nimport { useAtlasPayment } from \"../hooks/useAtlasPayment\";\r\nimport { AtlasPaymentStatus } from \"./AtlasPaymentStatus\";\r\nimport type { PaymentType } from \"../types\";\r\n\r\ninterface AtlasPaymentFormProps {\r\n authKey: string;\r\n merchantPaymentAddress: string;\r\n amount?: string;\r\n paymentType?: PaymentType;\r\n onSuccess?: (receipt: any) => void;\r\n onError?: (error: Error) => void;\r\n className?: string;\r\n buttonText?: string;\r\n disabled?: boolean;\r\n chainId?: number;\r\n}\r\n\r\nexport const AtlasPaymentForm: React.FC<AtlasPaymentFormProps> = ({\r\n authKey,\r\n merchantPaymentAddress,\r\n amount = \"0\",\r\n paymentType = \"one_time_payment\",\r\n onSuccess,\r\n onError,\r\n className = \"\",\r\n buttonText = \"PAY NOW\",\r\n disabled = false,\r\n}) => {\r\n const { processPayment, status, paymentData, closePopup, reset } =\r\n useAtlasPayment(authKey, paymentType);\r\n\r\n const handleSubmit = async (e: React.FormEvent) => {\r\n e.preventDefault();\r\n\r\n if (!paymentData?.isValid || parseFloat(amount) <= 0) {\r\n return;\r\n }\r\n\r\n try {\r\n const receipt = await processPayment(merchantPaymentAddress, amount);\r\n onSuccess?.(receipt);\r\n } catch (error) {\r\n onError?.(error as Error);\r\n }\r\n };\r\n\r\n const handleReset = () => {\r\n reset();\r\n };\r\n\r\n // Call onSuccess when payment is successful\r\n useEffect(() => {\r\n if (status.status === \"success\" && status.transactionHash) {\r\n onSuccess?.({\r\n success: true,\r\n transactionHash: status.transactionHash,\r\n amount,\r\n merchant: merchantPaymentAddress,\r\n type: paymentType,\r\n paymentData,\r\n });\r\n }\r\n }, [status.status, status.transactionHash]);\r\n\r\n // Call onError when payment fails\r\n useEffect(() => {\r\n if (status.status === \"error\" && status.error) {\r\n onError?.(new Error(status.error));\r\n }\r\n }, [status.status, status.error]);\r\n\r\n const getPaymentTypeLabel = (type: PaymentType) => {\r\n return type === \"delegate\" ? \"Recurring Payment\" : \"One-time Payment\";\r\n };\r\n\r\n // Handle undefined paymentData gracefully\r\n if (!paymentData) {\r\n return (\r\n <div className={`atlas-container ${className}`}>\r\n <div className=\"atlas-loading\">\r\n <div className=\"atlas-spinner\"></div>\r\n <p>Initializing payment system...</p>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n // Show loading state while initializing\r\n if (paymentData.isLoading) {\r\n return (\r\n <div className={`atlas-container ${className}`}>\r\n <div className=\"atlas-loading\">\r\n <div className=\"atlas-spinner\"></div>\r\n <p>Loading payment information...</p>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n // Show error if initialization failed\r\n if (!paymentData.isValid && status.status === \"error\") {\r\n return (\r\n <div className={`atlas-container ${className}`}>\r\n <div className=\"atlas-error-state\">\r\n <div className=\"atlas-error-icon\">⚠️</div>\r\n <h3>Payment Setup Failed</h3>\r\n <p>{status.error || \"Unable to initialize payment\"}</p>\r\n <button onClick={reset} className=\"atlas-secondary-button\">\r\n Try Again\r\n </button>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div className={`atlas-container ${className}`}>\r\n <div className=\"atlas-header\">\r\n <div className=\"atlas-payment-type-badge\">\r\n {getPaymentTypeLabel(paymentType)}\r\n </div>\r\n <div className=\"atlas-total\">\r\n Pay <span>{amount} USDC</span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"atlas-divider\" />\r\n\r\n <form onSubmit={handleSubmit} className=\"atlas-form\">\r\n {/* Payment Information (fetched from APIs) */}\r\n <div className=\"atlas-validation-info\">\r\n <div className=\"atlas-info-section\">\r\n <h4>Payment Account</h4>\r\n <div className=\"atlas-info-grid\">\r\n <div className=\"atlas-info-item\">\r\n <span className=\"atlas-info-label\">Card ID:</span>\r\n <span className=\"atlas-info-value\">\r\n {paymentData.cardId || \"N/A\"}\r\n </span>\r\n </div>\r\n {paymentData.userAddress && (\r\n <div className=\"atlas-info-item\">\r\n <span className=\"atlas-info-label\">Payer Address:</span>\r\n <span className=\"atlas-info-value\">\r\n {paymentData.userAddress.slice(0, 8)}...\r\n {paymentData.userAddress.slice(-6)}\r\n </span>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"atlas-merchant-info\">\r\n <div className=\"atlas-info-item\">\r\n <span className=\"atlas-info-label\">Merchant:</span>\r\n <span className=\"atlas-info-value\">\r\n {merchantPaymentAddress.slice(0, 8)}...\r\n {merchantPaymentAddress.slice(-6)}\r\n </span>\r\n </div>\r\n </div>\r\n\r\n {/* Amount Display */}\r\n <div className=\"atlas-amount-display-section\">\r\n <div className=\"atlas-amount-main\">\r\n <span className=\"atlas-amount-label\">Amount to Pay:</span>\r\n <span className=\"atlas-amount-value\">\r\n {amount} <span className=\"atlas-amount-token\">USDC</span>\r\n </span>\r\n </div>\r\n </div>\r\n\r\n {/* Popup Status Display */}\r\n {status.status === \"popup_open\" && (\r\n <div className=\"atlas-popup-status\">\r\n <div className=\"atlas-popup-icon\">🪟</div>\r\n <div className=\"atlas-popup-content\">\r\n <h4>Complete Payment in Popup</h4>\r\n <p>A new window has opened to complete your payment.</p>\r\n <p className=\"atlas-popup-hint\">\r\n If you don't see the popup, please check your browser settings\r\n or allow popups for this site.\r\n </p>\r\n <div className=\"atlas-popup-actions\">\r\n <button\r\n type=\"button\"\r\n onClick={closePopup}\r\n className=\"atlas-secondary-button\"\r\n >\r\n Cancel Payment\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n // Try to focus the popup\r\n if (window.open(\"\", \"Atlascard Payment\")) {\r\n window.focus();\r\n }\r\n }}\r\n className=\"atlas-tertiary-button\"\r\n >\r\n Show Popup\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n\r\n <div className=\"atlas-form-actions\">\r\n {status.status === \"ready\" && (\r\n <button\r\n type=\"submit\"\r\n className=\"atlas-pay-button\"\r\n disabled={\r\n !paymentData.isValid || parseFloat(amount) <= 0 || disabled\r\n }\r\n >\r\n {buttonText}\r\n </button>\r\n )}\r\n\r\n {status.status !== \"ready\" &&\r\n status.status !== \"idle\" &&\r\n status.status !== \"popup_open\" && (\r\n <div className=\"atlas-status-wrapper\">\r\n <AtlasPaymentStatus status={status} />\r\n\r\n {status.status === \"success\" && (\r\n <button\r\n type=\"button\"\r\n onClick={handleReset}\r\n className=\"atlas-secondary-button\"\r\n >\r\n Make Another Payment\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </form>\r\n </div>\r\n );\r\n};\r\n","const AtlasIcon = () => {\r\n return (\r\n <>\r\n <svg\r\n width=\"40\"\r\n height=\"40\"\r\n viewBox=\"0 0 40 40\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M2.95703 21.4442C2.72371 20.0639 2.75066 20.0321 3.3877 20.8817C3.75566 21.3763 4.4245 22.1637 4.86426 22.6268C5.3087 23.09 6.68217 23.9215 7.91602 24.4745C9.14997 25.0229 11.2674 25.7423 12.627 26.075C14.009 26.4078 17.3615 26.6555 20.2559 26.6375C23.572 26.6151 26.4573 26.3265 28.333 25.8319C29.9348 25.4093 31.8552 24.7578 32.5957 24.3846C33.3361 24.0069 34.5035 23.1704 35.1855 22.5184C35.8675 21.8665 36.4234 21.0796 36.4189 20.7694C36.4145 20.4593 36.6117 20.3113 36.8584 20.4325C37.1052 20.5584 37.2227 21.0125 37.124 21.4442C37.0208 21.876 36.8008 23.0406 36.3252 25.828L37.3252 24.9286C37.8771 24.434 38.703 23.2195 39.1562 22.2303C39.9773 20.4411 39.9821 20.4368 40 21.7811C40.009 22.523 39.6184 24.4474 39.1338 26.0526C38.6357 27.6892 37.4018 30.1537 36.3203 31.66C35.2567 33.1348 33.179 35.2212 31.6982 36.2957C30.1501 37.4198 27.7625 38.6246 26.0889 39.1327C24.3299 39.6632 21.8797 40.0043 19.9189 39.9998C17.8863 39.9953 15.6563 39.6537 13.9736 39.0916C12.4928 38.597 10.4735 37.6887 9.48633 37.0682C8.4991 36.4522 6.7802 35.0358 5.67188 33.9207C4.55907 32.8056 2.94764 30.4369 2.07715 28.6385C1.13932 26.6961 0.403864 24.3801 0 20.4325L0.866211 22.2303C1.34186 23.2195 2.18963 24.4341 3.76465 25.828L3.48242 24.3661C3.32987 23.5613 3.09164 22.2489 2.95703 21.4442ZM6.18652 27.0584C5.79164 26.8786 5.43257 26.9008 5.3877 27.1122C5.34286 27.3235 5.87657 28.3085 6.58105 29.2977C7.28115 30.2869 8.75343 31.86 9.84375 32.7997C10.9387 33.7349 12.8946 34.9 14.1914 35.3856C15.4882 35.8712 17.6065 36.3968 18.9033 36.5497C20.2809 36.716 22.2826 36.5992 23.7275 36.2664C25.0827 35.9517 26.9536 35.3174 27.8779 34.8543C28.8022 34.3957 30.3006 33.3622 31.207 32.5575C32.1134 31.7527 33.4331 30.2869 34.1377 29.2977C34.8416 28.3093 35.411 27.3968 35.3984 27.2743C35.3895 27.1529 33.6173 27.6293 31.459 28.3397C28.5468 29.3019 26.33 29.6975 22.8301 29.8729C20.0077 30.0123 16.6778 29.882 14.5283 29.5448C12.5539 29.23 10.0318 28.6186 8.91895 28.1825C7.80647 27.7465 6.57736 27.2429 6.18652 27.0584ZM19.8066 0.000823975C21.4085 -0.0171596 23.8317 0.257193 25.1914 0.603363C26.5466 0.954077 28.4679 1.69562 29.4551 2.25766C30.4423 2.81972 32.143 4.00237 33.2334 4.88364C34.3238 5.76942 35.8945 7.50556 36.7246 8.74203C37.5502 9.97862 38.6314 12.3079 39.125 13.9129C39.6141 15.5225 40.009 17.4426 40 18.1844C39.9821 19.5285 39.9774 19.5236 39.1562 17.7342C38.703 16.7451 37.8683 15.5313 36.2754 14.1375L36.5361 15.2616C36.6797 15.8821 36.9307 17.1951 37.3838 19.9823L36.2979 18.6336C35.701 17.8917 34.5252 16.8488 33.6816 16.3182C32.838 15.7876 31.1868 15.0273 30.0156 14.6317C28.8444 14.236 26.1163 13.7011 23.958 13.4403C21.2073 13.1075 18.8912 13.1075 16.2168 13.4403C14.1167 13.7011 11.0882 14.3582 9.48633 14.9022C7.87987 15.4462 5.91455 16.4578 5.11133 17.1502C4.30844 17.8424 3.65289 18.7139 3.65234 19.0829C3.65234 19.456 3.45083 19.6588 3.2041 19.5331C2.9573 19.4116 2.83624 18.953 2.93945 18.5213C3.04266 18.0897 3.25813 16.9251 3.71582 14.1375L2.55762 15.2616C1.92046 15.8821 1.09031 17.195 0.0224609 19.9823L0.250977 17.285C0.403546 15.4595 0.987496 13.5347 2.06445 11.327C3.04266 9.32176 4.5636 7.15914 6.02637 5.70688C7.33666 4.40744 9.40542 2.84709 10.626 2.24008C11.851 1.63308 13.7582 0.887039 14.8711 0.585785C15.9794 0.284556 18.2002 0.0188488 19.8066 0.000823975ZM21.2588 3.17368C19.6613 3.07031 17.5659 3.28152 16.0986 3.69516C14.7435 4.07733 12.9267 4.81969 12.0605 5.33676C11.1946 5.8583 9.71813 7.00901 8.78027 7.89926C7.83794 8.78503 6.67488 10.1696 6.19922 10.9745C5.71949 11.7786 5.37934 12.529 5.44141 12.6424C5.50423 12.7548 6.76528 12.3686 8.24609 11.784C9.72697 11.195 12.554 10.4663 14.5283 10.1561C16.6957 9.8189 19.9852 9.69815 22.8301 9.84653C26.2716 10.0309 28.5962 10.4445 31.459 11.3797C33.6152 12.0849 35.3861 12.5565 35.3984 12.4364C35.4119 12.315 34.847 11.402 34.1426 10.4129C33.4426 9.42374 31.9703 7.84974 30.8799 6.91C29.7851 5.97486 27.7751 4.78789 26.4199 4.27524C25.0647 3.76266 22.7396 3.2681 21.2588 3.17368Z\"\r\n fill=\"#E4A300\"\r\n />\r\n </svg>\r\n </>\r\n );\r\n};\r\n\r\nexport default AtlasIcon;\r\n","// AtlasPaymentButton.tsx\r\nimport React, { useState } from \"react\";\r\nimport { AtlasPaymentForm } from \"./AtlasPaymentForm\";\r\nimport type { PaymentType } from \"../types\";\r\nimport AtlasIcon from \"@/assets/Icon\";\r\n\r\ninterface AtlasPaymentButtonProps {\r\n authKey: string; // Auth key passed directly\r\n merchantPaymentAddress: string;\r\n onSuccess?: (receipt: any) => void;\r\n onError?: (error: Error) => void;\r\n className?: string;\r\n buttonText?: string;\r\n amount?: string;\r\n paymentType?: PaymentType;\r\n disabled?: boolean;\r\n chainId?: number;\r\n}\r\n\r\nexport const AtlasPaymentButton: React.FC<AtlasPaymentButtonProps> = ({\r\n authKey,\r\n merchantPaymentAddress,\r\n onSuccess,\r\n onError,\r\n className = \"\",\r\n buttonText = \"Pay Now\",\r\n amount = \"0\",\r\n paymentType = \"one_time_payment\",\r\n disabled = false,\r\n // chainId = 8453,\r\n}) => {\r\n const [showModal, setShowModal] = useState(false);\r\n\r\n const handleSuccess = (receipt: any) => {\r\n onSuccess?.(receipt);\r\n setTimeout(() => setShowModal(false), 2000);\r\n };\r\n\r\n const handleError = (error: Error) => {\r\n onError?.(error);\r\n };\r\n\r\n const handleButtonClick = () => {\r\n if (!authKey) {\r\n alert(\"Payment configuration error: No auth key provided\");\r\n return;\r\n }\r\n setShowModal(true);\r\n };\r\n\r\n return (\r\n <>\r\n <button\r\n className={`atlas-payment-button ${className}`}\r\n onClick={handleButtonClick}\r\n disabled={disabled || !authKey}\r\n >\r\n {buttonText}\r\n </button>\r\n\r\n {showModal && (\r\n <div\r\n className=\"atlas-modal-overlay\"\r\n onClick={() => setShowModal(false)}\r\n >\r\n <div className=\"atlas-modal\" onClick={(e) => e.stopPropagation()}>\r\n <div className=\"atlas-modal-header\">\r\n <div className=\"atlas-modal-header2\">\r\n <AtlasIcon />\r\n <h3>Pay with Atlas</h3>\r\n </div>\r\n <button\r\n className=\"atlas-modal-close\"\r\n onClick={() => setShowModal(false)}\r\n >\r\n ×\r\n </button>\r\n </div>\r\n <div className=\"atlas-modal-body\">\r\n <AtlasPaymentForm\r\n authKey={authKey}\r\n merchantPaymentAddress={merchantPaymentAddress}\r\n amount={amount}\r\n paymentType={paymentType}\r\n onSuccess={handleSuccess}\r\n onError={handleError}\r\n buttonText={buttonText}\r\n disabled={disabled}\r\n // chainId={chainId}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </>\r\n );\r\n};\r\n"],"names":["REACT_ELEMENT_TYPE","REACT_FRAGMENT_TYPE","jsxProd","type","config","maybeKey","key","propName","reactJsxRuntime_production","getComponentNameFromType","REACT_CLIENT_REFERENCE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","REACT_FORWARD_REF_TYPE","innerType","REACT_MEMO_TYPE","REACT_LAZY_TYPE","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","getTaskName","name","getOwner","dispatcher","ReactSharedInternals","UnknownOwner","hasValidKey","hasOwnProperty","getter","defineKeyPropWarningGetter","props","displayName","warnAboutAccessingKey","specialPropKeyWarningShown","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","ReactElement","self","source","owner","debugStack","debugTask","jsxDEVImpl","isStaticChildren","children","isArrayImpl","validateChildKeys","keys","k","didWarnAboutKeySpread","node","React","require$$0","createTask","callStackForError","unknownOwnerDebugStack","unknownOwnerDebugTask","reactJsxRuntime_development","trackActualOwner","jsxRuntimeModule","require$$1","useAtlasPayment","authKey","paymentType","status","setStatus","useState","paymentData","setPaymentData","popupRef","useRef","paymentPromiseRef","useEffect","prev","validationData","credentialsResponse","credentialsData","updatedPaymentData","error","handleMessage","event","data","_a","checkPopup","openPaymentPopup","useCallback","merchantAddress","amount","url","popup","resolve","reject","AtlasPaymentStatus","getStatusIcon","jsx","getStatusColor","jsxs","AtlasPaymentForm","merchantPaymentAddress","onSuccess","onError","className","buttonText","disabled","processPayment","closePopup","reset","handleSubmit","e","receipt","handleReset","getPaymentTypeLabel","AtlasIcon","Fragment","AtlasPaymentButton","showModal","setShowModal","handleSuccess","handleError","handleButtonClick"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../node_modules/react/cjs/react-jsx-runtime.production.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../src/hooks/useAtlasPayment.ts","../src/components/AtlasPaymentStatus.tsx","../src/components/AtlasPaymentForm.tsx","../src/assets/Icon.tsx","../src/components/AtlasPaymentButton.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%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://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(\n type,\n key,\n self,\n source,\n owner,\n props,\n debugStack,\n debugTask\n ) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n self,\n source,\n getOwner(),\n maybeKey,\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_ELEMENT_TYPE &&\n node._store &&\n (node._store.validated = 1);\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","// hooks/useAtlasPayment.ts\r\nimport { useState, useEffect, useCallback, useRef } from \"react\";\r\nimport type {\r\n PaymentType,\r\n ValidationResponse,\r\n DecryptedCredentials,\r\n} from \"../types\";\r\n\r\ninterface PaymentStatus {\r\n status:\r\n | \"idle\"\r\n | \"loading\"\r\n | \"validating\"\r\n | \"ready\"\r\n | \"popup_open\"\r\n | \"processing\"\r\n | \"success\"\r\n | \"error\";\r\n message: string;\r\n transactionHash?: string;\r\n error?: string;\r\n}\r\n\r\ninterface PaymentData {\r\n cardId?: string;\r\n businessAddress?: string;\r\n userAddress?: string;\r\n identifier?: string;\r\n credentials?: DecryptedCredentials;\r\n isValid: boolean;\r\n isLoading: boolean;\r\n}\r\n\r\ninterface PopupMessage {\r\n type: \"payment_result\" | \"payment_error\" | \"close_popup\";\r\n status?: \"success\" | \"failed\";\r\n transactionHash?: string;\r\n amount?: string;\r\n merchant?: string;\r\n paymentType?: string;\r\n error?: string;\r\n}\r\n\r\nexport const useAtlasPayment = (authKey: string, paymentType: PaymentType) => {\r\n const [status, setStatus] = useState<PaymentStatus>({\r\n status: \"idle\",\r\n message: \"Ready to pay\",\r\n });\r\n const [paymentData, setPaymentData] = useState<PaymentData>({\r\n isValid: false,\r\n isLoading: true,\r\n });\r\n const popupRef = useRef<Window | null>(null);\r\n const paymentPromiseRef = useRef<{\r\n resolve: (value: any) => void;\r\n reject: (reason?: any) => void;\r\n } | null>(null);\r\n\r\n // Automatically validate and fetch credentials when authKey or paymentType changes\r\n useEffect(() => {\r\n const initializePayment = async () => {\r\n if (!authKey) {\r\n setPaymentData({\r\n isValid: false,\r\n isLoading: false,\r\n });\r\n setStatus({\r\n status: \"error\",\r\n message: \"No auth key provided\",\r\n });\r\n return;\r\n }\r\n\r\n setPaymentData((prev) => ({ ...prev, isLoading: true }));\r\n setStatus({\r\n status: \"loading\",\r\n message: \"Loading payment information...\",\r\n });\r\n\r\n try {\r\n // Step 1: Validate auth key\r\n const validationResponse = await fetch(\r\n \"https://api.atlascard.xyz/api/auth/external/validate\",\r\n {\r\n method: \"POST\",\r\n headers: { \"Content-Type\": \"application/json\" },\r\n body: JSON.stringify({\r\n key: authKey,\r\n required_scopes: [paymentType],\r\n }),\r\n }\r\n );\r\n\r\n const validationData: ValidationResponse =\r\n await validationResponse.json();\r\n\r\n if (!validationData.valid) {\r\n setStatus({\r\n status: \"error\",\r\n message: \"Failed to initialize payment\",\r\n error: validationData.error || \"Invalid Auth Key\",\r\n });\r\n }\r\n\r\n // Step 2: Get credentials\r\n const credentialsResponse = await fetch(\r\n \"https://api.atlascard.xyz/api/credentials/get\",\r\n {\r\n method: \"POST\",\r\n headers: { \"Content-Type\": \"application/json\" },\r\n body: JSON.stringify({\r\n auth_key: authKey,\r\n required_scopes: [paymentType],\r\n }),\r\n }\r\n );\r\n\r\n if (!credentialsResponse.ok) {\r\n throw new Error(\"Failed to fetch credentials\");\r\n }\r\n\r\n const credentialsData: DecryptedCredentials =\r\n await credentialsResponse.json();\r\n\r\n const updatedPaymentData = {\r\n cardId: validationData.cardId,\r\n businessAddress: validationData.businessAddress,\r\n userAddress: credentialsData.address,\r\n identifier: credentialsData.identifier,\r\n credentials: credentialsData,\r\n isValid: true,\r\n isLoading: false,\r\n };\r\n\r\n setPaymentData(updatedPaymentData);\r\n setStatus({\r\n status: \"ready\",\r\n message: \"Ready to process payment\",\r\n });\r\n } catch (error) {\r\n console.error(\"Payment initialization error:\", error);\r\n const errorData = {\r\n isValid: false,\r\n isLoading: false,\r\n };\r\n setPaymentData(errorData);\r\n setStatus({\r\n status: \"error\",\r\n message: \"Failed to initialize payment\",\r\n error: error instanceof Error ? error.message : \"Unknown error\",\r\n });\r\n }\r\n };\r\n\r\n initializePayment();\r\n }, [authKey, paymentType]);\r\n\r\n // Listen for messages from popup\r\n useEffect(() => {\r\n const handleMessage = (event: MessageEvent) => {\r\n // Security: Only accept messages from Atlascard.xyz\r\n if (event.origin !== \"https://atlascard.xyz\") return;\r\n\r\n const data: PopupMessage = event.data;\r\n\r\n switch (data.type) {\r\n case \"payment_result\":\r\n if (data.status === \"success\") {\r\n setStatus({\r\n status: \"success\",\r\n message: \"Payment successful!\",\r\n transactionHash: data.transactionHash,\r\n });\r\n\r\n // Resolve the promise\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.resolve({\r\n success: true,\r\n transactionHash: data.transactionHash,\r\n amount: data.amount,\r\n merchant: data.merchant,\r\n type: data.paymentType,\r\n paymentData,\r\n });\r\n paymentPromiseRef.current = null;\r\n }\r\n\r\n // Close the popup\r\n if (popupRef.current) {\r\n setTimeout(() => {\r\n popupRef.current?.close();\r\n popupRef.current = null;\r\n }, 3000); // Give user time to see success message\r\n }\r\n } else {\r\n setStatus({\r\n status: \"error\",\r\n message: data.error || \"Payment failed\",\r\n error: data.error,\r\n });\r\n\r\n // Reject the promise\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(\r\n new Error(data.error || \"Payment failed\")\r\n );\r\n paymentPromiseRef.current = null;\r\n }\r\n\r\n // Close the popup after a delay\r\n if (popupRef.current) {\r\n setTimeout(() => {\r\n popupRef.current?.close();\r\n popupRef.current = null;\r\n }, 3000);\r\n }\r\n }\r\n break;\r\n\r\n case \"payment_error\":\r\n setStatus({\r\n status: \"error\",\r\n message: data.error || \"Payment failed\",\r\n error: data.error,\r\n });\r\n\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(\r\n new Error(data.error || \"Payment failed\")\r\n );\r\n paymentPromiseRef.current = null;\r\n }\r\n\r\n if (popupRef.current) {\r\n popupRef.current.close();\r\n popupRef.current = null;\r\n }\r\n break;\r\n\r\n case \"close_popup\":\r\n if (popupRef.current) {\r\n popupRef.current.close();\r\n popupRef.current = null;\r\n }\r\n\r\n // If still in popup_open status, user closed manually\r\n if (status.status === \"popup_open\") {\r\n setStatus({\r\n status: \"ready\",\r\n message: \"Payment cancelled\",\r\n });\r\n\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(\r\n new Error(\"Payment cancelled by user\")\r\n );\r\n paymentPromiseRef.current = null;\r\n }\r\n }\r\n break;\r\n }\r\n };\r\n\r\n window.addEventListener(\"message\", handleMessage);\r\n return () => window.removeEventListener(\"message\", handleMessage);\r\n }, [paymentData, status.status]);\r\n\r\n // Check if popup was closed by user\r\n useEffect(() => {\r\n if (!popupRef.current) return;\r\n\r\n const checkPopup = setInterval(() => {\r\n if (popupRef.current?.closed) {\r\n clearInterval(checkPopup);\r\n\r\n // If still in popup_open status, user closed manually\r\n if (status.status === \"popup_open\") {\r\n setStatus({\r\n status: \"ready\",\r\n message: \"Payment cancelled\",\r\n });\r\n\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(\r\n new Error(\"Payment cancelled by user\")\r\n );\r\n paymentPromiseRef.current = null;\r\n }\r\n }\r\n\r\n popupRef.current = null;\r\n }\r\n }, 500);\r\n\r\n return () => clearInterval(checkPopup);\r\n }, [status.status]);\r\n\r\n const openPaymentPopup = useCallback(\r\n async (merchantAddress: string, amount: string) => {\r\n if (!paymentData.isValid || !paymentData.credentials) {\r\n throw new Error(\"Payment data not validated\");\r\n }\r\n\r\n // Close any existing popup\r\n if (popupRef.current) {\r\n popupRef.current.close();\r\n popupRef.current = null;\r\n }\r\n\r\n // Build popup URL with all necessary parameters\r\n const params = new URLSearchParams({\r\n merchantAddress: merchantAddress,\r\n amount: amount,\r\n eoaAddress: paymentData.credentials.address,\r\n credentials: encodeURIComponent(\r\n JSON.stringify(paymentData.credentials)\r\n ),\r\n paymentType: paymentType,\r\n origin: window.location.origin,\r\n });\r\n\r\n const url = `https://atlascard.xyz/pay?${params.toString()}`;\r\n\r\n // Open popup window\r\n const popup = window.open(\r\n url,\r\n \"Atlascard Payment\",\r\n \"width=500,height=700,scrollbars=no,resizable=no,menubar=no,toolbar=no,location=no,status=no\"\r\n );\r\n\r\n if (!popup) {\r\n const error = \"Please allow popups to complete the payment\";\r\n setStatus({\r\n status: \"error\",\r\n message: error,\r\n error: error,\r\n });\r\n throw new Error(error);\r\n }\r\n\r\n popupRef.current = popup;\r\n setStatus({\r\n status: \"popup_open\",\r\n message: \"Complete payment in the popup window\",\r\n });\r\n },\r\n [paymentData, paymentType]\r\n );\r\n\r\n const processPayment = async (merchantAddress: string, amount: string) => {\r\n if (!paymentData.isValid) {\r\n throw new Error(\"Payment data not validated\");\r\n }\r\n\r\n // Create promise to handle payment result\r\n return new Promise((resolve, reject) => {\r\n paymentPromiseRef.current = { resolve, reject };\r\n\r\n // Open popup\r\n openPaymentPopup(merchantAddress, amount).catch(reject);\r\n });\r\n };\r\n\r\n const closePopup = () => {\r\n if (popupRef.current) {\r\n popupRef.current.close();\r\n popupRef.current = null;\r\n }\r\n\r\n if (status.status === \"popup_open\") {\r\n setStatus({\r\n status: \"ready\",\r\n message: \"Payment cancelled\",\r\n });\r\n }\r\n\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(new Error(\"Payment cancelled\"));\r\n paymentPromiseRef.current = null;\r\n }\r\n };\r\n\r\n const reset = () => {\r\n setStatus({ status: \"idle\", message: \"Ready to pay\" });\r\n setPaymentData({\r\n isValid: false,\r\n isLoading: true,\r\n });\r\n\r\n if (popupRef.current) {\r\n popupRef.current.close();\r\n popupRef.current = null;\r\n }\r\n\r\n if (paymentPromiseRef.current) {\r\n paymentPromiseRef.current.reject(new Error(\"Payment reset\"));\r\n paymentPromiseRef.current = null;\r\n }\r\n };\r\n\r\n return {\r\n processPayment,\r\n status,\r\n paymentData,\r\n closePopup,\r\n reset,\r\n };\r\n};\r\n","import React from \"react\";\r\n\r\ninterface PaymentStatus {\r\n status:\r\n | \"idle\"\r\n | \"loading\"\r\n | \"validating\"\r\n | \"ready\"\r\n | \"popup_open\"\r\n | \"processing\"\r\n | \"success\"\r\n | \"error\";\r\n message: string;\r\n transactionHash?: string;\r\n error?: string;\r\n}\r\n\r\ninterface AtlasPaymentStatusProps {\r\n status: PaymentStatus;\r\n}\r\n\r\nexport const AtlasPaymentStatus: React.FC<AtlasPaymentStatusProps> = ({\r\n status,\r\n}) => {\r\n const getStatusIcon = () => {\r\n switch (status.status) {\r\n case \"processing\":\r\n return (\r\n <div className=\"atlas-spinner\">\r\n <div className=\"atlas-spinner-circle\"></div>\r\n </div>\r\n );\r\n case \"success\":\r\n return <div className=\"atlas-status-icon atlas-success\">✓</div>;\r\n case \"error\":\r\n return <div className=\"atlas-status-icon atlas-error\">✗</div>;\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const getStatusColor = () => {\r\n switch (status.status) {\r\n case \"processing\":\r\n return \"atlas-status-processing\";\r\n case \"success\":\r\n return \"atlas-status-success\";\r\n case \"error\":\r\n return \"atlas-status-error\";\r\n default:\r\n return \"\";\r\n }\r\n };\r\n\r\n if (status.status === \"idle\") return null;\r\n\r\n return (\r\n <div className={`atlas-payment-status ${getStatusColor()}`}>\r\n <div className=\"atlas-status-content\">\r\n {getStatusIcon()}\r\n <div className=\"atlas-status-text\">\r\n <p className=\"atlas-status-message\">{status.message}</p>\r\n {status.transactionHash && (\r\n <p className=\"atlas-transaction-hash\">\r\n Tx: {status.transactionHash.slice(0, 10)}...\r\n {status.transactionHash.slice(-8)}\r\n </p>\r\n )}\r\n {status.error && (\r\n <p className=\"atlas-error-message\">{status.error}</p>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport React, { useEffect } from \"react\";\r\nimport { useAtlasPayment } from \"../hooks/useAtlasPayment\";\r\nimport { AtlasPaymentStatus } from \"./AtlasPaymentStatus\";\r\nimport type { PaymentType } from \"../types\";\r\n\r\ninterface AtlasPaymentFormProps {\r\n authKey: string;\r\n merchantPaymentAddress: string;\r\n amount?: string;\r\n paymentType?: PaymentType;\r\n onSuccess?: (receipt: any) => void;\r\n onError?: (error: Error) => void;\r\n className?: string;\r\n buttonText?: string;\r\n disabled?: boolean;\r\n chainId?: number;\r\n}\r\n\r\nexport const AtlasPaymentForm: React.FC<AtlasPaymentFormProps> = ({\r\n authKey,\r\n merchantPaymentAddress,\r\n amount = \"0\",\r\n paymentType = \"one_time_payment\",\r\n onSuccess,\r\n onError,\r\n className = \"\",\r\n buttonText = \"PAY NOW\",\r\n disabled = false,\r\n}) => {\r\n const { processPayment, status, paymentData, closePopup, reset } =\r\n useAtlasPayment(authKey, paymentType);\r\n\r\n const handleSubmit = async (e: React.FormEvent) => {\r\n e.preventDefault();\r\n\r\n if (!paymentData?.isValid || parseFloat(amount) <= 0) {\r\n return;\r\n }\r\n\r\n try {\r\n const receipt = await processPayment(merchantPaymentAddress, amount);\r\n onSuccess?.(receipt);\r\n } catch (error) {\r\n onError?.(error as Error);\r\n }\r\n };\r\n\r\n const handleReset = () => {\r\n reset();\r\n };\r\n\r\n // Call onSuccess when payment is successful\r\n useEffect(() => {\r\n if (status.status === \"success\" && status.transactionHash) {\r\n onSuccess?.({\r\n success: true,\r\n transactionHash: status.transactionHash,\r\n amount,\r\n merchant: merchantPaymentAddress,\r\n type: paymentType,\r\n paymentData,\r\n });\r\n }\r\n }, [status.status, status.transactionHash]);\r\n\r\n // Call onError when payment fails\r\n useEffect(() => {\r\n if (status.status === \"error\" && status.error) {\r\n onError?.(new Error(status.error));\r\n }\r\n }, [status.status, status.error]);\r\n\r\n const getPaymentTypeLabel = (type: PaymentType) => {\r\n return type === \"delegate\" ? \"Recurring Payment\" : \"One-time Payment\";\r\n };\r\n\r\n // Handle undefined paymentData gracefully\r\n if (!paymentData) {\r\n return (\r\n <div className={`atlas-container ${className}`}>\r\n <div className=\"atlas-loading\">\r\n <div className=\"atlas-spinner\"></div>\r\n <p>Initializing payment system...</p>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n // Show loading state while initializing\r\n if (paymentData.isLoading) {\r\n return (\r\n <div className={`atlas-container ${className}`}>\r\n <div className=\"atlas-loading\">\r\n <div className=\"atlas-spinner\"></div>\r\n <p>Loading payment information...</p>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n // Show error if initialization failed\r\n if (!paymentData.isValid && status.status === \"error\") {\r\n return (\r\n <div className={`atlas-container ${className}`}>\r\n <div className=\"atlas-error-state\">\r\n <div className=\"atlas-error-icon\">⚠️</div>\r\n <h3>Payment Setup Failed</h3>\r\n <p>{status.error || \"Unable to initialize payment\"}</p>\r\n <button onClick={reset} className=\"atlas-secondary-button\">\r\n Try Again\r\n </button>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div className={`atlas-container ${className}`}>\r\n <div className=\"atlas-header\">\r\n <div className=\"atlas-payment-type-badge\">\r\n {getPaymentTypeLabel(paymentType)}\r\n </div>\r\n <div className=\"atlas-total\">\r\n Pay <span>{amount} USDC</span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"atlas-divider\" />\r\n\r\n <form onSubmit={handleSubmit} className=\"atlas-form\">\r\n {/* Payment Information (fetched from APIs) */}\r\n <div className=\"atlas-validation-info\">\r\n <div className=\"atlas-info-section\">\r\n <h4>Payment Account</h4>\r\n <div className=\"atlas-info-grid\">\r\n <div className=\"atlas-info-item\">\r\n <span className=\"atlas-info-label\">Card ID:</span>\r\n <span className=\"atlas-info-value\">\r\n {paymentData.cardId || \"N/A\"}\r\n </span>\r\n </div>\r\n {paymentData.userAddress && (\r\n <div className=\"atlas-info-item\">\r\n <span className=\"atlas-info-label\">Payer Address:</span>\r\n <span className=\"atlas-info-value\">\r\n {paymentData.userAddress.slice(0, 8)}...\r\n {paymentData.userAddress.slice(-6)}\r\n </span>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"atlas-merchant-info\">\r\n <div className=\"atlas-info-item\">\r\n <span className=\"atlas-info-label\">Merchant:</span>\r\n <span className=\"atlas-info-value\">\r\n {merchantPaymentAddress.slice(0, 8)}...\r\n {merchantPaymentAddress.slice(-6)}\r\n </span>\r\n </div>\r\n </div>\r\n\r\n {/* Amount Display */}\r\n <div className=\"atlas-amount-display-section\">\r\n <div className=\"atlas-amount-main\">\r\n <span className=\"atlas-amount-label\">Amount to Pay:</span>\r\n <span className=\"atlas-amount-value\">\r\n {amount} <span className=\"atlas-amount-token\">USDC</span>\r\n </span>\r\n </div>\r\n </div>\r\n\r\n {/* Popup Status Display */}\r\n {status.status === \"popup_open\" && (\r\n <div className=\"atlas-popup-status\">\r\n <div className=\"atlas-popup-icon\">🪟</div>\r\n <div className=\"atlas-popup-content\">\r\n <h4>Complete Payment in Popup</h4>\r\n <p>A new window has opened to complete your payment.</p>\r\n <p className=\"atlas-popup-hint\">\r\n If you don't see the popup, please check your browser settings\r\n or allow popups for this site.\r\n </p>\r\n <div className=\"atlas-popup-actions\">\r\n <button\r\n type=\"button\"\r\n onClick={closePopup}\r\n className=\"atlas-secondary-button\"\r\n >\r\n Cancel Payment\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n // Try to focus the popup\r\n if (window.open(\"\", \"Atlascard Payment\")) {\r\n window.focus();\r\n }\r\n }}\r\n className=\"atlas-tertiary-button\"\r\n >\r\n Show Popup\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n\r\n <div className=\"atlas-form-actions\">\r\n {status.status === \"ready\" && (\r\n <button\r\n type=\"submit\"\r\n className=\"atlas-pay-button\"\r\n disabled={\r\n !paymentData.isValid || parseFloat(amount) <= 0 || disabled\r\n }\r\n >\r\n {buttonText}\r\n </button>\r\n )}\r\n\r\n {status.status !== \"ready\" &&\r\n status.status !== \"idle\" &&\r\n status.status !== \"popup_open\" && (\r\n <div className=\"atlas-status-wrapper\">\r\n <AtlasPaymentStatus status={status} />\r\n\r\n {status.status === \"success\" && (\r\n <button\r\n type=\"button\"\r\n onClick={handleReset}\r\n className=\"atlas-secondary-button\"\r\n >\r\n Make Another Payment\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </form>\r\n </div>\r\n );\r\n};\r\n","const AtlasIcon = () => {\r\n return (\r\n <>\r\n <svg\r\n width=\"40\"\r\n height=\"40\"\r\n viewBox=\"0 0 40 40\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M2.95703 21.4442C2.72371 20.0639 2.75066 20.0321 3.3877 20.8817C3.75566 21.3763 4.4245 22.1637 4.86426 22.6268C5.3087 23.09 6.68217 23.9215 7.91602 24.4745C9.14997 25.0229 11.2674 25.7423 12.627 26.075C14.009 26.4078 17.3615 26.6555 20.2559 26.6375C23.572 26.6151 26.4573 26.3265 28.333 25.8319C29.9348 25.4093 31.8552 24.7578 32.5957 24.3846C33.3361 24.0069 34.5035 23.1704 35.1855 22.5184C35.8675 21.8665 36.4234 21.0796 36.4189 20.7694C36.4145 20.4593 36.6117 20.3113 36.8584 20.4325C37.1052 20.5584 37.2227 21.0125 37.124 21.4442C37.0208 21.876 36.8008 23.0406 36.3252 25.828L37.3252 24.9286C37.8771 24.434 38.703 23.2195 39.1562 22.2303C39.9773 20.4411 39.9821 20.4368 40 21.7811C40.009 22.523 39.6184 24.4474 39.1338 26.0526C38.6357 27.6892 37.4018 30.1537 36.3203 31.66C35.2567 33.1348 33.179 35.2212 31.6982 36.2957C30.1501 37.4198 27.7625 38.6246 26.0889 39.1327C24.3299 39.6632 21.8797 40.0043 19.9189 39.9998C17.8863 39.9953 15.6563 39.6537 13.9736 39.0916C12.4928 38.597 10.4735 37.6887 9.48633 37.0682C8.4991 36.4522 6.7802 35.0358 5.67188 33.9207C4.55907 32.8056 2.94764 30.4369 2.07715 28.6385C1.13932 26.6961 0.403864 24.3801 0 20.4325L0.866211 22.2303C1.34186 23.2195 2.18963 24.4341 3.76465 25.828L3.48242 24.3661C3.32987 23.5613 3.09164 22.2489 2.95703 21.4442ZM6.18652 27.0584C5.79164 26.8786 5.43257 26.9008 5.3877 27.1122C5.34286 27.3235 5.87657 28.3085 6.58105 29.2977C7.28115 30.2869 8.75343 31.86 9.84375 32.7997C10.9387 33.7349 12.8946 34.9 14.1914 35.3856C15.4882 35.8712 17.6065 36.3968 18.9033 36.5497C20.2809 36.716 22.2826 36.5992 23.7275 36.2664C25.0827 35.9517 26.9536 35.3174 27.8779 34.8543C28.8022 34.3957 30.3006 33.3622 31.207 32.5575C32.1134 31.7527 33.4331 30.2869 34.1377 29.2977C34.8416 28.3093 35.411 27.3968 35.3984 27.2743C35.3895 27.1529 33.6173 27.6293 31.459 28.3397C28.5468 29.3019 26.33 29.6975 22.8301 29.8729C20.0077 30.0123 16.6778 29.882 14.5283 29.5448C12.5539 29.23 10.0318 28.6186 8.91895 28.1825C7.80647 27.7465 6.57736 27.2429 6.18652 27.0584ZM19.8066 0.000823975C21.4085 -0.0171596 23.8317 0.257193 25.1914 0.603363C26.5466 0.954077 28.4679 1.69562 29.4551 2.25766C30.4423 2.81972 32.143 4.00237 33.2334 4.88364C34.3238 5.76942 35.8945 7.50556 36.7246 8.74203C37.5502 9.97862 38.6314 12.3079 39.125 13.9129C39.6141 15.5225 40.009 17.4426 40 18.1844C39.9821 19.5285 39.9774 19.5236 39.1562 17.7342C38.703 16.7451 37.8683 15.5313 36.2754 14.1375L36.5361 15.2616C36.6797 15.8821 36.9307 17.1951 37.3838 19.9823L36.2979 18.6336C35.701 17.8917 34.5252 16.8488 33.6816 16.3182C32.838 15.7876 31.1868 15.0273 30.0156 14.6317C28.8444 14.236 26.1163 13.7011 23.958 13.4403C21.2073 13.1075 18.8912 13.1075 16.2168 13.4403C14.1167 13.7011 11.0882 14.3582 9.48633 14.9022C7.87987 15.4462 5.91455 16.4578 5.11133 17.1502C4.30844 17.8424 3.65289 18.7139 3.65234 19.0829C3.65234 19.456 3.45083 19.6588 3.2041 19.5331C2.9573 19.4116 2.83624 18.953 2.93945 18.5213C3.04266 18.0897 3.25813 16.9251 3.71582 14.1375L2.55762 15.2616C1.92046 15.8821 1.09031 17.195 0.0224609 19.9823L0.250977 17.285C0.403546 15.4595 0.987496 13.5347 2.06445 11.327C3.04266 9.32176 4.5636 7.15914 6.02637 5.70688C7.33666 4.40744 9.40542 2.84709 10.626 2.24008C11.851 1.63308 13.7582 0.887039 14.8711 0.585785C15.9794 0.284556 18.2002 0.0188488 19.8066 0.000823975ZM21.2588 3.17368C19.6613 3.07031 17.5659 3.28152 16.0986 3.69516C14.7435 4.07733 12.9267 4.81969 12.0605 5.33676C11.1946 5.8583 9.71813 7.00901 8.78027 7.89926C7.83794 8.78503 6.67488 10.1696 6.19922 10.9745C5.71949 11.7786 5.37934 12.529 5.44141 12.6424C5.50423 12.7548 6.76528 12.3686 8.24609 11.784C9.72697 11.195 12.554 10.4663 14.5283 10.1561C16.6957 9.8189 19.9852 9.69815 22.8301 9.84653C26.2716 10.0309 28.5962 10.4445 31.459 11.3797C33.6152 12.0849 35.3861 12.5565 35.3984 12.4364C35.4119 12.315 34.847 11.402 34.1426 10.4129C33.4426 9.42374 31.9703 7.84974 30.8799 6.91C29.7851 5.97486 27.7751 4.78789 26.4199 4.27524C25.0647 3.76266 22.7396 3.2681 21.2588 3.17368Z\"\r\n fill=\"#E4A300\"\r\n />\r\n </svg>\r\n </>\r\n );\r\n};\r\n\r\nexport default AtlasIcon;\r\n","// AtlasPaymentButton.tsx\r\nimport React, { useState } from \"react\";\r\nimport { AtlasPaymentForm } from \"./AtlasPaymentForm\";\r\nimport type { PaymentType } from \"../types\";\r\nimport AtlasIcon from \"@/assets/Icon\";\r\n\r\ninterface AtlasPaymentButtonProps {\r\n authKey: string; // Auth key passed directly\r\n merchantPaymentAddress: string;\r\n onSuccess?: (receipt: any) => void;\r\n onError?: (error: Error) => void;\r\n className?: string;\r\n buttonText?: string;\r\n amount?: string;\r\n paymentType?: PaymentType;\r\n disabled?: boolean;\r\n chainId?: number;\r\n}\r\n\r\nexport const AtlasPaymentButton: React.FC<AtlasPaymentButtonProps> = ({\r\n authKey,\r\n merchantPaymentAddress,\r\n onSuccess,\r\n onError,\r\n className = \"\",\r\n buttonText = \"Pay Now\",\r\n amount = \"0\",\r\n paymentType = \"one_time_payment\",\r\n disabled = false,\r\n // chainId = 8453,\r\n}) => {\r\n const [showModal, setShowModal] = useState(false);\r\n\r\n const handleSuccess = (receipt: any) => {\r\n onSuccess?.(receipt);\r\n setTimeout(() => setShowModal(false), 2000);\r\n };\r\n\r\n const handleError = (error: Error) => {\r\n onError?.(error);\r\n };\r\n\r\n const handleButtonClick = () => {\r\n if (!authKey) {\r\n alert(\"Payment configuration error: No auth key provided\");\r\n return;\r\n }\r\n setShowModal(true);\r\n };\r\n\r\n return (\r\n <>\r\n <button\r\n className={`atlas-payment-button ${className}`}\r\n onClick={handleButtonClick}\r\n disabled={disabled || !authKey}\r\n >\r\n {buttonText}\r\n </button>\r\n\r\n {showModal && (\r\n <div\r\n className=\"atlas-modal-overlay\"\r\n onClick={() => setShowModal(false)}\r\n >\r\n <div className=\"atlas-modal\" onClick={(e) => e.stopPropagation()}>\r\n <div className=\"atlas-modal-header\">\r\n <div className=\"atlas-modal-header2\">\r\n <AtlasIcon />\r\n <h3>Pay with Atlas</h3>\r\n </div>\r\n <button\r\n className=\"atlas-modal-close\"\r\n onClick={() => setShowModal(false)}\r\n >\r\n ×\r\n </button>\r\n </div>\r\n <div className=\"atlas-modal-body\">\r\n <AtlasPaymentForm\r\n authKey={authKey}\r\n merchantPaymentAddress={merchantPaymentAddress}\r\n amount={amount}\r\n paymentType={paymentType}\r\n onSuccess={handleSuccess}\r\n onError={handleError}\r\n buttonText={buttonText}\r\n disabled={disabled}\r\n // chainId={chainId}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </>\r\n );\r\n};\r\n"],"names":["REACT_ELEMENT_TYPE","REACT_FRAGMENT_TYPE","jsxProd","type","config","maybeKey","key","propName","reactJsxRuntime_production","getComponentNameFromType","REACT_CLIENT_REFERENCE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","REACT_FORWARD_REF_TYPE","innerType","REACT_MEMO_TYPE","REACT_LAZY_TYPE","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","getTaskName","name","getOwner","dispatcher","ReactSharedInternals","UnknownOwner","hasValidKey","hasOwnProperty","getter","defineKeyPropWarningGetter","props","displayName","warnAboutAccessingKey","specialPropKeyWarningShown","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","ReactElement","self","source","owner","debugStack","debugTask","jsxDEVImpl","isStaticChildren","children","isArrayImpl","validateChildKeys","keys","k","didWarnAboutKeySpread","node","React","require$$0","createTask","callStackForError","unknownOwnerDebugStack","unknownOwnerDebugTask","reactJsxRuntime_development","trackActualOwner","jsxRuntimeModule","require$$1","useAtlasPayment","authKey","paymentType","status","setStatus","useState","paymentData","setPaymentData","popupRef","useRef","paymentPromiseRef","useEffect","prev","validationData","credentialsResponse","credentialsData","updatedPaymentData","error","handleMessage","event","data","_a","checkPopup","openPaymentPopup","useCallback","merchantAddress","amount","url","popup","resolve","reject","AtlasPaymentStatus","getStatusIcon","jsx","getStatusColor","jsxs","AtlasPaymentForm","merchantPaymentAddress","onSuccess","onError","className","buttonText","disabled","processPayment","closePopup","reset","handleSubmit","e","receipt","handleReset","getPaymentTypeLabel","AtlasIcon","Fragment","AtlasPaymentButton","showModal","setShowModal","handleSuccess","handleError","handleButtonClick"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|