logix-pay 1.0.2 → 1.0.4

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 CHANGED
@@ -1,8 +1,6 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var stripeJs = require('@stripe/stripe-js');
5
- var reactStripeJs = require('@stripe/react-stripe-js');
6
4
 
7
5
  function _arrayLikeToArray(r, a) {
8
6
  (null == a || a > r.length) && (a = r.length);
@@ -455,80 +453,129 @@ function ShiftPaymentForm(_ref) {
455
453
  }, isSubmitting ? "Processing..." : "Buy now")));
456
454
  }
457
455
 
458
- /* ---------------- INNER FORM ---------------- */
459
-
460
- function StripeForm(props) {
461
- var amount = props.amount,
462
- currency = props.currency,
463
- color = props.color,
464
- formWidth = props.formWidth,
465
- formBorderRadius = props.formBorderRadius,
466
- formBackgroundColor = props.formBackgroundColor,
467
- inputPadding = props.inputPadding,
468
- baseUrl = props.baseUrl,
469
- userId = props.userId,
470
- successPage = props.successPage,
471
- errorPage = props.errorPage,
472
- description = props.description;
473
- var stripe = reactStripeJs.useStripe();
474
- var elements = reactStripeJs.useElements();
456
+ function StripePaymentForm(_ref) {
457
+ var publishableKey = _ref.publishableKey,
458
+ amount = _ref.amount,
459
+ _ref$currency = _ref.currency,
460
+ currency = _ref$currency === void 0 ? "usd" : _ref$currency,
461
+ baseUrl = _ref.baseUrl,
462
+ userId = _ref.userId,
463
+ successPage = _ref.successPage,
464
+ errorPage = _ref.errorPage,
465
+ _ref$description = _ref.description,
466
+ description = _ref$description === void 0 ? "" : _ref$description,
467
+ _ref$color = _ref.color,
468
+ color = _ref$color === void 0 ? "#556cd6" : _ref$color,
469
+ _ref$formWidth = _ref.formWidth,
470
+ formWidth = _ref$formWidth === void 0 ? 400 : _ref$formWidth,
471
+ _ref$formBorderRadius = _ref.formBorderRadius,
472
+ formBorderRadius = _ref$formBorderRadius === void 0 ? 12 : _ref$formBorderRadius,
473
+ _ref$formBackgroundCo = _ref.formBackgroundColor,
474
+ formBackgroundColor = _ref$formBackgroundCo === void 0 ? "#fff" : _ref$formBackgroundCo,
475
+ _ref$inputPadding = _ref.inputPadding,
476
+ inputPadding = _ref$inputPadding === void 0 ? 12 : _ref$inputPadding;
477
+ var stripeRef = React.useRef(null);
478
+ var elementsRef = React.useRef(null);
479
+ var cardNumberRef = React.useRef(null);
475
480
  var _useState = React.useState(false),
476
481
  _useState2 = _slicedToArray(_useState, 2),
477
482
  isSubmitting = _useState2[0],
478
483
  setIsSubmitting = _useState2[1];
479
- var inputStyle = {
480
- style: {
481
- base: {
482
- fontSize: "15px",
483
- color: "#111",
484
- "::placeholder": {
485
- color: "#aaa"
484
+ React.useEffect(function () {
485
+ if (!window.Stripe) {
486
+ var script = document.createElement("script");
487
+ script.src = "https://js.stripe.com/v3/";
488
+ script.async = true;
489
+ document.body.appendChild(script);
490
+ script.onload = initStripe;
491
+ } else {
492
+ initStripe();
493
+ }
494
+ function initStripe() {
495
+ stripeRef.current = window.Stripe(publishableKey);
496
+ elementsRef.current = stripeRef.current.elements();
497
+
498
+ // Card number element
499
+ cardNumberRef.current = elementsRef.current.create("cardNumber", {
500
+ style: {
501
+ base: {
502
+ fontSize: "15px",
503
+ color: "#111",
504
+ "::placeholder": {
505
+ color: "#aaa"
506
+ },
507
+ padding: "".concat(inputPadding, "px"),
508
+ backgroundColor: "#fafafa",
509
+ border: "1px solid #ccc",
510
+ borderRadius: "".concat(formBorderRadius, "px")
511
+ },
512
+ invalid: {
513
+ color: "#ff4d4f"
514
+ }
486
515
  }
487
- },
488
- invalid: {
489
- color: "#ff4d4f"
490
- }
516
+ });
517
+ cardNumberRef.current.mount("#card-number");
518
+
519
+ // You can also create cardExpiry and cardCvc if you want separate fields
520
+ var cardExpiry = elementsRef.current.create("cardExpiry", {
521
+ style: {
522
+ base: {
523
+ fontSize: "15px",
524
+ padding: "".concat(inputPadding, "px")
525
+ },
526
+ invalid: {
527
+ color: "#ff4d4f"
528
+ }
529
+ }
530
+ });
531
+ cardExpiry.mount("#card-expiry");
532
+ var cardCvc = elementsRef.current.create("cardCvc", {
533
+ style: {
534
+ base: {
535
+ fontSize: "15px",
536
+ padding: "".concat(inputPadding, "px")
537
+ },
538
+ invalid: {
539
+ color: "#ff4d4f"
540
+ }
541
+ }
542
+ });
543
+ cardCvc.mount("#card-cvc");
491
544
  }
492
- };
545
+ }, [publishableKey]);
493
546
  var handleSubmit = /*#__PURE__*/function () {
494
- var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(e) {
495
- var card, _yield$stripe$createP, pmError, paymentMethod, res, result, _t;
547
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(e) {
548
+ var _yield$stripeRef$curr, error, paymentMethod, res, result, _t;
496
549
  return _regenerator().w(function (_context) {
497
550
  while (1) switch (_context.p = _context.n) {
498
551
  case 0:
499
552
  e.preventDefault();
500
- if (!(!stripe || !elements)) {
553
+ if (!(!stripeRef.current || !cardNumberRef.current)) {
501
554
  _context.n = 1;
502
555
  break;
503
556
  }
504
557
  return _context.a(2);
505
558
  case 1:
506
- card = elements.getElement(reactStripeJs.CardNumberElement);
507
- if (card) {
508
- _context.n = 2;
509
- break;
510
- }
511
- return _context.a(2);
512
- case 2:
559
+ setIsSubmitting(true);
560
+ _context.p = 2;
513
561
  _context.n = 3;
514
- return stripe.createPaymentMethod({
562
+ return stripeRef.current.createPaymentMethod({
515
563
  type: "card",
516
- card: card
564
+ card: cardNumberRef.current
517
565
  });
518
566
  case 3:
519
- _yield$stripe$createP = _context.v;
520
- pmError = _yield$stripe$createP.error;
521
- paymentMethod = _yield$stripe$createP.paymentMethod;
522
- if (!pmError) {
567
+ _yield$stripeRef$curr = _context.v;
568
+ error = _yield$stripeRef$curr.error;
569
+ paymentMethod = _yield$stripeRef$curr.paymentMethod;
570
+ if (!error) {
523
571
  _context.n = 4;
524
572
  break;
525
573
  }
526
- errorPage === null || errorPage === void 0 || errorPage(pmError.message);
574
+ errorPage === null || errorPage === void 0 || errorPage(error.message);
575
+ setIsSubmitting(false);
527
576
  return _context.a(2);
528
577
  case 4:
529
- setIsSubmitting(true);
530
- _context.p = 5;
531
- _context.n = 6;
578
+ _context.n = 5;
532
579
  return fetch("".concat(baseUrl, "charge/").concat(userId), {
533
580
  method: "POST",
534
581
  headers: {
@@ -541,37 +588,34 @@ function StripeForm(props) {
541
588
  description: description
542
589
  })
543
590
  });
544
- case 6:
591
+ case 5:
545
592
  res = _context.v;
546
- _context.n = 7;
593
+ _context.n = 6;
547
594
  return res.json();
548
- case 7:
595
+ case 6:
549
596
  result = _context.v;
550
- if (res.ok) {
551
- _context.n = 8;
552
- break;
597
+ if (!res.ok) {
598
+ errorPage === null || errorPage === void 0 || errorPage(result.message || "Payment failed");
599
+ } else {
600
+ successPage === null || successPage === void 0 || successPage(result.message || "Payment successful!");
553
601
  }
554
- errorPage === null || errorPage === void 0 || errorPage(result);
555
- return _context.a(2);
556
- case 8:
557
- successPage === null || successPage === void 0 || successPage(result.message);
558
- _context.n = 10;
602
+ _context.n = 8;
559
603
  break;
560
- case 9:
561
- _context.p = 9;
604
+ case 7:
605
+ _context.p = 7;
562
606
  _t = _context.v;
563
- errorPage === null || errorPage === void 0 || errorPage(_t.message);
564
- case 10:
565
- _context.p = 10;
607
+ errorPage === null || errorPage === void 0 || errorPage(_t.message || "Payment error");
608
+ case 8:
609
+ _context.p = 8;
566
610
  setIsSubmitting(false);
567
- return _context.f(10);
568
- case 11:
611
+ return _context.f(8);
612
+ case 9:
569
613
  return _context.a(2);
570
614
  }
571
- }, _callee, null, [[5, 9, 10, 11]]);
615
+ }, _callee, null, [[2, 7, 8, 9]]);
572
616
  }));
573
617
  return function handleSubmit(_x) {
574
- return _ref.apply(this, arguments);
618
+ return _ref2.apply(this, arguments);
575
619
  };
576
620
  }();
577
621
  return /*#__PURE__*/React.createElement("form", {
@@ -583,79 +627,46 @@ function StripeForm(props) {
583
627
  borderRadius: "".concat(formBorderRadius, "px"),
584
628
  backgroundColor: formBackgroundColor,
585
629
  display: "grid",
586
- gap: "14px"
630
+ gap: "12px",
631
+ boxShadow: "0 4px 10px rgba(0,0,0,0.08)"
632
+ }
633
+ }, /*#__PURE__*/React.createElement("label", null, "Card Number"), /*#__PURE__*/React.createElement("div", {
634
+ id: "card-number",
635
+ style: {
636
+ marginBottom: "10px"
637
+ }
638
+ }), /*#__PURE__*/React.createElement("div", {
639
+ style: {
640
+ display: "flex",
641
+ gap: "10px",
642
+ marginBottom: "10px"
643
+ }
644
+ }, /*#__PURE__*/React.createElement("div", {
645
+ style: {
646
+ flex: 1
587
647
  }
588
- }, /*#__PURE__*/React.createElement(reactStripeJs.CardNumberElement, {
589
- options: inputStyle
590
- }), /*#__PURE__*/React.createElement(reactStripeJs.CardExpiryElement, {
591
- options: inputStyle
592
- }), /*#__PURE__*/React.createElement(reactStripeJs.CardCvcElement, {
593
- options: inputStyle
594
- }), /*#__PURE__*/React.createElement("button", {
648
+ }, /*#__PURE__*/React.createElement("label", null, "Expiry"), /*#__PURE__*/React.createElement("div", {
649
+ id: "card-expiry"
650
+ })), /*#__PURE__*/React.createElement("div", {
651
+ style: {
652
+ flex: 1
653
+ }
654
+ }, /*#__PURE__*/React.createElement("label", null, "CVC"), /*#__PURE__*/React.createElement("div", {
655
+ id: "card-cvc"
656
+ }))), /*#__PURE__*/React.createElement("button", {
595
657
  type: "submit",
596
658
  disabled: isSubmitting,
597
659
  style: {
598
- padding: "".concat(inputPadding + 2, "px"),
660
+ padding: "12px",
599
661
  backgroundColor: color,
600
- color: "white",
662
+ color: "#fff",
601
663
  border: "none",
602
- borderRadius: "".concat(formBorderRadius, "px")
664
+ borderRadius: "".concat(formBorderRadius, "px"),
665
+ cursor: isSubmitting ? "not-allowed" : "pointer",
666
+ fontWeight: 600,
667
+ fontSize: "16px"
603
668
  }
604
- }, isSubmitting ? "Processing..." : "Buy now"));
605
- }
606
-
607
- /* ---------------- OUTER WRAPPER ---------------- */
608
-
609
- function StripePaymentForm(props) {
610
- var baseUrl = props.baseUrl,
611
- userId = props.userId,
612
- errorPage = props.errorPage;
613
- var _useState3 = React.useState(null),
614
- _useState4 = _slicedToArray(_useState3, 2),
615
- publicKey = _useState4[0],
616
- setPublicKey = _useState4[1];
617
- var initializedRef = React.useRef(false);
618
- React.useEffect(function () {
619
- if (initializedRef.current) return;
620
- initializedRef.current = true;
621
- var initPayment = /*#__PURE__*/function () {
622
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
623
- var res, data, _t2;
624
- return _regenerator().w(function (_context2) {
625
- while (1) switch (_context2.p = _context2.n) {
626
- case 0:
627
- _context2.p = 0;
628
- _context2.n = 1;
629
- return fetch("".concat(baseUrl).concat(userId));
630
- case 1:
631
- res = _context2.v;
632
- _context2.n = 2;
633
- return res.json();
634
- case 2:
635
- data = _context2.v;
636
- setPublicKey(data.publicKey);
637
- _context2.n = 4;
638
- break;
639
- case 3:
640
- _context2.p = 3;
641
- _t2 = _context2.v;
642
- errorPage === null || errorPage === void 0 || errorPage(_t2.message);
643
- case 4:
644
- return _context2.a(2);
645
- }
646
- }, _callee2, null, [[0, 3]]);
647
- }));
648
- return function initPayment() {
649
- return _ref2.apply(this, arguments);
650
- };
651
- }();
652
- initPayment();
653
- }, [baseUrl, userId, errorPage]);
654
- if (!publicKey) return /*#__PURE__*/React.createElement("p", null, "Loading payment form...");
655
- var stripePromise = stripeJs.loadStripe(publicKey);
656
- return /*#__PURE__*/React.createElement(reactStripeJs.Elements, {
657
- stripe: stripePromise
658
- }, /*#__PURE__*/React.createElement(StripeForm, props));
669
+ }, isSubmitting ? "Processing..." : "Pay Now"));
659
670
  }
