@bigbinary/neeto-payments-frontend 6.1.11 → 6.1.13
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/AccountsDashboard.js +473 -0
- package/dist/AccountsDashboard.js.map +1 -0
- package/dist/AdminCancelRecurringPaymentButton.js +65 -0
- package/dist/AdminCancelRecurringPaymentButton.js.map +1 -0
- package/dist/CashPaymentButton.js +58 -0
- package/dist/CashPaymentButton.js.map +1 -0
- package/dist/ConfirmCashPaymentButton.js +98 -0
- package/dist/ConfirmCashPaymentButton.js.map +1 -0
- package/dist/CopyButtonWrapper-Bp5IVO76.js +26 -0
- package/dist/CopyButtonWrapper-Bp5IVO76.js.map +1 -0
- package/dist/CustomerCancelRecurringPaymentForm.js +103 -0
- package/dist/CustomerCancelRecurringPaymentForm.js.map +1 -0
- package/dist/ExportModal-DyRGg_4o.js +120 -0
- package/dist/ExportModal-DyRGg_4o.js.map +1 -0
- package/dist/ManualUpiConnect.js +228 -0
- package/dist/ManualUpiConnect.js.map +1 -0
- package/dist/ManualUpiPayment.js +125 -0
- package/dist/ManualUpiPayment.js.map +1 -0
- package/dist/ManualUpiPaymentConfirmButton.js +155 -0
- package/dist/ManualUpiPaymentConfirmButton.js.map +1 -0
- package/dist/ManualUpiPaymentRejectButton.js +126 -0
- package/dist/ManualUpiPaymentRejectButton.js.map +1 -0
- package/dist/PaymentKindRestrictionAlert.js +31 -0
- package/dist/PaymentKindRestrictionAlert.js.map +1 -0
- package/dist/PaymentsDashboard.js +555 -0
- package/dist/PaymentsDashboard.js.map +1 -0
- package/dist/PayoutsDashboard.js +510 -0
- package/dist/PayoutsDashboard.js.map +1 -0
- package/dist/PayoutsPage.js +158 -0
- package/dist/PayoutsPage.js.map +1 -0
- package/dist/RazorpayConnect.js +115 -0
- package/dist/RazorpayConnect.js.map +1 -0
- package/dist/RazorpayLinkedAccountForm.js +201 -0
- package/dist/RazorpayLinkedAccountForm.js.map +1 -0
- package/dist/RazorpayPaymentButton.js +127 -0
- package/dist/RazorpayPaymentButton.js.map +1 -0
- package/dist/RecurringPaymentSettings.js +119 -0
- package/dist/RecurringPaymentSettings.js.map +1 -0
- package/dist/RefundsDashboard.js +484 -0
- package/dist/RefundsDashboard.js.map +1 -0
- package/dist/SplitTransfersDashboard.js +1042 -0
- package/dist/SplitTransfersDashboard.js.map +1 -0
- package/dist/StripeCheckoutSetting.js +82 -0
- package/dist/StripeCheckoutSetting.js.map +1 -0
- package/dist/StripeConnect.js +376 -0
- package/dist/StripeConnect.js.map +1 -0
- package/dist/StripeManage.js +46 -0
- package/dist/StripeManage.js.map +1 -0
- package/dist/TaxesDashboard.js +355 -0
- package/dist/TaxesDashboard.js.map +1 -0
- package/dist/buildStripeTransactionLink.js +12 -0
- package/dist/buildStripeTransactionLink.js.map +1 -0
- package/dist/cjs/AccountsDashboard.js +475 -0
- package/dist/cjs/AccountsDashboard.js.map +1 -0
- package/dist/cjs/AdminCancelRecurringPaymentButton.js +67 -0
- package/dist/cjs/AdminCancelRecurringPaymentButton.js.map +1 -0
- package/dist/cjs/CashPaymentButton.js +60 -0
- package/dist/cjs/CashPaymentButton.js.map +1 -0
- package/dist/cjs/ConfirmCashPaymentButton.js +100 -0
- package/dist/cjs/ConfirmCashPaymentButton.js.map +1 -0
- package/dist/cjs/CopyButtonWrapper-I-kdKiiB.js +29 -0
- package/dist/cjs/CopyButtonWrapper-I-kdKiiB.js.map +1 -0
- package/dist/cjs/CustomerCancelRecurringPaymentForm.js +105 -0
- package/dist/cjs/CustomerCancelRecurringPaymentForm.js.map +1 -0
- package/dist/cjs/ExportModal-DE-VcN1X.js +122 -0
- package/dist/cjs/ExportModal-DE-VcN1X.js.map +1 -0
- package/dist/cjs/ManualUpiConnect.js +249 -0
- package/dist/cjs/ManualUpiConnect.js.map +1 -0
- package/dist/cjs/ManualUpiPayment.js +146 -0
- package/dist/cjs/ManualUpiPayment.js.map +1 -0
- package/dist/cjs/ManualUpiPaymentConfirmButton.js +176 -0
- package/dist/cjs/ManualUpiPaymentConfirmButton.js.map +1 -0
- package/dist/cjs/ManualUpiPaymentRejectButton.js +128 -0
- package/dist/cjs/ManualUpiPaymentRejectButton.js.map +1 -0
- package/dist/cjs/PaymentKindRestrictionAlert.js +33 -0
- package/dist/cjs/PaymentKindRestrictionAlert.js.map +1 -0
- package/dist/cjs/PaymentsDashboard.js +557 -0
- package/dist/cjs/PaymentsDashboard.js.map +1 -0
- package/dist/cjs/PayoutsDashboard.js +512 -0
- package/dist/cjs/PayoutsDashboard.js.map +1 -0
- package/dist/cjs/PayoutsPage.js +160 -0
- package/dist/cjs/PayoutsPage.js.map +1 -0
- package/dist/cjs/RazorpayConnect.js +117 -0
- package/dist/cjs/RazorpayConnect.js.map +1 -0
- package/dist/cjs/RazorpayLinkedAccountForm.js +203 -0
- package/dist/cjs/RazorpayLinkedAccountForm.js.map +1 -0
- package/dist/cjs/RazorpayPaymentButton.js +129 -0
- package/dist/cjs/RazorpayPaymentButton.js.map +1 -0
- package/dist/cjs/RecurringPaymentSettings.js +140 -0
- package/dist/cjs/RecurringPaymentSettings.js.map +1 -0
- package/dist/cjs/RefundsDashboard.js +486 -0
- package/dist/cjs/RefundsDashboard.js.map +1 -0
- package/dist/cjs/SplitTransfersDashboard.js +1063 -0
- package/dist/cjs/SplitTransfersDashboard.js.map +1 -0
- package/dist/cjs/StripeCheckoutSetting.js +84 -0
- package/dist/cjs/StripeCheckoutSetting.js.map +1 -0
- package/dist/cjs/StripeConnect.js +397 -0
- package/dist/cjs/StripeConnect.js.map +1 -0
- package/dist/cjs/StripeManage.js +48 -0
- package/dist/cjs/StripeManage.js.map +1 -0
- package/dist/cjs/TaxesDashboard.js +376 -0
- package/dist/cjs/TaxesDashboard.js.map +1 -0
- package/dist/cjs/buildStripeTransactionLink.js +14 -0
- package/dist/cjs/buildStripeTransactionLink.js.map +1 -0
- package/dist/cjs/constants.js +38 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/dashboard-BiCB2A6S.js +96 -0
- package/dist/cjs/dashboard-BiCB2A6S.js.map +1 -0
- package/dist/cjs/exportChannel-BL2RGGhP.js +38 -0
- package/dist/cjs/exportChannel-BL2RGGhP.js.map +1 -0
- package/dist/cjs/getAddressElementOptions.js +14 -0
- package/dist/cjs/getAddressElementOptions.js.map +1 -0
- package/dist/cjs/getAmountInLargestCurrencyUnit.js +14 -0
- package/dist/cjs/getAmountInLargestCurrencyUnit.js.map +1 -0
- package/dist/cjs/getAmountInSmallestCurrencyUnit.js +14 -0
- package/dist/cjs/getAmountInSmallestCurrencyUnit.js.map +1 -0
- package/dist/cjs/getAmountWithAppliedTax.js +14 -0
- package/dist/cjs/getAmountWithAppliedTax.js.map +1 -0
- package/dist/cjs/getFormattedAmount.js +14 -0
- package/dist/cjs/getFormattedAmount.js.map +1 -0
- package/dist/cjs/getFormattedDiscountedAmount.js +14 -0
- package/dist/cjs/getFormattedDiscountedAmount.js.map +1 -0
- package/dist/cjs/getFormattedDiscountedPercentage.js +14 -0
- package/dist/cjs/getFormattedDiscountedPercentage.js.map +1 -0
- package/dist/cjs/getFormattedTaxAmount.js +14 -0
- package/dist/cjs/getFormattedTaxAmount.js.map +1 -0
- package/dist/cjs/getFormattedTipAmount.js +14 -0
- package/dist/cjs/getFormattedTipAmount.js.map +1 -0
- package/dist/cjs/getQrCodeValue.js +14 -0
- package/dist/cjs/getQrCodeValue.js.map +1 -0
- package/dist/cjs/getTaxAmount.js +14 -0
- package/dist/cjs/getTaxAmount.js.map +1 -0
- package/dist/cjs/getTipAmount.js +14 -0
- package/dist/cjs/getTipAmount.js.map +1 -0
- package/dist/cjs/hasAmountToPay.js +14 -0
- package/dist/cjs/hasAmountToPay.js.map +1 -0
- package/dist/cjs/index-D6V3Vofs.js +855 -0
- package/dist/cjs/index-D6V3Vofs.js.map +1 -0
- package/dist/cjs/index.js +121 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/queryConstants-Dc6wh21D.js +35 -0
- package/dist/cjs/queryConstants-Dc6wh21D.js.map +1 -0
- package/dist/cjs/renderFunctions-DhCwlBWw.js +48 -0
- package/dist/cjs/renderFunctions-DhCwlBWw.js.map +1 -0
- package/dist/cjs/stripe.esm-CrNYjPcC.js +132 -0
- package/dist/cjs/stripe.esm-CrNYjPcC.js.map +1 -0
- package/dist/cjs/useAccountsApi-B2MZWHMY.js +42 -0
- package/dist/cjs/useAccountsApi-B2MZWHMY.js.map +1 -0
- package/dist/cjs/useIntegrationsApi-CVlTmLKc.js +20 -0
- package/dist/cjs/useIntegrationsApi-CVlTmLKc.js.map +1 -0
- package/dist/cjs/usePaymentApi-BCE_Ql18.js +29 -0
- package/dist/cjs/usePaymentApi-BCE_Ql18.js.map +1 -0
- package/dist/cjs/usePaymentApi-Bl8jWvnG.js +44 -0
- package/dist/cjs/usePaymentApi-Bl8jWvnG.js.map +1 -0
- package/dist/cjs/usePaymentApi-CiwXBe90.js +29 -0
- package/dist/cjs/usePaymentApi-CiwXBe90.js.map +1 -0
- package/dist/cjs/usePlatformApi-CcGVG4Qi.js +55 -0
- package/dist/cjs/usePlatformApi-CcGVG4Qi.js.map +1 -0
- package/dist/cjs/useRazorpayPayment.js +88 -0
- package/dist/cjs/useRazorpayPayment.js.map +1 -0
- package/dist/cjs/useStripePromise.js +31 -0
- package/dist/cjs/useStripePromise.js.map +1 -0
- package/dist/constants.js +8 -0
- package/dist/constants.js.map +1 -0
- package/dist/dashboard-CwvqEeOl.js +90 -0
- package/dist/dashboard-CwvqEeOl.js.map +1 -0
- package/dist/exportChannel-Db0U5gc1.js +35 -0
- package/dist/exportChannel-Db0U5gc1.js.map +1 -0
- package/dist/getAddressElementOptions.js +12 -0
- package/dist/getAddressElementOptions.js.map +1 -0
- package/dist/getAmountInLargestCurrencyUnit.js +12 -0
- package/dist/getAmountInLargestCurrencyUnit.js.map +1 -0
- package/dist/getAmountInSmallestCurrencyUnit.js +12 -0
- package/dist/getAmountInSmallestCurrencyUnit.js.map +1 -0
- package/dist/getAmountWithAppliedTax.js +12 -0
- package/dist/getAmountWithAppliedTax.js.map +1 -0
- package/dist/getFormattedAmount.js +12 -0
- package/dist/getFormattedAmount.js.map +1 -0
- package/dist/getFormattedDiscountedAmount.js +12 -0
- package/dist/getFormattedDiscountedAmount.js.map +1 -0
- package/dist/getFormattedDiscountedPercentage.js +12 -0
- package/dist/getFormattedDiscountedPercentage.js.map +1 -0
- package/dist/getFormattedTaxAmount.js +12 -0
- package/dist/getFormattedTaxAmount.js.map +1 -0
- package/dist/getFormattedTipAmount.js +12 -0
- package/dist/getFormattedTipAmount.js.map +1 -0
- package/dist/getQrCodeValue.js +12 -0
- package/dist/getQrCodeValue.js.map +1 -0
- package/dist/getTaxAmount.js +12 -0
- package/dist/getTaxAmount.js.map +1 -0
- package/dist/getTipAmount.js +12 -0
- package/dist/getTipAmount.js.map +1 -0
- package/dist/hasAmountToPay.js +12 -0
- package/dist/hasAmountToPay.js.map +1 -0
- package/dist/index-CNouM9_z.js +804 -0
- package/dist/index-CNouM9_z.js.map +1 -0
- package/dist/index.js +78 -0
- package/dist/index.js.map +1 -0
- package/dist/queryConstants-C7AqdemO.js +33 -0
- package/dist/queryConstants-C7AqdemO.js.map +1 -0
- package/dist/renderFunctions-Bx5nzyE_.js +44 -0
- package/dist/renderFunctions-Bx5nzyE_.js.map +1 -0
- package/dist/stripe.esm-DuZ_gsAa.js +130 -0
- package/dist/stripe.esm-DuZ_gsAa.js.map +1 -0
- package/dist/useAccountsApi-C9_eNmEZ.js +38 -0
- package/dist/useAccountsApi-C9_eNmEZ.js.map +1 -0
- package/dist/useIntegrationsApi-D9eA_FrB.js +18 -0
- package/dist/useIntegrationsApi-D9eA_FrB.js.map +1 -0
- package/dist/usePaymentApi-B98qoM7U.js +26 -0
- package/dist/usePaymentApi-B98qoM7U.js.map +1 -0
- package/dist/usePaymentApi-DMHHdCK1.js +41 -0
- package/dist/usePaymentApi-DMHHdCK1.js.map +1 -0
- package/dist/usePaymentApi-DSlW_EBq.js +27 -0
- package/dist/usePaymentApi-DSlW_EBq.js.map +1 -0
- package/dist/usePlatformApi-sJUY6wju.js +50 -0
- package/dist/usePlatformApi-sJUY6wju.js.map +1 -0
- package/dist/useRazorpayPayment.js +86 -0
- package/dist/useRazorpayPayment.js.map +1 -0
- package/dist/useStripePromise.js +29 -0
- package/dist/useStripePromise.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var neetocist = require('neetocist');
|
|
4
|
+
var ramda = require('ramda');
|
|
5
|
+
var reactI18next = require('react-i18next');
|
|
6
|
+
var usePaymentApi = require('./usePaymentApi-CiwXBe90.js');
|
|
7
|
+
var neetoui = require('@bigbinary/neetoui');
|
|
8
|
+
var constants = require('./index-D6V3Vofs.js');
|
|
9
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
10
|
+
require('@tanstack/react-query');
|
|
11
|
+
require('axios');
|
|
12
|
+
require('i18next');
|
|
13
|
+
require('neetocommons/constants');
|
|
14
|
+
require('decimal.js');
|
|
15
|
+
require('neetocommons/utils');
|
|
16
|
+
|
|
17
|
+
const loadScript = src => new Promise(resolve => {
|
|
18
|
+
const script = document.createElement("script");
|
|
19
|
+
script.src = src;
|
|
20
|
+
script.onload = () => {
|
|
21
|
+
resolve(true);
|
|
22
|
+
};
|
|
23
|
+
script.onerror = () => {
|
|
24
|
+
resolve(false);
|
|
25
|
+
};
|
|
26
|
+
document.body.appendChild(script);
|
|
27
|
+
});
|
|
28
|
+
const RazorpayPaymentButton = ({
|
|
29
|
+
label,
|
|
30
|
+
payableId,
|
|
31
|
+
discountCode,
|
|
32
|
+
email,
|
|
33
|
+
customAmount,
|
|
34
|
+
isDisabled,
|
|
35
|
+
isLoading,
|
|
36
|
+
name,
|
|
37
|
+
tip,
|
|
38
|
+
theme = {},
|
|
39
|
+
isPreserveDetailsChecked = false,
|
|
40
|
+
numberOfInstallments = 1,
|
|
41
|
+
payableType = null,
|
|
42
|
+
onBeforePayment = neetocist.noop,
|
|
43
|
+
onSuccessfulPayment = neetocist.noop,
|
|
44
|
+
onFailedPayment = neetocist.noop
|
|
45
|
+
}) => {
|
|
46
|
+
const {
|
|
47
|
+
t
|
|
48
|
+
} = reactI18next.useTranslation();
|
|
49
|
+
const openRazorpayCheckout = async options => {
|
|
50
|
+
const script = await loadScript("https://checkout.razorpay.com/v1/checkout.js");
|
|
51
|
+
if (!script) {
|
|
52
|
+
logger.error(t("neetoPayments.razorpay.loadError"));
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const checkout = new window.Razorpay(options);
|
|
56
|
+
checkout.open();
|
|
57
|
+
};
|
|
58
|
+
const handlePayment = response => {
|
|
59
|
+
if (neetocist.isNotPresent(response?.razorpay_signature)) {
|
|
60
|
+
onFailedPayment();
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
onSuccessfulPayment();
|
|
64
|
+
};
|
|
65
|
+
const handleSuccess = ({
|
|
66
|
+
payment
|
|
67
|
+
}) => {
|
|
68
|
+
if (payment?.status === "successful") {
|
|
69
|
+
return onSuccessfulPayment();
|
|
70
|
+
}
|
|
71
|
+
const themePrimaryColor = neetocist.findBy({
|
|
72
|
+
key: "primary_color"
|
|
73
|
+
}, theme?.properties)?.value;
|
|
74
|
+
const options = {
|
|
75
|
+
key: payment.publicKey,
|
|
76
|
+
order_id: payment.orderIdentifier,
|
|
77
|
+
remember_customer: true,
|
|
78
|
+
customer_id: payment.customerIdentifier,
|
|
79
|
+
prefill: {
|
|
80
|
+
name,
|
|
81
|
+
email
|
|
82
|
+
},
|
|
83
|
+
modal: {
|
|
84
|
+
confirm_close: true,
|
|
85
|
+
ondismiss: onFailedPayment
|
|
86
|
+
},
|
|
87
|
+
handler: handlePayment,
|
|
88
|
+
theme: {
|
|
89
|
+
color: themePrimaryColor ?? "#0da84c"
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
if (isPreserveDetailsChecked) {
|
|
93
|
+
options["recurring"] = "1";
|
|
94
|
+
}
|
|
95
|
+
return openRazorpayCheckout(ramda.mergeDeepLeft(constants.RAZORPAY_PAYMENT_BUTTON_OPTIONS, options));
|
|
96
|
+
};
|
|
97
|
+
const {
|
|
98
|
+
isPending,
|
|
99
|
+
mutate: createRazorpayOrder
|
|
100
|
+
} = usePaymentApi.useCreateRazorpayPayment({
|
|
101
|
+
onSuccess: handleSuccess
|
|
102
|
+
});
|
|
103
|
+
const handleClick = () => {
|
|
104
|
+
onBeforePayment();
|
|
105
|
+
const payload = {
|
|
106
|
+
payableId,
|
|
107
|
+
payableType,
|
|
108
|
+
discountCode,
|
|
109
|
+
customAmount,
|
|
110
|
+
tipAttributes: tip,
|
|
111
|
+
numberOfInstallments,
|
|
112
|
+
customerAttributes: {
|
|
113
|
+
email,
|
|
114
|
+
name
|
|
115
|
+
},
|
|
116
|
+
isCardPreservingEnabled: isPreserveDetailsChecked
|
|
117
|
+
};
|
|
118
|
+
createRazorpayOrder(payload);
|
|
119
|
+
};
|
|
120
|
+
return /*#__PURE__*/jsxRuntime.jsx(neetoui.Button, {
|
|
121
|
+
disabled: isPending || isDisabled,
|
|
122
|
+
label: label || t("neetoPayments.common.pay"),
|
|
123
|
+
loading: isPending || isLoading,
|
|
124
|
+
onClick: handleClick
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
module.exports = RazorpayPaymentButton;
|
|
129
|
+
//# sourceMappingURL=RazorpayPaymentButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RazorpayPaymentButton.js","sources":["../../app/javascript/src/components/RazorpayPaymentButton.jsx"],"sourcesContent":["import { isNotPresent, noop, findBy } from \"neetocist\";\nimport { mergeDeepLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateRazorpayPayment } from \"hooks/reactQuery/razorpay/usePaymentApi\";\nimport { Button } from \"neetoui\";\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 RazorpayPaymentButton = ({\n label,\n payableId,\n discountCode,\n email,\n customAmount,\n isDisabled,\n isLoading,\n name,\n tip,\n theme = {},\n isPreserveDetailsChecked = false,\n numberOfInstallments = 1,\n payableType = null,\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 themePrimaryColor = findBy(\n { key: \"primary_color\" },\n theme?.properties\n )?.value;\n\n const options = {\n key: payment.publicKey,\n order_id: payment.orderIdentifier,\n remember_customer: true,\n customer_id: payment.customerIdentifier,\n prefill: { name, email },\n modal: { confirm_close: true, ondismiss: onFailedPayment },\n handler: handlePayment,\n theme: { color: themePrimaryColor ?? \"#0da84c\" },\n };\n\n if (isPreserveDetailsChecked) {\n options[\"recurring\"] = \"1\";\n }\n\n return openRazorpayCheckout(\n mergeDeepLeft(RAZORPAY_PAYMENT_BUTTON_OPTIONS, options)\n );\n };\n\n const { isPending, mutate: createRazorpayOrder } = useCreateRazorpayPayment({\n onSuccess: handleSuccess,\n });\n\n const handleClick = () => {\n onBeforePayment();\n const payload = {\n payableId,\n payableType,\n discountCode,\n customAmount,\n tipAttributes: tip,\n numberOfInstallments,\n customerAttributes: { email, name },\n isCardPreservingEnabled: isPreserveDetailsChecked,\n };\n createRazorpayOrder(payload);\n };\n\n return (\n <Button\n disabled={isPending || isDisabled}\n label={label || t(\"neetoPayments.common.pay\")}\n loading={isPending || isLoading}\n onClick={handleClick}\n />\n );\n};\n\nexport default RazorpayPaymentButton;\n"],"names":["loadScript","src","Promise","resolve","script","document","createElement","onload","onerror","body","appendChild","RazorpayPaymentButton","label","payableId","discountCode","email","customAmount","isDisabled","isLoading","name","tip","theme","isPreserveDetailsChecked","numberOfInstallments","payableType","onBeforePayment","noop","onSuccessfulPayment","onFailedPayment","t","useTranslation","openRazorpayCheckout","options","logger","error","checkout","window","Razorpay","open","handlePayment","response","isNotPresent","razorpay_signature","handleSuccess","payment","status","themePrimaryColor","findBy","key","properties","value","publicKey","order_id","orderIdentifier","remember_customer","customer_id","customerIdentifier","prefill","modal","confirm_close","ondismiss","handler","color","mergeDeepLeft","RAZORPAY_PAYMENT_BUTTON_OPTIONS","isPending","mutate","createRazorpayOrder","useCreateRazorpayPayment","onSuccess","handleClick","payload","tipAttributes","customerAttributes","isCardPreservingEnabled","_jsx","Button","disabled","loading","onClick"],"mappings":";;;;;;;;;;;;;;;;AAQA,MAAMA,UAAU,GAAGC,GAAG,IACpB,IAAIC,OAAO,CAACC,OAAO,IAAI;AACrB,EAAA,MAAMC,MAAM,GAAGC,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC;EAC/CF,MAAM,CAACH,GAAG,GAAGA,GAAG;EAChBG,MAAM,CAACG,MAAM,GAAG,MAAM;IACpBJ,OAAO,CAAC,IAAI,CAAC;GACd;EAEDC,MAAM,CAACI,OAAO,GAAG,MAAM;IACrBL,OAAO,CAAC,KAAK,CAAC;GACf;AACDE,EAAAA,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACN,MAAM,CAAC;AACnC,CAAC,CAAC;AAEEO,MAAAA,qBAAqB,GAAGA,CAAC;EAC7BC,KAAK;EACLC,SAAS;EACTC,YAAY;EACZC,KAAK;EACLC,YAAY;EACZC,UAAU;EACVC,SAAS;EACTC,IAAI;EACJC,GAAG;EACHC,KAAK,GAAG,EAAE;AACVC,EAAAA,wBAAwB,GAAG,KAAK;AAChCC,EAAAA,oBAAoB,GAAG,CAAC;AACxBC,EAAAA,WAAW,GAAG,IAAI;AAClBC,EAAAA,eAAe,GAAGC,cAAI;AACtBC,EAAAA,mBAAmB,GAAGD,cAAI;AAC1BE,EAAAA,eAAe,GAAGF;AACpB,CAAC,KAAK;EACJ,MAAM;AAAEG,IAAAA;GAAG,GAAGC,2BAAc,EAAE;AAE9B,EAAA,MAAMC,oBAAoB,GAAG,MAAMC,OAAO,IAAI;AAC5C,IAAA,MAAM5B,MAAM,GAAG,MAAMJ,UAAU,CAC7B,8CACF,CAAC;IAED,IAAI,CAACI,MAAM,EAAE;AACX6B,MAAAA,MAAM,CAACC,KAAK,CAACL,CAAC,CAAC,kCAAkC,CAAC,CAAC;AAEnD,MAAA;AACF;IACA,MAAMM,QAAQ,GAAG,IAAIC,MAAM,CAACC,QAAQ,CAACL,OAAO,CAAC;IAC7CG,QAAQ,CAACG,IAAI,EAAE;GAChB;EAED,MAAMC,aAAa,GAAGC,QAAQ,IAAI;AAChC,IAAA,IAAIC,sBAAY,CAACD,QAAQ,EAAEE,kBAAkB,CAAC,EAAE;AAC9Cd,MAAAA,eAAe,EAAE;AAEjB,MAAA;AACF;AAEAD,IAAAA,mBAAmB,EAAE;GACtB;EAED,MAAMgB,aAAa,GAAGA,CAAC;AAAEC,IAAAA;AAAQ,GAAC,KAAK;AACrC,IAAA,IAAIA,OAAO,EAAEC,MAAM,KAAK,YAAY,EAAE;MACpC,OAAOlB,mBAAmB,EAAE;AAC9B;IAEA,MAAMmB,iBAAiB,GAAGC,gBAAM,CAC9B;AAAEC,MAAAA,GAAG,EAAE;AAAgB,KAAC,EACxB3B,KAAK,EAAE4B,UACT,CAAC,EAAEC,KAAK;AAER,IAAA,MAAMlB,OAAO,GAAG;MACdgB,GAAG,EAAEJ,OAAO,CAACO,SAAS;MACtBC,QAAQ,EAAER,OAAO,CAACS,eAAe;AACjCC,MAAAA,iBAAiB,EAAE,IAAI;MACvBC,WAAW,EAAEX,OAAO,CAACY,kBAAkB;AACvCC,MAAAA,OAAO,EAAE;QAAEtC,IAAI;AAAEJ,QAAAA;OAAO;AACxB2C,MAAAA,KAAK,EAAE;AAAEC,QAAAA,aAAa,EAAE,IAAI;AAAEC,QAAAA,SAAS,EAAEhC;OAAiB;AAC1DiC,MAAAA,OAAO,EAAEtB,aAAa;AACtBlB,MAAAA,KAAK,EAAE;QAAEyC,KAAK,EAAEhB,iBAAiB,IAAI;AAAU;KAChD;AAED,IAAA,IAAIxB,wBAAwB,EAAE;AAC5BU,MAAAA,OAAO,CAAC,WAAW,CAAC,GAAG,GAAG;AAC5B;IAEA,OAAOD,oBAAoB,CACzBgC,mBAAa,CAACC,yCAA+B,EAAEhC,OAAO,CACxD,CAAC;GACF;EAED,MAAM;IAAEiC,SAAS;AAAEC,IAAAA,MAAM,EAAEC;GAAqB,GAAGC,sCAAwB,CAAC;AAC1EC,IAAAA,SAAS,EAAE1B;AACb,GAAC,CAAC;EAEF,MAAM2B,WAAW,GAAGA,MAAM;AACxB7C,IAAAA,eAAe,EAAE;AACjB,IAAA,MAAM8C,OAAO,GAAG;MACd1D,SAAS;MACTW,WAAW;MACXV,YAAY;MACZE,YAAY;AACZwD,MAAAA,aAAa,EAAEpD,GAAG;MAClBG,oBAAoB;AACpBkD,MAAAA,kBAAkB,EAAE;QAAE1D,KAAK;AAAEI,QAAAA;OAAM;AACnCuD,MAAAA,uBAAuB,EAAEpD;KAC1B;IACD6C,mBAAmB,CAACI,OAAO,CAAC;GAC7B;EAED,oBACEI,cAAA,CAACC,cAAM,EAAA;IACLC,QAAQ,EAAEZ,SAAS,IAAIhD,UAAW;AAClCL,IAAAA,KAAK,EAAEA,KAAK,IAAIiB,CAAC,CAAC,0BAA0B,CAAE;IAC9CiD,OAAO,EAAEb,SAAS,IAAI/C,SAAU;AAChC6D,IAAAA,OAAO,EAAET;AAAY,GACtB,CAAC;AAEN;;;;"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var neetocist = require('neetocist');
|
|
4
|
+
var ramda = require('ramda');
|
|
5
|
+
var reactI18next = require('react-i18next');
|
|
6
|
+
var reactQuery = require('@tanstack/react-query');
|
|
7
|
+
var reactUtils = require('neetocommons/react-utils');
|
|
8
|
+
var axios = require('axios');
|
|
9
|
+
var constants = require('./index-D6V3Vofs.js');
|
|
10
|
+
var queryConstants = require('./queryConstants-Dc6wh21D.js');
|
|
11
|
+
var CardLayout = require('@bigbinary/neeto-molecules/CardLayout');
|
|
12
|
+
var Container = require('@bigbinary/neeto-molecules/Container');
|
|
13
|
+
var Header = require('@bigbinary/neeto-molecules/Header');
|
|
14
|
+
var neetoui = require('@bigbinary/neetoui');
|
|
15
|
+
var formik = require('@bigbinary/neetoui/formik');
|
|
16
|
+
var i18next = require('i18next');
|
|
17
|
+
var yup = require('yup');
|
|
18
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
19
|
+
require('neetocommons/constants');
|
|
20
|
+
require('decimal.js');
|
|
21
|
+
require('neetocommons/utils');
|
|
22
|
+
|
|
23
|
+
function _interopNamespaceDefault(e) {
|
|
24
|
+
var n = Object.create(null);
|
|
25
|
+
if (e) {
|
|
26
|
+
Object.keys(e).forEach(function (k) {
|
|
27
|
+
if (k !== 'default') {
|
|
28
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
29
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
get: function () { return e[k]; }
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
n.default = e;
|
|
37
|
+
return Object.freeze(n);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
|
|
41
|
+
|
|
42
|
+
const show = feeId => axios.get(`${constants.BASE_URL}/api/v1/fees/${feeId}/recurring_setting`);
|
|
43
|
+
const update = (feeId, payload) => axios.put(`${constants.BASE_URL}/api/v1/fees/${feeId}/recurring_setting`, {
|
|
44
|
+
recurringSetting: payload
|
|
45
|
+
});
|
|
46
|
+
const recurringSettingsApi = {
|
|
47
|
+
show,
|
|
48
|
+
update
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
const useFetchRecurringSettings = feeId => reactQuery.useQuery({
|
|
52
|
+
queryKey: [queryConstants.QUERY_KEYS.RECURRING_SETTINGS, feeId],
|
|
53
|
+
queryFn: () => recurringSettingsApi.show(feeId),
|
|
54
|
+
enabled: ramda.isNotNil(feeId)
|
|
55
|
+
});
|
|
56
|
+
const useUpdateRecurringSettings = (feeId, options) => reactUtils.useMutationWithInvalidation(payload => recurringSettingsApi.update(feeId, payload), {
|
|
57
|
+
keysToInvalidate: [queryConstants.QUERY_KEYS.RECURRING_SETTINGS, feeId],
|
|
58
|
+
...options
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
const INITIAL_VALUE = {
|
|
62
|
+
attemptOffsetDays: 1
|
|
63
|
+
};
|
|
64
|
+
const VALIDATION_SCHEMA = yup__namespace.object({
|
|
65
|
+
attemptOffsetDays: yup__namespace.number().max(15, i18next.t("neetoPayments.recurringPaymentSettings.attemptOffsetDays.max")).min(1, i18next.t("neetoPayments.recurringPaymentSettings.attemptOffsetDays.min")).required(i18next.t("neetoPayments.recurringPaymentSettings.attemptOffsetDays.isRequired"))
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
const RecurringPaymentSettings = ({
|
|
69
|
+
fee,
|
|
70
|
+
breadcrumbs,
|
|
71
|
+
enableRecurringPaymentUrl
|
|
72
|
+
}) => {
|
|
73
|
+
const {
|
|
74
|
+
t
|
|
75
|
+
} = reactI18next.useTranslation();
|
|
76
|
+
const {
|
|
77
|
+
isLoading,
|
|
78
|
+
data: {
|
|
79
|
+
recurringSetting
|
|
80
|
+
} = {}
|
|
81
|
+
} = useFetchRecurringSettings(fee?.id);
|
|
82
|
+
const {
|
|
83
|
+
mutate: updateRecurringSetting,
|
|
84
|
+
isPending
|
|
85
|
+
} = useUpdateRecurringSettings(fee?.id);
|
|
86
|
+
const handleSubmit = values => {
|
|
87
|
+
updateRecurringSetting(values);
|
|
88
|
+
};
|
|
89
|
+
if (isLoading || neetocist.isNotPresent(fee)) {
|
|
90
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
91
|
+
className: "flex h-full w-full items-center justify-center",
|
|
92
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoui.Spinner, {})
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
return /*#__PURE__*/jsxRuntime.jsxs(Container, {
|
|
96
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Header, {
|
|
97
|
+
breadcrumbs,
|
|
98
|
+
title: t("neetoPayments.recurringPaymentSettings.title")
|
|
99
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
100
|
+
className: "w-full",
|
|
101
|
+
children: fee?.isRecurringPaymentEnabled ? /*#__PURE__*/jsxRuntime.jsx(formik.Form, {
|
|
102
|
+
formikProps: {
|
|
103
|
+
enableReinitialize: true,
|
|
104
|
+
onSubmit: handleSubmit,
|
|
105
|
+
initialValues: ramda.mergeLeft(recurringSetting, INITIAL_VALUE),
|
|
106
|
+
validationSchema: VALIDATION_SCHEMA
|
|
107
|
+
},
|
|
108
|
+
children: /*#__PURE__*/jsxRuntime.jsx(CardLayout, {
|
|
109
|
+
actionBlock: /*#__PURE__*/jsxRuntime.jsx(formik.ActionBlock, {
|
|
110
|
+
isSubmitting: isPending
|
|
111
|
+
}),
|
|
112
|
+
children: /*#__PURE__*/jsxRuntime.jsx(formik.Input, {
|
|
113
|
+
required: true,
|
|
114
|
+
name: "attemptOffsetDays",
|
|
115
|
+
label: t("neetoPayments.recurringPaymentSettings.attemptOffsetDays.label")
|
|
116
|
+
})
|
|
117
|
+
})
|
|
118
|
+
}) : /*#__PURE__*/jsxRuntime.jsx(CardLayout, {
|
|
119
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoui.Typography, {
|
|
120
|
+
lineHeight: "normal",
|
|
121
|
+
style: "body1",
|
|
122
|
+
children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
123
|
+
i18nKey: "neetoPayments.recurringPaymentSettings.enableRecurringPayment",
|
|
124
|
+
components: {
|
|
125
|
+
button: /*#__PURE__*/jsxRuntime.jsx(neetoui.Button, {
|
|
126
|
+
"data-testid": "split-payment-connect-button",
|
|
127
|
+
size: "large",
|
|
128
|
+
style: "link",
|
|
129
|
+
to: enableRecurringPaymentUrl
|
|
130
|
+
})
|
|
131
|
+
}
|
|
132
|
+
})
|
|
133
|
+
})
|
|
134
|
+
})
|
|
135
|
+
})]
|
|
136
|
+
});
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
module.exports = RecurringPaymentSettings;
|
|
140
|
+
//# sourceMappingURL=RecurringPaymentSettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RecurringPaymentSettings.js","sources":["../../app/javascript/src/apis/recurring_settings.js","../../app/javascript/src/hooks/reactQuery/useRecurringSettingsApi.js","../../app/javascript/src/components/RecurringPaymentSettings/constants.js","../../app/javascript/src/components/RecurringPaymentSettings/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst show = feeId =>\n axios.get(`${BASE_URL}/api/v1/fees/${feeId}/recurring_setting`);\n\nconst update = (feeId, payload) =>\n axios.put(`${BASE_URL}/api/v1/fees/${feeId}/recurring_setting`, {\n recurringSetting: payload,\n });\n\nconst recurringSettingsApi = { show, update };\n\nexport default recurringSettingsApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { isNotNil } from \"ramda\";\n\nimport recurringSettingsApi from \"apis/recurring_settings\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchRecurringSettings = feeId =>\n useQuery({\n queryKey: [QUERY_KEYS.RECURRING_SETTINGS, feeId],\n queryFn: () => recurringSettingsApi.show(feeId),\n enabled: isNotNil(feeId),\n });\n\nexport const useUpdateRecurringSettings = (feeId, options) =>\n useMutationWithInvalidation(\n payload => recurringSettingsApi.update(feeId, payload),\n {\n keysToInvalidate: [QUERY_KEYS.RECURRING_SETTINGS, feeId],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_VALUE = { attemptOffsetDays: 1 };\nexport const VALIDATION_SCHEMA = yup.object({\n attemptOffsetDays: yup\n .number()\n .max(15, t(\"neetoPayments.recurringPaymentSettings.attemptOffsetDays.max\"))\n .min(1, t(\"neetoPayments.recurringPaymentSettings.attemptOffsetDays.min\"))\n .required(\n t(\"neetoPayments.recurringPaymentSettings.attemptOffsetDays.isRequired\")\n ),\n});\n","import { isNotPresent } from \"neetocist\";\nimport { mergeLeft } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n useFetchRecurringSettings,\n useUpdateRecurringSettings,\n} from \"hooks/reactQuery/useRecurringSettingsApi\";\nimport CardLayout from \"neetomolecules/CardLayout\";\nimport Container from \"neetomolecules/Container\";\nimport Header from \"neetomolecules/Header\";\nimport { Typography, Button, Spinner } from \"neetoui\";\nimport { ActionBlock, Input, Form } from \"neetoui/formik\";\n\nimport { INITIAL_VALUE, VALIDATION_SCHEMA } from \"./constants\";\n\nconst RecurringPaymentSettings = ({\n fee,\n breadcrumbs,\n enableRecurringPaymentUrl,\n}) => {\n const { t } = useTranslation();\n\n const { isLoading, data: { recurringSetting } = {} } =\n useFetchRecurringSettings(fee?.id);\n\n const { mutate: updateRecurringSetting, isPending } =\n useUpdateRecurringSettings(fee?.id);\n\n const handleSubmit = values => {\n updateRecurringSetting(values);\n };\n\n if (isLoading || isNotPresent(fee)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container>\n <Header\n {...{ breadcrumbs }}\n title={t(\"neetoPayments.recurringPaymentSettings.title\")}\n />\n <div className=\"w-full\">\n {fee?.isRecurringPaymentEnabled ? (\n <Form\n formikProps={{\n enableReinitialize: true,\n onSubmit: handleSubmit,\n initialValues: mergeLeft(recurringSetting, INITIAL_VALUE),\n validationSchema: VALIDATION_SCHEMA,\n }}\n >\n <CardLayout actionBlock={<ActionBlock isSubmitting={isPending} />}>\n <Input\n required\n name=\"attemptOffsetDays\"\n label={t(\n \"neetoPayments.recurringPaymentSettings.attemptOffsetDays.label\"\n )}\n />\n </CardLayout>\n </Form>\n ) : (\n <CardLayout>\n <Typography lineHeight=\"normal\" style=\"body1\">\n <Trans\n i18nKey=\"neetoPayments.recurringPaymentSettings.enableRecurringPayment\"\n components={{\n button: (\n <Button\n data-testid=\"split-payment-connect-button\"\n size=\"large\"\n style=\"link\"\n to={enableRecurringPaymentUrl}\n />\n ),\n }}\n />\n </Typography>\n </CardLayout>\n )}\n </div>\n </Container>\n );\n};\n\nexport default RecurringPaymentSettings;\n"],"names":["show","feeId","axios","get","BASE_URL","update","payload","put","recurringSetting","recurringSettingsApi","useFetchRecurringSettings","useQuery","queryKey","QUERY_KEYS","RECURRING_SETTINGS","queryFn","enabled","isNotNil","useUpdateRecurringSettings","options","useMutationWithInvalidation","keysToInvalidate","INITIAL_VALUE","attemptOffsetDays","VALIDATION_SCHEMA","yup","object","number","max","t","min","required","RecurringPaymentSettings","fee","breadcrumbs","enableRecurringPaymentUrl","useTranslation","isLoading","data","id","mutate","updateRecurringSetting","isPending","handleSubmit","values","isNotPresent","_jsx","className","children","Spinner","_jsxs","Container","Header","title","isRecurringPaymentEnabled","Form","formikProps","enableReinitialize","onSubmit","initialValues","mergeLeft","validationSchema","CardLayout","actionBlock","ActionBlock","isSubmitting","Input","name","label","Typography","lineHeight","style","Trans","i18nKey","components","button","Button","size","to"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAMA,IAAI,GAAGC,KAAK,IAChBC,KAAK,CAACC,GAAG,CAAC,CAAGC,EAAAA,kBAAQ,CAAgBH,aAAAA,EAAAA,KAAK,oBAAoB,CAAC;AAEjE,MAAMI,MAAM,GAAGA,CAACJ,KAAK,EAAEK,OAAO,KAC5BJ,KAAK,CAACK,GAAG,CAAC,CAAGH,EAAAA,kBAAQ,CAAgBH,aAAAA,EAAAA,KAAK,oBAAoB,EAAE;AAC9DO,EAAAA,gBAAgB,EAAEF;AACpB,CAAC,CAAC;AAEJ,MAAMG,oBAAoB,GAAG;EAAET,IAAI;AAAEK,EAAAA;AAAO,CAAC;;ACLtC,MAAMK,yBAAyB,GAAGT,KAAK,IAC5CU,mBAAQ,CAAC;AACPC,EAAAA,QAAQ,EAAE,CAACC,yBAAU,CAACC,kBAAkB,EAAEb,KAAK,CAAC;EAChDc,OAAO,EAAEA,MAAMN,oBAAoB,CAACT,IAAI,CAACC,KAAK,CAAC;EAC/Ce,OAAO,EAAEC,cAAQ,CAAChB,KAAK;AACzB,CAAC,CAAC;AAEG,MAAMiB,0BAA0B,GAAGA,CAACjB,KAAK,EAAEkB,OAAO,KACvDC,sCAA2B,CACzBd,OAAO,IAAIG,oBAAoB,CAACJ,MAAM,CAACJ,KAAK,EAAEK,OAAO,CAAC,EACtD;AACEe,EAAAA,gBAAgB,EAAE,CAACR,yBAAU,CAACC,kBAAkB,EAAEb,KAAK,CAAC;EACxD,GAAGkB;AACL,CACF,CAAC;;AClBI,MAAMG,aAAa,GAAG;AAAEC,EAAAA,iBAAiB,EAAE;AAAE,CAAC;AAC9C,MAAMC,iBAAiB,GAAGC,cAAG,CAACC,MAAM,CAAC;AAC1CH,EAAAA,iBAAiB,EAAEE,cAAG,CACnBE,MAAM,EAAE,CACRC,GAAG,CAAC,EAAE,EAAEC,SAAC,CAAC,8DAA8D,CAAC,CAAC,CAC1EC,GAAG,CAAC,CAAC,EAAED,SAAC,CAAC,8DAA8D,CAAC,CAAC,CACzEE,QAAQ,CACPF,SAAC,CAAC,qEAAqE,CACzE;AACJ,CAAC,CAAC;;ACIIG,MAAAA,wBAAwB,GAAGA,CAAC;EAChCC,GAAG;EACHC,WAAW;AACXC,EAAAA;AACF,CAAC,KAAK;EACJ,MAAM;AAAEN,IAAAA;GAAG,GAAGO,2BAAc,EAAE;EAE9B,MAAM;IAAEC,SAAS;AAAEC,IAAAA,IAAI,EAAE;AAAE9B,MAAAA;AAAiB,KAAC,GAAG;AAAG,GAAC,GAClDE,yBAAyB,CAACuB,GAAG,EAAEM,EAAE,CAAC;EAEpC,MAAM;AAAEC,IAAAA,MAAM,EAAEC,sBAAsB;AAAEC,IAAAA;AAAU,GAAC,GACjDxB,0BAA0B,CAACe,GAAG,EAAEM,EAAE,CAAC;EAErC,MAAMI,YAAY,GAAGC,MAAM,IAAI;IAC7BH,sBAAsB,CAACG,MAAM,CAAC;GAC/B;AAED,EAAA,IAAIP,SAAS,IAAIQ,sBAAY,CAACZ,GAAG,CAAC,EAAE;AAClC,IAAA,oBACEa,cAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,gDAAgD;AAAAC,MAAAA,QAAA,eAC7DF,cAAA,CAACG,eAAO,EAAE,EAAA;AAAC,KACR,CAAC;AAEV;EAEA,oBACEC,eAAA,CAACC,SAAS,EAAA;IAAAH,QAAA,EAAA,cACRF,cAAA,CAACM,MAAM,EAAA;MACClB,WAAW;MACjBmB,KAAK,EAAExB,CAAC,CAAC,8CAA8C;KACxD,CAAC,eACFiB,cAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,QAAQ;AAAAC,MAAAA,QAAA,EACpBf,GAAG,EAAEqB,yBAAyB,gBAC7BR,cAAA,CAACS,WAAI,EAAA;AACHC,QAAAA,WAAW,EAAE;AACXC,UAAAA,kBAAkB,EAAE,IAAI;AACxBC,UAAAA,QAAQ,EAAEf,YAAY;AACtBgB,UAAAA,aAAa,EAAEC,eAAS,CAACpD,gBAAgB,EAAEc,aAAa,CAAC;AACzDuC,UAAAA,gBAAgB,EAAErC;SAClB;QAAAwB,QAAA,eAEFF,cAAA,CAACgB,UAAU,EAAA;UAACC,WAAW,eAAEjB,cAAA,CAACkB,kBAAW,EAAA;AAACC,YAAAA,YAAY,EAAEvB;AAAU,WAAE,CAAE;UAAAM,QAAA,eAChEF,cAAA,CAACoB,YAAK,EAAA;YACJnC,QAAQ,EAAA,IAAA;AACRoC,YAAAA,IAAI,EAAC,mBAAmB;YACxBC,KAAK,EAAEvC,CAAC,CACN,gEACF;WACD;SACS;AAAC,OACT,CAAC,gBAEPiB,cAAA,CAACgB,UAAU,EAAA;QAAAd,QAAA,eACTF,cAAA,CAACuB,kBAAU,EAAA;AAACC,UAAAA,UAAU,EAAC,QAAQ;AAACC,UAAAA,KAAK,EAAC,OAAO;UAAAvB,QAAA,eAC3CF,cAAA,CAAC0B,kBAAK,EAAA;AACJC,YAAAA,OAAO,EAAC,+DAA+D;AACvEC,YAAAA,UAAU,EAAE;cACVC,MAAM,eACJ7B,cAAA,CAAC8B,cAAM,EAAA;AACL,gBAAA,aAAA,EAAY,8BAA8B;AAC1CC,gBAAAA,IAAI,EAAC,OAAO;AACZN,gBAAAA,KAAK,EAAC,MAAM;AACZO,gBAAAA,EAAE,EAAE3C;eACL;AAEL;WACD;SACS;OACF;AACb,KACE,CAAC;AAAA,GACG,CAAC;AAEhB;;;;"}
|