@bigbinary/neeto-payments-frontend 6.1.2 → 6.1.7

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.
Files changed (217) hide show
  1. package/dist/AccountsDashboard.js +498 -0
  2. package/dist/AccountsDashboard.js.map +1 -0
  3. package/dist/AdminCancelRecurringPaymentButton.js +76 -0
  4. package/dist/AdminCancelRecurringPaymentButton.js.map +1 -0
  5. package/dist/CashPaymentButton.js +60 -0
  6. package/dist/CashPaymentButton.js.map +1 -0
  7. package/dist/ConfirmCashPaymentButton.js +92 -0
  8. package/dist/ConfirmCashPaymentButton.js.map +1 -0
  9. package/dist/CopyButtonWrapper-rv-OaINx.js +24 -0
  10. package/dist/CopyButtonWrapper-rv-OaINx.js.map +1 -0
  11. package/dist/CustomerCancelRecurringPaymentForm.js +102 -0
  12. package/dist/CustomerCancelRecurringPaymentForm.js.map +1 -0
  13. package/dist/ExportModal-DP9_Ak6z.js +120 -0
  14. package/dist/ExportModal-DP9_Ak6z.js.map +1 -0
  15. package/dist/ManualUpiConnect.js +247 -0
  16. package/dist/ManualUpiConnect.js.map +1 -0
  17. package/dist/ManualUpiPayment.js +129 -0
  18. package/dist/ManualUpiPayment.js.map +1 -0
  19. package/dist/ManualUpiPaymentConfirmButton.js +151 -0
  20. package/dist/ManualUpiPaymentConfirmButton.js.map +1 -0
  21. package/dist/ManualUpiPaymentRejectButton.js +120 -0
  22. package/dist/ManualUpiPaymentRejectButton.js.map +1 -0
  23. package/dist/PaymentKindRestrictionAlert.js +36 -0
  24. package/dist/PaymentKindRestrictionAlert.js.map +1 -0
  25. package/dist/PaymentsDashboard.js +586 -0
  26. package/dist/PaymentsDashboard.js.map +1 -0
  27. package/dist/PayoutsDashboard.js +533 -0
  28. package/dist/PayoutsDashboard.js.map +1 -0
  29. package/dist/PayoutsPage.js +136 -0
  30. package/dist/PayoutsPage.js.map +1 -0
  31. package/dist/RazorpayConnect.js +106 -0
  32. package/dist/RazorpayConnect.js.map +1 -0
  33. package/dist/RazorpayLinkedAccountForm.js +212 -0
  34. package/dist/RazorpayLinkedAccountForm.js.map +1 -0
  35. package/dist/RazorpayPaymentButton.js +155 -0
  36. package/dist/RazorpayPaymentButton.js.map +1 -0
  37. package/dist/RecurringPaymentSettings.js +119 -0
  38. package/dist/RecurringPaymentSettings.js.map +1 -0
  39. package/dist/RefundsDashboard.js +507 -0
  40. package/dist/RefundsDashboard.js.map +1 -0
  41. package/dist/SplitTransfersDashboard.js +1003 -0
  42. package/dist/SplitTransfersDashboard.js.map +1 -0
  43. package/dist/StripeCheckoutSetting.js +94 -0
  44. package/dist/StripeCheckoutSetting.js.map +1 -0
  45. package/dist/StripeConnect.js +378 -0
  46. package/dist/StripeConnect.js.map +1 -0
  47. package/dist/StripeManage.js +43 -0
  48. package/dist/StripeManage.js.map +1 -0
  49. package/dist/TaxesDashboard.js +363 -0
  50. package/dist/TaxesDashboard.js.map +1 -0
  51. package/dist/buildStripeTransactionLink.js +12 -0
  52. package/dist/buildStripeTransactionLink.js.map +1 -0
  53. package/dist/cjs/AccountsDashboard.js +500 -0
  54. package/dist/cjs/AccountsDashboard.js.map +1 -0
  55. package/dist/cjs/AdminCancelRecurringPaymentButton.js +78 -0
  56. package/dist/cjs/AdminCancelRecurringPaymentButton.js.map +1 -0
  57. package/dist/cjs/CashPaymentButton.js +62 -0
  58. package/dist/cjs/CashPaymentButton.js.map +1 -0
  59. package/dist/cjs/ConfirmCashPaymentButton.js +94 -0
  60. package/dist/cjs/ConfirmCashPaymentButton.js.map +1 -0
  61. package/dist/cjs/CopyButtonWrapper-BkpN0Wmd.js +27 -0
  62. package/dist/cjs/CopyButtonWrapper-BkpN0Wmd.js.map +1 -0
  63. package/dist/cjs/CustomerCancelRecurringPaymentForm.js +104 -0
  64. package/dist/cjs/CustomerCancelRecurringPaymentForm.js.map +1 -0
  65. package/dist/cjs/ExportModal-BmlRgdZj.js +122 -0
  66. package/dist/cjs/ExportModal-BmlRgdZj.js.map +1 -0
  67. package/dist/cjs/ManualUpiConnect.js +268 -0
  68. package/dist/cjs/ManualUpiConnect.js.map +1 -0
  69. package/dist/cjs/ManualUpiPayment.js +150 -0
  70. package/dist/cjs/ManualUpiPayment.js.map +1 -0
  71. package/dist/cjs/ManualUpiPaymentConfirmButton.js +172 -0
  72. package/dist/cjs/ManualUpiPaymentConfirmButton.js.map +1 -0
  73. package/dist/cjs/ManualUpiPaymentRejectButton.js +122 -0
  74. package/dist/cjs/ManualUpiPaymentRejectButton.js.map +1 -0
  75. package/dist/cjs/PaymentKindRestrictionAlert.js +38 -0
  76. package/dist/cjs/PaymentKindRestrictionAlert.js.map +1 -0
  77. package/dist/cjs/PaymentsDashboard.js +588 -0
  78. package/dist/cjs/PaymentsDashboard.js.map +1 -0
  79. package/dist/cjs/PayoutsDashboard.js +535 -0
  80. package/dist/cjs/PayoutsDashboard.js.map +1 -0
  81. package/dist/cjs/PayoutsPage.js +138 -0
  82. package/dist/cjs/PayoutsPage.js.map +1 -0
  83. package/dist/cjs/RazorpayConnect.js +108 -0
  84. package/dist/cjs/RazorpayConnect.js.map +1 -0
  85. package/dist/cjs/RazorpayLinkedAccountForm.js +214 -0
  86. package/dist/cjs/RazorpayLinkedAccountForm.js.map +1 -0
  87. package/dist/cjs/RazorpayPaymentButton.js +157 -0
  88. package/dist/cjs/RazorpayPaymentButton.js.map +1 -0
  89. package/dist/cjs/RecurringPaymentSettings.js +140 -0
  90. package/dist/cjs/RecurringPaymentSettings.js.map +1 -0
  91. package/dist/cjs/RefundsDashboard.js +509 -0
  92. package/dist/cjs/RefundsDashboard.js.map +1 -0
  93. package/dist/cjs/SplitTransfersDashboard.js +1024 -0
  94. package/dist/cjs/SplitTransfersDashboard.js.map +1 -0
  95. package/dist/cjs/StripeCheckoutSetting.js +96 -0
  96. package/dist/cjs/StripeCheckoutSetting.js.map +1 -0
  97. package/dist/cjs/StripeConnect.js +399 -0
  98. package/dist/cjs/StripeConnect.js.map +1 -0
  99. package/dist/cjs/StripeManage.js +45 -0
  100. package/dist/cjs/StripeManage.js.map +1 -0
  101. package/dist/cjs/TaxesDashboard.js +384 -0
  102. package/dist/cjs/TaxesDashboard.js.map +1 -0
  103. package/dist/cjs/buildStripeTransactionLink.js +14 -0
  104. package/dist/cjs/buildStripeTransactionLink.js.map +1 -0
  105. package/dist/cjs/constants.js +38 -0
  106. package/dist/cjs/constants.js.map +1 -0
  107. package/dist/cjs/dashboard-BkYqCWDk.js +110 -0
  108. package/dist/cjs/dashboard-BkYqCWDk.js.map +1 -0
  109. package/dist/cjs/exportChannel-D1Wls92m.js +40 -0
  110. package/dist/cjs/exportChannel-D1Wls92m.js.map +1 -0
  111. package/dist/cjs/getAddressElementOptions.js +14 -0
  112. package/dist/cjs/getAddressElementOptions.js.map +1 -0
  113. package/dist/cjs/getAmountInSmallestCurrencyUnit.js +14 -0
  114. package/dist/cjs/getAmountInSmallestCurrencyUnit.js.map +1 -0
  115. package/dist/cjs/getAmountWithAppliedTax.js +14 -0
  116. package/dist/cjs/getAmountWithAppliedTax.js.map +1 -0
  117. package/dist/cjs/getFormattedAmount.js +14 -0
  118. package/dist/cjs/getFormattedAmount.js.map +1 -0
  119. package/dist/cjs/getFormattedDiscountedAmount.js +14 -0
  120. package/dist/cjs/getFormattedDiscountedAmount.js.map +1 -0
  121. package/dist/cjs/getFormattedDiscountedPercentage.js +14 -0
  122. package/dist/cjs/getFormattedDiscountedPercentage.js.map +1 -0
  123. package/dist/cjs/getFormattedTaxAmount.js +14 -0
  124. package/dist/cjs/getFormattedTaxAmount.js.map +1 -0
  125. package/dist/cjs/getFormattedTipAmount.js +14 -0
  126. package/dist/cjs/getFormattedTipAmount.js.map +1 -0
  127. package/dist/cjs/getQrCodeValue.js +14 -0
  128. package/dist/cjs/getQrCodeValue.js.map +1 -0
  129. package/dist/cjs/getTaxAmount.js +14 -0
  130. package/dist/cjs/getTaxAmount.js.map +1 -0
  131. package/dist/cjs/getTipAmount.js +14 -0
  132. package/dist/cjs/getTipAmount.js.map +1 -0
  133. package/dist/cjs/hasAmountToPay.js +14 -0
  134. package/dist/cjs/hasAmountToPay.js.map +1 -0
  135. package/dist/cjs/index-DSCn1Pdn.js +892 -0
  136. package/dist/cjs/index-DSCn1Pdn.js.map +1 -0
  137. package/dist/cjs/index.js +126 -0
  138. package/dist/cjs/index.js.map +1 -0
  139. package/dist/cjs/queryConstants-Cka1X6GX.js +35 -0
  140. package/dist/cjs/queryConstants-Cka1X6GX.js.map +1 -0
  141. package/dist/cjs/renderFunctions-Bqi2_SZ_.js +51 -0
  142. package/dist/cjs/renderFunctions-Bqi2_SZ_.js.map +1 -0
  143. package/dist/cjs/stripe.esm-CrNYjPcC.js +132 -0
  144. package/dist/cjs/stripe.esm-CrNYjPcC.js.map +1 -0
  145. package/dist/cjs/useAccountsApi-DMRvEpvD.js +62 -0
  146. package/dist/cjs/useAccountsApi-DMRvEpvD.js.map +1 -0
  147. package/dist/cjs/useIntegrationsApi-DJh8i0yF.js +26 -0
  148. package/dist/cjs/useIntegrationsApi-DJh8i0yF.js.map +1 -0
  149. package/dist/cjs/usePaymentApi-BWk9Qu4W.js +56 -0
  150. package/dist/cjs/usePaymentApi-BWk9Qu4W.js.map +1 -0
  151. package/dist/cjs/usePaymentApi-BrmfdxB4.js +41 -0
  152. package/dist/cjs/usePaymentApi-BrmfdxB4.js.map +1 -0
  153. package/dist/cjs/usePaymentApi-DxRPt6M4.js +39 -0
  154. package/dist/cjs/usePaymentApi-DxRPt6M4.js.map +1 -0
  155. package/dist/cjs/usePlatformApi-C_2WctrJ.js +84 -0
  156. package/dist/cjs/usePlatformApi-C_2WctrJ.js.map +1 -0
  157. package/dist/cjs/useRazorpayPayment.js +113 -0
  158. package/dist/cjs/useRazorpayPayment.js.map +1 -0
  159. package/dist/cjs/useStripePromise.js +57 -0
  160. package/dist/cjs/useStripePromise.js.map +1 -0
  161. package/dist/constants.js +8 -0
  162. package/dist/constants.js.map +1 -0
  163. package/dist/dashboard-BEQBguwm.js +104 -0
  164. package/dist/dashboard-BEQBguwm.js.map +1 -0
  165. package/dist/exportChannel-DAxJ44QB.js +37 -0
  166. package/dist/exportChannel-DAxJ44QB.js.map +1 -0
  167. package/dist/getAddressElementOptions.js +12 -0
  168. package/dist/getAddressElementOptions.js.map +1 -0
  169. package/dist/getAmountInSmallestCurrencyUnit.js +12 -0
  170. package/dist/getAmountInSmallestCurrencyUnit.js.map +1 -0
  171. package/dist/getAmountWithAppliedTax.js +12 -0
  172. package/dist/getAmountWithAppliedTax.js.map +1 -0
  173. package/dist/getFormattedAmount.js +12 -0
  174. package/dist/getFormattedAmount.js.map +1 -0
  175. package/dist/getFormattedDiscountedAmount.js +12 -0
  176. package/dist/getFormattedDiscountedAmount.js.map +1 -0
  177. package/dist/getFormattedDiscountedPercentage.js +12 -0
  178. package/dist/getFormattedDiscountedPercentage.js.map +1 -0
  179. package/dist/getFormattedTaxAmount.js +12 -0
  180. package/dist/getFormattedTaxAmount.js.map +1 -0
  181. package/dist/getFormattedTipAmount.js +12 -0
  182. package/dist/getFormattedTipAmount.js.map +1 -0
  183. package/dist/getQrCodeValue.js +12 -0
  184. package/dist/getQrCodeValue.js.map +1 -0
  185. package/dist/getTaxAmount.js +12 -0
  186. package/dist/getTaxAmount.js.map +1 -0
  187. package/dist/getTipAmount.js +12 -0
  188. package/dist/getTipAmount.js.map +1 -0
  189. package/dist/hasAmountToPay.js +12 -0
  190. package/dist/hasAmountToPay.js.map +1 -0
  191. package/dist/index-BGp4HmiK.js +842 -0
  192. package/dist/index-BGp4HmiK.js.map +1 -0
  193. package/dist/index.js +84 -0
  194. package/dist/index.js.map +1 -0
  195. package/dist/queryConstants-DFKKEEo0.js +33 -0
  196. package/dist/queryConstants-DFKKEEo0.js.map +1 -0
  197. package/dist/renderFunctions-Cn1sVVkA.js +47 -0
  198. package/dist/renderFunctions-Cn1sVVkA.js.map +1 -0
  199. package/dist/stripe.esm-DuZ_gsAa.js +130 -0
  200. package/dist/stripe.esm-DuZ_gsAa.js.map +1 -0
  201. package/dist/useAccountsApi-6UIChy5i.js +58 -0
  202. package/dist/useAccountsApi-6UIChy5i.js.map +1 -0
  203. package/dist/useIntegrationsApi-DbhomOkL.js +24 -0
  204. package/dist/useIntegrationsApi-DbhomOkL.js.map +1 -0
  205. package/dist/usePaymentApi-CKFTEeuh.js +53 -0
  206. package/dist/usePaymentApi-CKFTEeuh.js.map +1 -0
  207. package/dist/usePaymentApi-Cn-ZZcKu.js +37 -0
  208. package/dist/usePaymentApi-Cn-ZZcKu.js.map +1 -0
  209. package/dist/usePaymentApi-u3PcCZ43.js +38 -0
  210. package/dist/usePaymentApi-u3PcCZ43.js.map +1 -0
  211. package/dist/usePlatformApi-20towd_r.js +79 -0
  212. package/dist/usePlatformApi-20towd_r.js.map +1 -0
  213. package/dist/useRazorpayPayment.js +111 -0
  214. package/dist/useRazorpayPayment.js.map +1 -0
  215. package/dist/useStripePromise.js +55 -0
  216. package/dist/useStripePromise.js.map +1 -0
  217. package/package.json +7 -4