660
671
 
661
672
  exports.ShiftPaymentForm = ShiftPaymentForm;
@@ -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, useState, useRef } from \"react\";\nimport { loadStripe } from \"@stripe/stripe-js\";\nimport {\n Elements,\n useStripe,\n useElements,\n CardNumberElement,\n CardExpiryElement,\n CardCvcElement,\n} from \"@stripe/react-stripe-js\";\n\n/* ---------------- INNER FORM ---------------- */\n\nfunction StripeForm(props) {\n const {\n amount,\n currency,\n color,\n formWidth,\n formBorderRadius,\n formBackgroundColor,\n inputPadding,\n baseUrl,\n userId,\n successPage,\n errorPage,\n description,\n } = props;\n\n const stripe = useStripe();\n const elements = useElements();\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const inputStyle = {\n style: {\n base: {\n fontSize: \"15px\",\n color: \"#111\",\n \"::placeholder\": { color: \"#aaa\" },\n },\n invalid: { color: \"#ff4d4f\" },\n },\n };\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n if (!stripe || !elements) return;\n\n const card = elements.getElement(CardNumberElement);\n if (!card) return;\n\n const { error: pmError, paymentMethod } =\n await stripe.createPaymentMethod({\n type: \"card\",\n card,\n });\n\n if (pmError) {\n errorPage?.(pmError.message);\n return;\n }\n\n setIsSubmitting(true);\n\n try {\n const res = 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 res.json();\n\n if (!res.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 <form\n onSubmit={handleSubmit}\n style={{\n maxWidth: `${formWidth}px`,\n margin: \"30px auto\",\n padding: \"20px\",\n borderRadius: `${formBorderRadius}px`,\n backgroundColor: formBackgroundColor,\n display: \"grid\",\n gap: \"14px\",\n }}\n >\n <CardNumberElement options={inputStyle} />\n <CardExpiryElement options={inputStyle} />\n <CardCvcElement options={inputStyle} />\n\n <button\n type=\"submit\"\n disabled={isSubmitting}\n style={{\n padding: `${inputPadding + 2}px`,\n backgroundColor: color,\n color: \"white\",\n border: \"none\",\n borderRadius: `${formBorderRadius}px`,\n }}\n >\n {isSubmitting ? \"Processing...\" : \"Buy now\"}\n </button>\n </form>\n );\n}\n\n/* ---------------- OUTER WRAPPER ---------------- */\n\nexport default function StripePaymentForm(props) {\n const { baseUrl, userId, errorPage } = props;\n const [publicKey, setPublicKey] = useState(null);\n const initializedRef = useRef(false);\n\n useEffect(() => {\n if (initializedRef.current) return;\n initializedRef.current = true;\n\n const initPayment = async () => {\n try {\n const res = await fetch(`${baseUrl}${userId}`);\n const data = await res.json();\n setPublicKey(data.publicKey);\n } catch (err) {\n errorPage?.(err.message);\n }\n };\n\n initPayment();\n }, [baseUrl, userId, errorPage]);\n\n if (!publicKey) return <p>Loading payment form...</p>;\n\n const stripePromise = loadStripe(publicKey);\n\n return (\n <Elements stripe={stripePromise}>\n <StripeForm {...props} />\n </Elements>\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","StripeForm","props","formWidth","formBorderRadius","formBackgroundColor","inputPadding","stripe","useStripe","elements","useElements","inputStyle","base","fontSize","invalid","_yield$stripe$createP","pmError","paymentMethod","res","getElement","CardNumberElement","createPaymentMethod","maxWidth","margin","options","CardExpiryElement","CardCvcElement","StripePaymentForm","publicKey","setPublicKey","data","stripePromise","loadStripe","Elements"],"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 publishableKey,\n amount,\n currency = \"usd\",\n baseUrl,\n userId,\n successPage,\n errorPage,\n description = \"\",\n color = \"#556cd6\",\n formWidth = 400,\n formBorderRadius = 12,\n formBackgroundColor = \"#fff\",\n inputPadding = 12,\n}) {\n const stripeRef = useRef(null);\n const elementsRef = useRef(null);\n const cardNumberRef = useRef(null);\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n useEffect(() => {\n if (!window.Stripe) {\n const script = document.createElement(\"script\");\n script.src = \"https://js.stripe.com/v3/\";\n script.async = true;\n document.body.appendChild(script);\n script.onload = initStripe;\n } else {\n initStripe();\n }\n\n function initStripe() {\n stripeRef.current = window.Stripe(publishableKey);\n elementsRef.current = stripeRef.current.elements();\n\n // Card number element\n cardNumberRef.current = elementsRef.current.create(\"cardNumber\", {\n style: {\n base: {\n fontSize: \"15px\",\n color: \"#111\",\n \"::placeholder\": { color: \"#aaa\" },\n padding: `${inputPadding}px`,\n backgroundColor: \"#fafafa\",\n border: \"1px solid #ccc\",\n borderRadius: `${formBorderRadius}px`,\n },\n invalid: { color: \"#ff4d4f\" },\n },\n });\n\n cardNumberRef.current.mount(\"#card-number\");\n\n // You can also create cardExpiry and cardCvc if you want separate fields\n const cardExpiry = elementsRef.current.create(\"cardExpiry\", {\n style: {\n base: { fontSize: \"15px\", padding: `${inputPadding}px` },\n invalid: { color: \"#ff4d4f\" },\n },\n });\n cardExpiry.mount(\"#card-expiry\");\n\n const cardCvc = elementsRef.current.create(\"cardCvc\", {\n style: {\n base: { fontSize: \"15px\", padding: `${inputPadding}px` },\n invalid: { color: \"#ff4d4f\" },\n },\n });\n cardCvc.mount(\"#card-cvc\");\n }\n }, [publishableKey]);\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n if (!stripeRef.current || !cardNumberRef.current) return;\n\n setIsSubmitting(true);\n\n try {\n const { error, paymentMethod } = await stripeRef.current.createPaymentMethod({\n type: \"card\",\n card: cardNumberRef.current,\n });\n\n if (error) {\n errorPage?.(error.message);\n setIsSubmitting(false);\n return;\n }\n\n // Send token to backend\n const res = 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 res.json();\n\n if (!res.ok) {\n errorPage?.(result.message || \"Payment failed\");\n } else {\n successPage?.(result.message || \"Payment successful!\");\n }\n } catch (err) {\n errorPage?.(err.message || \"Payment error\");\n } finally {\n setIsSubmitting(false);\n }\n };\n\n return (\n <form\n onSubmit={handleSubmit}\n style={{\n maxWidth: `${formWidth}px`,\n margin: \"30px auto\",\n padding: \"20px\",\n borderRadius: `${formBorderRadius}px`,\n backgroundColor: formBackgroundColor,\n display: \"grid\",\n gap: \"12px\",\n boxShadow: \"0 4px 10px rgba(0,0,0,0.08)\",\n }}\n >\n <label>Card Number</label>\n <div id=\"card-number\" style={{ marginBottom: \"10px\" }}></div>\n\n <div style={{ display: \"flex\", gap: \"10px\", marginBottom: \"10px\" }}>\n <div style={{ flex: 1 }}>\n <label>Expiry</label>\n <div id=\"card-expiry\"></div>\n </div>\n <div style={{ flex: 1 }}>\n <label>CVC</label>\n <div id=\"card-cvc\"></div>\n </div>\n </div>\n\n <button\n type=\"submit\"\n disabled={isSubmitting}\n style={{\n padding: \"12px\",\n backgroundColor: color,\n color: \"#fff\",\n border: \"none\",\n borderRadius: `${formBorderRadius}px`,\n cursor: isSubmitting ? \"not-allowed\" : \"pointer\",\n fontWeight: 600,\n fontSize: \"16px\",\n }}\n >\n {isSubmitting ? \"Processing...\" : \"Pay Now\"}\n </button>\n </form>\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","publishableKey","_ref$currency","_ref$description","_ref$color","_ref$formWidth","formWidth","_ref$formBorderRadius","formBorderRadius","_ref$formBackgroundCo","formBackgroundColor","_ref$inputPadding","inputPadding","stripeRef","elementsRef","cardNumberRef","Stripe","initStripe","elements","create","base","fontSize","invalid","mount","cardExpiry","cardCvc","_yield$stripeRef$curr","paymentMethod","res","createPaymentMethod","maxWidth","margin","flex"],"mappings":"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"}
package/dist/index.esm.js CHANGED
@@ -1,6 +1,4 @@
1
1
  import React, { useRef, useState, useEffect } from 'react';
