logix-pay 1.1.2 → 1.1.3
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.cjs.js +93 -27
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +93 -27
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -457,7 +457,8 @@ function StripePaymentForm(_ref) {
|
|
|
457
457
|
var amount = _ref.amount,
|
|
458
458
|
_ref$currency = _ref.currency,
|
|
459
459
|
currency = _ref$currency === void 0 ? "usd" : _ref$currency,
|
|
460
|
-
color = _ref.color,
|
|
460
|
+
_ref$color = _ref.color,
|
|
461
|
+
color = _ref$color === void 0 ? "#556cd6" : _ref$color,
|
|
461
462
|
_ref$formwidth = _ref.formwidth,
|
|
462
463
|
formwidth = _ref$formwidth === void 0 ? 400 : _ref$formwidth,
|
|
463
464
|
_ref$formborderRadius = _ref.formborderRadius,
|
|
@@ -474,7 +475,7 @@ function StripePaymentForm(_ref) {
|
|
|
474
475
|
var initializedRef = React.useRef(false);
|
|
475
476
|
var stripeRef = React.useRef(null);
|
|
476
477
|
var elementsRef = React.useRef(null);
|
|
477
|
-
var
|
|
478
|
+
var cardNumberRef = React.useRef(null);
|
|
478
479
|
var _useState = React.useState(false),
|
|
479
480
|
_useState2 = _slicedToArray(_useState, 2),
|
|
480
481
|
isSubmitting = _useState2[0],
|
|
@@ -483,6 +484,9 @@ function StripePaymentForm(_ref) {
|
|
|
483
484
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
484
485
|
isReady = _useState4[0],
|
|
485
486
|
setIsReady = _useState4[1];
|
|
487
|
+
|
|
488
|
+
/* ================= INITIALIZE STRIPE ================= */
|
|
489
|
+
|
|
486
490
|
React.useEffect(function () {
|
|
487
491
|
if (initializedRef.current) return;
|
|
488
492
|
initializedRef.current = true;
|
|
@@ -504,26 +508,40 @@ function StripePaymentForm(_ref) {
|
|
|
504
508
|
_yield$response$json = _context.v;
|
|
505
509
|
publicKeys = _yield$response$json.publicKeys;
|
|
506
510
|
if (!publicKeys) errorPage("Public key is empty");
|
|
511
|
+
|
|
512
|
+
/* Load Stripe script */
|
|
507
513
|
script = document.createElement("script");
|
|
508
514
|
script.src = "https://js.stripe.com/v3/";
|
|
509
515
|
script.async = true;
|
|
510
516
|
script.onload = function () {
|
|
511
|
-
if (!window.Stripe)
|
|
517
|
+
if (!window.Stripe) {
|
|
518
|
+
errorPage("Stripe failed to initialize.");
|
|
519
|
+
return;
|
|
520
|
+
}
|
|
512
521
|
stripeRef.current = window.Stripe(publicKeys);
|
|
513
522
|
elementsRef.current = stripeRef.current.elements();
|
|
514
|
-
var
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
"
|
|
520
|
-
color: "#aaa"
|
|
521
|
-
}
|
|
523
|
+
var style = {
|
|
524
|
+
base: {
|
|
525
|
+
fontSize: "15px",
|
|
526
|
+
color: "#111",
|
|
527
|
+
"::placeholder": {
|
|
528
|
+
color: "#aaa"
|
|
522
529
|
}
|
|
523
530
|
}
|
|
531
|
+
};
|
|
532
|
+
var cardNumber = elementsRef.current.create("cardNumber", {
|
|
533
|
+
style: style
|
|
524
534
|
});
|
|
525
|
-
|
|
526
|
-
|
|
535
|
+
var cardExpiry = elementsRef.current.create("cardExpiry", {
|
|
536
|
+
style: style
|
|
537
|
+
});
|
|
538
|
+
var cardCvc = elementsRef.current.create("cardCvc", {
|
|
539
|
+
style: style
|
|
540
|
+
});
|
|
541
|
+
cardNumber.mount("#stripe-card-number");
|
|
542
|
+
cardExpiry.mount("#stripe-card-expiry");
|
|
543
|
+
cardCvc.mount("#stripe-card-cvc");
|
|
544
|
+
cardNumberRef.current = cardNumber;
|
|
527
545
|
setIsReady(true);
|
|
528
546
|
};
|
|
529
547
|
script.onerror = function () {
|
|
@@ -547,6 +565,9 @@ function StripePaymentForm(_ref) {
|
|
|
547
565
|
}();
|
|
548
566
|
initStripe();
|
|
549
567
|
}, [baseUrl, userId, errorPage]);
|
|
568
|
+
|
|
569
|
+
/* ================= SUBMIT ================= */
|
|
570
|
+
|
|
550
571
|
var handleSubmit = /*#__PURE__*/function () {
|
|
551
572
|
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(e) {
|
|
552
573
|
var _yield$stripeRef$curr, error, paymentMethod, response, result, _t2;
|
|
@@ -554,7 +575,7 @@ function StripePaymentForm(_ref) {
|
|
|
554
575
|
while (1) switch (_context2.p = _context2.n) {
|
|
555
576
|
case 0:
|
|
556
577
|
e.preventDefault();
|
|
557
|
-
if (!(!isReady || !stripeRef.current || !
|
|
578
|
+
if (!(!isReady || !stripeRef.current || !cardNumberRef.current)) {
|
|
558
579
|
_context2.n = 1;
|
|
559
580
|
break;
|
|
560
581
|
}
|
|
@@ -572,7 +593,7 @@ function StripePaymentForm(_ref) {
|
|
|
572
593
|
_context2.n = 4;
|
|
573
594
|
return stripeRef.current.createPaymentMethod({
|
|
574
595
|
type: "card",
|
|
575
|
-
card:
|
|
596
|
+
card: cardNumberRef.current
|
|
576
597
|
});
|
|
577
598
|
case 4:
|
|
578
599
|
_yield$stripeRef$curr = _context2.v;
|
|
@@ -631,6 +652,9 @@ function StripePaymentForm(_ref) {
|
|
|
631
652
|
return _ref3.apply(this, arguments);
|
|
632
653
|
};
|
|
633
654
|
}();
|
|
655
|
+
|
|
656
|
+
/* ================= UI ================= */
|
|
657
|
+
|
|
634
658
|
return /*#__PURE__*/React.createElement("div", {
|
|
635
659
|
style: {
|
|
636
660
|
display: "flex",
|
|
@@ -641,43 +665,85 @@ function StripePaymentForm(_ref) {
|
|
|
641
665
|
onSubmit: handleSubmit,
|
|
642
666
|
style: {
|
|
643
667
|
display: "grid",
|
|
644
|
-
gap: "
|
|
668
|
+
gap: "14px",
|
|
645
669
|
padding: "20px",
|
|
646
670
|
backgroundColor: formbackgroundColor,
|
|
647
671
|
borderRadius: formborderRadius,
|
|
648
672
|
width: formwidth,
|
|
649
|
-
boxSizing: "border-box"
|
|
673
|
+
boxSizing: "border-box",
|
|
674
|
+
boxShadow: "0 2px 6px rgba(0,0,0,0.08)"
|
|
650
675
|
}
|
|
651
676
|
}, /*#__PURE__*/React.createElement("div", {
|
|
652
677
|
style: {
|
|
653
678
|
display: "grid",
|
|
654
|
-
gap: "
|
|
679
|
+
gap: "6px"
|
|
655
680
|
}
|
|
656
681
|
}, /*#__PURE__*/React.createElement("label", {
|
|
657
682
|
style: {
|
|
658
|
-
fontWeight:
|
|
683
|
+
fontWeight: 500,
|
|
659
684
|
color: "#555"
|
|
660
685
|
}
|
|
661
|
-
}, "Card
|
|
662
|
-
id: "stripe-card-
|
|
686
|
+
}, "Card number"), /*#__PURE__*/React.createElement("div", {
|
|
687
|
+
id: "stripe-card-number",
|
|
663
688
|
style: {
|
|
664
689
|
padding: inputpadding,
|
|
665
|
-
borderRadius:
|
|
690
|
+
borderRadius: 8,
|
|
666
691
|
border: "1px solid #ccc",
|
|
667
|
-
|
|
692
|
+
background: "#fff"
|
|
693
|
+
}
|
|
694
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
695
|
+
style: {
|
|
696
|
+
display: "grid",
|
|
697
|
+
gridTemplateColumns: "1fr 1fr",
|
|
698
|
+
gap: "10px"
|
|
699
|
+
}
|
|
700
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
701
|
+
style: {
|
|
702
|
+
display: "grid",
|
|
703
|
+
gap: "6px"
|
|
668
704
|
}
|
|
669
|
-
}
|
|
705
|
+
}, /*#__PURE__*/React.createElement("label", {
|
|
706
|
+
style: {
|
|
707
|
+
fontWeight: 500,
|
|
708
|
+
color: "#555"
|
|
709
|
+
}
|
|
710
|
+
}, "Expiry"), /*#__PURE__*/React.createElement("div", {
|
|
711
|
+
id: "stripe-card-expiry",
|
|
712
|
+
style: {
|
|
713
|
+
padding: inputpadding,
|
|
714
|
+
borderRadius: 8,
|
|
715
|
+
border: "1px solid #ccc",
|
|
716
|
+
background: "#fff"
|
|
717
|
+
}
|
|
718
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
719
|
+
style: {
|
|
720
|
+
display: "grid",
|
|
721
|
+
gap: "6px"
|
|
722
|
+
}
|
|
723
|
+
}, /*#__PURE__*/React.createElement("label", {
|
|
724
|
+
style: {
|
|
725
|
+
fontWeight: 500,
|
|
726
|
+
color: "#555"
|
|
727
|
+
}
|
|
728
|
+
}, "CVC"), /*#__PURE__*/React.createElement("div", {
|
|
729
|
+
id: "stripe-card-cvc",
|
|
730
|
+
style: {
|
|
731
|
+
padding: inputpadding,
|
|
732
|
+
borderRadius: 8,
|
|
733
|
+
border: "1px solid #ccc",
|
|
734
|
+
background: "#fff"
|
|
735
|
+
}
|
|
736
|
+
}))), /*#__PURE__*/React.createElement("button", {
|
|
670
737
|
type: "submit",
|
|
671
738
|
disabled: !isReady || isSubmitting,
|
|
672
739
|
style: {
|
|
673
|
-
marginTop: "
|
|
674
|
-
width: "100%",
|
|
740
|
+
marginTop: "10px",
|
|
675
741
|
padding: inputpadding + 2,
|
|
676
742
|
backgroundColor: color,
|
|
677
743
|
color: "white",
|
|
678
744
|
border: "none",
|
|
679
745
|
borderRadius: formborderRadius,
|
|
680
|
-
fontWeight:
|
|
746
|
+
fontWeight: 600,
|
|
681
747
|
cursor: !isReady || isSubmitting ? "not-allowed" : "pointer",
|
|
682
748
|
opacity: !isReady || isSubmitting ? 0.7 : 1
|
|
683
749
|
}
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../src/ShiftPaymentForm.jsx","../src/StripePaymentForm.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\n\nexport default function ShiftPaymentForm({ amount, currency, color, formwidth = 400, formborderRadius = 20, formbackgroundColor = \"#fff\", inputpadding = 12, baseUrl, userId, successPage, errorPage, description }) {\n const formRef = useRef();\n const initializedRef = useRef(false);\n const shift4Ref = useRef(null);\n const componentsRef = useRef(null);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [isReady, setIsReady] = useState(false);\n\n\n useEffect(() => {\n if (initializedRef.current) return;\n initializedRef.current = true;\n\n const initPayment = async () => {\n try {\n const response = await fetch(baseUrl + userId);\n if (!response.ok) errorPage(\"Failed to fetch public key\");\n\n const { publicKeys,isProd } = await response.json();\n if (!publicKeys) errorPage(\"Public key is empty\");\n\n const script = document.createElement(\"script\");\n script.src = isProd ? \"https://js.shift4.com/shift4.js\" : \"https://js.dev.shift4.com/shift4.js\";\n script.async = true;\n\n script.onload = () => {\n if (!window.Shift4) return;\n\n shift4Ref.current = window.Shift4(publicKeys);\n\n componentsRef.current = shift4Ref.current\n .createComponentGroup()\n .automount(\"#payment-form\");\n setIsReady(true);\n };\n\n script.onerror = () => {\n setError(\"Payment provider script failed to load.\");\n };\n\n document.body.appendChild(script);\n } catch (err) {\n console.error(err);\n setError(\"Payment initialization failed. Please try again.\");\n }\n };\n\n initPayment();\n }, []);\n\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n\n if (isSubmitting) return;\n if (!formRef.current) return;\n\n if (!shift4Ref.current || !componentsRef.current) {\n errorPage(\"Payment form is not ready yet. Please try again.\");\n return;\n }\n\n setIsSubmitting(true);\n\n try {\n const token = await shift4Ref.current.createToken(componentsRef.current);\n if (!token?.id) {\n errorPage(\"Card tokenization failed. Please check your details and try again.\");\n }\n\n const request = {\n amount: amount,\n currency: currency,\n card: token.id,\n description\n };\n\n const threeDSecureToken = await shift4Ref.current.verifyThreeDSecure(request);\n if (!threeDSecureToken?.id) {\n errorPage(\"3D Secure verification failed. Please try again.\");\n }\n\n const apiBase = baseUrl + \"charge/\" + userId;\n const response = await fetch(`${apiBase}`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n tokenId: threeDSecureToken.id,\n amount: request.amount,\n currency: request.currency,\n description\n }),\n });\n const result = await response.json();\n if (!response.ok) {\n if (typeof errorPage === \"function\")\n errorPage(result);\n return;\n }\n\n if (typeof successPage === \"function\")\n successPage(result.message);\n \n \n\n\n\n } catch (err) {\n if (typeof errorPage === \"function\")\n errorPage(err.message);\n } finally {\n setIsSubmitting(false);\n\n\n\n }\n };\n\n return (\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n width: \"100%\",\n boxSizing: \"border-box\"\n }}\n >\n <form\n ref={formRef}\n id=\"payment-form\"\n onSubmit={handleSubmit}\n method=\"post\"\n style={{\n display: \"grid\",\n gap: \"12px\",\n padding: \"20px\",\n backgroundColor: formbackgroundColor,\n borderRadius: formborderRadius,\n width: formwidth,\n boxSizing: \"border-box\"\n }}\n >\n\n\n <div style={{ display: \"grid\", gap: \"8px\" }}>\n <label style={{ fontWeight: \"500\", color: \"#555\" }}>Card number</label>\n <div\n data-shift4=\"number\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"10px\", marginTop: \"5px\" }}>\n <div>\n <label style={{ fontWeight: \"500\", color: \"#555\", marginBottom: 2 }}>Expiration</label>\n <div\n data-shift4=\"expiry\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n <div>\n <label style={{ fontWeight: \"500\", color: \"#555\", marginBottom: 2 }}>CVC</label>\n <div\n data-shift4=\"cvc\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n </div>\n\n <button\n type=\"submit\"\n disabled={!isReady || isSubmitting}\n style={{\n marginTop: \"16px\",\n width: \"100%\",\n padding: inputpadding + 2,\n backgroundColor: color,\n color: \"white\",\n border: \"none\",\n borderRadius: formborderRadius,\n fontWeight: \"600\",\n cursor: !isReady || isSubmitting ? \"not-allowed\" : \"pointer\",\n opacity: !isReady || isSubmitting ? 0.7 : 1\n }}\n >\n {isSubmitting ? \"Processing...\" : \"Buy now\"}\n </button>\n </form>\n </div>\n );\n}\n","import React, { useEffect, useRef, useState } from \"react\";\n\nexport default function StripePaymentForm({\n amount,\n currency = \"usd\",\n color,\n formwidth = 400,\n formborderRadius = 20,\n formbackgroundColor = \"#fff\",\n inputpadding = 12,\n baseUrl,\n userId,\n successPage,\n errorPage,\n description,\n}) {\n const initializedRef = useRef(false);\n const stripeRef = useRef(null);\n const elementsRef = useRef(null);\n const cardRef = useRef(null);\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [isReady, setIsReady] = useState(false);\n\n useEffect(() => {\n if (initializedRef.current) return;\n initializedRef.current = true;\n\n const initStripe = async () => {\n try {\n const response = await fetch(baseUrl + userId);\n if (!response.ok) errorPage(\"Failed to fetch public key\");\n\n const { publicKeys } = await response.json();\n if (!publicKeys) errorPage(\"Public key is empty\");\n\n const script = document.createElement(\"script\");\n script.src = \"https://js.stripe.com/v3/\";\n script.async = true;\n\n script.onload = () => {\n if (!window.Stripe) return;\n\n stripeRef.current = window.Stripe(publicKeys);\n\n elementsRef.current = stripeRef.current.elements();\n\n const card = elementsRef.current.create(\"card\", {\n style: {\n base: {\n fontSize: \"15px\",\n color: \"#111\",\n \"::placeholder\": { color: \"#aaa\" },\n },\n },\n });\n\n card.mount(\"#stripe-card-element\");\n cardRef.current = card;\n\n setIsReady(true);\n };\n\n script.onerror = () => {\n errorPage(\"Stripe script failed to load.\");\n };\n\n document.body.appendChild(script);\n } catch (err) {\n errorPage(err.message);\n }\n };\n\n initStripe();\n }, [baseUrl, userId, errorPage]);\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n\n if (!isReady || !stripeRef.current || !cardRef.current) {\n errorPage(\"Payment form is not ready yet.\");\n return;\n }\n\n if (isSubmitting) return;\n\n setIsSubmitting(true);\n\n try {\n const { error, paymentMethod } =\n await stripeRef.current.createPaymentMethod({\n type: \"card\",\n card: cardRef.current,\n });\n\n if (error || !paymentMethod?.id) {\n errorPage(error?.message || \"Card tokenization failed.\");\n return;\n }\n\n const response = await fetch(`${baseUrl}charge/${userId}`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n tokenId: paymentMethod.id,\n amount,\n currency,\n description,\n }),\n });\n\n const result = await response.json();\n\n if (!response.ok) {\n errorPage(result);\n return;\n }\n\n successPage(result.message);\n } catch (err) {\n errorPage(err.message);\n } finally {\n setIsSubmitting(false);\n }\n };\n\n return (\n <div style={{ display: \"flex\", justifyContent: \"center\", width: \"100%\" }}>\n <form\n onSubmit={handleSubmit}\n style={{\n display: \"grid\",\n gap: \"12px\",\n padding: \"20px\",\n backgroundColor: formbackgroundColor,\n borderRadius: formborderRadius,\n width: formwidth,\n boxSizing: \"border-box\",\n }}\n >\n <div style={{ display: \"grid\", gap: \"8px\" }}>\n <label style={{ fontWeight: \"500\", color: \"#555\" }}>\n Card details\n </label>\n <div\n id=\"stripe-card-element\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\",\n }}\n />\n </div>\n\n <button\n type=\"submit\"\n disabled={!isReady || isSubmitting}\n style={{\n marginTop: \"16px\",\n width: \"100%\",\n padding: inputpadding + 2,\n backgroundColor: color,\n color: \"white\",\n border: \"none\",\n borderRadius: formborderRadius,\n fontWeight: \"600\",\n cursor: !isReady || isSubmitting ? \"not-allowed\" : \"pointer\",\n opacity: !isReady || isSubmitting ? 0.7 : 1,\n }}\n >\n {isSubmitting ? \"Processing...\" : \"Buy now\"}\n </button>\n </form>\n </div>\n );\n}"],"names":["ShiftPaymentForm","_ref","amount","currency","color","_ref$formwidth","formwidth","_ref$formborderRadius","formborderRadius","_ref$formbackgroundCo","formbackgroundColor","_ref$inputpadding","inputpadding","baseUrl","userId","successPage","errorPage","description","formRef","useRef","initializedRef","shift4Ref","componentsRef","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","_useState3","_useState4","isReady","setIsReady","useEffect","current","initPayment","_ref2","_asyncToGenerator","_regenerator","m","_callee","response","_yield$response$json","publicKeys","isProd","script","_t","w","_context","p","n","fetch","v","ok","json","document","createElement","src","async","onload","window","Shift4","createComponentGroup","automount","onerror","setError","body","appendChild","console","error","a","apply","arguments","handleSubmit","_ref3","_callee2","e","token","request","threeDSecureToken","apiBase","result","_t2","_context2","preventDefault","createToken","id","card","verifyThreeDSecure","concat","method","headers","JSON","stringify","tokenId","message","f","_x","React","style","display","justifyContent","width","boxSizing","ref","onSubmit","gap","padding","backgroundColor","borderRadius","fontWeight","className","border","boxShadow","gridTemplateColumns","marginTop","marginBottom","type","disabled","cursor","opacity","StripePaymentForm","_ref$currency","stripeRef","elementsRef","cardRef","initStripe","Stripe","elements","create","base","fontSize","mount","_yield$stripeRef$curr","paymentMethod","createPaymentMethod"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/ShiftPaymentForm.jsx","../src/StripePaymentForm.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\n\nexport default function ShiftPaymentForm({ amount, currency, color, formwidth = 400, formborderRadius = 20, formbackgroundColor = \"#fff\", inputpadding = 12, baseUrl, userId, successPage, errorPage, description }) {\n const formRef = useRef();\n const initializedRef = useRef(false);\n const shift4Ref = useRef(null);\n const componentsRef = useRef(null);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [isReady, setIsReady] = useState(false);\n\n\n useEffect(() => {\n if (initializedRef.current) return;\n initializedRef.current = true;\n\n const initPayment = async () => {\n try {\n const response = await fetch(baseUrl + userId);\n if (!response.ok) errorPage(\"Failed to fetch public key\");\n\n const { publicKeys,isProd } = await response.json();\n if (!publicKeys) errorPage(\"Public key is empty\");\n\n const script = document.createElement(\"script\");\n script.src = isProd ? \"https://js.shift4.com/shift4.js\" : \"https://js.dev.shift4.com/shift4.js\";\n script.async = true;\n\n script.onload = () => {\n if (!window.Shift4) return;\n\n shift4Ref.current = window.Shift4(publicKeys);\n\n componentsRef.current = shift4Ref.current\n .createComponentGroup()\n .automount(\"#payment-form\");\n setIsReady(true);\n };\n\n script.onerror = () => {\n setError(\"Payment provider script failed to load.\");\n };\n\n document.body.appendChild(script);\n } catch (err) {\n console.error(err);\n setError(\"Payment initialization failed. Please try again.\");\n }\n };\n\n initPayment();\n }, []);\n\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n\n if (isSubmitting) return;\n if (!formRef.current) return;\n\n if (!shift4Ref.current || !componentsRef.current) {\n errorPage(\"Payment form is not ready yet. Please try again.\");\n return;\n }\n\n setIsSubmitting(true);\n\n try {\n const token = await shift4Ref.current.createToken(componentsRef.current);\n if (!token?.id) {\n errorPage(\"Card tokenization failed. Please check your details and try again.\");\n }\n\n const request = {\n amount: amount,\n currency: currency,\n card: token.id,\n description\n };\n\n const threeDSecureToken = await shift4Ref.current.verifyThreeDSecure(request);\n if (!threeDSecureToken?.id) {\n errorPage(\"3D Secure verification failed. Please try again.\");\n }\n\n const apiBase = baseUrl + \"charge/\" + userId;\n const response = await fetch(`${apiBase}`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n tokenId: threeDSecureToken.id,\n amount: request.amount,\n currency: request.currency,\n description\n }),\n });\n const result = await response.json();\n if (!response.ok) {\n if (typeof errorPage === \"function\")\n errorPage(result);\n return;\n }\n\n if (typeof successPage === \"function\")\n successPage(result.message);\n \n \n\n\n\n } catch (err) {\n if (typeof errorPage === \"function\")\n errorPage(err.message);\n } finally {\n setIsSubmitting(false);\n\n\n\n }\n };\n\n return (\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n width: \"100%\",\n boxSizing: \"border-box\"\n }}\n >\n <form\n ref={formRef}\n id=\"payment-form\"\n onSubmit={handleSubmit}\n method=\"post\"\n style={{\n display: \"grid\",\n gap: \"12px\",\n padding: \"20px\",\n backgroundColor: formbackgroundColor,\n borderRadius: formborderRadius,\n width: formwidth,\n boxSizing: \"border-box\"\n }}\n >\n\n\n <div style={{ display: \"grid\", gap: \"8px\" }}>\n <label style={{ fontWeight: \"500\", color: \"#555\" }}>Card number</label>\n <div\n data-shift4=\"number\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"10px\", marginTop: \"5px\" }}>\n <div>\n <label style={{ fontWeight: \"500\", color: \"#555\", marginBottom: 2 }}>Expiration</label>\n <div\n data-shift4=\"expiry\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n <div>\n <label style={{ fontWeight: \"500\", color: \"#555\", marginBottom: 2 }}>CVC</label>\n <div\n data-shift4=\"cvc\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n </div>\n\n <button\n type=\"submit\"\n disabled={!isReady || isSubmitting}\n style={{\n marginTop: \"16px\",\n width: \"100%\",\n padding: inputpadding + 2,\n backgroundColor: color,\n color: \"white\",\n border: \"none\",\n borderRadius: formborderRadius,\n fontWeight: \"600\",\n cursor: !isReady || isSubmitting ? \"not-allowed\" : \"pointer\",\n opacity: !isReady || isSubmitting ? 0.7 : 1\n }}\n >\n {isSubmitting ? \"Processing...\" : \"Buy now\"}\n </button>\n </form>\n </div>\n );\n}\n","import React, { useEffect, useRef, useState } from \"react\";\n\nexport default function StripePaymentForm({\n amount,\n currency = \"usd\",\n color = \"#556cd6\",\n formwidth = 400,\n formborderRadius = 20,\n formbackgroundColor = \"#fff\",\n inputpadding = 12,\n baseUrl,\n userId,\n successPage,\n errorPage,\n description,\n}) {\n const initializedRef = useRef(false);\n const stripeRef = useRef(null);\n const elementsRef = useRef(null);\n const cardNumberRef = useRef(null);\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [isReady, setIsReady] = useState(false);\n\n /* ================= INITIALIZE STRIPE ================= */\n\n useEffect(() => {\n if (initializedRef.current) return;\n initializedRef.current = true;\n\n const initStripe = async () => {\n try {\n const response = await fetch(baseUrl + userId);\n if (!response.ok) errorPage(\"Failed to fetch public key\");\n\n const { publicKeys } = await response.json();\n if (!publicKeys) errorPage(\"Public key is empty\");\n \n\n /* Load Stripe script */\n const script = document.createElement(\"script\");\n script.src = \"https://js.stripe.com/v3/\";\n script.async = true;\n\n script.onload = () => {\n if (!window.Stripe) {\n errorPage(\"Stripe failed to initialize.\");\n return;\n }\n\n stripeRef.current = window.Stripe(publicKeys);\n elementsRef.current = stripeRef.current.elements();\n\n const style = {\n base: {\n fontSize: \"15px\",\n color: \"#111\",\n \"::placeholder\": { color: \"#aaa\" },\n },\n };\n\n const cardNumber = elementsRef.current.create(\"cardNumber\", { style });\n const cardExpiry = elementsRef.current.create(\"cardExpiry\", { style });\n const cardCvc = elementsRef.current.create(\"cardCvc\", { style });\n\n cardNumber.mount(\"#stripe-card-number\");\n cardExpiry.mount(\"#stripe-card-expiry\");\n cardCvc.mount(\"#stripe-card-cvc\");\n\n cardNumberRef.current = cardNumber;\n\n setIsReady(true);\n };\n\n script.onerror = () => {\n errorPage(\"Stripe script failed to load.\");\n };\n\n document.body.appendChild(script);\n } catch (err) {\n errorPage(err.message);\n }\n };\n\n initStripe();\n }, [baseUrl, userId, errorPage]);\n\n /* ================= SUBMIT ================= */\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n\n if (!isReady || !stripeRef.current || !cardNumberRef.current) {\n errorPage(\"Payment form is not ready yet.\");\n return;\n }\n\n if (isSubmitting) return;\n\n setIsSubmitting(true);\n\n try {\n const { error, paymentMethod } =\n await stripeRef.current.createPaymentMethod({\n type: \"card\",\n card: cardNumberRef.current,\n });\n\n if (error || !paymentMethod?.id) {\n errorPage(error?.message || \"Card tokenization failed.\");\n return;\n }\n\n const response = await fetch(`${baseUrl}charge/${userId}`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n tokenId: paymentMethod.id,\n amount,\n currency,\n description,\n }),\n });\n\n const result = await response.json();\n\n if (!response.ok) {\n errorPage(result);\n return;\n }\n\n successPage(result.message);\n } catch (err) {\n errorPage(err.message);\n } finally {\n setIsSubmitting(false);\n }\n };\n\n /* ================= UI ================= */\n\n return (\n <div style={{ display: \"flex\", justifyContent: \"center\", width: \"100%\" }}>\n <form\n onSubmit={handleSubmit}\n style={{\n display: \"grid\",\n gap: \"14px\",\n padding: \"20px\",\n backgroundColor: formbackgroundColor,\n borderRadius: formborderRadius,\n width: formwidth,\n boxSizing: \"border-box\",\n boxShadow: \"0 2px 6px rgba(0,0,0,0.08)\",\n }}\n >\n {/* Card Number */}\n <div style={{ display: \"grid\", gap: \"6px\" }}>\n <label style={{ fontWeight: 500, color: \"#555\" }}>\n Card number\n </label>\n <div\n id=\"stripe-card-number\"\n style={{\n padding: inputpadding,\n borderRadius: 8,\n border: \"1px solid #ccc\",\n background: \"#fff\",\n }}\n />\n </div>\n\n {/* Expiry + CVC */}\n <div\n style={{\n display: \"grid\",\n gridTemplateColumns: \"1fr 1fr\",\n gap: \"10px\",\n }}\n >\n <div style={{ display: \"grid\", gap: \"6px\" }}>\n <label style={{ fontWeight: 500, color: \"#555\" }}>\n Expiry\n </label>\n <div\n id=\"stripe-card-expiry\"\n style={{\n padding: inputpadding,\n borderRadius: 8,\n border: \"1px solid #ccc\",\n background: \"#fff\",\n }}\n />\n </div>\n\n <div style={{ display: \"grid\", gap: \"6px\" }}>\n <label style={{ fontWeight: 500, color: \"#555\" }}>\n CVC\n </label>\n <div\n id=\"stripe-card-cvc\"\n style={{\n padding: inputpadding,\n borderRadius: 8,\n border: \"1px solid #ccc\",\n background: \"#fff\",\n }}\n />\n </div>\n </div>\n\n {/* Submit */}\n <button\n type=\"submit\"\n disabled={!isReady || isSubmitting}\n style={{\n marginTop: \"10px\",\n padding: inputpadding + 2,\n backgroundColor: color,\n color: \"white\",\n border: \"none\",\n borderRadius: formborderRadius,\n fontWeight: 600,\n cursor: !isReady || isSubmitting ? \"not-allowed\" : \"pointer\",\n opacity: !isReady || isSubmitting ? 0.7 : 1,\n }}\n >\n {isSubmitting ? \"Processing...\" : \"Buy now\"}\n </button>\n </form>\n </div>\n );\n}"],"names":["ShiftPaymentForm","_ref","amount","currency","color","_ref$formwidth","formwidth","_ref$formborderRadius","formborderRadius","_ref$formbackgroundCo","formbackgroundColor","_ref$inputpadding","inputpadding","baseUrl","userId","successPage","errorPage","description","formRef","useRef","initializedRef","shift4Ref","componentsRef","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","_useState3","_useState4","isReady","setIsReady","useEffect","current","initPayment","_ref2","_asyncToGenerator","_regenerator","m","_callee","response","_yield$response$json","publicKeys","isProd","script","_t","w","_context","p","n","fetch","v","ok","json","document","createElement","src","async","onload","window","Shift4","createComponentGroup","automount","onerror","setError","body","appendChild","console","error","a","apply","arguments","handleSubmit","_ref3","_callee2","e","token","request","threeDSecureToken","apiBase","result","_t2","_context2","preventDefault","createToken","id","card","verifyThreeDSecure","concat","method","headers","JSON","stringify","tokenId","message","f","_x","React","style","display","justifyContent","width","boxSizing","ref","onSubmit","gap","padding","backgroundColor","borderRadius","fontWeight","className","border","boxShadow","gridTemplateColumns","marginTop","marginBottom","type","disabled","cursor","opacity","StripePaymentForm","_ref$currency","_ref$color","stripeRef","elementsRef","cardNumberRef","initStripe","Stripe","elements","base","fontSize","cardNumber","create","cardExpiry","cardCvc","mount","_yield$stripeRef$curr","paymentMethod","createPaymentMethod","background"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEe,SAASA,gBAAgBA,CAAAC,IAAA,EAA6K;AAAA,EAAA,IAA1KC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK;IAAAC,cAAA,GAAAJ,IAAA,CAAEK,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,GAAG,GAAAA,cAAA;IAAAE,qBAAA,GAAAN,IAAA,CAAEO,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAAAR,IAAA,CAAES,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAD,qBAAA,KAAA,MAAA,GAAG,MAAM,GAAAA,qBAAA;IAAAE,iBAAA,GAAAV,IAAA,CAAEW,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,iBAAA;IAAEE,OAAO,GAAAZ,IAAA,CAAPY,OAAO;IAAEC,MAAM,GAAAb,IAAA,CAANa,MAAM;IAAEC,WAAW,GAAAd,IAAA,CAAXc,WAAW;IAAEC,SAAS,GAAAf,IAAA,CAATe,SAAS;IAAEC,WAAW,GAAAhB,IAAA,CAAXgB,WAAW;AAC/M,EAAA,IAAMC,OAAO,GAAGC,YAAM,EAAE;AACxB,EAAA,IAAMC,cAAc,GAAGD,YAAM,CAAC,KAAK,CAAC;AACpC,EAAA,IAAME,SAAS,GAAGF,YAAM,CAAC,IAAI,CAAC;AAC9B,EAAA,IAAMG,aAAa,GAAGH,YAAM,CAAC,IAAI,CAAC;AAClC,EAAA,IAAAI,SAAA,GAAwCC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAhDI,IAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,eAAe,GAAAH,UAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAAI,UAAA,GAA8BL,cAAQ,CAAC,KAAK,CAAC;IAAAM,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAAtCE,IAAAA,OAAO,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA;AAG1BG,EAAAA,eAAS,CAAC,YAAM;IACd,IAAIb,cAAc,CAACc,OAAO,EAAE;IAC5Bd,cAAc,CAACc,OAAO,GAAG,IAAI;AAE7B,IAAA,IAAMC,WAAW,gBAAA,YAAA;MAAA,IAAAC,KAAA,GAAAC,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAAG,SAAAC,OAAAA,GAAA;QAAA,IAAAC,QAAA,EAAAC,oBAAA,EAAAC,UAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,EAAA;AAAA,QAAA,OAAAR,YAAA,EAAA,CAAAS,CAAA,CAAA,UAAAC,QAAA,EAAA;AAAA,UAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,CAAA,GAAAD,QAAA,CAAAE,CAAA;AAAA,YAAA,KAAA,CAAA;AAAAF,cAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;AAAAD,cAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,cAAA,OAEOC,KAAK,CAACtC,OAAO,GAAGC,MAAM,CAAC;AAAA,YAAA,KAAA,CAAA;cAAxC2B,QAAQ,GAAAO,QAAA,CAAAI,CAAA;cACd,IAAI,CAACX,QAAQ,CAACY,EAAE,EAAErC,SAAS,CAAC,4BAA4B,CAAC;AAACgC,cAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,cAAA,OAEtBT,QAAQ,CAACa,IAAI,EAAE;AAAA,YAAA,KAAA,CAAA;cAAAZ,oBAAA,GAAAM,QAAA,CAAAI,CAAA;cAA3CT,UAAU,GAAAD,oBAAA,CAAVC,UAAU;cAACC,MAAM,GAAAF,oBAAA,CAANE,MAAM;AACzB,cAAA,IAAI,CAACD,UAAU,EAAE3B,SAAS,CAAC,qBAAqB,CAAC;AAE3C6B,cAAAA,MAAM,GAAGU,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC;AAC/CX,cAAAA,MAAM,CAACY,GAAG,GAAGb,MAAM,GAAG,iCAAiC,GAAG,qCAAqC;cAC/FC,MAAM,CAACa,KAAK,GAAG,IAAI;cAEnBb,MAAM,CAACc,MAAM,GAAG,YAAM;AACpB,gBAAA,IAAI,CAACC,MAAM,CAACC,MAAM,EAAE;gBAEpBxC,SAAS,CAACa,OAAO,GAAG0B,MAAM,CAACC,MAAM,CAAClB,UAAU,CAAC;AAE7CrB,gBAAAA,aAAa,CAACY,OAAO,GAAGb,SAAS,CAACa,OAAO,CACtC4B,oBAAoB,EAAE,CACtBC,SAAS,CAAC,eAAe,CAAC;gBAC7B/B,UAAU,CAAC,IAAI,CAAC;cAClB,CAAC;cAEDa,MAAM,CAACmB,OAAO,GAAG,YAAM;gBACrBC,QAAQ,CAAC,yCAAyC,CAAC;cACrD,CAAC;AAEDV,cAAAA,QAAQ,CAACW,IAAI,CAACC,WAAW,CAACtB,MAAM,CAAC;AAACG,cAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA,KAAA,CAAA;AAAAF,cAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;cAAAH,EAAA,GAAAE,QAAA,CAAAI,CAAA;AAElCgB,cAAAA,OAAO,CAACC,KAAK,CAAAvB,EAAI,CAAC;cAClBmB,QAAQ,CAAC,kDAAkD,CAAC;AAAC,YAAA,KAAA,CAAA;cAAA,OAAAjB,QAAA,CAAAsB,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,QAAA,CAAA,EAAA9B,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;MAAA,CAEhE,CAAA,CAAA;AAAA,MAAA,OAAA,SAhCKL,WAAWA,GAAA;AAAA,QAAA,OAAAC,KAAA,CAAAmC,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,MAAA,CAAA;IAAA,CAAA,EAgChB;AAEDrC,IAAAA,WAAW,EAAE;EACf,CAAC,EAAE,EAAE,CAAC;AAGN,EAAA,IAAMsC,YAAY,gBAAA,YAAA;IAAA,IAAAC,KAAA,GAAArC,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAAG,SAAAoC,QAAAA,CAAOC,CAAC,EAAA;AAAA,MAAA,IAAAC,KAAA,EAAAC,OAAA,EAAAC,iBAAA,EAAAC,OAAA,EAAAvC,QAAA,EAAAwC,MAAA,EAAAC,GAAA;AAAA,MAAA,OAAA5C,YAAA,EAAA,CAAAS,CAAA,CAAA,UAAAoC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAlC,CAAA,GAAAkC,SAAA,CAAAjC,CAAA;AAAA,UAAA,KAAA,CAAA;YAC3B0B,CAAC,CAACQ,cAAc,EAAE;AAAC,YAAA,IAAA,CAEfzD,YAAY,EAAA;AAAAwD,cAAAA,SAAA,CAAAjC,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;YAAA,OAAAiC,SAAA,CAAAb,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;YAAA,IACXpD,OAAO,CAACgB,OAAO,EAAA;AAAAiD,cAAAA,SAAA,CAAAjC,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;YAAA,OAAAiC,SAAA,CAAAb,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;YAAA,IAAA,EAEhB,CAACjD,SAAS,CAACa,OAAO,IAAI,CAACZ,aAAa,CAACY,OAAO,CAAA,EAAA;AAAAiD,cAAAA,SAAA,CAAAjC,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;YAC9ClC,SAAS,CAAC,kDAAkD,CAAC;YAAC,OAAAmE,SAAA,CAAAb,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;YAIhE1C,eAAe,CAAC,IAAI,CAAC;AAACuD,YAAAA,SAAA,CAAAlC,CAAA,GAAA,CAAA;AAAAkC,YAAAA,SAAA,CAAAjC,CAAA,GAAA,CAAA;YAAA,OAGA7B,SAAS,CAACa,OAAO,CAACmD,WAAW,CAAC/D,aAAa,CAACY,OAAO,CAAC;AAAA,UAAA,KAAA,CAAA;YAAlE2C,KAAK,GAAAM,SAAA,CAAA/B,CAAA;YACX,IAAI,EAACyB,KAAK,KAAA,IAAA,IAALA,KAAK,eAALA,KAAK,CAAES,EAAE,CAAA,EAAE;cACdtE,SAAS,CAAC,oEAAoE,CAAC;AACjF,YAAA;AAEM8D,YAAAA,OAAO,GAAG;AACd5E,cAAAA,MAAM,EAAEA,MAAM;AACdC,cAAAA,QAAQ,EAAEA,QAAQ;cAClBoF,IAAI,EAAEV,KAAK,CAACS,EAAE;AACdrE,cAAAA,WAAW,EAAXA;aACD;AAAAkE,YAAAA,SAAA,CAAAjC,CAAA,GAAA,CAAA;AAAA,YAAA,OAE+B7B,SAAS,CAACa,OAAO,CAACsD,kBAAkB,CAACV,OAAO,CAAC;AAAA,UAAA,KAAA,CAAA;YAAvEC,iBAAiB,GAAAI,SAAA,CAAA/B,CAAA;YACvB,IAAI,EAAC2B,iBAAiB,KAAA,IAAA,IAAjBA,iBAAiB,eAAjBA,iBAAiB,CAAEO,EAAE,CAAA,EAAE;cAC1BtE,SAAS,CAAC,kDAAkD,CAAC;AAC/D,YAAA;AAEMgE,YAAAA,OAAO,GAAGnE,OAAO,GAAG,SAAS,GAAGC,MAAM;AAAAqE,YAAAA,SAAA,CAAAjC,CAAA,GAAA,CAAA;AAAA,YAAA,OACrBC,KAAK,CAAA,EAAA,CAAAsC,MAAA,CAAIT,OAAO,CAAA,EAAI;AACzCU,cAAAA,MAAM,EAAE,MAAM;AACdC,cAAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE;eACjB;AACDzB,cAAAA,IAAI,EAAE0B,IAAI,CAACC,SAAS,CAAC;gBACnBC,OAAO,EAAEf,iBAAiB,CAACO,EAAE;gBAC7BpF,MAAM,EAAE4E,OAAO,CAAC5E,MAAM;gBACtBC,QAAQ,EAAE2E,OAAO,CAAC3E,QAAQ;AAC1Bc,gBAAAA,WAAW,EAAXA;eACD;AACH,aAAC,CAAC;AAAA,UAAA,KAAA,CAAA;YAXIwB,QAAQ,GAAA0C,SAAA,CAAA/B,CAAA;AAAA+B,YAAAA,SAAA,CAAAjC,CAAA,GAAA,CAAA;AAAA,YAAA,OAYOT,QAAQ,CAACa,IAAI,EAAE;AAAA,UAAA,KAAA,CAAA;YAA9B2B,MAAM,GAAAE,SAAA,CAAA/B,CAAA;YAAA,IACPX,QAAQ,CAACY,EAAE,EAAA;AAAA8B,cAAAA,SAAA,CAAAjC,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;YACd,IAAI,OAAOlC,SAAS,KAAK,UAAU,EACjCA,SAAS,CAACiE,MAAM,CAAC;YAAC,OAAAE,SAAA,CAAAb,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;YAItB,IAAI,OAAOvD,WAAW,KAAK,UAAU,EACxCA,WAAW,CAACkE,MAAM,CAACc,OAAO,CAAC;AAACZ,YAAAA,SAAA,CAAAjC,CAAA,GAAA,EAAA;AAAA,YAAA;AAAA,UAAA,KAAA,EAAA;AAAAiC,YAAAA,SAAA,CAAAlC,CAAA,GAAA,EAAA;YAAAiC,GAAA,GAAAC,SAAA,CAAA/B,CAAA;YAOzB,IAAI,OAAOpC,SAAS,KAAK,UAAU,EACjCA,SAAS,CAACkE,GAAA,CAAIa,OAAO,CAAC;AAAC,UAAA,KAAA,EAAA;AAAAZ,YAAAA,SAAA,CAAAlC,CAAA,GAAA,EAAA;YAEzBrB,eAAe,CAAC,KAAK,CAAC;YAAC,OAAAuD,SAAA,CAAAa,CAAA,CAAA,EAAA,CAAA;AAAA,UAAA,KAAA,EAAA;YAAA,OAAAb,SAAA,CAAAb,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,MAAA,CAAA,EAAAK,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA;IAAA,CAK1B,CAAA,CAAA;IAAA,OAAA,SAnEKF,YAAYA,CAAAwB,EAAA,EAAA;AAAA,MAAA,OAAAvB,KAAA,CAAAH,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EAmEjB;EAED,oBACE0B,KAAA,CAAA1C,aAAA,CAAA,KAAA,EAAA;AACE2C,IAAAA,KAAK,EAAE;AACLC,MAAAA,OAAO,EAAE,MAAM;AACfC,MAAAA,cAAc,EAAE,QAAQ;AACxBC,MAAAA,KAAK,EAAE,MAAM;AACbC,MAAAA,SAAS,EAAE;AACb;GAAE,eAEFL,KAAA,CAAA1C,aAAA,CAAA,MAAA,EAAA;AACEgD,IAAAA,GAAG,EAAEtF,OAAQ;AACboE,IAAAA,EAAE,EAAC,cAAc;AACjBmB,IAAAA,QAAQ,EAAEhC,YAAa;AACvBiB,IAAAA,MAAM,EAAC,MAAM;AACbS,IAAAA,KAAK,EAAE;AACLC,MAAAA,OAAO,EAAE,MAAM;AACfM,MAAAA,GAAG,EAAE,MAAM;AACXC,MAAAA,OAAO,EAAE,MAAM;AACfC,MAAAA,eAAe,EAAElG,mBAAmB;AACpCmG,MAAAA,YAAY,EAAErG,gBAAgB;AAC9B8F,MAAAA,KAAK,EAAEhG,SAAS;AAChBiG,MAAAA,SAAS,EAAE;AACb;GAAE,eAIFL,KAAA,CAAA1C,aAAA,CAAA,KAAA,EAAA;AAAK2C,IAAAA,KAAK,EAAE;AAAEC,MAAAA,OAAO,EAAE,MAAM;AAAEM,MAAAA,GAAG,EAAE;AAAM;GAAE,eAC1CR,KAAA,CAAA1C,aAAA,CAAA,OAAA,EAAA;AAAO2C,IAAAA,KAAK,EAAE;AAAEW,MAAAA,UAAU,EAAE,KAAK;AAAE1G,MAAAA,KAAK,EAAE;AAAO;AAAE,GAAA,EAAC,aAAkB,CAAC,eACvE8F,KAAA,CAAA1C,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,aAAA,EAAY,QAAQ;AACpBuD,IAAAA,SAAS,EAAC,cAAc;AACxBZ,IAAAA,KAAK,EAAE;AACLQ,MAAAA,OAAO,EAAE/F,YAAY;AACrBiG,MAAAA,YAAY,EAAErG,gBAAgB;AAC9BwG,MAAAA,MAAM,EAAE,gBAAgB;AACxBC,MAAAA,SAAS,EAAE;AACb;AAAE,GACH,CACE,CAAC,eAENf,KAAA,CAAA1C,aAAA,CAAA,KAAA,EAAA;AAAK2C,IAAAA,KAAK,EAAE;AAAEC,MAAAA,OAAO,EAAE,MAAM;AAAEc,MAAAA,mBAAmB,EAAE,SAAS;AAAER,MAAAA,GAAG,EAAE,MAAM;AAAES,MAAAA,SAAS,EAAE;AAAM;AAAE,GAAA,eAC7FjB,KAAA,CAAA1C,aAAA,CAAA,KAAA,EAAA,IAAA,eACE0C,KAAA,CAAA1C,aAAA,CAAA,OAAA,EAAA;AAAO2C,IAAAA,KAAK,EAAE;AAAEW,MAAAA,UAAU,EAAE,KAAK;AAAE1G,MAAAA,KAAK,EAAE,MAAM;AAAEgH,MAAAA,YAAY,EAAE;AAAE;AAAE,GAAA,EAAC,YAAiB,CAAC,eACvFlB,KAAA,CAAA1C,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,aAAA,EAAY,QAAQ;AACpBuD,IAAAA,SAAS,EAAC,cAAc;AACxBZ,IAAAA,KAAK,EAAE;AACLQ,MAAAA,OAAO,EAAE/F,YAAY;AACrBiG,MAAAA,YAAY,EAAErG,gBAAgB;AAC9BwG,MAAAA,MAAM,EAAE,gBAAgB;AACxBC,MAAAA,SAAS,EAAE;AACb;GACD,CACE,CAAC,eACNf,KAAA,CAAA1C,aAAA,CAAA,KAAA,EAAA,IAAA,eACE0C,KAAA,CAAA1C,aAAA,CAAA,OAAA,EAAA;AAAO2C,IAAAA,KAAK,EAAE;AAAEW,MAAAA,UAAU,EAAE,KAAK;AAAE1G,MAAAA,KAAK,EAAE,MAAM;AAAEgH,MAAAA,YAAY,EAAE;AAAE;AAAE,GAAA,EAAC,KAAU,CAAC,eAChFlB,KAAA,CAAA1C,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,aAAA,EAAY,KAAK;AACjBuD,IAAAA,SAAS,EAAC,cAAc;AACxBZ,IAAAA,KAAK,EAAE;AACLQ,MAAAA,OAAO,EAAE/F,YAAY;AACrBiG,MAAAA,YAAY,EAAErG,gBAAgB;AAC9BwG,MAAAA,MAAM,EAAE,gBAAgB;AACxBC,MAAAA,SAAS,EAAE;AACb;AAAE,GACH,CACE,CACF,CAAC,eAENf,KAAA,CAAA1C,aAAA,CAAA,QAAA,EAAA;AACE6D,IAAAA,IAAI,EAAC,QAAQ;AACbC,IAAAA,QAAQ,EAAE,CAACvF,OAAO,IAAIJ,YAAa;AACnCwE,IAAAA,KAAK,EAAE;AACLgB,MAAAA,SAAS,EAAE,MAAM;AACjBb,MAAAA,KAAK,EAAE,MAAM;MACbK,OAAO,EAAE/F,YAAY,GAAG,CAAC;AACzBgG,MAAAA,eAAe,EAAExG,KAAK;AACtBA,MAAAA,KAAK,EAAE,OAAO;AACd4G,MAAAA,MAAM,EAAE,MAAM;AACdH,MAAAA,YAAY,EAAErG,gBAAgB;AAC9BsG,MAAAA,UAAU,EAAE,KAAK;MACjBS,MAAM,EAAE,CAACxF,OAAO,IAAIJ,YAAY,GAAG,aAAa,GAAG,SAAS;AAC5D6F,MAAAA,OAAO,EAAE,CAACzF,OAAO,IAAIJ,YAAY,GAAG,GAAG,GAAG;AAC5C;AAAE,GAAA,EAEDA,YAAY,GAAG,eAAe,GAAG,SAC5B,CACJ,CACH,CAAC;AAEV;;AClNe,SAAS8F,iBAAiBA,CAAAxH,IAAA,EAatC;AAAA,EAAA,IAZDC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAAwH,aAAA,GAAAzH,IAAA,CACNE,QAAQ;AAARA,IAAAA,QAAQ,GAAAuH,aAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,aAAA;IAAAC,UAAA,GAAA1H,IAAA,CAChBG,KAAK;AAALA,IAAAA,KAAK,GAAAuH,UAAA,KAAA,MAAA,GAAG,SAAS,GAAAA,UAAA;IAAAtH,cAAA,GAAAJ,IAAA,CACjBK,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,GAAG,GAAAA,cAAA;IAAAE,qBAAA,GAAAN,IAAA,CACfO,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAAAR,IAAA,CACrBS,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAD,qBAAA,KAAA,MAAA,GAAG,MAAM,GAAAA,qBAAA;IAAAE,iBAAA,GAAAV,IAAA,CAC5BW,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,iBAAA;IACjBE,OAAO,GAAAZ,IAAA,CAAPY,OAAO;IACPC,MAAM,GAAAb,IAAA,CAANa,MAAM;IACNC,WAAW,GAAAd,IAAA,CAAXc,WAAW;IACXC,SAAS,GAAAf,IAAA,CAATe,SAAS;IACTC,WAAW,GAAAhB,IAAA,CAAXgB,WAAW;AAEX,EAAA,IAAMG,cAAc,GAAGD,YAAM,CAAC,KAAK,CAAC;AACpC,EAAA,IAAMyG,SAAS,GAAGzG,YAAM,CAAC,IAAI,CAAC;AAC9B,EAAA,IAAM0G,WAAW,GAAG1G,YAAM,CAAC,IAAI,CAAC;AAChC,EAAA,IAAM2G,aAAa,GAAG3G,YAAM,CAAC,IAAI,CAAC;AAElC,EAAA,IAAAI,SAAA,GAAwCC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAhDI,IAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,eAAe,GAAAH,UAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAAI,UAAA,GAA8BL,cAAQ,CAAC,KAAK,CAAC;IAAAM,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAAtCE,IAAAA,OAAO,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA;;AAE1B;;AAEAG,EAAAA,eAAS,CAAC,YAAM;IACd,IAAIb,cAAc,CAACc,OAAO,EAAE;IAC5Bd,cAAc,CAACc,OAAO,GAAG,IAAI;AAE7B,IAAA,IAAM6F,UAAU,gBAAA,YAAA;MAAA,IAAA3F,KAAA,GAAAC,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAAG,SAAAC,OAAAA,GAAA;QAAA,IAAAC,QAAA,EAAAC,oBAAA,EAAAC,UAAA,EAAAE,MAAA,EAAAC,EAAA;AAAA,QAAA,OAAAR,YAAA,EAAA,CAAAS,CAAA,CAAA,UAAAC,QAAA,EAAA;AAAA,UAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,CAAA,GAAAD,QAAA,CAAAE,CAAA;AAAA,YAAA,KAAA,CAAA;AAAAF,cAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;AAAAD,cAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,cAAA,OAEUC,KAAK,CAACtC,OAAO,GAAGC,MAAM,CAAC;AAAA,YAAA,KAAA,CAAA;cAAxC2B,QAAQ,GAAAO,QAAA,CAAAI,CAAA;cAChB,IAAI,CAACX,QAAQ,CAACY,EAAE,EAAErC,SAAS,CAAC,4BAA4B,CAAC;AAACgC,cAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,cAAA,OAE7BT,QAAQ,CAACa,IAAI,EAAE;AAAA,YAAA,KAAA,CAAA;cAAAZ,oBAAA,GAAAM,QAAA,CAAAI,CAAA;cAApCT,UAAU,GAAAD,oBAAA,CAAVC,UAAU;AAClB,cAAA,IAAI,CAACA,UAAU,EAAE3B,SAAS,CAAC,qBAAqB,CAAC;;AAGjD;AACM6B,cAAAA,MAAM,GAAGU,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC;cAC/CX,MAAM,CAACY,GAAG,GAAG,2BAA2B;cACxCZ,MAAM,CAACa,KAAK,GAAG,IAAI;cAEnBb,MAAM,CAACc,MAAM,GAAG,YAAM;AACpB,gBAAA,IAAI,CAACC,MAAM,CAACoE,MAAM,EAAE;kBAClBhH,SAAS,CAAC,8BAA8B,CAAC;AACzC,kBAAA;AACF,gBAAA;gBAEA4G,SAAS,CAAC1F,OAAO,GAAG0B,MAAM,CAACoE,MAAM,CAACrF,UAAU,CAAC;gBAC7CkF,WAAW,CAAC3F,OAAO,GAAG0F,SAAS,CAAC1F,OAAO,CAAC+F,QAAQ,EAAE;AAElD,gBAAA,IAAM9B,KAAK,GAAG;AACZ+B,kBAAAA,IAAI,EAAE;AACJC,oBAAAA,QAAQ,EAAE,MAAM;AAChB/H,oBAAAA,KAAK,EAAE,MAAM;AACb,oBAAA,eAAe,EAAE;AAAEA,sBAAAA,KAAK,EAAE;AAAO;AACnC;iBACD;gBAED,IAAMgI,UAAU,GAAGP,WAAW,CAAC3F,OAAO,CAACmG,MAAM,CAAC,YAAY,EAAE;AAAElC,kBAAAA,KAAK,EAALA;AAAM,iBAAC,CAAC;gBACtE,IAAMmC,UAAU,GAAGT,WAAW,CAAC3F,OAAO,CAACmG,MAAM,CAAC,YAAY,EAAE;AAAElC,kBAAAA,KAAK,EAALA;AAAM,iBAAC,CAAC;gBACtE,IAAMoC,OAAO,GAAGV,WAAW,CAAC3F,OAAO,CAACmG,MAAM,CAAC,SAAS,EAAE;AAAElC,kBAAAA,KAAK,EAALA;AAAM,iBAAC,CAAC;AAEhEiC,gBAAAA,UAAU,CAACI,KAAK,CAAC,qBAAqB,CAAC;AACvCF,gBAAAA,UAAU,CAACE,KAAK,CAAC,qBAAqB,CAAC;AACvCD,gBAAAA,OAAO,CAACC,KAAK,CAAC,kBAAkB,CAAC;gBAEjCV,aAAa,CAAC5F,OAAO,GAAGkG,UAAU;gBAElCpG,UAAU,CAAC,IAAI,CAAC;cAClB,CAAC;cAEDa,MAAM,CAACmB,OAAO,GAAG,YAAM;gBACrBhD,SAAS,CAAC,+BAA+B,CAAC;cAC5C,CAAC;AAEDuC,cAAAA,QAAQ,CAACW,IAAI,CAACC,WAAW,CAACtB,MAAM,CAAC;AAACG,cAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA,KAAA,CAAA;AAAAF,cAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;cAAAH,EAAA,GAAAE,QAAA,CAAAI,CAAA;AAElCpC,cAAAA,SAAS,CAAC8B,EAAA,CAAIiD,OAAO,CAAC;AAAC,YAAA,KAAA,CAAA;cAAA,OAAA/C,QAAA,CAAAsB,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,QAAA,CAAA,EAAA9B,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;MAAA,CAE1B,CAAA,CAAA;AAAA,MAAA,OAAA,SApDKuF,UAAUA,GAAA;AAAA,QAAA,OAAA3F,KAAA,CAAAmC,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,MAAA,CAAA;IAAA,CAAA,EAoDf;AAEDuD,IAAAA,UAAU,EAAE;EACd,CAAC,EAAE,CAAClH,OAAO,EAAEC,MAAM,EAAEE,SAAS,CAAC,CAAC;;AAEhC;;AAEA,EAAA,IAAMyD,YAAY,gBAAA,YAAA;IAAA,IAAAC,KAAA,GAAArC,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAAG,SAAAoC,QAAAA,CAAOC,CAAC,EAAA;MAAA,IAAA6D,qBAAA,EAAApE,KAAA,EAAAqE,aAAA,EAAAjG,QAAA,EAAAwC,MAAA,EAAAC,GAAA;AAAA,MAAA,OAAA5C,YAAA,EAAA,CAAAS,CAAA,CAAA,UAAAoC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAlC,CAAA,GAAAkC,SAAA,CAAAjC,CAAA;AAAA,UAAA,KAAA,CAAA;YAC3B0B,CAAC,CAACQ,cAAc,EAAE;YAAC,IAAA,EAEf,CAACrD,OAAO,IAAI,CAAC6F,SAAS,CAAC1F,OAAO,IAAI,CAAC4F,aAAa,CAAC5F,OAAO,CAAA,EAAA;AAAAiD,cAAAA,SAAA,CAAAjC,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;YAC1DlC,SAAS,CAAC,gCAAgC,CAAC;YAAC,OAAAmE,SAAA,CAAAb,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,IAAA,CAI1C3C,YAAY,EAAA;AAAAwD,cAAAA,SAAA,CAAAjC,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;YAAA,OAAAiC,SAAA,CAAAb,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;YAEhB1C,eAAe,CAAC,IAAI,CAAC;AAACuD,YAAAA,SAAA,CAAAlC,CAAA,GAAA,CAAA;AAAAkC,YAAAA,SAAA,CAAAjC,CAAA,GAAA,CAAA;AAAA,YAAA,OAIZ0E,SAAS,CAAC1F,OAAO,CAACyG,mBAAmB,CAAC;AAC1CtB,cAAAA,IAAI,EAAE,MAAM;cACZ9B,IAAI,EAAEuC,aAAa,CAAC5F;AACtB,aAAC,CAAC;AAAA,UAAA,KAAA,CAAA;YAAAuG,qBAAA,GAAAtD,SAAA,CAAA/B,CAAA;YAJIiB,KAAK,GAAAoE,qBAAA,CAALpE,KAAK;YAAEqE,aAAa,GAAAD,qBAAA,CAAbC,aAAa;YAAA,IAAA,EAMxBrE,KAAK,IAAI,EAACqE,aAAa,aAAbA,aAAa,KAAA,MAAA,IAAbA,aAAa,CAAEpD,EAAE,CAAA,CAAA,EAAA;AAAAH,cAAAA,SAAA,CAAAjC,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;YAC7BlC,SAAS,CAAC,CAAAqD,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAE0B,OAAO,KAAI,2BAA2B,CAAC;YAAC,OAAAZ,SAAA,CAAAb,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAAAa,YAAAA,SAAA,CAAAjC,CAAA,GAAA,CAAA;YAAA,OAIpCC,KAAK,IAAAsC,MAAA,CAAI5E,OAAO,EAAA,SAAA,CAAA,CAAA4E,MAAA,CAAU3E,MAAM,CAAA,EAAI;AACzD4E,cAAAA,MAAM,EAAE,MAAM;AACdC,cAAAA,OAAO,EAAE;AAAE,gBAAA,cAAc,EAAE;eAAoB;AAC/CzB,cAAAA,IAAI,EAAE0B,IAAI,CAACC,SAAS,CAAC;gBACnBC,OAAO,EAAE4C,aAAa,CAACpD,EAAE;AACzBpF,gBAAAA,MAAM,EAANA,MAAM;AACNC,gBAAAA,QAAQ,EAARA,QAAQ;AACRc,gBAAAA,WAAW,EAAXA;eACD;AACH,aAAC,CAAC;AAAA,UAAA,KAAA,CAAA;YATIwB,QAAQ,GAAA0C,SAAA,CAAA/B,CAAA;AAAA+B,YAAAA,SAAA,CAAAjC,CAAA,GAAA,CAAA;AAAA,YAAA,OAWOT,QAAQ,CAACa,IAAI,EAAE;AAAA,UAAA,KAAA,CAAA;YAA9B2B,MAAM,GAAAE,SAAA,CAAA/B,CAAA;YAAA,IAEPX,QAAQ,CAACY,EAAE,EAAA;AAAA8B,cAAAA,SAAA,CAAAjC,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;YACdlC,SAAS,CAACiE,MAAM,CAAC;YAAC,OAAAE,SAAA,CAAAb,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAIpBvD,YAAAA,WAAW,CAACkE,MAAM,CAACc,OAAO,CAAC;AAACZ,YAAAA,SAAA,CAAAjC,CAAA,GAAA,EAAA;AAAA,YAAA;AAAA,UAAA,KAAA,CAAA;AAAAiC,YAAAA,SAAA,CAAAlC,CAAA,GAAA,CAAA;YAAAiC,GAAA,GAAAC,SAAA,CAAA/B,CAAA;AAE5BpC,YAAAA,SAAS,CAACkE,GAAA,CAAIa,OAAO,CAAC;AAAC,UAAA,KAAA,EAAA;AAAAZ,YAAAA,SAAA,CAAAlC,CAAA,GAAA,EAAA;YAEvBrB,eAAe,CAAC,KAAK,CAAC;YAAC,OAAAuD,SAAA,CAAAa,CAAA,CAAA,EAAA,CAAA;AAAA,UAAA,KAAA,EAAA;YAAA,OAAAb,SAAA,CAAAb,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,MAAA,CAAA,EAAAK,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA;IAAA,CAE1B,CAAA,CAAA;IAAA,OAAA,SAhDKF,YAAYA,CAAAwB,EAAA,EAAA;AAAA,MAAA,OAAAvB,KAAA,CAAAH,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EAgDjB;;AAED;;EAEA,oBACE0B,KAAA,CAAA1C,aAAA,CAAA,KAAA,EAAA;AAAK2C,IAAAA,KAAK,EAAE;AAAEC,MAAAA,OAAO,EAAE,MAAM;AAAEC,MAAAA,cAAc,EAAE,QAAQ;AAAEC,MAAAA,KAAK,EAAE;AAAO;GAAE,eACvEJ,KAAA,CAAA1C,aAAA,CAAA,MAAA,EAAA;AACEiD,IAAAA,QAAQ,EAAEhC,YAAa;AACvB0B,IAAAA,KAAK,EAAE;AACLC,MAAAA,OAAO,EAAE,MAAM;AACfM,MAAAA,GAAG,EAAE,MAAM;AACXC,MAAAA,OAAO,EAAE,MAAM;AACfC,MAAAA,eAAe,EAAElG,mBAAmB;AACpCmG,MAAAA,YAAY,EAAErG,gBAAgB;AAC9B8F,MAAAA,KAAK,EAAEhG,SAAS;AAChBiG,MAAAA,SAAS,EAAE,YAAY;AACvBU,MAAAA,SAAS,EAAE;AACb;GAAE,eAGFf,KAAA,CAAA1C,aAAA,CAAA,KAAA,EAAA;AAAK2C,IAAAA,KAAK,EAAE;AAAEC,MAAAA,OAAO,EAAE,MAAM;AAAEM,MAAAA,GAAG,EAAE;AAAM;GAAE,eAC1CR,KAAA,CAAA1C,aAAA,CAAA,OAAA,EAAA;AAAO2C,IAAAA,KAAK,EAAE;AAAEW,MAAAA,UAAU,EAAE,GAAG;AAAE1G,MAAAA,KAAK,EAAE;AAAO;AAAE,GAAA,EAAC,aAE3C,CAAC,eACR8F,KAAA,CAAA1C,aAAA,CAAA,KAAA,EAAA;AACE8B,IAAAA,EAAE,EAAC,oBAAoB;AACvBa,IAAAA,KAAK,EAAE;AACLQ,MAAAA,OAAO,EAAE/F,YAAY;AACrBiG,MAAAA,YAAY,EAAE,CAAC;AACfG,MAAAA,MAAM,EAAE,gBAAgB;AACxB4B,MAAAA,UAAU,EAAE;AACd;AAAE,GACH,CACE,CAAC,eAGN1C,KAAA,CAAA1C,aAAA,CAAA,KAAA,EAAA;AACE2C,IAAAA,KAAK,EAAE;AACLC,MAAAA,OAAO,EAAE,MAAM;AACfc,MAAAA,mBAAmB,EAAE,SAAS;AAC9BR,MAAAA,GAAG,EAAE;AACP;GAAE,eAEFR,KAAA,CAAA1C,aAAA,CAAA,KAAA,EAAA;AAAK2C,IAAAA,KAAK,EAAE;AAAEC,MAAAA,OAAO,EAAE,MAAM;AAAEM,MAAAA,GAAG,EAAE;AAAM;GAAE,eAC1CR,KAAA,CAAA1C,aAAA,CAAA,OAAA,EAAA;AAAO2C,IAAAA,KAAK,EAAE;AAAEW,MAAAA,UAAU,EAAE,GAAG;AAAE1G,MAAAA,KAAK,EAAE;AAAO;AAAE,GAAA,EAAC,QAE3C,CAAC,eACR8F,KAAA,CAAA1C,aAAA,CAAA,KAAA,EAAA;AACE8B,IAAAA,EAAE,EAAC,oBAAoB;AACvBa,IAAAA,KAAK,EAAE;AACLQ,MAAAA,OAAO,EAAE/F,YAAY;AACrBiG,MAAAA,YAAY,EAAE,CAAC;AACfG,MAAAA,MAAM,EAAE,gBAAgB;AACxB4B,MAAAA,UAAU,EAAE;AACd;AAAE,GACH,CACE,CAAC,eAEN1C,KAAA,CAAA1C,aAAA,CAAA,KAAA,EAAA;AAAK2C,IAAAA,KAAK,EAAE;AAAEC,MAAAA,OAAO,EAAE,MAAM;AAAEM,MAAAA,GAAG,EAAE;AAAM;GAAE,eAC1CR,KAAA,CAAA1C,aAAA,CAAA,OAAA,EAAA;AAAO2C,IAAAA,KAAK,EAAE;AAAEW,MAAAA,UAAU,EAAE,GAAG;AAAE1G,MAAAA,KAAK,EAAE;AAAO;AAAE,GAAA,EAAC,KAE3C,CAAC,eACR8F,KAAA,CAAA1C,aAAA,CAAA,KAAA,EAAA;AACE8B,IAAAA,EAAE,EAAC,iBAAiB;AACpBa,IAAAA,KAAK,EAAE;AACLQ,MAAAA,OAAO,EAAE/F,YAAY;AACrBiG,MAAAA,YAAY,EAAE,CAAC;AACfG,MAAAA,MAAM,EAAE,gBAAgB;AACxB4B,MAAAA,UAAU,EAAE;AACd;AAAE,GACH,CACE,CACF,CAAC,eAGN1C,KAAA,CAAA1C,aAAA,CAAA,QAAA,EAAA;AACE6D,IAAAA,IAAI,EAAC,QAAQ;AACbC,IAAAA,QAAQ,EAAE,CAACvF,OAAO,IAAIJ,YAAa;AACnCwE,IAAAA,KAAK,EAAE;AACLgB,MAAAA,SAAS,EAAE,MAAM;MACjBR,OAAO,EAAE/F,YAAY,GAAG,CAAC;AACzBgG,MAAAA,eAAe,EAAExG,KAAK;AACtBA,MAAAA,KAAK,EAAE,OAAO;AACd4G,MAAAA,MAAM,EAAE,MAAM;AACdH,MAAAA,YAAY,EAAErG,gBAAgB;AAC9BsG,MAAAA,UAAU,EAAE,GAAG;MACfS,MAAM,EAAE,CAACxF,OAAO,IAAIJ,YAAY,GAAG,aAAa,GAAG,SAAS;AAC5D6F,MAAAA,OAAO,EAAE,CAACzF,OAAO,IAAIJ,YAAY,GAAG,GAAG,GAAG;AAC5C;AAAE,GAAA,EAEDA,YAAY,GAAG,eAAe,GAAG,SAC5B,CACJ,CACH,CAAC;AAEV;;;;;"}
|
package/dist/index.esm.js
CHANGED
|
@@ -455,7 +455,8 @@ function StripePaymentForm(_ref) {
|
|
|
455
455
|
var amount = _ref.amount,
|
|
456
456
|
_ref$currency = _ref.currency,
|
|
457
457
|
currency = _ref$currency === void 0 ? "usd" : _ref$currency,
|
|
458
|
-
color = _ref.color,
|
|
458
|
+
_ref$color = _ref.color,
|
|
459
|
+
color = _ref$color === void 0 ? "#556cd6" : _ref$color,
|
|
459
460
|
_ref$formwidth = _ref.formwidth,
|
|
460
461
|
formwidth = _ref$formwidth === void 0 ? 400 : _ref$formwidth,
|
|
461
462
|
_ref$formborderRadius = _ref.formborderRadius,
|
|
@@ -472,7 +473,7 @@ function StripePaymentForm(_ref) {
|
|
|
472
473
|
var initializedRef = useRef(false);
|
|
473
474
|
var stripeRef = useRef(null);
|
|
474
475
|
var elementsRef = useRef(null);
|
|
475
|
-
var
|
|
476
|
+
var cardNumberRef = useRef(null);
|
|
476
477
|
var _useState = useState(false),
|
|
477
478
|
_useState2 = _slicedToArray(_useState, 2),
|
|
478
479
|
isSubmitting = _useState2[0],
|
|
@@ -481,6 +482,9 @@ function StripePaymentForm(_ref) {
|
|
|
481
482
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
482
483
|
isReady = _useState4[0],
|
|
483
484
|
setIsReady = _useState4[1];
|
|
485
|
+
|
|
486
|
+
/* ================= INITIALIZE STRIPE ================= */
|
|
487
|
+
|
|
484
488
|
useEffect(function () {
|
|
485
489
|
if (initializedRef.current) return;
|
|
486
490
|
initializedRef.current = true;
|
|
@@ -502,26 +506,40 @@ function StripePaymentForm(_ref) {
|
|
|
502
506
|
_yield$response$json = _context.v;
|
|
503
507
|
publicKeys = _yield$response$json.publicKeys;
|
|
504
508
|
if (!publicKeys) errorPage("Public key is empty");
|
|
509
|
+
|
|
510
|
+
/* Load Stripe script */
|
|
505
511
|
script = document.createElement("script");
|
|
506
512
|
script.src = "https://js.stripe.com/v3/";
|
|
507
513
|
script.async = true;
|
|
508
514
|
script.onload = function () {
|
|
509
|
-
if (!window.Stripe)
|
|
515
|
+
if (!window.Stripe) {
|
|
516
|
+
errorPage("Stripe failed to initialize.");
|
|
517
|
+
return;
|
|
518
|
+
}
|
|
510
519
|
stripeRef.current = window.Stripe(publicKeys);
|
|
511
520
|
elementsRef.current = stripeRef.current.elements();
|
|
512
|
-
var
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
"
|
|
518
|
-
color: "#aaa"
|
|
519
|
-
}
|
|
521
|
+
var style = {
|
|
522
|
+
base: {
|
|
523
|
+
fontSize: "15px",
|
|
524
|
+
color: "#111",
|
|
525
|
+
"::placeholder": {
|
|
526
|
+
color: "#aaa"
|
|
520
527
|
}
|
|
521
528
|
}
|
|
529
|
+
};
|
|
530
|
+
var cardNumber = elementsRef.current.create("cardNumber", {
|
|
531
|
+
style: style
|
|
522
532
|
});
|
|
523
|
-
|
|
524
|
-
|
|
533
|
+
var cardExpiry = elementsRef.current.create("cardExpiry", {
|
|
534
|
+
style: style
|
|
535
|
+
});
|
|
536
|
+
var cardCvc = elementsRef.current.create("cardCvc", {
|
|
537
|
+
style: style
|
|
538
|
+
});
|
|
539
|
+
cardNumber.mount("#stripe-card-number");
|
|
540
|
+
cardExpiry.mount("#stripe-card-expiry");
|
|
541
|
+
cardCvc.mount("#stripe-card-cvc");
|
|
542
|
+
cardNumberRef.current = cardNumber;
|
|
525
543
|
setIsReady(true);
|
|
526
544
|
};
|
|
527
545
|
script.onerror = function () {
|
|
@@ -545,6 +563,9 @@ function StripePaymentForm(_ref) {
|
|
|
545
563
|
}();
|
|
546
564
|
initStripe();
|
|
547
565
|
}, [baseUrl, userId, errorPage]);
|
|
566
|
+
|
|
567
|
+
/* ================= SUBMIT ================= */
|
|
568
|
+
|
|
548
569
|
var handleSubmit = /*#__PURE__*/function () {
|
|
549
570
|
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(e) {
|
|
550
571
|
var _yield$stripeRef$curr, error, paymentMethod, response, result, _t2;
|
|
@@ -552,7 +573,7 @@ function StripePaymentForm(_ref) {
|
|
|
552
573
|
while (1) switch (_context2.p = _context2.n) {
|
|
553
574
|
case 0:
|
|
554
575
|
e.preventDefault();
|
|
555
|
-
if (!(!isReady || !stripeRef.current || !
|
|
576
|
+
if (!(!isReady || !stripeRef.current || !cardNumberRef.current)) {
|
|
556
577
|
_context2.n = 1;
|
|
557
578
|
break;
|
|
558
579
|
}
|
|
@@ -570,7 +591,7 @@ function StripePaymentForm(_ref) {
|
|
|
570
591
|
_context2.n = 4;
|
|
571
592
|
return stripeRef.current.createPaymentMethod({
|
|
572
593
|
type: "card",
|
|
573
|
-
card:
|
|
594
|
+
card: cardNumberRef.current
|
|
574
595
|
});
|
|
575
596
|
case 4:
|
|
576
597
|
_yield$stripeRef$curr = _context2.v;
|
|
@@ -629,6 +650,9 @@ function StripePaymentForm(_ref) {
|
|
|
629
650
|
return _ref3.apply(this, arguments);
|
|
630
651
|
};
|
|
631
652
|
}();
|
|
653
|
+
|
|
654
|
+
/* ================= UI ================= */
|
|
655
|
+
|
|
632
656
|
return /*#__PURE__*/React.createElement("div", {
|
|
633
657
|
style: {
|
|
634
658
|
display: "flex",
|
|
@@ -639,43 +663,85 @@ function StripePaymentForm(_ref) {
|
|
|
639
663
|
onSubmit: handleSubmit,
|
|
640
664
|
style: {
|
|
641
665
|
display: "grid",
|
|
642
|
-
gap: "
|
|
666
|
+
gap: "14px",
|
|
643
667
|
padding: "20px",
|
|
644
668
|
backgroundColor: formbackgroundColor,
|
|
645
669
|
borderRadius: formborderRadius,
|
|
646
670
|
width: formwidth,
|
|
647
|
-
boxSizing: "border-box"
|
|
671
|
+
boxSizing: "border-box",
|
|
672
|
+
boxShadow: "0 2px 6px rgba(0,0,0,0.08)"
|
|
648
673
|
}
|
|
649
674
|
}, /*#__PURE__*/React.createElement("div", {
|
|
650
675
|
style: {
|
|
651
676
|
display: "grid",
|
|
652
|
-
gap: "
|
|
677
|
+
gap: "6px"
|
|
653
678
|
}
|
|
654
679
|
}, /*#__PURE__*/React.createElement("label", {
|
|
655
680
|
style: {
|
|
656
|
-
fontWeight:
|
|
681
|
+
fontWeight: 500,
|
|
657
682
|
color: "#555"
|
|
658
683
|
}
|
|
659
|
-
}, "Card
|
|
660
|
-
id: "stripe-card-
|
|
684
|
+
}, "Card number"), /*#__PURE__*/React.createElement("div", {
|
|
685
|
+
id: "stripe-card-number",
|
|
661
686
|
style: {
|
|
662
687
|
padding: inputpadding,
|
|
663
|
-
borderRadius:
|
|
688
|
+
borderRadius: 8,
|
|
664
689
|
border: "1px solid #ccc",
|
|
665
|
-
|
|
690
|
+
background: "#fff"
|
|
691
|
+
}
|
|
692
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
693
|
+
style: {
|
|
694
|
+
display: "grid",
|
|
695
|
+
gridTemplateColumns: "1fr 1fr",
|
|
696
|
+
gap: "10px"
|
|
697
|
+
}
|
|
698
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
699
|
+
style: {
|
|
700
|
+
display: "grid",
|
|
701
|
+
gap: "6px"
|
|
666
702
|
}
|
|
667
|
-
}
|
|
703
|
+
}, /*#__PURE__*/React.createElement("label", {
|
|
704
|
+
style: {
|
|
705
|
+
fontWeight: 500,
|
|
706
|
+
color: "#555"
|
|
707
|
+
}
|
|
708
|
+
}, "Expiry"), /*#__PURE__*/React.createElement("div", {
|
|
709
|
+
id: "stripe-card-expiry",
|
|
710
|
+
style: {
|
|
711
|
+
padding: inputpadding,
|
|
712
|
+
borderRadius: 8,
|
|
713
|
+
border: "1px solid #ccc",
|
|
714
|
+
background: "#fff"
|
|
715
|
+
}
|
|
716
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
717
|
+
style: {
|
|
718
|
+
display: "grid",
|
|
719
|
+
gap: "6px"
|
|
720
|
+
}
|
|
721
|
+
}, /*#__PURE__*/React.createElement("label", {
|
|
722
|
+
style: {
|
|
723
|
+
fontWeight: 500,
|
|
724
|
+
color: "#555"
|
|
725
|
+
}
|
|
726
|
+
}, "CVC"), /*#__PURE__*/React.createElement("div", {
|
|
727
|
+
id: "stripe-card-cvc",
|
|
728
|
+
style: {
|
|
729
|
+
padding: inputpadding,
|
|
730
|
+
borderRadius: 8,
|
|
731
|
+
border: "1px solid #ccc",
|
|
732
|
+
background: "#fff"
|
|
733
|
+
}
|
|
734
|
+
}))), /*#__PURE__*/React.createElement("button", {
|
|
668
735
|
type: "submit",
|
|
669
736
|
disabled: !isReady || isSubmitting,
|
|
670
737
|
style: {
|
|
671
|
-
marginTop: "
|
|
672
|
-
width: "100%",
|
|
738
|
+
marginTop: "10px",
|
|
673
739
|
padding: inputpadding + 2,
|
|
674
740
|
backgroundColor: color,
|
|
675
741
|
color: "white",
|
|
676
742
|
border: "none",
|
|
677
743
|
borderRadius: formborderRadius,
|
|
678
|
-
fontWeight:
|
|
744
|
+
fontWeight: 600,
|
|
679
745
|
cursor: !isReady || isSubmitting ? "not-allowed" : "pointer",
|
|
680
746
|
opacity: !isReady || isSubmitting ? 0.7 : 1
|
|
681
747
|
}
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/ShiftPaymentForm.jsx","../src/StripePaymentForm.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\n\nexport default function ShiftPaymentForm({ amount, currency, color, formwidth = 400, formborderRadius = 20, formbackgroundColor = \"#fff\", inputpadding = 12, baseUrl, userId, successPage, errorPage, description }) {\n const formRef = useRef();\n const initializedRef = useRef(false);\n const shift4Ref = useRef(null);\n const componentsRef = useRef(null);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [isReady, setIsReady] = useState(false);\n\n\n useEffect(() => {\n if (initializedRef.current) return;\n initializedRef.current = true;\n\n const initPayment = async () => {\n try {\n const response = await fetch(baseUrl + userId);\n if (!response.ok) errorPage(\"Failed to fetch public key\");\n\n const { publicKeys,isProd } = await response.json();\n if (!publicKeys) errorPage(\"Public key is empty\");\n\n const script = document.createElement(\"script\");\n script.src = isProd ? \"https://js.shift4.com/shift4.js\" : \"https://js.dev.shift4.com/shift4.js\";\n script.async = true;\n\n script.onload = () => {\n if (!window.Shift4) return;\n\n shift4Ref.current = window.Shift4(publicKeys);\n\n componentsRef.current = shift4Ref.current\n .createComponentGroup()\n .automount(\"#payment-form\");\n setIsReady(true);\n };\n\n script.onerror = () => {\n setError(\"Payment provider script failed to load.\");\n };\n\n document.body.appendChild(script);\n } catch (err) {\n console.error(err);\n setError(\"Payment initialization failed. Please try again.\");\n }\n };\n\n initPayment();\n }, []);\n\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n\n if (isSubmitting) return;\n if (!formRef.current) return;\n\n if (!shift4Ref.current || !componentsRef.current) {\n errorPage(\"Payment form is not ready yet. Please try again.\");\n return;\n }\n\n setIsSubmitting(true);\n\n try {\n const token = await shift4Ref.current.createToken(componentsRef.current);\n if (!token?.id) {\n errorPage(\"Card tokenization failed. Please check your details and try again.\");\n }\n\n const request = {\n amount: amount,\n currency: currency,\n card: token.id,\n description\n };\n\n const threeDSecureToken = await shift4Ref.current.verifyThreeDSecure(request);\n if (!threeDSecureToken?.id) {\n errorPage(\"3D Secure verification failed. Please try again.\");\n }\n\n const apiBase = baseUrl + \"charge/\" + userId;\n const response = await fetch(`${apiBase}`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n tokenId: threeDSecureToken.id,\n amount: request.amount,\n currency: request.currency,\n description\n }),\n });\n const result = await response.json();\n if (!response.ok) {\n if (typeof errorPage === \"function\")\n errorPage(result);\n return;\n }\n\n if (typeof successPage === \"function\")\n successPage(result.message);\n \n \n\n\n\n } catch (err) {\n if (typeof errorPage === \"function\")\n errorPage(err.message);\n } finally {\n setIsSubmitting(false);\n\n\n\n }\n };\n\n return (\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n width: \"100%\",\n boxSizing: \"border-box\"\n }}\n >\n <form\n ref={formRef}\n id=\"payment-form\"\n onSubmit={handleSubmit}\n method=\"post\"\n style={{\n display: \"grid\",\n gap: \"12px\",\n padding: \"20px\",\n backgroundColor: formbackgroundColor,\n borderRadius: formborderRadius,\n width: formwidth,\n boxSizing: \"border-box\"\n }}\n >\n\n\n <div style={{ display: \"grid\", gap: \"8px\" }}>\n <label style={{ fontWeight: \"500\", color: \"#555\" }}>Card number</label>\n <div\n data-shift4=\"number\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"10px\", marginTop: \"5px\" }}>\n <div>\n <label style={{ fontWeight: \"500\", color: \"#555\", marginBottom: 2 }}>Expiration</label>\n <div\n data-shift4=\"expiry\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n <div>\n <label style={{ fontWeight: \"500\", color: \"#555\", marginBottom: 2 }}>CVC</label>\n <div\n data-shift4=\"cvc\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n </div>\n\n <button\n type=\"submit\"\n disabled={!isReady || isSubmitting}\n style={{\n marginTop: \"16px\",\n width: \"100%\",\n padding: inputpadding + 2,\n backgroundColor: color,\n color: \"white\",\n border: \"none\",\n borderRadius: formborderRadius,\n fontWeight: \"600\",\n cursor: !isReady || isSubmitting ? \"not-allowed\" : \"pointer\",\n opacity: !isReady || isSubmitting ? 0.7 : 1\n }}\n >\n {isSubmitting ? \"Processing...\" : \"Buy now\"}\n </button>\n </form>\n </div>\n );\n}\n","import React, { useEffect, useRef, useState } from \"react\";\n\nexport default function StripePaymentForm({\n amount,\n currency = \"usd\",\n color,\n formwidth = 400,\n formborderRadius = 20,\n formbackgroundColor = \"#fff\",\n inputpadding = 12,\n baseUrl,\n userId,\n successPage,\n errorPage,\n description,\n}) {\n const initializedRef = useRef(false);\n const stripeRef = useRef(null);\n const elementsRef = useRef(null);\n const cardRef = useRef(null);\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [isReady, setIsReady] = useState(false);\n\n useEffect(() => {\n if (initializedRef.current) return;\n initializedRef.current = true;\n\n const initStripe = async () => {\n try {\n const response = await fetch(baseUrl + userId);\n if (!response.ok) errorPage(\"Failed to fetch public key\");\n\n const { publicKeys } = await response.json();\n if (!publicKeys) errorPage(\"Public key is empty\");\n\n const script = document.createElement(\"script\");\n script.src = \"https://js.stripe.com/v3/\";\n script.async = true;\n\n script.onload = () => {\n if (!window.Stripe) return;\n\n stripeRef.current = window.Stripe(publicKeys);\n\n elementsRef.current = stripeRef.current.elements();\n\n const card = elementsRef.current.create(\"card\", {\n style: {\n base: {\n fontSize: \"15px\",\n color: \"#111\",\n \"::placeholder\": { color: \"#aaa\" },\n },\n },\n });\n\n card.mount(\"#stripe-card-element\");\n cardRef.current = card;\n\n setIsReady(true);\n };\n\n script.onerror = () => {\n errorPage(\"Stripe script failed to load.\");\n };\n\n document.body.appendChild(script);\n } catch (err) {\n errorPage(err.message);\n }\n };\n\n initStripe();\n }, [baseUrl, userId, errorPage]);\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n\n if (!isReady || !stripeRef.current || !cardRef.current) {\n errorPage(\"Payment form is not ready yet.\");\n return;\n }\n\n if (isSubmitting) return;\n\n setIsSubmitting(true);\n\n try {\n const { error, paymentMethod } =\n await stripeRef.current.createPaymentMethod({\n type: \"card\",\n card: cardRef.current,\n });\n\n if (error || !paymentMethod?.id) {\n errorPage(error?.message || \"Card tokenization failed.\");\n return;\n }\n\n const response = await fetch(`${baseUrl}charge/${userId}`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n tokenId: paymentMethod.id,\n amount,\n currency,\n description,\n }),\n });\n\n const result = await response.json();\n\n if (!response.ok) {\n errorPage(result);\n return;\n }\n\n successPage(result.message);\n } catch (err) {\n errorPage(err.message);\n } finally {\n setIsSubmitting(false);\n }\n };\n\n return (\n <div style={{ display: \"flex\", justifyContent: \"center\", width: \"100%\" }}>\n <form\n onSubmit={handleSubmit}\n style={{\n display: \"grid\",\n gap: \"12px\",\n padding: \"20px\",\n backgroundColor: formbackgroundColor,\n borderRadius: formborderRadius,\n width: formwidth,\n boxSizing: \"border-box\",\n }}\n >\n <div style={{ display: \"grid\", gap: \"8px\" }}>\n <label style={{ fontWeight: \"500\", color: \"#555\" }}>\n Card details\n </label>\n <div\n id=\"stripe-card-element\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\",\n }}\n />\n </div>\n\n <button\n type=\"submit\"\n disabled={!isReady || isSubmitting}\n style={{\n marginTop: \"16px\",\n width: \"100%\",\n padding: inputpadding + 2,\n backgroundColor: color,\n color: \"white\",\n border: \"none\",\n borderRadius: formborderRadius,\n fontWeight: \"600\",\n cursor: !isReady || isSubmitting ? \"not-allowed\" : \"pointer\",\n opacity: !isReady || isSubmitting ? 0.7 : 1,\n }}\n >\n {isSubmitting ? \"Processing...\" : \"Buy now\"}\n </button>\n </form>\n </div>\n );\n}"],"names":["ShiftPaymentForm","_ref","amount","currency","color","_ref$formwidth","formwidth","_ref$formborderRadius","formborderRadius","_ref$formbackgroundCo","formbackgroundColor","_ref$inputpadding","inputpadding","baseUrl","userId","successPage","errorPage","description","formRef","useRef","initializedRef","shift4Ref","componentsRef","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","_useState3","_useState4","isReady","setIsReady","useEffect","current","initPayment","_ref2","_asyncToGenerator","_regenerator","m","_callee","response","_yield$response$json","publicKeys","isProd","script","_t","w","_context","p","n","fetch","v","ok","json","document","createElement","src","async","onload","window","Shift4","createComponentGroup","automount","onerror","setError","body","appendChild","console","error","a","apply","arguments","handleSubmit","_ref3","_callee2","e","token","request","threeDSecureToken","apiBase","result","_t2","_context2","preventDefault","createToken","id","card","verifyThreeDSecure","concat","method","headers","JSON","stringify","tokenId","message","f","_x","React","style","display","justifyContent","width","boxSizing","ref","onSubmit","gap","padding","backgroundColor","borderRadius","fontWeight","className","border","boxShadow","gridTemplateColumns","marginTop","marginBottom","type","disabled","cursor","opacity","StripePaymentForm","_ref$currency","stripeRef","elementsRef","cardRef","initStripe","Stripe","elements","create","base","fontSize","mount","_yield$stripeRef$curr","paymentMethod","createPaymentMethod"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/ShiftPaymentForm.jsx","../src/StripePaymentForm.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\n\nexport default function ShiftPaymentForm({ amount, currency, color, formwidth = 400, formborderRadius = 20, formbackgroundColor = \"#fff\", inputpadding = 12, baseUrl, userId, successPage, errorPage, description }) {\n const formRef = useRef();\n const initializedRef = useRef(false);\n const shift4Ref = useRef(null);\n const componentsRef = useRef(null);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [isReady, setIsReady] = useState(false);\n\n\n useEffect(() => {\n if (initializedRef.current) return;\n initializedRef.current = true;\n\n const initPayment = async () => {\n try {\n const response = await fetch(baseUrl + userId);\n if (!response.ok) errorPage(\"Failed to fetch public key\");\n\n const { publicKeys,isProd } = await response.json();\n if (!publicKeys) errorPage(\"Public key is empty\");\n\n const script = document.createElement(\"script\");\n script.src = isProd ? \"https://js.shift4.com/shift4.js\" : \"https://js.dev.shift4.com/shift4.js\";\n script.async = true;\n\n script.onload = () => {\n if (!window.Shift4) return;\n\n shift4Ref.current = window.Shift4(publicKeys);\n\n componentsRef.current = shift4Ref.current\n .createComponentGroup()\n .automount(\"#payment-form\");\n setIsReady(true);\n };\n\n script.onerror = () => {\n setError(\"Payment provider script failed to load.\");\n };\n\n document.body.appendChild(script);\n } catch (err) {\n console.error(err);\n setError(\"Payment initialization failed. Please try again.\");\n }\n };\n\n initPayment();\n }, []);\n\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n\n if (isSubmitting) return;\n if (!formRef.current) return;\n\n if (!shift4Ref.current || !componentsRef.current) {\n errorPage(\"Payment form is not ready yet. Please try again.\");\n return;\n }\n\n setIsSubmitting(true);\n\n try {\n const token = await shift4Ref.current.createToken(componentsRef.current);\n if (!token?.id) {\n errorPage(\"Card tokenization failed. Please check your details and try again.\");\n }\n\n const request = {\n amount: amount,\n currency: currency,\n card: token.id,\n description\n };\n\n const threeDSecureToken = await shift4Ref.current.verifyThreeDSecure(request);\n if (!threeDSecureToken?.id) {\n errorPage(\"3D Secure verification failed. Please try again.\");\n }\n\n const apiBase = baseUrl + \"charge/\" + userId;\n const response = await fetch(`${apiBase}`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n tokenId: threeDSecureToken.id,\n amount: request.amount,\n currency: request.currency,\n description\n }),\n });\n const result = await response.json();\n if (!response.ok) {\n if (typeof errorPage === \"function\")\n errorPage(result);\n return;\n }\n\n if (typeof successPage === \"function\")\n successPage(result.message);\n \n \n\n\n\n } catch (err) {\n if (typeof errorPage === \"function\")\n errorPage(err.message);\n } finally {\n setIsSubmitting(false);\n\n\n\n }\n };\n\n return (\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n width: \"100%\",\n boxSizing: \"border-box\"\n }}\n >\n <form\n ref={formRef}\n id=\"payment-form\"\n onSubmit={handleSubmit}\n method=\"post\"\n style={{\n display: \"grid\",\n gap: \"12px\",\n padding: \"20px\",\n backgroundColor: formbackgroundColor,\n borderRadius: formborderRadius,\n width: formwidth,\n boxSizing: \"border-box\"\n }}\n >\n\n\n <div style={{ display: \"grid\", gap: \"8px\" }}>\n <label style={{ fontWeight: \"500\", color: \"#555\" }}>Card number</label>\n <div\n data-shift4=\"number\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"10px\", marginTop: \"5px\" }}>\n <div>\n <label style={{ fontWeight: \"500\", color: \"#555\", marginBottom: 2 }}>Expiration</label>\n <div\n data-shift4=\"expiry\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n <div>\n <label style={{ fontWeight: \"500\", color: \"#555\", marginBottom: 2 }}>CVC</label>\n <div\n data-shift4=\"cvc\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n </div>\n\n <button\n type=\"submit\"\n disabled={!isReady || isSubmitting}\n style={{\n marginTop: \"16px\",\n width: \"100%\",\n padding: inputpadding + 2,\n backgroundColor: color,\n color: \"white\",\n border: \"none\",\n borderRadius: formborderRadius,\n fontWeight: \"600\",\n cursor: !isReady || isSubmitting ? \"not-allowed\" : \"pointer\",\n opacity: !isReady || isSubmitting ? 0.7 : 1\n }}\n >\n {isSubmitting ? \"Processing...\" : \"Buy now\"}\n </button>\n </form>\n </div>\n );\n}\n","import React, { useEffect, useRef, useState } from \"react\";\n\nexport default function StripePaymentForm({\n amount,\n currency = \"usd\",\n color = \"#556cd6\",\n formwidth = 400,\n formborderRadius = 20,\n formbackgroundColor = \"#fff\",\n inputpadding = 12,\n baseUrl,\n userId,\n successPage,\n errorPage,\n description,\n}) {\n const initializedRef = useRef(false);\n const stripeRef = useRef(null);\n const elementsRef = useRef(null);\n const cardNumberRef = useRef(null);\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [isReady, setIsReady] = useState(false);\n\n /* ================= INITIALIZE STRIPE ================= */\n\n useEffect(() => {\n if (initializedRef.current) return;\n initializedRef.current = true;\n\n const initStripe = async () => {\n try {\n const response = await fetch(baseUrl + userId);\n if (!response.ok) errorPage(\"Failed to fetch public key\");\n\n const { publicKeys } = await response.json();\n if (!publicKeys) errorPage(\"Public key is empty\");\n \n\n /* Load Stripe script */\n const script = document.createElement(\"script\");\n script.src = \"https://js.stripe.com/v3/\";\n script.async = true;\n\n script.onload = () => {\n if (!window.Stripe) {\n errorPage(\"Stripe failed to initialize.\");\n return;\n }\n\n stripeRef.current = window.Stripe(publicKeys);\n elementsRef.current = stripeRef.current.elements();\n\n const style = {\n base: {\n fontSize: \"15px\",\n color: \"#111\",\n \"::placeholder\": { color: \"#aaa\" },\n },\n };\n\n const cardNumber = elementsRef.current.create(\"cardNumber\", { style });\n const cardExpiry = elementsRef.current.create(\"cardExpiry\", { style });\n const cardCvc = elementsRef.current.create(\"cardCvc\", { style });\n\n cardNumber.mount(\"#stripe-card-number\");\n cardExpiry.mount(\"#stripe-card-expiry\");\n cardCvc.mount(\"#stripe-card-cvc\");\n\n cardNumberRef.current = cardNumber;\n\n setIsReady(true);\n };\n\n script.onerror = () => {\n errorPage(\"Stripe script failed to load.\");\n };\n\n document.body.appendChild(script);\n } catch (err) {\n errorPage(err.message);\n }\n };\n\n initStripe();\n }, [baseUrl, userId, errorPage]);\n\n /* ================= SUBMIT ================= */\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n\n if (!isReady || !stripeRef.current || !cardNumberRef.current) {\n errorPage(\"Payment form is not ready yet.\");\n return;\n }\n\n if (isSubmitting) return;\n\n setIsSubmitting(true);\n\n try {\n const { error, paymentMethod } =\n await stripeRef.current.createPaymentMethod({\n type: \"card\",\n card: cardNumberRef.current,\n });\n\n if (error || !paymentMethod?.id) {\n errorPage(error?.message || \"Card tokenization failed.\");\n return;\n }\n\n const response = await fetch(`${baseUrl}charge/${userId}`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n tokenId: paymentMethod.id,\n amount,\n currency,\n description,\n }),\n });\n\n const result = await response.json();\n\n if (!response.ok) {\n errorPage(result);\n return;\n }\n\n successPage(result.message);\n } catch (err) {\n errorPage(err.message);\n } finally {\n setIsSubmitting(false);\n }\n };\n\n /* ================= UI ================= */\n\n return (\n <div style={{ display: \"flex\", justifyContent: \"center\", width: \"100%\" }}>\n <form\n onSubmit={handleSubmit}\n style={{\n display: \"grid\",\n gap: \"14px\",\n padding: \"20px\",\n backgroundColor: formbackgroundColor,\n borderRadius: formborderRadius,\n width: formwidth,\n boxSizing: \"border-box\",\n boxShadow: \"0 2px 6px rgba(0,0,0,0.08)\",\n }}\n >\n {/* Card Number */}\n <div style={{ display: \"grid\", gap: \"6px\" }}>\n <label style={{ fontWeight: 500, color: \"#555\" }}>\n Card number\n </label>\n <div\n id=\"stripe-card-number\"\n style={{\n padding: inputpadding,\n borderRadius: 8,\n border: \"1px solid #ccc\",\n background: \"#fff\",\n }}\n />\n </div>\n\n {/* Expiry + CVC */}\n <div\n style={{\n display: \"grid\",\n gridTemplateColumns: \"1fr 1fr\",\n gap: \"10px\",\n }}\n >\n <div style={{ display: \"grid\", gap: \"6px\" }}>\n <label style={{ fontWeight: 500, color: \"#555\" }}>\n Expiry\n </label>\n <div\n id=\"stripe-card-expiry\"\n style={{\n padding: inputpadding,\n borderRadius: 8,\n border: \"1px solid #ccc\",\n background: \"#fff\",\n }}\n />\n </div>\n\n <div style={{ display: \"grid\", gap: \"6px\" }}>\n <label style={{ fontWeight: 500, color: \"#555\" }}>\n CVC\n </label>\n <div\n id=\"stripe-card-cvc\"\n style={{\n padding: inputpadding,\n borderRadius: 8,\n border: \"1px solid #ccc\",\n background: \"#fff\",\n }}\n />\n </div>\n </div>\n\n {/* Submit */}\n <button\n type=\"submit\"\n disabled={!isReady || isSubmitting}\n style={{\n marginTop: \"10px\",\n padding: inputpadding + 2,\n backgroundColor: color,\n color: \"white\",\n border: \"none\",\n borderRadius: formborderRadius,\n fontWeight: 600,\n cursor: !isReady || isSubmitting ? \"not-allowed\" : \"pointer\",\n opacity: !isReady || isSubmitting ? 0.7 : 1,\n }}\n >\n {isSubmitting ? \"Processing...\" : \"Buy now\"}\n </button>\n </form>\n </div>\n );\n}"],"names":["ShiftPaymentForm","_ref","amount","currency","color","_ref$formwidth","formwidth","_ref$formborderRadius","formborderRadius","_ref$formbackgroundCo","formbackgroundColor","_ref$inputpadding","inputpadding","baseUrl","userId","successPage","errorPage","description","formRef","useRef","initializedRef","shift4Ref","componentsRef","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","_useState3","_useState4","isReady","setIsReady","useEffect","current","initPayment","_ref2","_asyncToGenerator","_regenerator","m","_callee","response","_yield$response$json","publicKeys","isProd","script","_t","w","_context","p","n","fetch","v","ok","json","document","createElement","src","async","onload","window","Shift4","createComponentGroup","automount","onerror","setError","body","appendChild","console","error","a","apply","arguments","handleSubmit","_ref3","_callee2","e","token","request","threeDSecureToken","apiBase","result","_t2","_context2","preventDefault","createToken","id","card","verifyThreeDSecure","concat","method","headers","JSON","stringify","tokenId","message","f","_x","React","style","display","justifyContent","width","boxSizing","ref","onSubmit","gap","padding","backgroundColor","borderRadius","fontWeight","className","border","boxShadow","gridTemplateColumns","marginTop","marginBottom","type","disabled","cursor","opacity","StripePaymentForm","_ref$currency","_ref$color","stripeRef","elementsRef","cardNumberRef","initStripe","Stripe","elements","base","fontSize","cardNumber","create","cardExpiry","cardCvc","mount","_yield$stripeRef$curr","paymentMethod","createPaymentMethod","background"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "logix-pay",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3",
|
|
4
4
|
"description": "A React component library for integrating Logix payments with Logix applications. Provides a seamless and secure payment experience using Stripe or Shift4 payment gateways.",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"type": "module",
|