@@ -0,0 +1,500 @@
1
+ 'use strict';
2
+
3
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
4
+ var react = require('react');
5
+ var i18next = require('i18next');
6
+ var neetocist = require('neetocist');
7
+ var reactUtils = require('neetocommons/react-utils');
8
+ var neetoFiltersFrontend = require('@bigbinary/neeto-filters-frontend');
9
+ var Header = require('@bigbinary/neeto-molecules/Header');
10
+ var SubHeader = require('@bigbinary/neeto-molecules/SubHeader');
11
+ var neetoui = require('@bigbinary/neetoui');
12
+ var reactI18next = require('react-i18next');
13
+ var dashboard = require('./dashboard-BkYqCWDk.js');
14
+ var exportChannel = require('./exportChannel-D1Wls92m.js');
15
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
16
+ var neetoIcons = require('@bigbinary/neeto-icons');
17
+ var constants = require('./index-DSCn1Pdn.js');
18
+ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
19
+ var utils = require('neetocommons/utils');
20
+ var ramda = require('ramda');
21
+ var reactRouterDom = require('react-router-dom');
22
+ var renderFunctions = require('./renderFunctions-Bqi2_SZ_.js');
23
+ var CopyButtonWrapper = require('./CopyButtonWrapper-BkpN0Wmd.js');
24
+ var constants$1 = require('neetocommons/constants');
25
+ var Columns = require('@bigbinary/neeto-molecules/Columns');
26
+ var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
27
+ var useAccountsApi = require('./useAccountsApi-DMRvEpvD.js');
28
+ require('@tanstack/react-query');
29
+ require('@tanstack/react-query-devtools');
30
+ require('axios');
31
+ require('decimal.js');
32
+ require('@bigbinary/neeto-molecules/DateFormat');
33
+ require('@bigbinary/neeto-molecules/CopyToClipboardButton');
34
+ require('./queryConstants-Cka1X6GX.js');
35
+
36
+ var TAB = {
37
+ all: "all",
38
+ connected: "connected",
39
+ disconnected: "disconnected",
40
+ incomplete: "incomplete"
41
+ };
42
+ var TABS = Object.values(TAB);
43
+ var SEARCH_PROPS = {
44
+ key: "keyword",
45
+ node: "identifier,user.first_name,last_name,email",
46
+ model: "NeetoPaymentsEngine::Stripe::Account,User"
47
+ };
48
+ var DASHBOARD_MANDATORY_COLUMNS = ["id", "status", "identifier"];
49
+ var FILTER_COLUMNS = [{
50
+ key: "created_at",
51
+ label: i18next.t("neetoPayments.common.createdAt"),
52
+ node: "created_at",
53
+ type: "date",
54
+ showRuleSelector: true
55
+ }];
56
+
57
+ function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
58
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
59
+ var ExportModal = function ExportModal(_ref) {
60
+ var showExportModal = _ref.showExportModal,
61
+ setShowExportModal = _ref.setShowExportModal,
62
+ tab = _ref.tab,
63
+ filters = _ref.filters,
64
+ _ref$sortProperties = _ref.sortProperties,
65
+ sortProperties = _ref$sortProperties === void 0 ? {} : _ref$sortProperties;
66
+ var _useTranslation = reactI18next.useTranslation(),
67
+ t = _useTranslation.t;
68
+ var _useState = react.useState(""),
69
+ _useState2 = _slicedToArray(_useState, 2),
70
+ downloadUrl = _useState2[0],
71
+ setDownloadUrl = _useState2[1];
72
+ var _useState3 = react.useState(false),
73
+ _useState4 = _slicedToArray(_useState3, 2),
74
+ isGenerating = _useState4[0],
75
+ setIsGenerating = _useState4[1];
76
+ var _useExportData = dashboard.useExportData(),
77
+ exportCsv = _useExportData.mutate,
78
+ isPending = _useExportData.isPending;
79
+ var isFileLoading = isPending || isGenerating;
80
+ var token = react.useMemo(function () {
81
+ return "account-report-".concat(constants.uuidV4());
82
+ }, []);
83
+ var receivedCallback = function receivedCallback(data) {
84
+ if (!data.download_url) return;
85
+ setDownloadUrl(data.download_url);
86
+ setIsGenerating(false);
87
+ };
88
+ var handleGenerateClick = function handleGenerateClick() {
89
+ var payload = _objectSpread$1({
90
+ kind: "account",
91
+ token: token,
92
+ filters: filters,
93
+ tab: tab
94
+ }, sortProperties);
95
+ exportCsv(payload, {
96
+ onSuccess: function onSuccess() {
97
+ setDownloadUrl("");
98
+ setIsGenerating(true);
99
+ }
100
+ });
101
+ };
102
+ react.useEffect(function () {
103
+ if (showExportModal) {
104
+ var channel = exportChannel.exportChannel(token, receivedCallback);
105
+ setDownloadUrl("");
106
+ setIsGenerating(false);
107
+ return function () {
108
+ channel.disconnected();
109
+ };
110
+ }
111
+ return undefined;
112
+ }, [showExportModal, token]);
113
+ var onClose = function onClose() {
114
+ return setShowExportModal(false);
115
+ };
116
+ return /*#__PURE__*/React.createElement(neetoui.Modal, {
117
+ onClose: onClose,
118
+ isOpen: showExportModal
119
+ }, /*#__PURE__*/React.createElement(neetoui.Modal.Header, null, /*#__PURE__*/React.createElement(neetoui.Typography, {
120
+ style: "h2"
121
+ }, t("neetoPayments.export.title.account"))), /*#__PURE__*/React.createElement(neetoui.Modal.Body, null, isFileLoading ? /*#__PURE__*/React.createElement(neetoui.Typography, {
122
+ style: "body2"
123
+ }, t("neetoPayments.export.pleaseWait")) : /*#__PURE__*/React.createElement(neetoui.Typography, {
124
+ style: "body2"
125
+ }, downloadUrl ? t("neetoPayments.export.fileReady") : t("neetoPayments.export.download.account"))), /*#__PURE__*/React.createElement(neetoui.Modal.Footer, {
126
+ className: "space-x-2"
127
+ }, downloadUrl ? /*#__PURE__*/React.createElement(neetoui.Button, {
128
+ "data-cy": "neeto-payments-download-button",
129
+ href: downloadUrl,
130
+ icon: neetoIcons.Download,
131
+ label: t("neetoPayments.common.download"),
132
+ onClick: onClose
133
+ }) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(neetoui.Button, {
134
+ "data-cy": "cancel-button",
135
+ disabled: isFileLoading,
136
+ label: t("neetoPayments.common.cancel"),
137
+ style: "tertiary",
138
+ onClick: onClose
139
+ }), /*#__PURE__*/React.createElement(neetoui.Button, {
140
+ "data-cy": "neeto-payments-export-button",
141
+ disabled: isFileLoading,
142
+ label: t("neetoPayments.common.export"),
143
+ loading: isFileLoading,
144
+ onClick: handleGenerateClick
145
+ }))));
146
+ };
147
+
148
+ var renderIdentifier = function renderIdentifier() {
149
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
150
+ _ref$identifier = _ref.identifier,
151
+ identifier = _ref$identifier === void 0 ? "" : _ref$identifier,
152
+ _ref$isLive = _ref.isLive,
153
+ isLive = _ref$isLive === void 0 ? false : _ref$isLive;
154
+ return /*#__PURE__*/React.createElement(CopyButtonWrapper.CopyButtonWrapper, {
155
+ content: identifier
156
+ }, /*#__PURE__*/React.createElement(neetoui.Button, {
157
+ href: constants.buildStripeAccountLink(identifier, isLive),
158
+ label: identifier,
159
+ size: "small",
160
+ style: "link",
161
+ target: "_blank"
162
+ }));
163
+ };
164
+ var renderCountry = ramda.pipe(ramda.split("_"), ramda.map(neetocist.capitalize), ramda.join(" "));
165
+
166
+ var COLUMNS = [{
167
+ title: i18next.t("neetoPayments.common.id"),
168
+ dataIndex: "id",
169
+ key: "id",
170
+ width: 85,
171
+ isHidable: false
172
+ }, {
173
+ title: i18next.t("neetoPayments.common.identifier"),
174
+ dataIndex: "identifier",
175
+ key: "identifier",
176
+ width: 300,
177
+ render: renderIdentifier,
178
+ isHidable: false
179
+ }, {
180
+ title: i18next.t("neetoPayments.common.status"),
181
+ dataIndex: "status",
182
+ key: "status",
183
+ width: 150,
184
+ render: renderFunctions.renderStatus("account"),
185
+ sorter: true,
186
+ isHidable: false
187
+ }, {
188
+ title: i18next.t("neetoPayments.common.name"),
189
+ dataIndex: "first_name",
190
+ key: "first_name",
191
+ width: 300,
192
+ sorter: true,
193
+ render: renderFunctions.renderFullName
194
+ }, {
195
+ title: i18next.t("neetoPayments.common.email"),
196
+ dataIndex: "email",
197
+ key: "email",
198
+ width: 300,
199
+ ellipsis: true,
200
+ sorter: true
201
+ }, {
202
+ title: i18next.t("neetoPayments.common.country"),
203
+ dataIndex: "country",
204
+ key: "country",
205
+ width: 150,
206
+ render: renderCountry,
207
+ sorter: true
208
+ }, {
209
+ title: i18next.t("neetoPayments.common.createdAt"),
210
+ dataIndex: "createdAt",
211
+ key: "createdAt",
212
+ width: 220,
213
+ render: renderFunctions.renderDate,
214
+ sorter: true
215
+ }];
216
+
217
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
218
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
219
+ var useFiltersAndPagination = function useFiltersAndPagination() {
220
+ var history = reactRouterDom.useHistory();
221
+ var _useState = react.useState(false),
222
+ _useState2 = _slicedToArray(_useState, 2),
223
+ isFilterButtonVisible = _useState2[0],
224
+ setIsFilterButtonVisible = _useState2[1];
225
+ var _useState3 = react.useState(false),
226
+ _useState4 = _slicedToArray(_useState3, 2),
227
+ isFilterPaneOpen = _useState4[0],
228
+ setIsFilterPaneOpen = _useState4[1];
229
+ var _useState5 = react.useState(dashboard.buildDefaultPageProperties(TABS)),
230
+ _useState6 = _slicedToArray(_useState5, 2),
231
+ pageProperties = _useState6[0],
232
+ setPageProperties = _useState6[1];
233
+ var _useState7 = react.useState(constants.DEFAULT_SORT_PROPERTIES),
234
+ _useState8 = _slicedToArray(_useState7, 2),
235
+ sortProperties = _useState8[0],
236
+ setSortProperties = _useState8[1];
237
+ var _useQueryParams = reactUtils.useQueryParams(),
238
+ _useQueryParams$tab = _useQueryParams.tab,
239
+ tab = _useQueryParams$tab === void 0 ? TAB.all : _useQueryParams$tab;
240
+ var _getQueryParams = utils.getQueryParams(),
241
+ _getQueryParams$searc = _getQueryParams.searchTerm,
242
+ searchTerm = _getQueryParams$searc === void 0 ? "" : _getQueryParams$searc;
243
+ var searchKeywordProps = _objectSpread(_objectSpread({}, SEARCH_PROPS), {}, {
244
+ key: "search_term",
245
+ value: searchTerm.trim()
246
+ });
247
+ var _useState9 = react.useState(neetoFiltersFrontend.buildFiltersFromURL([].concat(_toConsumableArray(FILTER_COLUMNS), [searchKeywordProps]))),
248
+ _useState10 = _slicedToArray(_useState9, 2),
249
+ filters = _useState10[0],
250
+ setFilters = _useState10[1];
251
+ var _useState11 = react.useState(null),
252
+ _useState12 = _slicedToArray(_useState11, 2),
253
+ dataSize = _useState12[0],
254
+ setDataSize = _useState12[1];
255
+ var columnData = tab !== TAB.all ? neetocist.removeBy({
256
+ key: "status"
257
+ }, COLUMNS) : COLUMNS;
258
+ var handleTabChange = function handleTabChange(tab) {
259
+ var _pageProperties$tab, _pageProperties$tab2;
260
+ setDataSize(null);
261
+ var queryParams = utils.getQueryParams({
262
+ toCamelCase: false
263
+ });
264
+ var newParams = {
265
+ tab: tab,
266
+ page: (_pageProperties$tab = pageProperties[tab]) === null || _pageProperties$tab === void 0 ? void 0 : _pageProperties$tab.page,
267
+ page_size: (_pageProperties$tab2 = pageProperties[tab]) === null || _pageProperties$tab2 === void 0 ? void 0 : _pageProperties$tab2.pageSize
268
+ };
269
+ history.push(utils.buildUrl(window.location.pathname, ramda.mergeLeft(newParams, queryParams)));
270
+ };
271
+ return {
272
+ isFilterButtonVisible: isFilterButtonVisible,
273
+ isFilterPaneOpen: isFilterPaneOpen,
274
+ pageProperties: pageProperties,
275
+ filters: filters,
276
+ searchKeywordProps: searchKeywordProps,
277
+ tab: tab,
278
+ sortProperties: sortProperties,
279
+ columnData: columnData,
280
+ dataSize: dataSize,
281
+ setDataSize: setDataSize,
282
+ setIsFilterButtonVisible: setIsFilterButtonVisible,
283
+ setIsFilterPaneOpen: setIsFilterPaneOpen,
284
+ setPageProperties: setPageProperties,
285
+ setFilters: setFilters,
286
+ handleTabChange: handleTabChange,
287
+ setSortProperties: setSortProperties
288
+ };
289
+ };
290
+
291
+ var List = function List(_ref) {
292
+ var _pageProperties$tab, _pageProperties$tab2, _pageProperties$tab3;
293
+ var columnData = _ref.columnData,
294
+ filters = _ref.filters,
295
+ pageProperties = _ref.pageProperties,
296
+ setDataSize = _ref.setDataSize,
297
+ setIsFilterButtonVisible = _ref.setIsFilterButtonVisible,
298
+ setPageProperties = _ref.setPageProperties,
299
+ setSortProperties = _ref.setSortProperties,
300
+ sortProperties = _ref.sortProperties,
301
+ tab = _ref.tab;
302
+ var history = reactRouterDom.useHistory();
303
+ var _useTranslation = reactI18next.useTranslation(),
304
+ t = _useTranslation.t;
305
+ var _useTableConfiguratio = Columns.useTableConfigurations(exportChannel.TABLE_KEYS.ACCOUNTS_TABLE, columnData),
306
+ isTableConfigurationLoading = _useTableConfiguratio.isTableConfigurationLoading,
307
+ customizedColumns = _useTableConfiguratio.customizedColumns,
308
+ hideColumn = _useTableConfiguratio.hideColumn;
309
+ var _useFetchConnectedAcc = useAccountsApi.useFetchConnectedAccounts(dashboard.buildPayload({
310
+ filters: filters,
311
+ pageProperties: pageProperties,
312
+ sortProperties: sortProperties,
313
+ tab: tab
314
+ })),
315
+ _useFetchConnectedAcc2 = _useFetchConnectedAcc.data,
316
+ _useFetchConnectedAcc3 = _useFetchConnectedAcc2 === void 0 ? {} : _useFetchConnectedAcc2,
317
+ _useFetchConnectedAcc4 = _useFetchConnectedAcc3.accounts,
318
+ accounts = _useFetchConnectedAcc4 === void 0 ? [] : _useFetchConnectedAcc4,
319
+ _useFetchConnectedAcc5 = _useFetchConnectedAcc3.views,
320
+ views = _useFetchConnectedAcc5 === void 0 ? {} : _useFetchConnectedAcc5,
321
+ isLoading = _useFetchConnectedAcc.isLoading,
322
+ isFetching = _useFetchConnectedAcc.isFetching;
323
+ var dataSize = views[tab];
324
+ react.useEffect(function () {
325
+ setIsFilterButtonVisible(neetocist.isPresent(accounts) || neetocist.isPresent(filters));
326
+ setDataSize(dataSize);
327
+ }, [accounts]);
328
+ var handleTablePagination = function handleTablePagination(page, pageSize) {
329
+ var queryParams = utils.getQueryParams({
330
+ toCamelCase: false
331
+ });
332
+ history.push(utils.buildUrl(window.location.pathname, ramda.mergeLeft({
333
+ page: page,
334
+ page_size: pageSize
335
+ }, queryParams)));
336
+ setPageProperties(ramda.assoc(tab, {
337
+ page: page,
338
+ pageSize: pageSize
339
+ }));
340
+ };
341
+ react.useEffect(function () {
342
+ handleTablePagination(constants$1.DEFAULT_PAGE_INDEX, constants$1.DEFAULT_PAGE_SIZE);
343
+ setSortProperties(constants.DEFAULT_SORT_PROPERTIES);
344
+ }, [filters, tab]);
345
+ var handleTableChange = function handleTableChange(_, __, sorter) {
346
+ setSortProperties(neetocist.isPresent(sorter === null || sorter === void 0 ? void 0 : sorter.column) ? {
347
+ sortBy: neetocist.camelToSnakeCase(sorter.field),
348
+ orderBy: sorter.order === "ascend" ? "ASC" : "DESC"
349
+ } : constants.DEFAULT_SORT_PROPERTIES);
350
+ };
351
+ if (isLoading) {
352
+ return /*#__PURE__*/React.createElement("div", {
353
+ className: "flex h-full w-full items-center justify-center"
354
+ }, /*#__PURE__*/React.createElement(neetoui.Spinner, null));
355
+ }
356
+ if (dataSize <= 0 || !neetocist.isPresent(accounts)) {
357
+ return /*#__PURE__*/React.createElement("div", {
358
+ className: "flex h-full w-full items-center justify-center"
359
+ }, /*#__PURE__*/React.createElement(neetoui.NoData, {
360
+ title: tab === TAB.all ? t("neetoPayments.emptyState.account") : t("neetoPayments.emptyState.accountWithStatus", {
361
+ status: tab
362
+ })
363
+ }));
364
+ }
365
+ return /*#__PURE__*/React.createElement(TableWrapper, {
366
+ hasPagination: dataSize > ((_pageProperties$tab = pageProperties[tab]) === null || _pageProperties$tab === void 0 ? void 0 : _pageProperties$tab.pageSize)
367
+ }, /*#__PURE__*/React.createElement(neetoui.Table, {
368
+ fixedHeight: true,
369
+ allowRowClick: false,
370
+ columnData: customizedColumns,
371
+ currentPageNumber: (_pageProperties$tab2 = pageProperties[tab]) === null || _pageProperties$tab2 === void 0 ? void 0 : _pageProperties$tab2.page,
372
+ handlePageChange: handleTablePagination,
373
+ loading: isFetching || isTableConfigurationLoading,
374
+ rowData: dashboard.buildRowData({
375
+ data: accounts,
376
+ pageProperties: pageProperties,
377
+ tab: tab
378
+ }),
379
+ rowSelection: false,
380
+ sortDirections: constants.SORT_DIRECTIONS,
381
+ totalCount: dataSize,
382
+ paginationProps: {
383
+ showSizeChanger: true,
384
+ hideOnSinglePage: true,
385
+ pageSize: (_pageProperties$tab3 = pageProperties[tab]) === null || _pageProperties$tab3 === void 0 ? void 0 : _pageProperties$tab3.pageSize,
386
+ total: dataSize
387
+ },
388
+ onChange: handleTableChange,
389
+ onColumnHide: function onColumnHide(_ref2) {
390
+ var key = _ref2.key;
391
+ return hideColumn(key);
392
+ }
393
+ }));
394
+ };
395
+
396
+ var AccountsDashboard = function AccountsDashboard() {
397
+ var _useTransition = react.useTransition(),
398
+ _useTransition2 = _slicedToArray(_useTransition, 2);
399
+ _useTransition2[0];
400
+ var startTransition = _useTransition2[1];
401
+ var _useTranslation = reactI18next.useTranslation(),
402
+ t = _useTranslation.t;
403
+ var _useState = react.useState(false),
404
+ _useState2 = _slicedToArray(_useState, 2),
405
+ showExportModal = _useState2[0],
406
+ setShowExportModal = _useState2[1];
407
+ var _useFiltersAndPaginat = useFiltersAndPagination(),
408
+ isFilterButtonVisible = _useFiltersAndPaginat.isFilterButtonVisible,
409
+ isFilterPaneOpen = _useFiltersAndPaginat.isFilterPaneOpen,
410
+ pageProperties = _useFiltersAndPaginat.pageProperties,
411
+ filters = _useFiltersAndPaginat.filters,
412
+ searchKeywordProps = _useFiltersAndPaginat.searchKeywordProps,
413
+ tab = _useFiltersAndPaginat.tab,
414
+ sortProperties = _useFiltersAndPaginat.sortProperties,
415
+ columnData = _useFiltersAndPaginat.columnData,
416
+ dataSize = _useFiltersAndPaginat.dataSize,
417
+ setDataSize = _useFiltersAndPaginat.setDataSize,
418
+ setIsFilterButtonVisible = _useFiltersAndPaginat.setIsFilterButtonVisible,
419
+ setIsFilterPaneOpen = _useFiltersAndPaginat.setIsFilterPaneOpen,
420
+ setPageProperties = _useFiltersAndPaginat.setPageProperties,
421
+ setFilters = _useFiltersAndPaginat.setFilters,
422
+ handleTabChange = _useFiltersAndPaginat.handleTabChange,
423
+ setSortProperties = _useFiltersAndPaginat.setSortProperties;
424
+ var isTabsVisible = isFilterButtonVisible || tab !== "all";
425
+ var handleFiltersChange = function handleFiltersChange(filters) {
426
+ startTransition(function () {
427
+ setFilters(filters);
428
+ });
429
+ };
430
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Header, {
431
+ title: t("neetoPayments.title.account"),
432
+ searchProps: isFilterButtonVisible && {
433
+ placeholder: t("neetoPayments.common.search"),
434
+ className: "w-80"
435
+ }
436
+ }), isTabsVisible && /*#__PURE__*/React.createElement(neetoui.Tab, null, TABS.map(function (item) {
437
+ return /*#__PURE__*/React.createElement(neetoui.Tab.Item, {
438
+ active: tab === item,
439
+ key: item,
440
+ onClick: function onClick() {
441
+ return handleTabChange(item);
442
+ }
443
+ }, t("neetoPayments.common.".concat(item)));
444
+ })), /*#__PURE__*/React.createElement(SubHeader, {
445
+ className: "my-4",
446
+ leftActionBlock: neetocist.isPresent(dataSize) && /*#__PURE__*/React.createElement(neetoui.Typography, {
447
+ className: "neeto-ui-gray-800 me-2 font-semibold",
448
+ component: "h4"
449
+ }, tab === TAB.all ? t("neetoPayments.countOf.account", {
450
+ count: dataSize
451
+ }) : t("neetoPayments.countOf.accountWithStatus", {
452
+ count: dataSize,
453
+ status: tab
454
+ })),
455
+ rightActionBlock: isFilterButtonVisible && /*#__PURE__*/React.createElement(SubHeader.RightBlock, {
456
+ columnsButtonProps: {
457
+ columnData: columnData,
458
+ fixedColumns: DASHBOARD_MANDATORY_COLUMNS,
459
+ tableKey: exportChannel.TABLE_KEYS.ACCOUNTS_TABLE
460
+ },
461
+ downloadButtonProps: {
462
+ onClick: function onClick() {
463
+ return setShowExportModal(true);
464
+ }
465
+ },
466
+ filterProps: {
467
+ columns: FILTER_COLUMNS,
468
+ isOpen: isFilterPaneOpen,
469
+ keyword: searchKeywordProps,
470
+ setIsOpen: setIsFilterPaneOpen,
471
+ onChange: handleFiltersChange
472
+ }
473
+ })
474
+ }), /*#__PURE__*/React.createElement(neetoFiltersFrontend.Bar, {
475
+ columns: FILTER_COLUMNS,
476
+ keyword: searchKeywordProps,
477
+ setIsPaneOpen: setIsFilterPaneOpen,
478
+ onChange: handleFiltersChange
479
+ }), /*#__PURE__*/React.createElement(List, {
480
+ columnData: columnData,
481
+ filters: filters,
482
+ pageProperties: pageProperties,
483
+ setDataSize: setDataSize,
484
+ setIsFilterButtonVisible: setIsFilterButtonVisible,
485
+ setPageProperties: setPageProperties,
486
+ setSortProperties: setSortProperties,
487
+ sortProperties: sortProperties,
488
+ tab: tab
489
+ }), /*#__PURE__*/React.createElement(ExportModal, {
490
+ filters: filters,
491
+ setShowExportModal: setShowExportModal,
492
+ showExportModal: showExportModal,
493
+ sortProperties: sortProperties,
494
+ tab: tab
495
+ }));
496
+ };
497
+ var index = reactUtils.withTitle(dashboard.withReactQuery(AccountsDashboard), i18next.t("neetoPayments.title.account"));
498
+
499
+ module.exports = index;
500
+ //# sourceMappingURL=AccountsDashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountsDashboard.js","sources":["../../app/javascript/src/components/AccountsDashboard/constants/index.js","../../app/javascript/src/components/AccountsDashboard/ExportModal.jsx","../../app/javascript/src/components/AccountsDashboard/utils/renderFunctions.jsx","../../app/javascript/src/components/AccountsDashboard/constants/columns.js","../../app/javascript/src/components/AccountsDashboard/hooks/useFiltersAndPagination.js","../../app/javascript/src/components/AccountsDashboard/List.jsx","../../app/javascript/src/components/AccountsDashboard/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const TAB = {\n all: \"all\",\n connected: \"connected\",\n disconnected: \"disconnected\",\n incomplete: \"incomplete\",\n};\n\nexport const TABS = Object.values(TAB);\n\nexport const SEARCH_PROPS = {\n key: \"keyword\",\n node: \"identifier,user.first_name,last_name,email\",\n model: \"NeetoPaymentsEngine::Stripe::Account,User\",\n};\n\nexport const DASHBOARD_MANDATORY_COLUMNS = [\"id\", \"status\", \"identifier\"];\n\nexport const FILTER_COLUMNS = [\n {\n key: \"created_at\",\n label: t(\"neetoPayments.common.createdAt\"),\n node: \"created_at\",\n type: \"date\",\n showRuleSelector: true,\n },\n];\n\nexport const STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY =\n \"stripeAccountsDashboard\";\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { Download } from \"neetoicons\";\nimport { Button, Modal, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useExportData } from \"hooks/reactQuery/stripe/useExportsApi\";\nimport exportChannel from \"src/channels/exportChannel\";\nimport { uuidV4 } from \"utils\";\n\nconst ExportModal = ({\n showExportModal,\n setShowExportModal,\n tab,\n filters,\n sortProperties = {},\n}) => {\n const { t } = useTranslation();\n const [downloadUrl, setDownloadUrl] = useState(\"\");\n const [isGenerating, setIsGenerating] = useState(false);\n\n const { mutate: exportCsv, isPending } = useExportData();\n const isFileLoading = isPending || isGenerating;\n\n const token = useMemo(() => `account-report-${uuidV4()}`, []);\n\n const receivedCallback = data => {\n if (!data.download_url) return;\n setDownloadUrl(data.download_url);\n setIsGenerating(false);\n };\n\n const handleGenerateClick = () => {\n const payload = {\n kind: \"account\",\n token,\n filters,\n tab,\n ...sortProperties,\n };\n\n exportCsv(payload, {\n onSuccess: () => {\n setDownloadUrl(\"\");\n setIsGenerating(true);\n },\n });\n };\n\n useEffect(() => {\n if (showExportModal) {\n const channel = exportChannel(token, receivedCallback);\n setDownloadUrl(\"\");\n setIsGenerating(false);\n\n return () => {\n channel.disconnected();\n };\n }\n\n return undefined;\n }, [showExportModal, token]);\n\n const onClose = () => setShowExportModal(false);\n\n return (\n <Modal {...{ onClose }} isOpen={showExportModal}>\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoPayments.export.title.account\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n {isFileLoading ? (\n <Typography style=\"body2\">\n {t(\"neetoPayments.export.pleaseWait\")}\n </Typography>\n ) : (\n <Typography style=\"body2\">\n {downloadUrl\n ? t(\"neetoPayments.export.fileReady\")\n : t(\"neetoPayments.export.download.account\")}\n </Typography>\n )}\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n {downloadUrl ? (\n <Button\n data-cy=\"neeto-payments-download-button\"\n href={downloadUrl}\n icon={Download}\n label={t(\"neetoPayments.common.download\")}\n onClick={onClose}\n />\n ) : (\n <>\n <Button\n data-cy=\"cancel-button\"\n disabled={isFileLoading}\n label={t(\"neetoPayments.common.cancel\")}\n style=\"tertiary\"\n onClick={onClose}\n />\n <Button\n data-cy=\"neeto-payments-export-button\"\n disabled={isFileLoading}\n label={t(\"neetoPayments.common.export\")}\n loading={isFileLoading}\n onClick={handleGenerateClick}\n />\n </>\n )}\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default ExportModal;\n","import { capitalize } from \"neetocist\";\nimport { Button } from \"neetoui\";\nimport { join, map, pipe, split } from \"ramda\";\n\nimport CopyButtonWrapper from \"components/Common/CopyButtonWrapper\";\nimport { buildStripeAccountLink } from \"utils\";\n\nexport const renderIdentifier = ({ identifier = \"\", isLive = false } = {}) => (\n <CopyButtonWrapper content={identifier}>\n <Button\n href={buildStripeAccountLink(identifier, isLive)}\n label={identifier}\n size=\"small\"\n style=\"link\"\n target=\"_blank\"\n />\n </CopyButtonWrapper>\n);\n\nexport const renderCountry = pipe(split(\"_\"), map(capitalize), join(\" \"));\n","import { t } from \"i18next\";\n\nimport {\n renderDate,\n renderFullName,\n renderStatus,\n} from \"utils/renderFunctions\";\n\nimport { renderCountry, renderIdentifier } from \"../utils/renderFunctions\";\n\nexport const COLUMNS = [\n {\n title: t(\"neetoPayments.common.id\"),\n dataIndex: \"id\",\n key: \"id\",\n width: 85,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.identifier\"),\n dataIndex: \"identifier\",\n key: \"identifier\",\n width: 300,\n render: renderIdentifier,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: 150,\n render: renderStatus(\"account\"),\n sorter: true,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.name\"),\n dataIndex: \"first_name\",\n key: \"first_name\",\n width: 300,\n sorter: true,\n render: renderFullName,\n },\n {\n title: t(\"neetoPayments.common.email\"),\n dataIndex: \"email\",\n key: \"email\",\n width: 300,\n ellipsis: true,\n sorter: true,\n },\n {\n title: t(\"neetoPayments.common.country\"),\n dataIndex: \"country\",\n key: \"country\",\n width: 150,\n render: renderCountry,\n sorter: true,\n },\n {\n title: t(\"neetoPayments.common.createdAt\"),\n dataIndex: \"createdAt\",\n key: \"createdAt\",\n width: 220,\n render: renderDate,\n sorter: true,\n },\n];\n","import { useState } from \"react\";\n\nimport { removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { DEFAULT_SORT_PROPERTIES } from \"src/constants\";\nimport { buildDefaultPageProperties } from \"utils/dashboard\";\n\nimport { FILTER_COLUMNS, TAB, TABS, SEARCH_PROPS } from \"../constants\";\nimport { COLUMNS } from \"../constants/columns\";\n\nexport const useFiltersAndPagination = () => {\n const history = useHistory();\n const [isFilterButtonVisible, setIsFilterButtonVisible] = useState(false);\n const [isFilterPaneOpen, setIsFilterPaneOpen] = useState(false);\n const [pageProperties, setPageProperties] = useState(\n buildDefaultPageProperties(TABS)\n );\n const [sortProperties, setSortProperties] = useState(DEFAULT_SORT_PROPERTIES);\n const { tab = TAB.all } = useQueryParams();\n\n const { searchTerm = \"\" } = getQueryParams();\n const searchKeywordProps = {\n ...SEARCH_PROPS,\n key: \"search_term\",\n value: searchTerm.trim(),\n };\n\n const [filters, setFilters] = useState(\n buildFiltersFromURL([...FILTER_COLUMNS, searchKeywordProps])\n );\n const [dataSize, setDataSize] = useState(null);\n\n const columnData =\n tab !== TAB.all ? removeBy({ key: \"status\" }, COLUMNS) : COLUMNS;\n\n const handleTabChange = tab => {\n setDataSize(null);\n const queryParams = getQueryParams({ toCamelCase: false });\n const newParams = {\n tab,\n page: pageProperties[tab]?.page,\n page_size: pageProperties[tab]?.pageSize,\n };\n\n history.push(\n buildUrl(window.location.pathname, mergeLeft(newParams, queryParams))\n );\n };\n\n return {\n isFilterButtonVisible,\n isFilterPaneOpen,\n pageProperties,\n filters,\n searchKeywordProps,\n tab,\n sortProperties,\n columnData,\n dataSize,\n setDataSize,\n setIsFilterButtonVisible,\n setIsFilterPaneOpen,\n setPageProperties,\n setFilters,\n handleTabChange,\n setSortProperties,\n };\n};\n","import { useEffect } from \"react\";\n\nimport { camelToSnakeCase, isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { useTableConfigurations } from \"neetomolecules/Columns\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table, NoData, Spinner } from \"neetoui\";\nimport { assoc, mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useFetchConnectedAccounts } from \"hooks/reactQuery/stripe/useAccountsApi\";\nimport { DEFAULT_SORT_PROPERTIES, SORT_DIRECTIONS } from \"src/constants\";\nimport { TABLE_KEYS } from \"src/constants/tableKeys\";\nimport { buildPayload, buildRowData } from \"utils/dashboard\";\n\nimport { TAB } from \"./constants\";\n\nconst List = ({\n columnData,\n filters,\n pageProperties,\n setDataSize,\n setIsFilterButtonVisible,\n setPageProperties,\n setSortProperties,\n sortProperties,\n tab,\n}) => {\n const history = useHistory();\n const { t } = useTranslation();\n const { isTableConfigurationLoading, customizedColumns, hideColumn } =\n useTableConfigurations(TABLE_KEYS.ACCOUNTS_TABLE, columnData);\n\n const {\n data: { accounts = [], views = {} } = {},\n isLoading,\n isFetching,\n } = useFetchConnectedAccounts(\n buildPayload({ filters, pageProperties, sortProperties, tab })\n );\n\n const dataSize = views[tab];\n\n useEffect(() => {\n setIsFilterButtonVisible(isPresent(accounts) || isPresent(filters));\n setDataSize(dataSize);\n }, [accounts]);\n\n const handleTablePagination = (page, pageSize) => {\n const queryParams = getQueryParams({ toCamelCase: false });\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page, page_size: pageSize }, queryParams)\n )\n );\n setPageProperties(assoc(tab, { page, pageSize }));\n };\n\n useEffect(() => {\n handleTablePagination(DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE);\n setSortProperties(DEFAULT_SORT_PROPERTIES);\n }, [filters, tab]);\n\n const handleTableChange = (_, __, sorter) => {\n setSortProperties(\n isPresent(sorter?.column)\n ? {\n sortBy: camelToSnakeCase(sorter.field),\n orderBy: sorter.order === \"ascend\" ? \"ASC\" : \"DESC\",\n }\n : DEFAULT_SORT_PROPERTIES\n );\n };\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (dataSize <= 0 || !isPresent(accounts)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={\n tab === TAB.all\n ? t(\"neetoPayments.emptyState.account\")\n : t(\"neetoPayments.emptyState.accountWithStatus\", { status: tab })\n }\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={dataSize > pageProperties[tab]?.pageSize}>\n <Table\n fixedHeight\n allowRowClick={false}\n columnData={customizedColumns}\n currentPageNumber={pageProperties[tab]?.page}\n handlePageChange={handleTablePagination}\n loading={isFetching || isTableConfigurationLoading}\n rowData={buildRowData({ data: accounts, pageProperties, tab })}\n rowSelection={false}\n sortDirections={SORT_DIRECTIONS}\n totalCount={dataSize}\n paginationProps={{\n showSizeChanger: true,\n hideOnSinglePage: true,\n pageSize: pageProperties[tab]?.pageSize,\n total: dataSize,\n }}\n onChange={handleTableChange}\n onColumnHide={({ key }) => hideColumn(key)}\n />\n </TableWrapper>\n );\n};\n\nexport default List;\n","import { useState, useTransition } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\nimport { withTitle } from \"neetocommons/react-utils\";\nimport { Bar as FiltersBar } from \"neetofilters\";\nimport Header from \"neetomolecules/Header\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Tab, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport withReactQuery from \"components/Common/withReactQuery\";\nimport { TABLE_KEYS } from \"src/constants/tableKeys\";\n\nimport {\n DASHBOARD_MANDATORY_COLUMNS,\n FILTER_COLUMNS,\n TAB,\n TABS,\n} from \"./constants\";\nimport ExportModal from \"./ExportModal\";\nimport { useFiltersAndPagination } from \"./hooks/useFiltersAndPagination\";\nimport List from \"./List\";\n\nconst AccountsDashboard = () => {\n const [_, startTransition] = useTransition();\n const { t } = useTranslation();\n\n const [showExportModal, setShowExportModal] = useState(false);\n const {\n isFilterButtonVisible,\n isFilterPaneOpen,\n pageProperties,\n filters,\n searchKeywordProps,\n tab,\n sortProperties,\n columnData,\n dataSize,\n setDataSize,\n setIsFilterButtonVisible,\n setIsFilterPaneOpen,\n setPageProperties,\n setFilters,\n handleTabChange,\n setSortProperties,\n } = useFiltersAndPagination();\n\n const isTabsVisible = isFilterButtonVisible || tab !== \"all\";\n\n const handleFiltersChange = filters => {\n startTransition(() => {\n setFilters(filters);\n });\n };\n\n return (\n <>\n <Header\n title={t(\"neetoPayments.title.account\")}\n searchProps={\n isFilterButtonVisible && {\n placeholder: t(\"neetoPayments.common.search\"),\n className: \"w-80\",\n }\n }\n />\n {isTabsVisible && (\n <Tab>\n {TABS.map(item => (\n <Tab.Item\n active={tab === item}\n key={item}\n onClick={() => handleTabChange(item)}\n >\n {t(`neetoPayments.common.${item}`)}\n </Tab.Item>\n ))}\n </Tab>\n )}\n <SubHeader\n className=\"my-4\"\n leftActionBlock={\n isPresent(dataSize) && (\n <Typography\n className=\"neeto-ui-gray-800 me-2 font-semibold\"\n component=\"h4\"\n >\n {tab === TAB.all\n ? t(\"neetoPayments.countOf.account\", { count: dataSize })\n : t(\"neetoPayments.countOf.accountWithStatus\", {\n count: dataSize,\n status: tab,\n })}\n </Typography>\n )\n }\n rightActionBlock={\n isFilterButtonVisible && (\n <SubHeader.RightBlock\n columnsButtonProps={{\n columnData,\n fixedColumns: DASHBOARD_MANDATORY_COLUMNS,\n tableKey: TABLE_KEYS.ACCOUNTS_TABLE,\n }}\n downloadButtonProps={{\n onClick: () => setShowExportModal(true),\n }}\n filterProps={{\n columns: FILTER_COLUMNS,\n isOpen: isFilterPaneOpen,\n keyword: searchKeywordProps,\n setIsOpen: setIsFilterPaneOpen,\n onChange: handleFiltersChange,\n }}\n />\n )\n }\n />\n <FiltersBar\n columns={FILTER_COLUMNS}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFilterPaneOpen}\n onChange={handleFiltersChange}\n />\n <List\n {...{\n columnData,\n filters,\n pageProperties,\n setDataSize,\n setIsFilterButtonVisible,\n setPageProperties,\n setSortProperties,\n sortProperties,\n tab,\n }}\n />\n <ExportModal\n {...{\n filters,\n setShowExportModal,\n showExportModal,\n sortProperties,\n tab,\n }}\n />\n </>\n );\n};\n\nexport default withTitle(\n withReactQuery(AccountsDashboard),\n t(\"neetoPayments.title.account\")\n);\n"],"names":["TAB","all","connected","disconnected","incomplete","TABS","Object","values","SEARCH_PROPS","key","node","model","DASHBOARD_MANDATORY_COLUMNS","FILTER_COLUMNS","label","t","type","showRuleSelector","ExportModal","_ref","showExportModal","setShowExportModal","tab","filters","_ref$sortProperties","sortProperties","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","downloadUrl","setDownloadUrl","_useState3","_useState4","isGenerating","setIsGenerating","_useExportData","useExportData","exportCsv","mutate","isPending","isFileLoading","token","useMemo","concat","uuidV4","receivedCallback","data","download_url","handleGenerateClick","payload","_objectSpread","kind","onSuccess","useEffect","channel","exportChannel","undefined","onClose","React","createElement","Modal","isOpen","Header","Typography","style","Body","Footer","className","Button","href","icon","Download","onClick","Fragment","disabled","loading","renderIdentifier","arguments","length","_ref$identifier","identifier","_ref$isLive","isLive","CopyButtonWrapper","content","buildStripeAccountLink","size","target","renderCountry","pipe","split","map","capitalize","join","COLUMNS","title","dataIndex","width","isHidable","render","renderStatus","sorter","renderFullName","ellipsis","renderDate","useFiltersAndPagination","history","useHistory","isFilterButtonVisible","setIsFilterButtonVisible","isFilterPaneOpen","setIsFilterPaneOpen","_useState5","buildDefaultPageProperties","_useState6","pageProperties","setPageProperties","_useState7","DEFAULT_SORT_PROPERTIES","_useState8","setSortProperties","_useQueryParams","useQueryParams","_useQueryParams$tab","_getQueryParams","getQueryParams","_getQueryParams$searc","searchTerm","searchKeywordProps","value","trim","_useState9","buildFiltersFromURL","_toConsumableArray","_useState10","setFilters","_useState11","_useState12","dataSize","setDataSize","columnData","removeBy","handleTabChange","_pageProperties$tab","_pageProperties$tab2","queryParams","toCamelCase","newParams","page","page_size","pageSize","push","buildUrl","window","location","pathname","mergeLeft","List","_pageProperties$tab3","_useTableConfiguratio","useTableConfigurations","TABLE_KEYS","ACCOUNTS_TABLE","isTableConfigurationLoading","customizedColumns","hideColumn","_useFetchConnectedAcc","useFetchConnectedAccounts","buildPayload","_useFetchConnectedAcc2","_useFetchConnectedAcc3","_useFetchConnectedAcc4","accounts","_useFetchConnectedAcc5","views","isLoading","isFetching","isPresent","handleTablePagination","assoc","DEFAULT_PAGE_INDEX","DEFAULT_PAGE_SIZE","handleTableChange","_","__","column","sortBy","camelToSnakeCase","field","orderBy","order","Spinner","NoData","status","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","currentPageNumber","handlePageChange","rowData","buildRowData","rowSelection","sortDirections","SORT_DIRECTIONS","totalCount","paginationProps","showSizeChanger","hideOnSinglePage","total","onChange","onColumnHide","_ref2","AccountsDashboard","_useTransition","useTransition","_useTransition2","startTransition","_useFiltersAndPaginat","isTabsVisible","handleFiltersChange","searchProps","placeholder","Tab","item","Item","active","SubHeader","leftActionBlock","component","count","rightActionBlock","RightBlock","columnsButtonProps","fixedColumns","tableKey","downloadButtonProps","filterProps","columns","keyword","setIsOpen","FiltersBar","setIsPaneOpen","withTitle","withReactQuery"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,GAAG,GAAG;AACjBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,YAAY,EAAE,cAAc;AAC5BC,EAAAA,UAAU,EAAE;AACd,CAAC;AAEM,IAAMC,IAAI,GAAGC,MAAM,CAACC,MAAM,CAACP,GAAG,CAAC;AAE/B,IAAMQ,YAAY,GAAG;AAC1BC,EAAAA,GAAG,EAAE,SAAS;AACdC,EAAAA,IAAI,EAAE,4CAA4C;AAClDC,EAAAA,KAAK,EAAE;AACT,CAAC;AAEM,IAAMC,2BAA2B,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC;AAElE,IAAMC,cAAc,GAAG,CAC5B;AACEJ,EAAAA,GAAG,EAAE,YAAY;AACjBK,EAAAA,KAAK,EAAEC,SAAC,CAAC,gCAAgC,CAAC;AAC1CL,EAAAA,IAAI,EAAE,YAAY;AAClBM,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,gBAAgB,EAAE;AACpB,CAAC,CACF;;;;ACjBD,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAMX;AAAA,EAAA,IALJC,eAAe,GAAAD,IAAA,CAAfC,eAAe;IACfC,kBAAkB,GAAAF,IAAA,CAAlBE,kBAAkB;IAClBC,GAAG,GAAAH,IAAA,CAAHG,GAAG;IACHC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IAAAC,mBAAA,GAAAL,IAAA,CACPM,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,mBAAA;AAEnB,EAAA,IAAAE,eAAA,GAAcC,2BAAc,EAAE;IAAtBZ,CAAC,GAAAW,eAAA,CAADX,CAAC;AACT,EAAA,IAAAa,SAAA,GAAsCC,cAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA3CI,IAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,cAAc,GAAAH,UAAA,CAAA,CAAA,CAAA;AAClC,EAAA,IAAAI,UAAA,GAAwCL,cAAQ,CAAC,KAAK,CAAC;IAAAM,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAAhDE,IAAAA,YAAY,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,eAAe,GAAAF,UAAA,CAAA,CAAA,CAAA;AAEpC,EAAA,IAAAG,cAAA,GAAyCC,uBAAa,EAAE;IAAxCC,SAAS,GAAAF,cAAA,CAAjBG,MAAM;IAAaC,SAAS,GAAAJ,cAAA,CAATI,SAAS;AACpC,EAAA,IAAMC,aAAa,GAAGD,SAAS,IAAIN,YAAY;EAE/C,IAAMQ,KAAK,GAAGC,aAAO,CAAC,YAAA;AAAA,IAAA,OAAA,iBAAA,CAAAC,MAAA,CAAwBC,gBAAM,EAAE,CAAA;GAAE,EAAE,EAAE,CAAC;AAE7D,EAAA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGC,IAAI,EAAI;AAC/B,IAAA,IAAI,CAACA,IAAI,CAACC,YAAY,EAAE;AACxBjB,IAAAA,cAAc,CAACgB,IAAI,CAACC,YAAY,CAAC;IACjCb,eAAe,CAAC,KAAK,CAAC;GACvB;AAED,EAAA,IAAMc,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAS;IAChC,IAAMC,OAAO,GAAAC,eAAA,CAAA;AACXC,MAAAA,IAAI,EAAE,SAAS;AACfV,MAAAA,KAAK,EAALA,KAAK;AACLrB,MAAAA,OAAO,EAAPA,OAAO;AACPD,MAAAA,GAAG,EAAHA;AAAG,KAAA,EACAG,cAAc,CAClB;IAEDe,SAAS,CAACY,OAAO,EAAE;AACjBG,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;QACftB,cAAc,CAAC,EAAE,CAAC;QAClBI,eAAe,CAAC,IAAI,CAAC;AACvB;AACF,KAAC,CAAC;GACH;AAEDmB,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAIpC,eAAe,EAAE;AACnB,MAAA,IAAMqC,OAAO,GAAGC,2BAAa,CAACd,KAAK,EAAEI,gBAAgB,CAAC;MACtDf,cAAc,CAAC,EAAE,CAAC;MAClBI,eAAe,CAAC,KAAK,CAAC;AAEtB,MAAA,OAAO,YAAM;QACXoB,OAAO,CAACtD,YAAY,EAAE;OACvB;AACH;AAEA,IAAA,OAAOwD,SAAS;AAClB,GAAC,EAAE,CAACvC,eAAe,EAAEwB,KAAK,CAAC,CAAC;AAE5B,EAAA,IAAMgB,OAAO,GAAG,SAAVA,OAAOA,GAAA;IAAA,OAASvC,kBAAkB,CAAC,KAAK,CAAC;AAAA,GAAA;AAE/C,EAAA,oBACEwC,KAAA,CAAAC,aAAA,CAACC,aAAK,EAAA;AAAOH,IAAAA,OAAO,EAAPA,OAAO;AAAII,IAAAA,MAAM,EAAE5C;AAAgB,GAAA,eAC9CyC,KAAA,CAAAC,aAAA,CAACC,aAAK,CAACE,MAAM,EAAA,IAAA,eACXJ,KAAA,CAAAC,aAAA,CAACI,kBAAU,EAAA;AAACC,IAAAA,KAAK,EAAC;GACfpD,EAAAA,CAAC,CAAC,oCAAoC,CAC7B,CACA,CAAC,eACf8C,KAAA,CAAAC,aAAA,CAACC,aAAK,CAACK,IAAI,EACRzB,IAAAA,EAAAA,aAAa,gBACZkB,KAAA,CAAAC,aAAA,CAACI,kBAAU,EAAA;AAACC,IAAAA,KAAK,EAAC;GACfpD,EAAAA,CAAC,CAAC,iCAAiC,CAC1B,CAAC,gBAEb8C,KAAA,CAAAC,aAAA,CAACI,kBAAU,EAAA;AAACC,IAAAA,KAAK,EAAC;GACfnC,EAAAA,WAAW,GACRjB,CAAC,CAAC,gCAAgC,CAAC,GACnCA,CAAC,CAAC,uCAAuC,CACnC,CAEJ,CAAC,eACb8C,KAAA,CAAAC,aAAA,CAACC,aAAK,CAACM,MAAM,EAAA;AAACC,IAAAA,SAAS,EAAC;AAAW,GAAA,EAChCtC,WAAW,gBACV6B,KAAA,CAAAC,aAAA,CAACS,cAAM,EAAA;AACL,IAAA,SAAA,EAAQ,gCAAgC;AACxCC,IAAAA,IAAI,EAAExC,WAAY;AAClByC,IAAAA,IAAI,EAAEC,mBAAS;AACf5D,IAAAA,KAAK,EAAEC,CAAC,CAAC,+BAA+B,CAAE;AAC1C4D,IAAAA,OAAO,EAAEf;AAAQ,GAClB,CAAC,gBAEFC,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAe,QAAA,EACEf,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACS,cAAM,EAAA;AACL,IAAA,SAAA,EAAQ,eAAe;AACvBM,IAAAA,QAAQ,EAAElC,aAAc;AACxB7B,IAAAA,KAAK,EAAEC,CAAC,CAAC,6BAA6B,CAAE;AACxCoD,IAAAA,KAAK,EAAC,UAAU;AAChBQ,IAAAA,OAAO,EAAEf;AAAQ,GAClB,CAAC,eACFC,KAAA,CAAAC,aAAA,CAACS,cAAM,EAAA;AACL,IAAA,SAAA,EAAQ,8BAA8B;AACtCM,IAAAA,QAAQ,EAAElC,aAAc;AACxB7B,IAAAA,KAAK,EAAEC,CAAC,CAAC,6BAA6B,CAAE;AACxC+D,IAAAA,OAAO,EAAEnC,aAAc;AACvBgC,IAAAA,OAAO,EAAExB;GACV,CACD,CAEQ,CACT,CAAC;AAEZ,CAAC;;AC5GM,IAAM4B,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAA;AAAA,EAAA,IAAA5D,IAAA,GAAA6D,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAArB,SAAA,GAAAqB,SAAA,CAAA,CAAA,CAAA,GAA0C,EAAE;IAAAE,eAAA,GAAA/D,IAAA,CAAtCgE,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,eAAA;IAAAE,WAAA,GAAAjE,IAAA,CAAEkE,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,WAAA;AAAA,EAAA,oBAChEvB,KAAA,CAAAC,aAAA,CAACwB,mCAAiB,EAAA;AAACC,IAAAA,OAAO,EAAEJ;AAAW,GAAA,eACrCtB,KAAA,CAAAC,aAAA,CAACS,cAAM,EAAA;AACLC,IAAAA,IAAI,EAAEgB,gCAAsB,CAACL,UAAU,EAAEE,MAAM,CAAE;AACjDvE,IAAAA,KAAK,EAAEqE,UAAW;AAClBM,IAAAA,IAAI,EAAC,OAAO;AACZtB,IAAAA,KAAK,EAAC,MAAM;AACZuB,IAAAA,MAAM,EAAC;AAAQ,GAChB,CACgB,CAAC;AAAA,CACrB;AAEM,IAAMC,aAAa,GAAGC,UAAI,CAACC,WAAK,CAAC,GAAG,CAAC,EAAEC,SAAG,CAACC,oBAAU,CAAC,EAAEC,UAAI,CAAC,GAAG,CAAC,CAAC;;ACTlE,IAAMC,OAAO,GAAG,CACrB;AACEC,EAAAA,KAAK,EAAEnF,SAAC,CAAC,yBAAyB,CAAC;AACnCoF,EAAAA,SAAS,EAAE,IAAI;AACf1F,EAAAA,GAAG,EAAE,IAAI;AACT2F,EAAAA,KAAK,EAAE,EAAE;AACTC,EAAAA,SAAS,EAAE;AACb,CAAC,EACD;AACEH,EAAAA,KAAK,EAAEnF,SAAC,CAAC,iCAAiC,CAAC;AAC3CoF,EAAAA,SAAS,EAAE,YAAY;AACvB1F,EAAAA,GAAG,EAAE,YAAY;AACjB2F,EAAAA,KAAK,EAAE,GAAG;AACVE,EAAAA,MAAM,EAAEvB,gBAAgB;AACxBsB,EAAAA,SAAS,EAAE;AACb,CAAC,EACD;AACEH,EAAAA,KAAK,EAAEnF,SAAC,CAAC,6BAA6B,CAAC;AACvCoF,EAAAA,SAAS,EAAE,QAAQ;AACnB1F,EAAAA,GAAG,EAAE,QAAQ;AACb2F,EAAAA,KAAK,EAAE,GAAG;AACVE,EAAAA,MAAM,EAAEC,4BAAY,CAAC,SAAS,CAAC;AAC/BC,EAAAA,MAAM,EAAE,IAAI;AACZH,EAAAA,SAAS,EAAE;AACb,CAAC,EACD;AACEH,EAAAA,KAAK,EAAEnF,SAAC,CAAC,2BAA2B,CAAC;AACrCoF,EAAAA,SAAS,EAAE,YAAY;AACvB1F,EAAAA,GAAG,EAAE,YAAY;AACjB2F,EAAAA,KAAK,EAAE,GAAG;AACVI,EAAAA,MAAM,EAAE,IAAI;AACZF,EAAAA,MAAM,EAAEG;AACV,CAAC,EACD;AACEP,EAAAA,KAAK,EAAEnF,SAAC,CAAC,4BAA4B,CAAC;AACtCoF,EAAAA,SAAS,EAAE,OAAO;AAClB1F,EAAAA,GAAG,EAAE,OAAO;AACZ2F,EAAAA,KAAK,EAAE,GAAG;AACVM,EAAAA,QAAQ,EAAE,IAAI;AACdF,EAAAA,MAAM,EAAE;AACV,CAAC,EACD;AACEN,EAAAA,KAAK,EAAEnF,SAAC,CAAC,8BAA8B,CAAC;AACxCoF,EAAAA,SAAS,EAAE,SAAS;AACpB1F,EAAAA,GAAG,EAAE,SAAS;AACd2F,EAAAA,KAAK,EAAE,GAAG;AACVE,EAAAA,MAAM,EAAEX,aAAa;AACrBa,EAAAA,MAAM,EAAE;AACV,CAAC,EACD;AACEN,EAAAA,KAAK,EAAEnF,SAAC,CAAC,gCAAgC,CAAC;AAC1CoF,EAAAA,SAAS,EAAE,WAAW;AACtB1F,EAAAA,GAAG,EAAE,WAAW;AAChB2F,EAAAA,KAAK,EAAE,GAAG;AACVE,EAAAA,MAAM,EAAEK,0BAAU;AAClBH,EAAAA,MAAM,EAAE;AACV,CAAC,CACF;;;;ACpDM,IAAMI,uBAAuB,GAAG,SAA1BA,uBAAuBA,GAAS;AAC3C,EAAA,IAAMC,OAAO,GAAGC,yBAAU,EAAE;AAC5B,EAAA,IAAAlF,SAAA,GAA0DC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlEmF,IAAAA,qBAAqB,GAAAjF,UAAA,CAAA,CAAA,CAAA;AAAEkF,IAAAA,wBAAwB,GAAAlF,UAAA,CAAA,CAAA,CAAA;AACtD,EAAA,IAAAI,UAAA,GAAgDL,cAAQ,CAAC,KAAK,CAAC;IAAAM,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAAxD+E,IAAAA,gBAAgB,GAAA9E,UAAA,CAAA,CAAA,CAAA;AAAE+E,IAAAA,mBAAmB,GAAA/E,UAAA,CAAA,CAAA,CAAA;EAC5C,IAAAgF,UAAA,GAA4CtF,cAAQ,CAClDuF,oCAA0B,CAAC/G,IAAI,CACjC,CAAC;IAAAgH,UAAA,GAAAtF,cAAA,CAAAoF,UAAA,EAAA,CAAA,CAAA;AAFMG,IAAAA,cAAc,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,iBAAiB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAGxC,EAAA,IAAAG,UAAA,GAA4C3F,cAAQ,CAAC4F,iCAAuB,CAAC;IAAAC,UAAA,GAAA3F,cAAA,CAAAyF,UAAA,EAAA,CAAA,CAAA;AAAtE/F,IAAAA,cAAc,GAAAiG,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,iBAAiB,GAAAD,UAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAE,eAAA,GAA0BC,yBAAc,EAAE;IAAAC,mBAAA,GAAAF,eAAA,CAAlCtG,GAAG;AAAHA,IAAAA,GAAG,GAAAwG,mBAAA,KAAA,KAAA,CAAA,GAAG9H,GAAG,CAACC,GAAG,GAAA6H,mBAAA;AAErB,EAAA,IAAAC,eAAA,GAA4BC,oBAAc,EAAE;IAAAC,qBAAA,GAAAF,eAAA,CAApCG,UAAU;AAAVA,IAAAA,UAAU,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;AACvB,EAAA,IAAME,kBAAkB,GAAA9E,aAAA,CAAAA,aAAA,KACnB7C,YAAY,CAAA,EAAA,EAAA,EAAA;AACfC,IAAAA,GAAG,EAAE,aAAa;AAClB2H,IAAAA,KAAK,EAAEF,UAAU,CAACG,IAAI;GACvB,CAAA;AAED,EAAA,IAAAC,UAAA,GAA8BzG,cAAQ,CACpC0G,wCAAmB,CAAAzF,EAAAA,CAAAA,MAAA,CAAA0F,kBAAA,CAAK3H,cAAc,CAAA,EAAA,CAAEsH,kBAAkB,CAAA,CAAC,CAC7D,CAAC;IAAAM,WAAA,GAAA1G,cAAA,CAAAuG,UAAA,EAAA,CAAA,CAAA;AAFM/G,IAAAA,OAAO,GAAAkH,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,UAAU,GAAAD,WAAA,CAAA,CAAA,CAAA;AAG1B,EAAA,IAAAE,WAAA,GAAgC9G,cAAQ,CAAC,IAAI,CAAC;IAAA+G,WAAA,GAAA7G,cAAA,CAAA4G,WAAA,EAAA,CAAA,CAAA;AAAvCE,IAAAA,QAAQ,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,WAAW,GAAAF,WAAA,CAAA,CAAA,CAAA;EAE5B,IAAMG,UAAU,GACdzH,GAAG,KAAKtB,GAAG,CAACC,GAAG,GAAG+I,kBAAQ,CAAC;AAAEvI,IAAAA,GAAG,EAAE;AAAS,GAAC,EAAEwF,OAAO,CAAC,GAAGA,OAAO;AAElE,EAAA,IAAMgD,eAAe,GAAG,SAAlBA,eAAeA,CAAG3H,GAAG,EAAI;IAAA,IAAA4H,mBAAA,EAAAC,oBAAA;IAC7BL,WAAW,CAAC,IAAI,CAAC;IACjB,IAAMM,WAAW,GAAGpB,oBAAc,CAAC;AAAEqB,MAAAA,WAAW,EAAE;AAAM,KAAC,CAAC;AAC1D,IAAA,IAAMC,SAAS,GAAG;AAChBhI,MAAAA,GAAG,EAAHA,GAAG;AACHiI,MAAAA,IAAI,EAAAL,CAAAA,mBAAA,GAAE5B,cAAc,CAAChG,GAAG,CAAC,MAAA,IAAA,IAAA4H,mBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnBA,mBAAA,CAAqBK,IAAI;MAC/BC,SAAS,EAAA,CAAAL,oBAAA,GAAE7B,cAAc,CAAChG,GAAG,CAAC,MAAA6H,IAAAA,IAAAA,oBAAA,KAAnBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAA,CAAqBM;KACjC;AAED5C,IAAAA,OAAO,CAAC6C,IAAI,CACVC,cAAQ,CAACC,MAAM,CAACC,QAAQ,CAACC,QAAQ,EAAEC,eAAS,CAACT,SAAS,EAAEF,WAAW,CAAC,CACtE,CAAC;GACF;EAED,OAAO;AACLrC,IAAAA,qBAAqB,EAArBA,qBAAqB;AACrBE,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBK,IAAAA,cAAc,EAAdA,cAAc;AACd/F,IAAAA,OAAO,EAAPA,OAAO;AACP4G,IAAAA,kBAAkB,EAAlBA,kBAAkB;AAClB7G,IAAAA,GAAG,EAAHA,GAAG;AACHG,IAAAA,cAAc,EAAdA,cAAc;AACdsH,IAAAA,UAAU,EAAVA,UAAU;AACVF,IAAAA,QAAQ,EAARA,QAAQ;AACRC,IAAAA,WAAW,EAAXA,WAAW;AACX9B,IAAAA,wBAAwB,EAAxBA,wBAAwB;AACxBE,IAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBK,IAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBmB,IAAAA,UAAU,EAAVA,UAAU;AACVO,IAAAA,eAAe,EAAfA,eAAe;AACftB,IAAAA,iBAAiB,EAAjBA;GACD;AACH,CAAC;;ACrDD,IAAMqC,IAAI,GAAG,SAAPA,IAAIA,CAAA7I,IAAA,EAUJ;AAAA,EAAA,IAAA+H,mBAAA,EAAAC,oBAAA,EAAAc,oBAAA;AAAA,EAAA,IATJlB,UAAU,GAAA5H,IAAA,CAAV4H,UAAU;IACVxH,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IACP+F,cAAc,GAAAnG,IAAA,CAAdmG,cAAc;IACdwB,WAAW,GAAA3H,IAAA,CAAX2H,WAAW;IACX9B,wBAAwB,GAAA7F,IAAA,CAAxB6F,wBAAwB;IACxBO,iBAAiB,GAAApG,IAAA,CAAjBoG,iBAAiB;IACjBI,iBAAiB,GAAAxG,IAAA,CAAjBwG,iBAAiB;IACjBlG,cAAc,GAAAN,IAAA,CAAdM,cAAc;IACdH,GAAG,GAAAH,IAAA,CAAHG,GAAG;AAEH,EAAA,IAAMuF,OAAO,GAAGC,yBAAU,EAAE;AAC5B,EAAA,IAAApF,eAAA,GAAcC,2BAAc,EAAE;IAAtBZ,CAAC,GAAAW,eAAA,CAADX,CAAC;EACT,IAAAmJ,qBAAA,GACEC,8BAAsB,CAACC,wBAAU,CAACC,cAAc,EAAEtB,UAAU,CAAC;IADvDuB,2BAA2B,GAAAJ,qBAAA,CAA3BI,2BAA2B;IAAEC,iBAAiB,GAAAL,qBAAA,CAAjBK,iBAAiB;IAAEC,UAAU,GAAAN,qBAAA,CAAVM,UAAU;AAGlE,EAAA,IAAAC,qBAAA,GAIIC,wCAAyB,CAC3BC,sBAAY,CAAC;AAAEpJ,MAAAA,OAAO,EAAPA,OAAO;AAAE+F,MAAAA,cAAc,EAAdA,cAAc;AAAE7F,MAAAA,cAAc,EAAdA,cAAc;AAAEH,MAAAA,GAAG,EAAHA;AAAI,KAAC,CAC/D,CAAC;IAAAsJ,sBAAA,GAAAH,qBAAA,CALCxH,IAAI;AAAA4H,IAAAA,sBAAA,GAAAD,sBAAA,KAAA,KAAA,CAAA,GAAkC,EAAE,GAAAA,sBAAA;IAAAE,sBAAA,GAAAD,sBAAA,CAAhCE,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,sBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,sBAAA;IAAAE,sBAAA,GAAAH,sBAAA,CAAEI,KAAK;AAALA,IAAAA,KAAK,GAAAD,sBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,sBAAA;IACjCE,SAAS,GAAAT,qBAAA,CAATS,SAAS;IACTC,UAAU,GAAAV,qBAAA,CAAVU,UAAU;AAKZ,EAAA,IAAMtC,QAAQ,GAAGoC,KAAK,CAAC3J,GAAG,CAAC;AAE3BkC,EAAAA,eAAS,CAAC,YAAM;IACdwD,wBAAwB,CAACoE,mBAAS,CAACL,QAAQ,CAAC,IAAIK,mBAAS,CAAC7J,OAAO,CAAC,CAAC;IACnEuH,WAAW,CAACD,QAAQ,CAAC;AACvB,GAAC,EAAE,CAACkC,QAAQ,CAAC,CAAC;EAEd,IAAMM,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAI9B,IAAI,EAAEE,QAAQ,EAAK;IAChD,IAAML,WAAW,GAAGpB,oBAAc,CAAC;AAAEqB,MAAAA,WAAW,EAAE;AAAM,KAAC,CAAC;AAC1DxC,IAAAA,OAAO,CAAC6C,IAAI,CACVC,cAAQ,CACNC,MAAM,CAACC,QAAQ,CAACC,QAAQ,EACxBC,eAAS,CAAC;AAAER,MAAAA,IAAI,EAAJA,IAAI;AAAEC,MAAAA,SAAS,EAAEC;AAAS,KAAC,EAAEL,WAAW,CACtD,CACF,CAAC;AACD7B,IAAAA,iBAAiB,CAAC+D,WAAK,CAAChK,GAAG,EAAE;AAAEiI,MAAAA,IAAI,EAAJA,IAAI;AAAEE,MAAAA,QAAQ,EAARA;AAAS,KAAC,CAAC,CAAC;GAClD;AAEDjG,EAAAA,eAAS,CAAC,YAAM;AACd6H,IAAAA,qBAAqB,CAACE,8BAAkB,EAAEC,6BAAiB,CAAC;IAC5D7D,iBAAiB,CAACF,iCAAuB,CAAC;AAC5C,GAAC,EAAE,CAAClG,OAAO,EAAED,GAAG,CAAC,CAAC;EAElB,IAAMmK,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,CAAC,EAAEC,EAAE,EAAEnF,MAAM,EAAK;IAC3CmB,iBAAiB,CACfyD,mBAAS,CAAC5E,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEoF,MAAM,CAAC,GACrB;AACEC,MAAAA,MAAM,EAAEC,0BAAgB,CAACtF,MAAM,CAACuF,KAAK,CAAC;MACtCC,OAAO,EAAExF,MAAM,CAACyF,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAG;KAC9C,GACDxE,iCACN,CAAC;GACF;AAED,EAAA,IAAIyD,SAAS,EAAE;IACb,oBACErH,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKQ,MAAAA,SAAS,EAAC;AAAgD,KAAA,eAC7DT,KAAA,CAAAC,aAAA,CAACoI,eAAO,EAAA,IAAE,CACP,CAAC;AAEV;EAEA,IAAIrD,QAAQ,IAAI,CAAC,IAAI,CAACuC,mBAAS,CAACL,QAAQ,CAAC,EAAE;IACzC,oBACElH,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKQ,MAAAA,SAAS,EAAC;AAAgD,KAAA,eAC7DT,KAAA,CAAAC,aAAA,CAACqI,cAAM,EAAA;AACLjG,MAAAA,KAAK,EACH5E,GAAG,KAAKtB,GAAG,CAACC,GAAG,GACXc,CAAC,CAAC,kCAAkC,CAAC,GACrCA,CAAC,CAAC,4CAA4C,EAAE;AAAEqL,QAAAA,MAAM,EAAE9K;OAAK;AACpE,KACF,CACE,CAAC;AAEV;AAEA,EAAA,oBACEuC,KAAA,CAAAC,aAAA,CAACuI,YAAY,EAAA;AAACC,IAAAA,aAAa,EAAEzD,QAAQ,IAAAK,CAAAA,mBAAA,GAAG5B,cAAc,CAAChG,GAAG,CAAC,MAAA4H,IAAAA,IAAAA,mBAAA,KAAnBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAAqBO,QAAQ;AAAC,GAAA,eACpE5F,KAAA,CAAAC,aAAA,CAACyI,aAAK,EAAA;IACJC,WAAW,EAAA,IAAA;AACXC,IAAAA,aAAa,EAAE,KAAM;AACrB1D,IAAAA,UAAU,EAAEwB,iBAAkB;AAC9BmC,IAAAA,iBAAiB,EAAAvD,CAAAA,oBAAA,GAAE7B,cAAc,CAAChG,GAAG,CAAC,MAAA,IAAA,IAAA6H,oBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnBA,oBAAA,CAAqBI,IAAK;AAC7CoD,IAAAA,gBAAgB,EAAEtB,qBAAsB;IACxCvG,OAAO,EAAEqG,UAAU,IAAIb,2BAA4B;IACnDsC,OAAO,EAAEC,sBAAY,CAAC;AAAE5J,MAAAA,IAAI,EAAE8H,QAAQ;AAAEzD,MAAAA,cAAc,EAAdA,cAAc;AAAEhG,MAAAA,GAAG,EAAHA;AAAI,KAAC,CAAE;AAC/DwL,IAAAA,YAAY,EAAE,KAAM;AACpBC,IAAAA,cAAc,EAAEC,yBAAgB;AAChCC,IAAAA,UAAU,EAAEpE,QAAS;AACrBqE,IAAAA,eAAe,EAAE;AACfC,MAAAA,eAAe,EAAE,IAAI;AACrBC,MAAAA,gBAAgB,EAAE,IAAI;AACtB3D,MAAAA,QAAQ,EAAAQ,CAAAA,oBAAA,GAAE3C,cAAc,CAAChG,GAAG,CAAC,MAAA,IAAA,IAAA2I,oBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnBA,oBAAA,CAAqBR,QAAQ;AACvC4D,MAAAA,KAAK,EAAExE;KACP;AACFyE,IAAAA,QAAQ,EAAE7B,iBAAkB;AAC5B8B,IAAAA,YAAY,EAAE,SAAdA,YAAYA,CAAAC,KAAA,EAAA;AAAA,MAAA,IAAK/M,GAAG,GAAA+M,KAAA,CAAH/M,GAAG;MAAA,OAAO+J,UAAU,CAAC/J,GAAG,CAAC;AAAA;AAAC,GAC5C,CACW,CAAC;AAEnB,CAAC;;ACnGD,IAAMgN,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAS;AAC9B,EAAA,IAAAC,cAAA,GAA6BC,mBAAa,EAAE;IAAAC,eAAA,GAAA7L,cAAA,CAAA2L,cAAA,EAAA,CAAA,CAAA;AAArChC,IAACkC,eAAA,CAAA,CAAA,CAAA;AAAEC,QAAAA,eAAe,GAAAD,eAAA,CAAA,CAAA;AACzB,EAAA,IAAAlM,eAAA,GAAcC,2BAAc,EAAE;IAAtBZ,CAAC,GAAAW,eAAA,CAADX,CAAC;AAET,EAAA,IAAAa,SAAA,GAA8CC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAtDR,IAAAA,eAAe,GAAAU,UAAA,CAAA,CAAA,CAAA;AAAET,IAAAA,kBAAkB,GAAAS,UAAA,CAAA,CAAA,CAAA;AAC1C,EAAA,IAAAgM,qBAAA,GAiBIlH,uBAAuB,EAAE;IAhB3BG,qBAAqB,GAAA+G,qBAAA,CAArB/G,qBAAqB;IACrBE,gBAAgB,GAAA6G,qBAAA,CAAhB7G,gBAAgB;IAChBK,cAAc,GAAAwG,qBAAA,CAAdxG,cAAc;IACd/F,OAAO,GAAAuM,qBAAA,CAAPvM,OAAO;IACP4G,kBAAkB,GAAA2F,qBAAA,CAAlB3F,kBAAkB;IAClB7G,GAAG,GAAAwM,qBAAA,CAAHxM,GAAG;IACHG,cAAc,GAAAqM,qBAAA,CAAdrM,cAAc;IACdsH,UAAU,GAAA+E,qBAAA,CAAV/E,UAAU;IACVF,QAAQ,GAAAiF,qBAAA,CAARjF,QAAQ;IACRC,WAAW,GAAAgF,qBAAA,CAAXhF,WAAW;IACX9B,wBAAwB,GAAA8G,qBAAA,CAAxB9G,wBAAwB;IACxBE,mBAAmB,GAAA4G,qBAAA,CAAnB5G,mBAAmB;IACnBK,iBAAiB,GAAAuG,qBAAA,CAAjBvG,iBAAiB;IACjBmB,UAAU,GAAAoF,qBAAA,CAAVpF,UAAU;IACVO,eAAe,GAAA6E,qBAAA,CAAf7E,eAAe;IACftB,iBAAiB,GAAAmG,qBAAA,CAAjBnG,iBAAiB;AAGnB,EAAA,IAAMoG,aAAa,GAAGhH,qBAAqB,IAAIzF,GAAG,KAAK,KAAK;AAE5D,EAAA,IAAM0M,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGzM,OAAO,EAAI;AACrCsM,IAAAA,eAAe,CAAC,YAAM;MACpBnF,UAAU,CAACnH,OAAO,CAAC;AACrB,KAAC,CAAC;GACH;AAED,EAAA,oBACEsC,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAe,QAAA,EAAA,IAAA,eACEf,KAAA,CAAAC,aAAA,CAACG,MAAM,EAAA;AACLiC,IAAAA,KAAK,EAAEnF,CAAC,CAAC,6BAA6B,CAAE;IACxCkN,WAAW,EACTlH,qBAAqB,IAAI;AACvBmH,MAAAA,WAAW,EAAEnN,CAAC,CAAC,6BAA6B,CAAC;AAC7CuD,MAAAA,SAAS,EAAE;AACb;AACD,GACF,CAAC,EACDyJ,aAAa,iBACZlK,KAAA,CAAAC,aAAA,CAACqK,WAAG,QACD9N,IAAI,CAACyF,GAAG,CAAC,UAAAsI,IAAI,EAAA;AAAA,IAAA,oBACZvK,KAAA,CAAAC,aAAA,CAACqK,WAAG,CAACE,IAAI,EAAA;MACPC,MAAM,EAAEhN,GAAG,KAAK8M,IAAK;AACrB3N,MAAAA,GAAG,EAAE2N,IAAK;MACVzJ,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQsE,eAAe,CAACmF,IAAI,CAAC;AAAA;AAAC,KAAA,EAEpCrN,CAAC,CAAA+B,uBAAAA,CAAAA,MAAA,CAAyBsL,IAAI,CAAE,CACzB,CAAC;AAAA,GACZ,CACE,CACN,eACDvK,KAAA,CAAAC,aAAA,CAACyK,SAAS,EAAA;AACRjK,IAAAA,SAAS,EAAC,MAAM;IAChBkK,eAAe,EACbpD,mBAAS,CAACvC,QAAQ,CAAC,iBACjBhF,KAAA,CAAAC,aAAA,CAACI,kBAAU,EAAA;AACTI,MAAAA,SAAS,EAAC,sCAAsC;AAChDmK,MAAAA,SAAS,EAAC;KAETnN,EAAAA,GAAG,KAAKtB,GAAG,CAACC,GAAG,GACZc,CAAC,CAAC,+BAA+B,EAAE;AAAE2N,MAAAA,KAAK,EAAE7F;AAAS,KAAC,CAAC,GACvD9H,CAAC,CAAC,yCAAyC,EAAE;AAC3C2N,MAAAA,KAAK,EAAE7F,QAAQ;AACfuD,MAAAA,MAAM,EAAE9K;AACV,KAAC,CACK,CAEf;IACDqN,gBAAgB,EACd5H,qBAAqB,iBACnBlD,KAAA,CAAAC,aAAA,CAACyK,SAAS,CAACK,UAAU,EAAA;AACnBC,MAAAA,kBAAkB,EAAE;AAClB9F,QAAAA,UAAU,EAAVA,UAAU;AACV+F,QAAAA,YAAY,EAAElO,2BAA2B;QACzCmO,QAAQ,EAAE3E,wBAAU,CAACC;OACrB;AACF2E,MAAAA,mBAAmB,EAAE;QACnBrK,OAAO,EAAE,SAATA,OAAOA,GAAA;UAAA,OAAQtD,kBAAkB,CAAC,IAAI,CAAC;AAAA;OACvC;AACF4N,MAAAA,WAAW,EAAE;AACXC,QAAAA,OAAO,EAAErO,cAAc;AACvBmD,QAAAA,MAAM,EAAEiD,gBAAgB;AACxBkI,QAAAA,OAAO,EAAEhH,kBAAkB;AAC3BiH,QAAAA,SAAS,EAAElI,mBAAmB;AAC9BoG,QAAAA,QAAQ,EAAEU;AACZ;KACD;AAEJ,GACF,CAAC,eACFnK,KAAA,CAAAC,aAAA,CAACuL,wBAAU,EAAA;AACTH,IAAAA,OAAO,EAAErO,cAAe;AACxBsO,IAAAA,OAAO,EAAEhH,kBAAmB;AAC5BmH,IAAAA,aAAa,EAAEpI,mBAAoB;AACnCoG,IAAAA,QAAQ,EAAEU;AAAoB,GAC/B,CAAC,eACFnK,KAAA,CAAAC,aAAA,CAACkG,IAAI,EAAA;AAEDjB,IAAAA,UAAU,EAAVA,UAAU;AACVxH,IAAAA,OAAO,EAAPA,OAAO;AACP+F,IAAAA,cAAc,EAAdA,cAAc;AACdwB,IAAAA,WAAW,EAAXA,WAAW;AACX9B,IAAAA,wBAAwB,EAAxBA,wBAAwB;AACxBO,IAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBI,IAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBlG,IAAAA,cAAc,EAAdA,cAAc;AACdH,IAAAA,GAAG,EAAHA;AAAG,GAEN,CAAC,eACFuC,KAAA,CAAAC,aAAA,CAAC5C,WAAW,EAAA;AAERK,IAAAA,OAAO,EAAPA,OAAO;AACPF,IAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBD,IAAAA,eAAe,EAAfA,eAAe;AACfK,IAAAA,cAAc,EAAdA,cAAc;AACdH,IAAAA,GAAG,EAAHA;AAAG,GAEN,CACD,CAAC;AAEP,CAAC;AAED,YAAeiO,oBAAS,CACtBC,wBAAc,CAAC/B,iBAAiB,CAAC,EACjC1M,SAAC,CAAC,6BAA6B,CACjC,CAAC;;;;"}
@@ -0,0 +1,78 @@
1
+ 'use strict';
2
+
3
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
4
+ var react = require('react');
5
+ var neetoui = require('@bigbinary/neetoui');
6
+ var reactI18next = require('react-i18next');
7
+ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
8
+ var reactUtils = require('neetocommons/react-utils');
9
+ var axios = require('axios');
10
+ var constants = require('./index-DSCn1Pdn.js');
11
+ require('i18next');
12
+ require('neetocommons/constants');
13
+ require('decimal.js');
14
+ require('neetocist');
15
+ require('neetocommons/utils');
16
+ require('ramda');
17
+
18
+ var update = function update(_ref) {
19
+ var id = _ref.id,
20
+ payload = _ref.payload;
21
+ return axios.put("".concat(constants.BASE_URL, "/api/v1/recurring_payments/").concat(id), {
22
+ recurring_payment: payload
23
+ });
24
+ };
25
+ var recurringPaymentsApi = {
26
+ update: update
27
+ };
28
+
29
+ var useUpdateRecurringPayments = function useUpdateRecurringPayments() {
30
+ var keysToInvalidate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
31
+ return reactUtils.useMutationWithInvalidation(recurringPaymentsApi.update, {
32
+ keysToInvalidate: _toConsumableArray(keysToInvalidate)
33
+ });
34
+ };
35
+
36
+ var AdminCancelRecurringPaymentButton = function AdminCancelRecurringPaymentButton(_ref) {
37
+ var id = _ref.id,
38
+ _ref$style = _ref.style,
39
+ style = _ref$style === void 0 ? "primary" : _ref$style,
40
+ _ref$keysToInvalidate = _ref.keysToInvalidate,
41
+ keysToInvalidate = _ref$keysToInvalidate === void 0 ? [] : _ref$keysToInvalidate;
42
+ var _useState = react.useState(false),
43
+ _useState2 = _slicedToArray(_useState, 2),
44
+ isAlertOpen = _useState2[0],
45
+ setIsAlertOpen = _useState2[1];
46
+ var _useUpdateRecurringPa = useUpdateRecurringPayments(keysToInvalidate),
47
+ isPending = _useUpdateRecurringPa.isPending,
48
+ updateRecurringPayment = _useUpdateRecurringPa.mutate;
49
+ var _useTranslation = reactI18next.useTranslation(),
50
+ t = _useTranslation.t;
51
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(neetoui.Button, {
52
+ style: style,
53
+ label: t("neetoPayments.recurringPaymentCancel.buttonLabel"),
54
+ onClick: function onClick() {
55
+ return setIsAlertOpen(true);
56
+ }
57
+ }), /*#__PURE__*/React.createElement(neetoui.Alert, {
58
+ isOpen: isAlertOpen,
59
+ isSubmitting: isPending,
60
+ message: t("neetoPayments.recurringPaymentCancel.alertMessage"),
61
+ submitButtonLabel: t("neetoPayments.common.continue"),
62
+ title: t("neetoPayments.recurringPaymentCancel.alertTitle"),
63
+ onClose: function onClose() {
64
+ return setIsAlertOpen(false);
65
+ },
66
+ onSubmit: function onSubmit() {
67
+ return updateRecurringPayment({
68
+ id: id,
69
+ payload: {
70
+ status: "cancelled"
71
+ }
72
+ });
73
+ }
74
+ }));
75
+ };
76
+
77
+ module.exports = AdminCancelRecurringPaymentButton;
78
+ //# sourceMappingURL=AdminCancelRecurringPaymentButton.js.map