2
- import { loadStripe } from '@stripe/stripe-js';
3
- import { Elements, useStripe, useElements, CardNumberElement, CardExpiryElement, CardCvcElement } from '@stripe/react-stripe-js';
4
2
 
5
3
  function _arrayLikeToArray(r, a) {
6
4
  (null == a || a > r.length) && (a = r.length);
@@ -453,80 +451,129 @@ function ShiftPaymentForm(_ref) {
453
451
  }, isSubmitting ? "Processing..." : "Buy now")));
454
452
  }
455
453
 
456
- /* ---------------- INNER FORM ---------------- */
457
-
458
- function StripeForm(props) {
459
- var amount = props.amount,
460
- currency = props.currency,
461
- color = props.color,
462
- formWidth = props.formWidth,
463
- formBorderRadius = props.formBorderRadius,
464
- formBackgroundColor = props.formBackgroundColor,
465
- inputPadding = props.inputPadding,
466
- baseUrl = props.baseUrl,
467
- userId = props.userId,
468
- successPage = props.successPage,
469
- errorPage = props.errorPage,
470
- description = props.description;
471
- var stripe = useStripe();
472
- var elements = useElements();
454
+ function StripePaymentForm(_ref) {
455
+ var publishableKey = _ref.publishableKey,
456
+ amount = _ref.amount,
457
+ _ref$currency = _ref.currency,
458
+ currency = _ref$currency === void 0 ? "usd" : _ref$currency,
459
+ baseUrl = _ref.baseUrl,
460
+ userId = _ref.userId,
461
+ successPage = _ref.successPage,
462
+ errorPage = _ref.errorPage,
463
+ _ref$description = _ref.description,
464
+ description = _ref$description === void 0 ? "" : _ref$description,
465
+ _ref$color = _ref.color,
466
+ color = _ref$color === void 0 ? "#556cd6" : _ref$color,
467
+ _ref$formWidth = _ref.formWidth,
468
+ formWidth = _ref$formWidth === void 0 ? 400 : _ref$formWidth,
469
+ _ref$formBorderRadius = _ref.formBorderRadius,
470
+ formBorderRadius = _ref$formBorderRadius === void 0 ? 12 : _ref$formBorderRadius,
471
+ _ref$formBackgroundCo = _ref.formBackgroundColor,
472
+ formBackgroundColor = _ref$formBackgroundCo === void 0 ? "#fff" : _ref$formBackgroundCo,
473
+ _ref$inputPadding = _ref.inputPadding,
474
+ inputPadding = _ref$inputPadding === void 0 ? 12 : _ref$inputPadding;
475
+ var stripeRef = useRef(null);
476
+ var elementsRef = useRef(null);
477
+ var cardNumberRef = useRef(null);
473
478
  var _useState = useState(false),
474
479
  _useState2 = _slicedToArray(_useState, 2),
475
480
  isSubmitting = _useState2[0],
476
481
  setIsSubmitting = _useState2[1];
477
- var inputStyle = {
478
- style: {
479
- base: {
480
- fontSize: "15px",
481
- color: "#111",
482
- "::placeholder": {
483
- color: "#aaa"
482
+ useEffect(function () {
483
+ if (!window.Stripe) {
484
+ var script = document.createElement("script");
485
+ script.src = "https://js.stripe.com/v3/";
486
+ script.async = true;
487
+ document.body.appendChild(script);
488
+ script.onload = initStripe;
489
+ } else {
490
+ initStripe();
491
+ }
492
+ function initStripe() {
493
+ stripeRef.current = window.Stripe(publishableKey);
494
+ elementsRef.current = stripeRef.current.elements();
495
+
496
+ // Card number element
497
+ cardNumberRef.current = elementsRef.current.create("cardNumber", {
498
+ style: {
499
+ base: {
500
+ fontSize: "15px",
501
+ color: "#111",
502
+ "::placeholder": {
503
+ color: "#aaa"
504
+ },
505
+ padding: "".concat(inputPadding, "px"),
506
+ backgroundColor: "#fafafa",
507
+ border: "1px solid #ccc",
508
+ borderRadius: "".concat(formBorderRadius, "px")
509
+ },
510
+ invalid: {
511
+ color: "#ff4d4f"
512
+ }
484
513
  }
485
- },
486
- invalid: {
487
- color: "#ff4d4f"
488
- }
514
+ });
515
+ cardNumberRef.current.mount("#card-number");
516
+
517
+ // You can also create cardExpiry and cardCvc if you want separate fields
518
+ var cardExpiry = elementsRef.current.create("cardExpiry", {
519
+ style: {
520
+ base: {
521
+ fontSize: "15px",
522
+ padding: "".concat(inputPadding, "px")
523
+ },
524
+ invalid: {
525
+ color: "#ff4d4f"
526
+ }
527
+ }
528
+ });
529
+ cardExpiry.mount("#card-expiry");
530
+ var cardCvc = elementsRef.current.create("cardCvc", {
531
+ style: {
532
+ base: {
533
+ fontSize: "15px",
534
+ padding: "".concat(inputPadding, "px")
535
+ },
536
+ invalid: {
537
+ color: "#ff4d4f"
538
+ }
539
+ }
540
+ });
541
+ cardCvc.mount("#card-cvc");
489
542
  }
490
- };
543
+ }, [publishableKey]);
491
544
  var handleSubmit = /*#__PURE__*/function () {
492
- var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(e) {
493
- var card, _yield$stripe$createP, pmError, paymentMethod, res, result, _t;
545
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(e) {
546
+ var _yield$stripeRef$curr, error, paymentMethod, res, result, _t;
494
547
  return _regenerator().w(function (_context) {
495
548
  while (1) switch (_context.p = _context.n) {
496
549
  case 0:
497
550
  e.preventDefault();
498
- if (!(!stripe || !elements)) {
551
+ if (!(!stripeRef.current || !cardNumberRef.current)) {
499
552
  _context.n = 1;
500
553
  break;
501
554
  }
502
555
  return _context.a(2);
503
556
  case 1:
504
- card = elements.getElement(CardNumberElement);
505
- if (card) {
506
- _context.n = 2;
507
- break;
508
- }
509
- return _context.a(2);
510
- case 2:
557
+ setIsSubmitting(true);
558
+ _context.p = 2;
511
559
  _context.n = 3;
512
- return stripe.createPaymentMethod({
560
+ return stripeRef.current.createPaymentMethod({
513
561
  type: "card",
514
- card: card
562
+ card: cardNumberRef.current
515
563
  });
516
564
  case 3:
517
- _yield$stripe$createP = _context.v;
518
- pmError = _yield$stripe$createP.error;
519
- paymentMethod = _yield$stripe$createP.paymentMethod;
520
- if (!pmError) {
565
+ _yield$stripeRef$curr = _context.v;
566
+ error = _yield$stripeRef$curr.error;
567
+ paymentMethod = _yield$stripeRef$curr.paymentMethod;
568
+ if (!error) {
521
569
  _context.n = 4;
522
570
  break;
523
571
  }
524
- errorPage === null || errorPage === void 0 || errorPage(pmError.message);
572
+ errorPage === null || errorPage === void 0 || errorPage(error.message);
573
+ setIsSubmitting(false);
525
574
  return _context.a(2);
526
575
  case 4:
527
- setIsSubmitting(true);
528
- _context.p = 5;
529
- _context.n = 6;
576
+ _context.n = 5;
530
577
  return fetch("".concat(baseUrl, "charge/").concat(userId), {
531
578
  method: "POST",
532
579
  headers: {
@@ -539,37 +586,34 @@ function StripeForm(props) {
539
586
  description: description
540
587
  })
541
588
  });
542
- case 6:
589
+ case 5:
543
590
  res = _context.v;
544
- _context.n = 7;
591
+ _context.n = 6;
545
592
  return res.json();
546
- case 7:
593
+ case 6:
547
594
  result = _context.v;
548
- if (res.ok) {
549
- _context.n = 8;
550
- break;
595
+ if (!res.ok) {
596
+ errorPage === null || errorPage === void 0 || errorPage(result.message || "Payment failed");
597
+ } else {
598
+ successPage === null || successPage === void 0 || successPage(result.message || "Payment successful!");
551
599
  }
552
- errorPage === null || errorPage === void 0 || errorPage(result);
553
- return _context.a(2);
554
- case 8:
555
- successPage === null || successPage === void 0 || successPage(result.message);
556
- _context.n = 10;
600
+ _context.n = 8;
557
601
  break;
558
- case 9:
559
- _context.p = 9;
602
+ case 7:
603
+ _context.p = 7;
560
604
  _t = _context.v;
561
- errorPage === null || errorPage === void 0 || errorPage(_t.message);
562
- case 10:
563
- _context.p = 10;
605
+ errorPage === null || errorPage === void 0 || errorPage(_t.message || "Payment error");
606
+ case 8:
607
+ _context.p = 8;
564
608
  setIsSubmitting(false);
565
- return _context.f(10);
566
- case 11:
609
+ return _context.f(8);
610
+ case 9:
567
611
  return _context.a(2);
568
612
  }
569
- }, _callee, null, [[5, 9, 10, 11]]);
613
+ }, _callee, null, [[2, 7, 8, 9]]);
570
614
  }));
571
615
  return function handleSubmit(_x) {
572
- return _ref.apply(this, arguments);
616
+ return _ref2.apply(this, arguments);
573
617
  };
574
618
  }();
575
619
  return /*#__PURE__*/React.createElement("form", {
@@ -581,79 +625,46 @@ function StripeForm(props) {
581
625
  borderRadius: "".concat(formBorderRadius, "px"),
582
626
  backgroundColor: formBackgroundColor,
583
627
  display: "grid",
584
- gap: "14px"
628
+ gap: "12px",
629
+ boxShadow: "0 4px 10px rgba(0,0,0,0.08)"
630
+ }
631
+ }, /*#__PURE__*/React.createElement("label", null, "Card Number"), /*#__PURE__*/React.createElement("div", {
632
+ id: "card-number",
633
+ style: {
634
+ marginBottom: "10px"
635
+ }
636
+ }), /*#__PURE__*/React.createElement("div", {
637
+ style: {
638
+ display: "flex",
639
+ gap: "10px",
640
+ marginBottom: "10px"
641
+ }
642
+ }, /*#__PURE__*/React.createElement("div", {
643
+ style: {
644
+ flex: 1
585
645
  }
586
- }, /*#__PURE__*/React.createElement(CardNumberElement, {
587
- options: inputStyle
588
- }), /*#__PURE__*/React.createElement(CardExpiryElement, {
589
- options: inputStyle
590
- }), /*#__PURE__*/React.createElement(CardCvcElement, {
591
- options: inputStyle
592
- }), /*#__PURE__*/React.createElement("button", {
646
+ }, /*#__PURE__*/React.createElement("label", null, "Expiry"), /*#__PURE__*/React.createElement("div", {
647
+ id: "card-expiry"
648
+ })), /*#__PURE__*/React.createElement("div", {
649
+ style: {
650
+ flex: 1
651
+ }
652
+ }, /*#__PURE__*/React.createElement("label", null, "CVC"), /*#__PURE__*/React.createElement("div", {
653
+ id: "card-cvc"
654
+ }))), /*#__PURE__*/React.createElement("button", {
593
655
  type: "submit",
594
656
  disabled: isSubmitting,
595
657
  style: {
596
- padding: "".concat(inputPadding + 2, "px"),
658
+ padding: "12px",
597
659
  backgroundColor: color,
598
- color: "white",
660
+ color: "#fff",
599
661
  border: "none",
600
- borderRadius: "".concat(formBorderRadius, "px")
662
+ borderRadius: "".concat(formBorderRadius, "px"),
663
+ cursor: isSubmitting ? "not-allowed" : "pointer",
664
+ fontWeight: 600,
665
+ fontSize: "16px"
601
666
  }
602
- }, isSubmitting ? "Processing..." : "Buy now"));
603
- }
604
-
605
- /* ---------------- OUTER WRAPPER ---------------- */
606
-
607
- function StripePaymentForm(props) {
608
- var baseUrl = props.baseUrl,
609
- userId = props.userId,
610
- errorPage = props.errorPage;
611
- var _useState3 = useState(null),
612
- _useState4 = _slicedToArray(_useState3, 2),
613
- publicKey = _useState4[0],
614
- setPublicKey = _useState4[1];
615
- var initializedRef = useRef(false);
616
- useEffect(function () {
617
- if (initializedRef.current) return;
618
- initializedRef.current = true;
619
- var initPayment = /*#__PURE__*/function () {
620
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
621
- var res, data, _t2;
622
- return _regenerator().w(function (_context2) {
623
- while (1) switch (_context2.p = _context2.n) {
624
- case 0:
625
- _context2.p = 0;
626
- _context2.n = 1;
627
- return fetch("".concat(baseUrl).concat(userId));
628
- case 1:
629
- res = _context2.v;
630
- _context2.n = 2;
631
- return res.json();
632
- case 2:
633
- data = _context2.v;
634
- setPublicKey(data.publicKey);
635
- _context2.n = 4;
636
- break;
637
- case 3:
638
- _context2.p = 3;
639
- _t2 = _context2.v;
640
- errorPage === null || errorPage === void 0 || errorPage(_t2.message);
641
- case 4:
642
- return _context2.a(2);
643
- }
644
- }, _callee2, null, [[0, 3]]);
645
- }));
646
- return function initPayment() {
647
- return _ref2.apply(this, arguments);
648
- };
649
- }();
650
- initPayment();
651
- }, [baseUrl, userId, errorPage]);
652
- if (!publicKey) return /*#__PURE__*/React.createElement("p", null, "Loading payment form...");
653
- var stripePromise = loadStripe(publicKey);
654
- return /*#__PURE__*/React.createElement(Elements, {
655
- stripe: stripePromise
656
- }, /*#__PURE__*/React.createElement(StripeForm, props));
667
+ }, isSubmitting ? "Processing..." : "Pay Now"));
657
668
  }
