@bigbinary/neeto-payments-frontend 1.4.17 → 1.4.19
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/README.md +4 -0
- package/dist/AccountsDashboard.js +472 -0
- package/dist/AccountsDashboard.js.map +1 -0
- package/dist/Dashboard.js +597 -0
- package/dist/Dashboard.js.map +1 -0
- package/dist/ExportModal-a00544db.js +643 -0
- package/dist/ExportModal-a00544db.js.map +1 -0
- package/dist/IdentifierButton-73cadb18.js +20 -0
- package/dist/IdentifierButton-73cadb18.js.map +1 -0
- package/dist/PaymentKindRestrictionAlert.js +34 -0
- package/dist/PaymentKindRestrictionAlert.js.map +1 -0
- package/dist/PayoutsDashboard.js +502 -0
- package/dist/PayoutsDashboard.js.map +1 -0
- package/dist/PayoutsPage.js +184 -0
- package/dist/PayoutsPage.js.map +1 -0
- package/dist/RazorpayDashboard.js +246 -0
- package/dist/RazorpayDashboard.js.map +1 -0
- package/dist/RazorpayPaymentButton.js +108 -0
- package/dist/RazorpayPaymentButton.js.map +1 -0
- package/dist/SquareCard.js +65 -0
- package/dist/SquareCard.js.map +1 -0
- package/dist/SquareDashboard.js +294 -0
- package/dist/SquareDashboard.js.map +1 -0
- package/dist/StripeConnect.js +2067 -0
- package/dist/StripeConnect.js.map +1 -0
- package/dist/UpiConnect.js +148 -0
- package/dist/UpiConnect.js.map +1 -0
- package/dist/UpiMarkAsPaidButton.js +39 -0
- package/dist/UpiMarkAsPaidButton.js.map +1 -0
- package/dist/UpiPayment.js +91 -0
- package/dist/UpiPayment.js.map +1 -0
- package/dist/V2PaymentsDashboard.js +298 -0
- package/dist/V2PaymentsDashboard.js.map +1 -0
- package/dist/buildStripeTransactionLink.js +6 -0
- package/dist/buildStripeTransactionLink.js.map +1 -0
- package/dist/cjs/AccountsDashboard.js +489 -0
- package/dist/cjs/AccountsDashboard.js.map +1 -0
- package/dist/cjs/Dashboard.js +612 -0
- package/dist/cjs/Dashboard.js.map +1 -0
- package/dist/cjs/ExportModal-408e0ed8.js +667 -0
- package/dist/cjs/ExportModal-408e0ed8.js.map +1 -0
- package/dist/cjs/IdentifierButton-40b5459d.js +27 -0
- package/dist/cjs/IdentifierButton-40b5459d.js.map +1 -0
- package/dist/cjs/PaymentKindRestrictionAlert.js +41 -0
- package/dist/cjs/PaymentKindRestrictionAlert.js.map +1 -0
- package/dist/cjs/PayoutsDashboard.js +518 -0
- package/dist/cjs/PayoutsDashboard.js.map +1 -0
- package/dist/cjs/PayoutsPage.js +193 -0
- package/dist/cjs/PayoutsPage.js.map +1 -0
- package/dist/cjs/RazorpayDashboard.js +257 -0
- package/dist/cjs/RazorpayDashboard.js.map +1 -0
- package/dist/cjs/RazorpayPaymentButton.js +115 -0
- package/dist/cjs/RazorpayPaymentButton.js.map +1 -0
- package/dist/cjs/SquareCard.js +73 -0
- package/dist/cjs/SquareCard.js.map +1 -0
- package/dist/cjs/SquareDashboard.js +305 -0
- package/dist/cjs/SquareDashboard.js.map +1 -0
- package/dist/cjs/StripeConnect.js +2102 -0
- package/dist/cjs/StripeConnect.js.map +1 -0
- package/dist/cjs/UpiConnect.js +181 -0
- package/dist/cjs/UpiConnect.js.map +1 -0
- package/dist/cjs/UpiMarkAsPaidButton.js +46 -0
- package/dist/cjs/UpiMarkAsPaidButton.js.map +1 -0
- package/dist/cjs/UpiPayment.js +121 -0
- package/dist/cjs/UpiPayment.js.map +1 -0
- package/dist/cjs/V2PaymentsDashboard.js +309 -0
- package/dist/cjs/V2PaymentsDashboard.js.map +1 -0
- package/dist/cjs/buildStripeTransactionLink.js +11 -0
- package/dist/cjs/buildStripeTransactionLink.js.map +1 -0
- package/dist/cjs/constants.js +495 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/exportChannel-e4cc2bb1.js +37 -0
- package/dist/cjs/exportChannel-e4cc2bb1.js.map +1 -0
- package/dist/cjs/extends-1b35a664.js +19 -0
- package/dist/cjs/extends-1b35a664.js.map +1 -0
- package/dist/cjs/index-042b6907.js.map +1 -0
- package/dist/cjs/index-b097dce8.js +41 -0
- package/dist/cjs/index-b097dce8.js.map +1 -0
- package/dist/cjs/index-b7badf96.js +88 -0
- package/dist/cjs/index-b7badf96.js.map +1 -0
- package/dist/cjs/index.js +106 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/queryConstants-a6a3c360.js +26 -0
- package/dist/cjs/queryConstants-a6a3c360.js.map +1 -0
- package/dist/cjs/renderFunctions-5e706b7a.js +168 -0
- package/dist/cjs/renderFunctions-5e706b7a.js.map +1 -0
- package/dist/cjs/stripe.esm-4218a1e9.js.map +1 -0
- package/dist/cjs/useConnectApi-b8770f71.js +2170 -0
- package/dist/cjs/useConnectApi-b8770f71.js.map +1 -0
- package/dist/cjs/useFiltersAndPagination-a5f10d80.js +410 -0
- package/dist/cjs/useFiltersAndPagination-a5f10d80.js.map +1 -0
- package/dist/cjs/usePaymentApi-a0b4ea86.js +41 -0
- package/dist/cjs/usePaymentApi-a0b4ea86.js.map +1 -0
- package/dist/cjs/usePaymentsApi-5eba9184.js +30 -0
- package/dist/cjs/usePaymentsApi-5eba9184.js.map +1 -0
- package/dist/cjs/usePlatformApi-c77f6fdd.js +89 -0
- package/dist/cjs/usePlatformApi-c77f6fdd.js.map +1 -0
- package/dist/cjs/useRazorpayPayment.js +87 -0
- package/dist/cjs/useRazorpayPayment.js.map +1 -0
- package/dist/cjs/useSquareCard.js +32 -0
- package/dist/cjs/useSquareCard.js.map +1 -0
- package/dist/cjs/useStripePromise.js +27 -0
- package/dist/cjs/useStripePromise.js.map +1 -0
- package/dist/constants.js +480 -0
- package/dist/constants.js.map +1 -0
- package/dist/exportChannel-e0822151.js +30 -0
- package/dist/exportChannel-e0822151.js.map +1 -0
- package/dist/extends-093996c9.js +17 -0
- package/dist/extends-093996c9.js.map +1 -0
- package/dist/index-1aedc364.js +80 -0
- package/dist/index-1aedc364.js.map +1 -0
- package/dist/index-48f8b281.js +32 -0
- package/dist/index-48f8b281.js.map +1 -0
- package/dist/index.js +80 -10090
- package/dist/index.js.map +1 -1
- package/dist/queryConstants-9b7fe0cf.js +24 -0
- package/dist/queryConstants-9b7fe0cf.js.map +1 -0
- package/dist/renderFunctions-5f829290.js +147 -0
- package/dist/renderFunctions-5f829290.js.map +1 -0
- package/dist/useConnectApi-185a67ad.js +2155 -0
- package/dist/useConnectApi-185a67ad.js.map +1 -0
- package/dist/useFiltersAndPagination-e5dc4b96.js +392 -0
- package/dist/useFiltersAndPagination-e5dc4b96.js.map +1 -0
- package/dist/usePaymentApi-8b68e636.js +34 -0
- package/dist/usePaymentApi-8b68e636.js.map +1 -0
- package/dist/usePaymentsApi-c1c0e6ab.js +23 -0
- package/dist/usePaymentsApi-c1c0e6ab.js.map +1 -0
- package/dist/usePlatformApi-5dba6b28.js +77 -0
- package/dist/usePlatformApi-5dba6b28.js.map +1 -0
- package/dist/useRazorpayPayment.js +85 -0
- package/dist/useRazorpayPayment.js.map +1 -0
- package/dist/useSquareCard.js +30 -0
- package/dist/useSquareCard.js.map +1 -0
- package/dist/useStripePromise.js +25 -0
- package/dist/useStripePromise.js.map +1 -0
- package/package.json +17 -8
- package/types/AccountsDashboard.d.ts +3 -0
- package/types/Dashboard.d.ts +15 -0
- package/types/PaymentKindRestrictionAlert.d.ts +11 -0
- package/types/PayoutsDashboard.d.ts +10 -0
- package/types/PayoutsPage.d.ts +11 -0
- package/types/SquareCard.d.ts +14 -0
- package/types/SquareDashboard.d.ts +13 -0
- package/types/StripeConnect.d.ts +13 -0
- package/types/buildStripeTransactionLink.d.ts +6 -0
- package/types/useSquareCard.d.ts +9 -0
- package/types/useStripePromise.d.ts +5 -0
- package/types.d.ts +11 -75
- package/dist/index-042b6907.js.map +0 -1
- package/dist/index.cjs.js +0 -10166
- package/dist/index.cjs.js.map +0 -1
- package/dist/stripe.esm-4218a1e9.js.map +0 -1
- /package/dist/{index-042b6907.js → cjs/index-042b6907.js} +0 -0
- /package/dist/{stripe.esm-4218a1e9.js → cjs/stripe.esm-4218a1e9.js} +0 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { noop, isNotPresent } from '@bigbinary/neeto-cist';
|
|
2
|
+
import { mergeDeepLeft } from 'ramda';
|
|
3
|
+
import { useTranslation } from 'react-i18next';
|
|
4
|
+
import { a as useCreateRazorpayPayment } from './usePaymentApi-8b68e636.js';
|
|
5
|
+
import { RAZORPAY_PAYMENT_BUTTON_OPTIONS } from './constants.js';
|
|
6
|
+
import 'react-query';
|
|
7
|
+
import 'axios';
|
|
8
|
+
import './queryConstants-9b7fe0cf.js';
|
|
9
|
+
import 'i18next';
|
|
10
|
+
import '@bigbinary/neeto-commons-frontend/constants';
|
|
11
|
+
|
|
12
|
+
const loadScript = src => new Promise(resolve => {
|
|
13
|
+
const script = document.createElement("script");
|
|
14
|
+
script.src = src;
|
|
15
|
+
script.onload = () => {
|
|
16
|
+
resolve(true);
|
|
17
|
+
};
|
|
18
|
+
script.onerror = () => {
|
|
19
|
+
resolve(false);
|
|
20
|
+
};
|
|
21
|
+
document.body.appendChild(script);
|
|
22
|
+
});
|
|
23
|
+
const useRazorpayPayment = _ref => {
|
|
24
|
+
let {
|
|
25
|
+
payableId,
|
|
26
|
+
onBeforePayment = noop,
|
|
27
|
+
onSuccessfulPayment = noop,
|
|
28
|
+
onFailedPayment = noop
|
|
29
|
+
} = _ref;
|
|
30
|
+
const {
|
|
31
|
+
t
|
|
32
|
+
} = useTranslation();
|
|
33
|
+
const openRazorpayCheckout = async options => {
|
|
34
|
+
const script = await loadScript("https://checkout.razorpay.com/v1/checkout.js");
|
|
35
|
+
if (!script) {
|
|
36
|
+
logger.error(t("neetoPayments.razorpay.loadError"));
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const checkout = new window.Razorpay(options);
|
|
40
|
+
checkout.open();
|
|
41
|
+
};
|
|
42
|
+
const handlePayment = response => {
|
|
43
|
+
if (isNotPresent(response?.razorpay_signature)) {
|
|
44
|
+
onFailedPayment();
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
onSuccessfulPayment();
|
|
48
|
+
};
|
|
49
|
+
const handleSuccess = _ref2 => {
|
|
50
|
+
let {
|
|
51
|
+
payment
|
|
52
|
+
} = _ref2;
|
|
53
|
+
if (payment?.status === "successful") {
|
|
54
|
+
return onSuccessfulPayment();
|
|
55
|
+
}
|
|
56
|
+
const options = {
|
|
57
|
+
key: payment.publicKey,
|
|
58
|
+
order_id: payment.orderIdentifier,
|
|
59
|
+
customer_id: payment.customerIdentifier,
|
|
60
|
+
modal: {
|
|
61
|
+
confirm_close: true,
|
|
62
|
+
ondismiss: onFailedPayment
|
|
63
|
+
},
|
|
64
|
+
handler: handlePayment
|
|
65
|
+
};
|
|
66
|
+
return openRazorpayCheckout(mergeDeepLeft(RAZORPAY_PAYMENT_BUTTON_OPTIONS, options));
|
|
67
|
+
};
|
|
68
|
+
const {
|
|
69
|
+
mutate: createRazorpayOrder
|
|
70
|
+
} = useCreateRazorpayPayment({
|
|
71
|
+
onSuccess: handleSuccess
|
|
72
|
+
});
|
|
73
|
+
const makePayment = () => {
|
|
74
|
+
onBeforePayment();
|
|
75
|
+
createRazorpayOrder({
|
|
76
|
+
payableId
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
return {
|
|
80
|
+
makePayment
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
export { useRazorpayPayment as default };
|
|
85
|
+
//# sourceMappingURL=useRazorpayPayment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRazorpayPayment.js","sources":["../app/javascript/src/hooks/useRazorpayPayment.js"],"sourcesContent":["import { isNotPresent, noop } from \"neetocist\";\nimport { mergeDeepLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateRazorpayPayment } from \"hooks/reactQuery/razorpay/usePaymentApi\";\nimport { RAZORPAY_PAYMENT_BUTTON_OPTIONS } from \"src/constants\";\n\nconst loadScript = src =>\n new Promise(resolve => {\n const script = document.createElement(\"script\");\n script.src = src;\n script.onload = () => {\n resolve(true);\n };\n\n script.onerror = () => {\n resolve(false);\n };\n document.body.appendChild(script);\n });\n\nconst useRazorpayPayment = ({\n payableId,\n onBeforePayment = noop,\n onSuccessfulPayment = noop,\n onFailedPayment = noop,\n}) => {\n const { t } = useTranslation();\n\n const openRazorpayCheckout = async options => {\n const script = await loadScript(\n \"https://checkout.razorpay.com/v1/checkout.js\"\n );\n\n if (!script) {\n logger.error(t(\"neetoPayments.razorpay.loadError\"));\n\n return;\n }\n const checkout = new window.Razorpay(options);\n checkout.open();\n };\n\n const handlePayment = response => {\n if (isNotPresent(response?.razorpay_signature)) {\n onFailedPayment();\n\n return;\n }\n\n onSuccessfulPayment();\n };\n\n const handleSuccess = ({ payment }) => {\n if (payment?.status === \"successful\") {\n return onSuccessfulPayment();\n }\n\n const options = {\n key: payment.publicKey,\n order_id: payment.orderIdentifier,\n customer_id: payment.customerIdentifier,\n modal: { confirm_close: true, ondismiss: onFailedPayment },\n handler: handlePayment,\n };\n\n return openRazorpayCheckout(\n mergeDeepLeft(RAZORPAY_PAYMENT_BUTTON_OPTIONS, options)\n );\n };\n\n const { mutate: createRazorpayOrder } = useCreateRazorpayPayment({\n onSuccess: handleSuccess,\n });\n\n const makePayment = () => {\n onBeforePayment();\n createRazorpayOrder({ payableId });\n };\n\n return { makePayment };\n};\n\nexport default useRazorpayPayment;\n"],"names":["loadScript","src","Promise","resolve","script","document","createElement","onload","onerror","body","appendChild","useRazorpayPayment","_ref","payableId","onBeforePayment","noop","onSuccessfulPayment","onFailedPayment","t","useTranslation","openRazorpayCheckout","options","logger","error","checkout","window","Razorpay","open","handlePayment","response","isNotPresent","razorpay_signature","handleSuccess","_ref2","payment","status","key","publicKey","order_id","orderIdentifier","customer_id","customerIdentifier","modal","confirm_close","ondismiss","handler","mergeDeepLeft","RAZORPAY_PAYMENT_BUTTON_OPTIONS","mutate","createRazorpayOrder","useCreateRazorpayPayment","onSuccess","makePayment"],"mappings":";;;;;;;;;;;AAOA,MAAMA,UAAU,GAAGC,GAAG,IACpB,IAAIC,OAAO,CAACC,OAAO,IAAI;AACrB,EAAA,MAAMC,MAAM,GAAGC,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC,CAAA;EAC/CF,MAAM,CAACH,GAAG,GAAGA,GAAG,CAAA;EAChBG,MAAM,CAACG,MAAM,GAAG,MAAM;IACpBJ,OAAO,CAAC,IAAI,CAAC,CAAA;GACd,CAAA;EAEDC,MAAM,CAACI,OAAO,GAAG,MAAM;IACrBL,OAAO,CAAC,KAAK,CAAC,CAAA;GACf,CAAA;AACDE,EAAAA,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACN,MAAM,CAAC,CAAA;AACnC,CAAC,CAAC,CAAA;AAEEO,MAAAA,kBAAkB,GAAGC,IAAA,IAKrB;EAAA,IALsB;IAC1BC,SAAS;AACTC,IAAAA,eAAe,GAAGC,IAAI;AACtBC,IAAAA,mBAAmB,GAAGD,IAAI;AAC1BE,IAAAA,eAAe,GAAGF,IAAAA;AACpB,GAAC,GAAAH,IAAA,CAAA;EACC,MAAM;AAAEM,IAAAA,CAAAA;GAAG,GAAGC,cAAc,EAAE,CAAA;AAE9B,EAAA,MAAMC,oBAAoB,GAAG,MAAMC,OAAO,IAAI;AAC5C,IAAA,MAAMjB,MAAM,GAAG,MAAMJ,UAAU,CAC7B,8CACF,CAAC,CAAA;IAED,IAAI,CAACI,MAAM,EAAE;AACXkB,MAAAA,MAAM,CAACC,KAAK,CAACL,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAA;AAEnD,MAAA,OAAA;AACF,KAAA;IACA,MAAMM,QAAQ,GAAG,IAAIC,MAAM,CAACC,QAAQ,CAACL,OAAO,CAAC,CAAA;IAC7CG,QAAQ,CAACG,IAAI,EAAE,CAAA;GAChB,CAAA;EAED,MAAMC,aAAa,GAAGC,QAAQ,IAAI;AAChC,IAAA,IAAIC,YAAY,CAACD,QAAQ,EAAEE,kBAAkB,CAAC,EAAE;AAC9Cd,MAAAA,eAAe,EAAE,CAAA;AAEjB,MAAA,OAAA;AACF,KAAA;AAEAD,IAAAA,mBAAmB,EAAE,CAAA;GACtB,CAAA;EAED,MAAMgB,aAAa,GAAGC,KAAA,IAAiB;IAAA,IAAhB;AAAEC,MAAAA,OAAAA;AAAQ,KAAC,GAAAD,KAAA,CAAA;AAChC,IAAA,IAAIC,OAAO,EAAEC,MAAM,KAAK,YAAY,EAAE;MACpC,OAAOnB,mBAAmB,EAAE,CAAA;AAC9B,KAAA;AAEA,IAAA,MAAMK,OAAO,GAAG;MACde,GAAG,EAAEF,OAAO,CAACG,SAAS;MACtBC,QAAQ,EAAEJ,OAAO,CAACK,eAAe;MACjCC,WAAW,EAAEN,OAAO,CAACO,kBAAkB;AACvCC,MAAAA,KAAK,EAAE;AAAEC,QAAAA,aAAa,EAAE,IAAI;AAAEC,QAAAA,SAAS,EAAE3B,eAAAA;OAAiB;AAC1D4B,MAAAA,OAAO,EAAEjB,aAAAA;KACV,CAAA;IAED,OAAOR,oBAAoB,CACzB0B,aAAa,CAACC,+BAA+B,EAAE1B,OAAO,CACxD,CAAC,CAAA;GACF,CAAA;EAED,MAAM;AAAE2B,IAAAA,MAAM,EAAEC,mBAAAA;GAAqB,GAAGC,wBAAwB,CAAC;AAC/DC,IAAAA,SAAS,EAAEnB,aAAAA;AACb,GAAC,CAAC,CAAA;EAEF,MAAMoB,WAAW,GAAGA,MAAM;AACxBtC,IAAAA,eAAe,EAAE,CAAA;AACjBmC,IAAAA,mBAAmB,CAAC;AAAEpC,MAAAA,SAAAA;AAAU,KAAC,CAAC,CAAA;GACnC,CAAA;EAED,OAAO;AAAEuC,IAAAA,WAAAA;GAAa,CAAA;AACxB;;;;"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
|
|
3
|
+
const useSquareCard = () => {
|
|
4
|
+
const [card, setCard] = useState(() => undefined);
|
|
5
|
+
const tokenizeCard = async () => {
|
|
6
|
+
if (!card) {
|
|
7
|
+
logger.warn("Credit Card button was clicked, but no Credit Card instance was found.");
|
|
8
|
+
return "";
|
|
9
|
+
}
|
|
10
|
+
try {
|
|
11
|
+
const result = await card.tokenize();
|
|
12
|
+
if (result?.errors) {
|
|
13
|
+
const message = `Status: ${result.status} and Errors: ${JSON.stringify(result?.errors)}`;
|
|
14
|
+
throw new Error(message);
|
|
15
|
+
}
|
|
16
|
+
return result?.token;
|
|
17
|
+
} catch (error) {
|
|
18
|
+
logger.error(error);
|
|
19
|
+
return "";
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
return {
|
|
23
|
+
card,
|
|
24
|
+
setCard,
|
|
25
|
+
tokenizeCard
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export { useSquareCard as default };
|
|
30
|
+
//# sourceMappingURL=useSquareCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSquareCard.js","sources":["../app/javascript/src/hooks/useSquareCard.js"],"sourcesContent":["import { useState } from \"react\";\n\nconst useSquareCard = () => {\n const [card, setCard] = useState(() => undefined);\n\n const tokenizeCard = async () => {\n if (!card) {\n logger.warn(\n \"Credit Card button was clicked, but no Credit Card instance was found.\"\n );\n\n return \"\";\n }\n\n try {\n const result = await card.tokenize();\n\n if (result?.errors) {\n const message = `Status: ${result.status} and Errors: ${JSON.stringify(\n result?.errors\n )}`;\n\n throw new Error(message);\n }\n\n return result?.token;\n } catch (error) {\n logger.error(error);\n\n return \"\";\n }\n };\n\n return { card, setCard, tokenizeCard };\n};\n\nexport default useSquareCard;\n"],"names":["useSquareCard","card","setCard","useState","undefined","tokenizeCard","logger","warn","result","tokenize","errors","message","status","JSON","stringify","Error","token","error"],"mappings":";;AAEMA,MAAAA,aAAa,GAAGA,MAAM;EAC1B,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGC,QAAQ,CAAC,MAAMC,SAAS,CAAC,CAAA;AAEjD,EAAA,MAAMC,YAAY,GAAG,YAAY;IAC/B,IAAI,CAACJ,IAAI,EAAE;AACTK,MAAAA,MAAM,CAACC,IAAI,CACT,wEACF,CAAC,CAAA;AAED,MAAA,OAAO,EAAE,CAAA;AACX,KAAA;IAEA,IAAI;AACF,MAAA,MAAMC,MAAM,GAAG,MAAMP,IAAI,CAACQ,QAAQ,EAAE,CAAA;MAEpC,IAAID,MAAM,EAAEE,MAAM,EAAE;AAClB,QAAA,MAAMC,OAAO,GAAI,CAAUH,QAAAA,EAAAA,MAAM,CAACI,MAAO,CAAA,aAAA,EAAeC,IAAI,CAACC,SAAS,CACpEN,MAAM,EAAEE,MACV,CAAE,CAAC,CAAA,CAAA;AAEH,QAAA,MAAM,IAAIK,KAAK,CAACJ,OAAO,CAAC,CAAA;AAC1B,OAAA;MAEA,OAAOH,MAAM,EAAEQ,KAAK,CAAA;KACrB,CAAC,OAAOC,KAAK,EAAE;AACdX,MAAAA,MAAM,CAACW,KAAK,CAACA,KAAK,CAAC,CAAA;AAEnB,MAAA,OAAO,EAAE,CAAA;AACX,KAAA;GACD,CAAA;EAED,OAAO;IAAEhB,IAAI;IAAEC,OAAO;AAAEG,IAAAA,YAAAA;GAAc,CAAA;AACxC;;;;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
import { isNotPresent } from '@bigbinary/neeto-cist';
|
|
3
|
+
import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
|
|
4
|
+
|
|
5
|
+
const useStripePromise = stripeAccountIdentifier => {
|
|
6
|
+
const stripePromise = useMemo(async () => {
|
|
7
|
+
if (isNotPresent(stripeAccountIdentifier)) return null;
|
|
8
|
+
const stripeJs = () => import('./stripe.esm-115c767d.js');
|
|
9
|
+
try {
|
|
10
|
+
const {
|
|
11
|
+
loadStripe
|
|
12
|
+
} = await stripeJs();
|
|
13
|
+
return await loadStripe(globalProps?.stripePublishableKey, {
|
|
14
|
+
stripeAccount: stripeAccountIdentifier
|
|
15
|
+
});
|
|
16
|
+
} catch (error) {
|
|
17
|
+
logger.error(error);
|
|
18
|
+
}
|
|
19
|
+
return null;
|
|
20
|
+
}, [stripeAccountIdentifier]);
|
|
21
|
+
return stripePromise;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export { useStripePromise as default };
|
|
25
|
+
//# sourceMappingURL=useStripePromise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStripePromise.js","sources":["../app/javascript/src/hooks/useStripePromise.js"],"sourcesContent":["import { useMemo } from \"react\";\n\nimport { isNotPresent } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\n\nconst useStripePromise = stripeAccountIdentifier => {\n const stripePromise = useMemo(async () => {\n if (isNotPresent(stripeAccountIdentifier)) return null;\n\n const stripeJs = () => import(\"@stripe/stripe-js\");\n\n try {\n const { loadStripe } = await stripeJs();\n\n return await loadStripe(globalProps?.stripePublishableKey, {\n stripeAccount: stripeAccountIdentifier,\n });\n } catch (error) {\n logger.error(error);\n }\n\n return null;\n }, [stripeAccountIdentifier]);\n\n return stripePromise;\n};\n\nexport default useStripePromise;\n"],"names":["useStripePromise","stripeAccountIdentifier","stripePromise","useMemo","isNotPresent","stripeJs","loadStripe","globalProps","stripePublishableKey","stripeAccount","error","logger"],"mappings":";;;;AAKMA,MAAAA,gBAAgB,GAAGC,uBAAuB,IAAI;AAClD,EAAA,MAAMC,aAAa,GAAGC,OAAO,CAAC,YAAY;AACxC,IAAA,IAAIC,YAAY,CAACH,uBAAuB,CAAC,EAAE,OAAO,IAAI,CAAA;AAEtD,IAAA,MAAMI,QAAQ,GAAGA,MAAM,OAAO,0BAAmB,CAAC,CAAA;IAElD,IAAI;MACF,MAAM;AAAEC,QAAAA,UAAAA;AAAW,OAAC,GAAG,MAAMD,QAAQ,EAAE,CAAA;AAEvC,MAAA,OAAO,MAAMC,UAAU,CAACC,WAAW,EAAEC,oBAAoB,EAAE;AACzDC,QAAAA,aAAa,EAAER,uBAAAA;AACjB,OAAC,CAAC,CAAA;KACH,CAAC,OAAOS,KAAK,EAAE;AACdC,MAAAA,MAAM,CAACD,KAAK,CAACA,KAAK,CAAC,CAAA;AACrB,KAAA;AAEA,IAAA,OAAO,IAAI,CAAA;AACb,GAAC,EAAE,CAACT,uBAAuB,CAAC,CAAC,CAAA;AAE7B,EAAA,OAAOC,aAAa,CAAA;AACtB;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-payments-frontend",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.19",
|
|
4
4
|
"description": "To manage payments across the neeto products.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"homepage": "https://github.com/bigbinary/neeto-payments-nano",
|
|
@@ -11,11 +11,10 @@
|
|
|
11
11
|
"author": "BigBinary",
|
|
12
12
|
"files": [
|
|
13
13
|
"dist",
|
|
14
|
-
"types
|
|
14
|
+
"types",
|
|
15
|
+
"*.d.ts",
|
|
15
16
|
"app/javascript/src/translations"
|
|
16
17
|
],
|
|
17
|
-
"main": "dist/index.cjs.js",
|
|
18
|
-
"module": "dist/index.js",
|
|
19
18
|
"types": "types.d.ts",
|
|
20
19
|
"scripts": {
|
|
21
20
|
"build": "NODE_ENV=production rollup -c --environment production",
|
|
@@ -39,6 +38,16 @@
|
|
|
39
38
|
"bundle exec rubocop -a --force-exclusion"
|
|
40
39
|
]
|
|
41
40
|
},
|
|
41
|
+
"exports": {
|
|
42
|
+
".": {
|
|
43
|
+
"import": "./dist/index.js",
|
|
44
|
+
"types": "./types.d.ts"
|
|
45
|
+
},
|
|
46
|
+
"./*": {
|
|
47
|
+
"import": "./dist/*.js",
|
|
48
|
+
"types": "./types/*.d.ts"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
42
51
|
"devDependencies": {
|
|
43
52
|
"@babel/core": "7.23.2",
|
|
44
53
|
"@babel/eslint-parser": "7.22.15",
|
|
@@ -51,11 +60,11 @@
|
|
|
51
60
|
"@bigbinary/eslint-plugin-neeto": "1.5.1",
|
|
52
61
|
"@bigbinary/neeto-audit-frontend": "2.0.11",
|
|
53
62
|
"@bigbinary/neeto-cist": "1.0.9",
|
|
54
|
-
"@bigbinary/neeto-commons-frontend": "3.5.
|
|
63
|
+
"@bigbinary/neeto-commons-frontend": "3.5.11",
|
|
55
64
|
"@bigbinary/neeto-editor": "1.25.0",
|
|
56
65
|
"@bigbinary/neeto-filters-frontend": "3.3.4",
|
|
57
66
|
"@bigbinary/neeto-icons": "1.18.9",
|
|
58
|
-
"@bigbinary/neeto-molecules": "1.
|
|
67
|
+
"@bigbinary/neeto-molecules": "1.19.14",
|
|
59
68
|
"@bigbinary/neetoui": "6.5.13",
|
|
60
69
|
"@emotion/is-prop-valid": "1.2.0",
|
|
61
70
|
"@faker-js/faker": "8.2.0",
|
|
@@ -156,11 +165,11 @@
|
|
|
156
165
|
},
|
|
157
166
|
"peerDependencies": {
|
|
158
167
|
"@bigbinary/neeto-cist": "latest",
|
|
159
|
-
"@bigbinary/neeto-commons-frontend": "3.5.
|
|
168
|
+
"@bigbinary/neeto-commons-frontend": "3.5.11",
|
|
160
169
|
"@bigbinary/neeto-editor": "latest",
|
|
161
170
|
"@bigbinary/neeto-filters-frontend": "3.3.4",
|
|
162
171
|
"@bigbinary/neeto-icons": "1.18.9",
|
|
163
|
-
"@bigbinary/neeto-molecules": "1.
|
|
172
|
+
"@bigbinary/neeto-molecules": "1.19.14",
|
|
164
173
|
"@bigbinary/neetoui": "6.5.13",
|
|
165
174
|
"@honeybadger-io/js": "^6.5.3",
|
|
166
175
|
"@honeybadger-io/react": "^6.1.9",
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
interface DashboardProps {
|
|
4
|
+
holdableId?: string = "";
|
|
5
|
+
payableEntityColumns?: object[] = [];
|
|
6
|
+
searchProps: SearchPropType;
|
|
7
|
+
headerProps?: object = {};
|
|
8
|
+
isPlatformEnabled?: boolean = false;
|
|
9
|
+
kind?: string = "connected";
|
|
10
|
+
payoutId?: string = null;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const Dashboard: React.FC<DashboardProps>;
|
|
14
|
+
|
|
15
|
+
export default Dashboard;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
interface PaymentKindRestrictionAlertProps {
|
|
4
|
+
isOpen: boolean;
|
|
5
|
+
paymentKind: string;
|
|
6
|
+
onClose: (...args: any[]) => void;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const PaymentKindRestrictionAlert: React.FC<PaymentKindRestrictionAlertProps>;
|
|
10
|
+
|
|
11
|
+
export default PaymentKindRestrictionAlert;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
interface SquareCardProps {
|
|
4
|
+
card: any;
|
|
5
|
+
setCard: function;
|
|
6
|
+
id?: string = "square-card-container";
|
|
7
|
+
onChange?: function = () => {};
|
|
8
|
+
options?: object = {};
|
|
9
|
+
disabled?: boolean = false;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const SquareCard: React.FC<SquareCardProps>;
|
|
13
|
+
|
|
14
|
+
export default SquareCard;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
interface SquareDashboardProps {
|
|
4
|
+
holdableId?: string = null;
|
|
5
|
+
payableEntityColumns?: object[] = [];
|
|
6
|
+
searchProps: SearchPropType;
|
|
7
|
+
headerProps?: object = {};
|
|
8
|
+
kind?: string = "squarePayment";
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const SquareDashboard: React.FC<SquareDashboardProps>;
|
|
12
|
+
|
|
13
|
+
export default SquareDashboard;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
interface StripeConnectProps {
|
|
4
|
+
holdableId: string | null;
|
|
5
|
+
isOpen: boolean;
|
|
6
|
+
onClose: () => void;
|
|
7
|
+
isPlatform: boolean;
|
|
8
|
+
returnUrl: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const StripeConnect: React.FC<StripeConnectProps>;
|
|
12
|
+
|
|
13
|
+
export default StripeConnect;
|
package/types.d.ts
CHANGED
|
@@ -1,75 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
interface SquareCardReturnType {
|
|
13
|
-
card: any;
|
|
14
|
-
setCard: function;
|
|
15
|
-
tokenizeCard: function;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export function Dashboard(props: {
|
|
19
|
-
holdableId?: string = "";
|
|
20
|
-
payableEntityColumns?: object[] = [];
|
|
21
|
-
searchProps: SearchPropType;
|
|
22
|
-
headerProps?: object = {};
|
|
23
|
-
isPlatformEnabled?: boolean = false;
|
|
24
|
-
kind?: string = "connected";
|
|
25
|
-
payoutId?: string = null;
|
|
26
|
-
}): JSX.Element;
|
|
27
|
-
|
|
28
|
-
export function buildStripeTransactionLink(
|
|
29
|
-
identifier: string,
|
|
30
|
-
isLive: boolean = true
|
|
31
|
-
): string;
|
|
32
|
-
|
|
33
|
-
export function useStripePromise(
|
|
34
|
-
stripeAccountIdentifier: string
|
|
35
|
-
): Promise<any | null> | null;
|
|
36
|
-
|
|
37
|
-
export function useSquareCard(): SquareCardReturnType;
|
|
38
|
-
|
|
39
|
-
export function SquareCard(props: {
|
|
40
|
-
card: any;
|
|
41
|
-
setCard: function;
|
|
42
|
-
id?: string = "square-card-container";
|
|
43
|
-
onChange?: function = () => {};
|
|
44
|
-
options?: object = {};
|
|
45
|
-
disabled?: boolean = false;
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
export function SquareDashboard(props: {
|
|
49
|
-
holdableId?: string = null;
|
|
50
|
-
payableEntityColumns?: object[] = [];
|
|
51
|
-
searchProps: SearchPropType;
|
|
52
|
-
headerProps?: object = {};
|
|
53
|
-
kind?: string = "squarePayment";
|
|
54
|
-
}): JSX.Element;
|
|
55
|
-
|
|
56
|
-
export function PaymentKindRestrictionAlert(props: {
|
|
57
|
-
isOpen: boolean;
|
|
58
|
-
paymentKind: string;
|
|
59
|
-
onClose: (...args: any[]) => any;
|
|
60
|
-
}): JSX.Element;
|
|
61
|
-
|
|
62
|
-
export function AccountsDashboard(): JSX.Element;
|
|
63
|
-
|
|
64
|
-
export function PayoutsDashboard(props: {
|
|
65
|
-
payoutsPageRoute: string;
|
|
66
|
-
isPlatformEnabled: boolean;
|
|
67
|
-
}): JSX.Element;
|
|
68
|
-
|
|
69
|
-
export function PayoutsPage(props: {
|
|
70
|
-
isPlatformEnabled: boolean;
|
|
71
|
-
indexRoute: string;
|
|
72
|
-
searchProps: object = {};
|
|
73
|
-
}): JSX.Element;
|
|
74
|
-
|
|
75
|
-
export function StripeConnect(props): JSX.Element;
|
|
1
|
+
export { default as AccountsDashboard } from "./types/AccountsDashboard";
|
|
2
|
+
export { default as Dashboard } from "./types/Dashboard";
|
|
3
|
+
export { default as PaymentKindRestrictionAlert } from "./types/PaymentKindRestrictionAlert";
|
|
4
|
+
export { default as PayoutsDashboard } from "./types/PayoutsDashboard";
|
|
5
|
+
export { default as PayoutsPage } from "./types/PayoutsPage";
|
|
6
|
+
export { default as SquareCard } from "./types/SquareCard";
|
|
7
|
+
export { default as SquareDashboard } from "./types/SquareDashboard";
|
|
8
|
+
export { default as StripeConnect } from "./types/StripeConnect";
|
|
9
|
+
export { default as buildStripeTransactionLink } from "./types/buildStripeTransactionLink";
|
|
10
|
+
export { default as useSquareCard } from "./types/useSquareCard";
|
|
11
|
+
export { default as useStripePromise } from "./types/useStripePromise";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-042b6907.js","sources":["../node_modules/@square/web-sdk/dist/index.js"],"sourcesContent":["var l=(e,r,t)=>new Promise((n,i)=>{var d=o=>{try{c(t.next(o))}catch(a){i(a)}},m=o=>{try{c(t.throw(o))}catch(a){i(a)}},c=o=>o.done?n(o.value):Promise.resolve(o.value).then(d,m);c((t=t.apply(e,r)).next())});function f(e){return document.querySelector(`script[src=\"${e}\"]`)}function S(e){let r=document.head||document.body;if(!r)throw new Error(\"Square.js requires a <body> or <head> element.\");let t=document.createElement(\"script\");return t.src=e,r.appendChild(t),t}var s=null;function p(e){return s!==null||(s=new Promise((r,t)=>{if(typeof window==\"undefined\"){r(null);return}if(window.Square){r(window.Square);return}try{let n=f(e);n||(n=S(e)),n.addEventListener(\"load\",()=>{window.Square?r(window.Square):t(new Error(\"Square.js failed to load properly.\"))}),n.addEventListener(\"error\",()=>{t(new Error(\"Error occurred while loading Square.js\"))})}catch(n){t(n)}})),s}var w=\"v1\",u=class extends Error{constructor(r=\"The Payment 'applicationId' option is not in the correct format.\"){super(r);this.name=\"InvalidApplicationIdError\",Object.setPrototypeOf(this,u.prototype)}};function q(e){let r=\"\";if(e.startsWith(\"sq0idp-\")&&(r=\"https://web.squarecdn.com/\"),e.startsWith(\"sandbox-sq0idb-\")&&(r=\"https://sandbox.web.squarecdn.com/\"),r.length===0)throw new u;return r+=`${w}/square.js`,r}function E(e,r,t){return l(this,null,function*(){let n=(t==null?void 0:t.scriptSrc)!==void 0?t.scriptSrc:q(e),i=yield p(n);return i===null?null:i.payments(e,r)})}export{E as payments};\n"],"names":[],"mappings":";;AAAA,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC,aAAa,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,EAAC,CAAC,EAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,kEAAkE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;;"}
|