658
669
 
659
670
  export { ShiftPaymentForm, StripePaymentForm };
@@ -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, useState, useRef } from \"react\";\nimport { loadStripe } from \"@stripe/stripe-js\";\nimport {\n Elements,\n useStripe,\n useElements,\n CardNumberElement,\n CardExpiryElement,\n CardCvcElement,\n} from \"@stripe/react-stripe-js\";\n\n/* ---------------- INNER FORM ---------------- */\n\nfunction StripeForm(props) {\n const {\n amount,\n currency,\n color,\n formWidth,\n formBorderRadius,\n formBackgroundColor,\n inputPadding,\n baseUrl,\n userId,\n successPage,\n errorPage,\n description,\n } = props;\n\n const stripe = useStripe();\n const elements = useElements();\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const inputStyle = {\n style: {\n base: {\n fontSize: \"15px\",\n color: \"#111\",\n \"::placeholder\": { color: \"#aaa\" },\n },\n invalid: { color: \"#ff4d4f\" },\n },\n };\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n if (!stripe || !elements) return;\n\n const card = elements.getElement(CardNumberElement);\n if (!card) return;\n\n const { error: pmError, paymentMethod } =\n await stripe.createPaymentMethod({\n type: \"card\",\n card,\n });\n\n if (pmError) {\n errorPage?.(pmError.message);\n return;\n }\n\n setIsSubmitting(true);\n\n try {\n const res = 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 res.json();\n\n if (!res.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 <form\n onSubmit={handleSubmit}\n style={{\n maxWidth: `${formWidth}px`,\n margin: \"30px auto\",\n padding: \"20px\",\n borderRadius: `${formBorderRadius}px`,\n backgroundColor: formBackgroundColor,\n display: \"grid\",\n gap: \"14px\",\n }}\n >\n <CardNumberElement options={inputStyle} />\n <CardExpiryElement options={inputStyle} />\n <CardCvcElement options={inputStyle} />\n\n <button\n type=\"submit\"\n disabled={isSubmitting}\n style={{\n padding: `${inputPadding + 2}px`,\n backgroundColor: color,\n color: \"white\",\n border: \"none\",\n borderRadius: `${formBorderRadius}px`,\n }}\n >\n {isSubmitting ? \"Processing...\" : \"Buy now\"}\n </button>\n </form>\n );\n}\n\n/* ---------------- OUTER WRAPPER ---------------- */\n\nexport default function StripePaymentForm(props) {\n const { baseUrl, userId, errorPage } = props;\n const [publicKey, setPublicKey] = useState(null);\n const initializedRef = useRef(false);\n\n useEffect(() => {\n if (initializedRef.current) return;\n initializedRef.current = true;\n\n const initPayment = async () => {\n try {\n const res = await fetch(`${baseUrl}${userId}`);\n const data = await res.json();\n setPublicKey(data.publicKey);\n } catch (err) {\n errorPage?.(err.message);\n }\n };\n\n initPayment();\n }, [baseUrl, userId, errorPage]);\n\n if (!publicKey) return <p>Loading payment form...</p>;\n\n const stripePromise = loadStripe(publicKey);\n\n return (\n <Elements stripe={stripePromise}>\n <StripeForm {...props} />\n </Elements>\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","StripeForm","props","formWidth","formBorderRadius","formBackgroundColor","inputPadding","stripe","useStripe","elements","useElements","inputStyle","base","fontSize","invalid","_yield$stripe$createP","pmError","paymentMethod","res","getElement","CardNumberElement","createPaymentMethod","maxWidth","margin","options","CardExpiryElement","CardCvcElement","StripePaymentForm","publicKey","setPublicKey","data","stripePromise","loadStripe","Elements"],"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,MAAM,EAAE;AACxB,EAAA,IAAMC,cAAc,GAAGD,MAAM,CAAC,KAAK,CAAC;AACpC,EAAA,IAAME,SAAS,GAAGF,MAAM,CAAC,IAAI,CAAC;AAC9B,EAAA,IAAMG,aAAa,GAAGH,MAAM,CAAC,IAAI,CAAC;AAClC,EAAA,IAAAI,SAAA,GAAwCC,QAAQ,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,QAAQ,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,SAAS,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;;ACzMA;;AAEA,SAAS8F,UAAUA,CAACC,KAAK,EAAE;AACzB,EAAA,IACExH,MAAM,GAYJwH,KAAK,CAZPxH,MAAM;IACNC,QAAQ,GAWNuH,KAAK,CAXPvH,QAAQ;IACRC,KAAK,GAUHsH,KAAK,CAVPtH,KAAK;IACLuH,SAAS,GASPD,KAAK,CATPC,SAAS;IACTC,gBAAgB,GAQdF,KAAK,CARPE,gBAAgB;IAChBC,mBAAmB,GAOjBH,KAAK,CAPPG,mBAAmB;IACnBC,YAAY,GAMVJ,KAAK,CANPI,YAAY;IACZjH,OAAO,GAKL6G,KAAK,CALP7G,OAAO;IACPC,MAAM,GAIJ4G,KAAK,CAJP5G,MAAM;IACNC,WAAW,GAGT2G,KAAK,CAHP3G,WAAW;IACXC,SAAS,GAEP0G,KAAK,CAFP1G,SAAS;IACTC,WAAW,GACTyG,KAAK,CADPzG,WAAW;AAGb,EAAA,IAAM8G,MAAM,GAAGC,SAAS,EAAE;AAC1B,EAAA,IAAMC,QAAQ,GAAGC,WAAW,EAAE;AAC9B,EAAA,IAAA3G,SAAA,GAAwCC,QAAQ,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;AAEpC,EAAA,IAAM0G,UAAU,GAAG;AACjBhC,IAAAA,KAAK,EAAE;AACLiC,MAAAA,IAAI,EAAE;AACJC,QAAAA,QAAQ,EAAE,MAAM;AAChBjI,QAAAA,KAAK,EAAE,MAAM;AACb,QAAA,eAAe,EAAE;AAAEA,UAAAA,KAAK,EAAE;AAAO;OAClC;AACDkI,MAAAA,OAAO,EAAE;AAAElI,QAAAA,KAAK,EAAE;AAAU;AAC9B;GACD;AAED,EAAA,IAAMqE,YAAY,gBAAA,YAAA;IAAA,IAAAxE,IAAA,GAAAoC,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAAG,SAAAC,OAAAA,CAAOoC,CAAC,EAAA;AAAA,MAAA,IAAAW,IAAA,EAAAgD,qBAAA,EAAAC,OAAA,EAAAC,aAAA,EAAAC,GAAA,EAAAzD,MAAA,EAAAnC,EAAA;AAAA,MAAA,OAAAR,YAAA,EAAA,CAAAS,CAAA,CAAA,UAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,CAAA,GAAAD,QAAA,CAAAE,CAAA;AAAA,UAAA,KAAA,CAAA;YAC3B0B,CAAC,CAACQ,cAAc,EAAE;AAAC,YAAA,IAAA,EACf,CAAC2C,MAAM,IAAI,CAACE,QAAQ,CAAA,EAAA;AAAAjF,cAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;YAAA,OAAAF,QAAA,CAAAsB,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAElBiB,YAAAA,IAAI,GAAG0C,QAAQ,CAACU,UAAU,CAACC,iBAAiB,CAAC;AAAA,YAAA,IAC9CrD,IAAI,EAAA;AAAAvC,cAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;YAAA,OAAAF,QAAA,CAAAsB,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAAAtB,YAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;YAAA,OAGD6E,MAAM,CAACc,mBAAmB,CAAC;AAC/BxB,cAAAA,IAAI,EAAE,MAAM;AACZ9B,cAAAA,IAAI,EAAJA;AACF,aAAC,CAAC;AAAA,UAAA,KAAA,CAAA;YAAAgD,qBAAA,GAAAvF,QAAA,CAAAI,CAAA;YAJWoF,OAAO,GAAAD,qBAAA,CAAdlE,KAAK;YAAWoE,aAAa,GAAAF,qBAAA,CAAbE,aAAa;AAAA,YAAA,IAAA,CAMjCD,OAAO,EAAA;AAAAxF,cAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;YACTlC,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,IAATA,SAAS,CAAGwH,OAAO,CAACzC,OAAO,CAAC;YAAC,OAAA/C,QAAA,CAAAsB,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;YAI/B1C,eAAe,CAAC,IAAI,CAAC;AAACoB,YAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;AAAAD,YAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;YAAA,OAGFC,KAAK,IAAAsC,MAAA,CAAI5E,OAAO,EAAA,SAAA,CAAA,CAAA4E,MAAA,CAAU3E,MAAM,CAAA,EAAI;AACpD4E,cAAAA,MAAM,EAAE,MAAM;AACdC,cAAAA,OAAO,EAAE;AAAE,gBAAA,cAAc,EAAE;eAAoB;AAC/CzB,cAAAA,IAAI,EAAE0B,IAAI,CAACC,SAAS,CAAC;gBACnBC,OAAO,EAAE2C,aAAa,CAACnD,EAAE;AACzBpF,gBAAAA,MAAM,EAANA,MAAM;AACNC,gBAAAA,QAAQ,EAARA,QAAQ;AACRc,gBAAAA,WAAW,EAAXA;eACD;AACH,aAAC,CAAC;AAAA,UAAA,KAAA,CAAA;YATIyH,GAAG,GAAA1F,QAAA,CAAAI,CAAA;AAAAJ,YAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,YAAA,OAWYwF,GAAG,CAACpF,IAAI,EAAE;AAAA,UAAA,KAAA,CAAA;YAAzB2B,MAAM,GAAAjC,QAAA,CAAAI,CAAA;YAAA,IAEPsF,GAAG,CAACrF,EAAE,EAAA;AAAAL,cAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;AACTlC,YAAAA,SAAS,aAATA,SAAS,KAAA,MAAA,IAATA,SAAS,CAAGiE,MAAM,CAAC;YAAC,OAAAjC,QAAA,CAAAsB,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;YAItBvD,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,IAAXA,WAAW,CAAGkE,MAAM,CAACc,OAAO,CAAC;AAAC/C,YAAAA,QAAA,CAAAE,CAAA,GAAA,EAAA;AAAA,YAAA;AAAA,UAAA,KAAA,CAAA;AAAAF,YAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;YAAAH,EAAA,GAAAE,QAAA,CAAAI,CAAA;YAE9BpC,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,IAATA,SAAS,CAAG8B,EAAA,CAAIiD,OAAO,CAAC;AAAC,UAAA,KAAA,EAAA;AAAA/C,YAAAA,QAAA,CAAAC,CAAA,GAAA,EAAA;YAEzBrB,eAAe,CAAC,KAAK,CAAC;YAAC,OAAAoB,QAAA,CAAAgD,CAAA,CAAA,EAAA,CAAA;AAAA,UAAA,KAAA,EAAA;YAAA,OAAAhD,QAAA,CAAAsB,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,MAAA,CAAA,EAAA9B,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA;IAAA,CAE1B,CAAA,CAAA;IAAA,OAAA,SA7CKiC,YAAYA,CAAAwB,EAAA,EAAA;AAAA,MAAA,OAAAhG,IAAA,CAAAsE,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EA6CjB;EAED,oBACE0B,KAAA,CAAA1C,aAAA,CAAA,MAAA,EAAA;AACEiD,IAAAA,QAAQ,EAAEhC,YAAa;AACvB0B,IAAAA,KAAK,EAAE;AACL2C,MAAAA,QAAQ,EAAA,EAAA,CAAArD,MAAA,CAAKkC,SAAS,EAAA,IAAA,CAAI;AAC1BoB,MAAAA,MAAM,EAAE,WAAW;AACnBpC,MAAAA,OAAO,EAAE,MAAM;AACfE,MAAAA,YAAY,EAAA,EAAA,CAAApB,MAAA,CAAKmC,gBAAgB,EAAA,IAAA,CAAI;AACrChB,MAAAA,eAAe,EAAEiB,mBAAmB;AACpCzB,MAAAA,OAAO,EAAE,MAAM;AACfM,MAAAA,GAAG,EAAE;AACP;AAAE,GAAA,eAEFR,KAAA,CAAA1C,aAAA,CAACoF,iBAAiB,EAAA;AAACI,IAAAA,OAAO,EAAEb;AAAW,GAAE,CAAC,eAC1CjC,KAAA,CAAA1C,aAAA,CAACyF,iBAAiB,EAAA;AAACD,IAAAA,OAAO,EAAEb;AAAW,GAAE,CAAC,eAC1CjC,KAAA,CAAA1C,aAAA,CAAC0F,cAAc,EAAA;AAACF,IAAAA,OAAO,EAAEb;AAAW,GAAE,CAAC,eAEvCjC,KAAA,CAAA1C,aAAA,CAAA,QAAA,EAAA;AACE6D,IAAAA,IAAI,EAAC,QAAQ;AACbC,IAAAA,QAAQ,EAAE3F,YAAa;AACvBwE,IAAAA,KAAK,EAAE;AACLQ,MAAAA,OAAO,KAAAlB,MAAA,CAAKqC,YAAY,GAAG,CAAC,EAAA,IAAA,CAAI;AAChClB,MAAAA,eAAe,EAAExG,KAAK;AACtBA,MAAAA,KAAK,EAAE,OAAO;AACd4G,MAAAA,MAAM,EAAE,MAAM;MACdH,YAAY,EAAA,EAAA,CAAApB,MAAA,CAAKmC,gBAAgB,EAAA,IAAA;AACnC;AAAE,GAAA,EAEDjG,YAAY,GAAG,eAAe,GAAG,SAC5B,CACJ,CAAC;AAEX;;AAEA;;AAEe,SAASwH,iBAAiBA,CAACzB,KAAK,EAAE;AAC/C,EAAA,IAAQ7G,OAAO,GAAwB6G,KAAK,CAApC7G,OAAO;IAAEC,MAAM,GAAgB4G,KAAK,CAA3B5G,MAAM;IAAEE,SAAS,GAAK0G,KAAK,CAAnB1G,SAAS;AAClC,EAAA,IAAAa,UAAA,GAAkCL,QAAQ,CAAC,IAAI,CAAC;IAAAM,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAAzCuH,IAAAA,SAAS,GAAAtH,UAAA,CAAA,CAAA,CAAA;AAAEuH,IAAAA,YAAY,GAAAvH,UAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAMV,cAAc,GAAGD,MAAM,CAAC,KAAK,CAAC;AAEpCc,EAAAA,SAAS,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,SAAAoC,QAAAA,GAAA;AAAA,QAAA,IAAA+D,GAAA,EAAAY,IAAA,EAAApE,GAAA;AAAA,QAAA,OAAA5C,YAAA,EAAA,CAAAS,CAAA,CAAA,UAAAoC,SAAA,EAAA;AAAA,UAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAlC,CAAA,GAAAkC,SAAA,CAAAjC,CAAA;AAAA,YAAA,KAAA,CAAA;AAAAiC,cAAAA,SAAA,CAAAlC,CAAA,GAAA,CAAA;AAAAkC,cAAAA,SAAA,CAAAjC,CAAA,GAAA,CAAA;cAAA,OAEEC,KAAK,CAAA,EAAA,CAAAsC,MAAA,CAAI5E,OAAO,EAAA4E,MAAA,CAAG3E,MAAM,CAAE,CAAC;AAAA,YAAA,KAAA,CAAA;cAAxC4H,GAAG,GAAAvD,SAAA,CAAA/B,CAAA;AAAA+B,cAAAA,SAAA,CAAAjC,CAAA,GAAA,CAAA;AAAA,cAAA,OACUwF,GAAG,CAACpF,IAAI,EAAE;AAAA,YAAA,KAAA,CAAA;cAAvBgG,IAAI,GAAAnE,SAAA,CAAA/B,CAAA;AACViG,cAAAA,YAAY,CAACC,IAAI,CAACF,SAAS,CAAC;AAACjE,cAAAA,SAAA,CAAAjC,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA,KAAA,CAAA;AAAAiC,cAAAA,SAAA,CAAAlC,CAAA,GAAA,CAAA;cAAAiC,GAAA,GAAAC,SAAA,CAAA/B,CAAA;cAE7BpC,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,IAATA,SAAS,CAAGkE,GAAA,CAAIa,OAAO,CAAC;AAAC,YAAA,KAAA,CAAA;cAAA,OAAAZ,SAAA,CAAAb,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,QAAA,CAAA,EAAAK,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;MAAA,CAE5B,CAAA,CAAA;AAAA,MAAA,OAAA,SARKxC,WAAWA,GAAA;AAAA,QAAA,OAAAC,KAAA,CAAAmC,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,MAAA,CAAA;IAAA,CAAA,EAQhB;AAEDrC,IAAAA,WAAW,EAAE;EACf,CAAC,EAAE,CAACtB,OAAO,EAAEC,MAAM,EAAEE,SAAS,CAAC,CAAC;EAEhC,IAAI,CAACoI,SAAS,EAAE,oBAAOlD,KAAA,CAAA1C,aAAA,CAAA,GAAA,EAAA,IAAA,EAAG,yBAA0B,CAAC;AAErD,EAAA,IAAM+F,aAAa,GAAGC,UAAU,CAACJ,SAAS,CAAC;AAE3C,EAAA,oBACElD,KAAA,CAAA1C,aAAA,CAACiG,QAAQ,EAAA;AAAC1B,IAAAA,MAAM,EAAEwB;GAAc,eAC9BrD,KAAA,CAAA1C,aAAA,CAACiE,UAAU,EAAKC,KAAQ,CAChB,CAAC;AAEf;;;;"}
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 publishableKey,\n amount,\n currency = \"usd\",\n baseUrl,\n userId,\n successPage,\n errorPage,\n description = \"\",\n color = \"#556cd6\",\n formWidth = 400,\n formBorderRadius = 12,\n formBackgroundColor = \"#fff\",\n inputPadding = 12,\n}) {\n const stripeRef = useRef(null);\n const elementsRef = useRef(null);\n const cardNumberRef = useRef(null);\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n useEffect(() => {\n if (!window.Stripe) {\n const script = document.createElement(\"script\");\n script.src = \"https://js.stripe.com/v3/\";\n script.async = true;\n document.body.appendChild(script);\n script.onload = initStripe;\n } else {\n initStripe();\n }\n\n function initStripe() {\n stripeRef.current = window.Stripe(publishableKey);\n elementsRef.current = stripeRef.current.elements();\n\n // Card number element\n cardNumberRef.current = elementsRef.current.create(\"cardNumber\", {\n style: {\n base: {\n fontSize: \"15px\",\n color: \"#111\",\n \"::placeholder\": { color: \"#aaa\" },\n padding: `${inputPadding}px`,\n backgroundColor: \"#fafafa\",\n border: \"1px solid #ccc\",\n borderRadius: `${formBorderRadius}px`,\n },\n invalid: { color: \"#ff4d4f\" },\n },\n });\n\n cardNumberRef.current.mount(\"#card-number\");\n\n // You can also create cardExpiry and cardCvc if you want separate fields\n const cardExpiry = elementsRef.current.create(\"cardExpiry\", {\n style: {\n base: { fontSize: \"15px\", padding: `${inputPadding}px` },\n invalid: { color: \"#ff4d4f\" },\n },\n });\n cardExpiry.mount(\"#card-expiry\");\n\n const cardCvc = elementsRef.current.create(\"cardCvc\", {\n style: {\n base: { fontSize: \"15px\", padding: `${inputPadding}px` },\n invalid: { color: \"#ff4d4f\" },\n },\n });\n cardCvc.mount(\"#card-cvc\");\n }\n }, [publishableKey]);\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n if (!stripeRef.current || !cardNumberRef.current) return;\n\n setIsSubmitting(true);\n\n try {\n const { error, paymentMethod } = await stripeRef.current.createPaymentMethod({\n type: \"card\",\n card: cardNumberRef.current,\n });\n\n if (error) {\n errorPage?.(error.message);\n setIsSubmitting(false);\n return;\n }\n\n // Send token to backend\n const res = 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 res.json();\n\n if (!res.ok) {\n errorPage?.(result.message || \"Payment failed\");\n } else {\n successPage?.(result.message || \"Payment successful!\");\n }\n } catch (err) {\n errorPage?.(err.message || \"Payment error\");\n } finally {\n setIsSubmitting(false);\n }\n };\n\n return (\n <form\n onSubmit={handleSubmit}\n style={{\n maxWidth: `${formWidth}px`,\n margin: \"30px auto\",\n padding: \"20px\",\n borderRadius: `${formBorderRadius}px`,\n backgroundColor: formBackgroundColor,\n display: \"grid\",\n gap: \"12px\",\n boxShadow: \"0 4px 10px rgba(0,0,0,0.08)\",\n }}\n >\n <label>Card Number</label>\n <div id=\"card-number\" style={{ marginBottom: \"10px\" }}></div>\n\n <div style={{ display: \"flex\", gap: \"10px\", marginBottom: \"10px\" }}>\n <div style={{ flex: 1 }}>\n <label>Expiry</label>\n <div id=\"card-expiry\"></div>\n </div>\n <div style={{ flex: 1 }}>\n <label>CVC</label>\n <div id=\"card-cvc\"></div>\n </div>\n </div>\n\n <button\n type=\"submit\"\n disabled={isSubmitting}\n style={{\n padding: \"12px\",\n backgroundColor: color,\n color: \"#fff\",\n border: \"none\",\n borderRadius: `${formBorderRadius}px`,\n cursor: isSubmitting ? \"not-allowed\" : \"pointer\",\n fontWeight: 600,\n fontSize: \"16px\",\n }}\n >\n {isSubmitting ? \"Processing...\" : \"Pay Now\"}\n </button>\n </form>\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","publishableKey","_ref$currency","_ref$description","_ref$color","_ref$formWidth","formWidth","_ref$formBorderRadius","formBorderRadius","_ref$formBackgroundCo","formBackgroundColor","_ref$inputPadding","inputPadding","stripeRef","elementsRef","cardNumberRef","Stripe","initStripe","elements","create","base","fontSize","invalid","mount","cardExpiry","cardCvc","_yield$stripeRef$curr","paymentMethod","res","createPaymentMethod","maxWidth","margin","flex"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "logix-pay",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
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",