@bigbinary/neeto-payments-frontend 3.3.31 → 3.3.33

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 (150) hide show
  1. package/app/javascript/src/translations/en.json +10 -1
  2. package/dist/AccountsDashboard.js +545 -0
  3. package/dist/AccountsDashboard.js.map +1 -0
  4. package/dist/AdminCancelRecurringPaymentButton.js +79 -0
  5. package/dist/AdminCancelRecurringPaymentButton.js.map +1 -0
  6. package/dist/CashPaymentButton.js +55 -0
  7. package/dist/CashPaymentButton.js.map +1 -0
  8. package/dist/ConfirmCashPaymentButton.js +104 -0
  9. package/dist/ConfirmCashPaymentButton.js.map +1 -0
  10. package/dist/ConfirmUpiPaymentButton.js +151 -0
  11. package/dist/ConfirmUpiPaymentButton.js.map +1 -0
  12. package/dist/CopyButtonWrapper-SoJkwX-d.js +27 -0
  13. package/dist/CopyButtonWrapper-SoJkwX-d.js.map +1 -0
  14. package/dist/CustomerCancelRecurringPaymentForm.js +111 -0
  15. package/dist/CustomerCancelRecurringPaymentForm.js.map +1 -0
  16. package/dist/ExportModal-BsFxUaYJ.js +131 -0
  17. package/dist/ExportModal-BsFxUaYJ.js.map +1 -0
  18. package/dist/ManualUpiPaymentConfirmButton.js +188 -0
  19. package/dist/ManualUpiPaymentConfirmButton.js.map +1 -0
  20. package/dist/PaymentKindRestrictionAlert.js +39 -0
  21. package/dist/PaymentKindRestrictionAlert.js.map +1 -0
  22. package/dist/PaymentsDashboard.js +586 -0
  23. package/dist/PaymentsDashboard.js.map +1 -0
  24. package/dist/PayoutsDashboard.js +559 -0
  25. package/dist/PayoutsDashboard.js.map +1 -0
  26. package/dist/PayoutsPage.js +162 -0
  27. package/dist/PayoutsPage.js.map +1 -0
  28. package/dist/RazorpayPaymentButton.js +145 -0
  29. package/dist/RazorpayPaymentButton.js.map +1 -0
  30. package/dist/RecurringPaymentSettings.js +132 -0
  31. package/dist/RecurringPaymentSettings.js.map +1 -0
  32. package/dist/RefundsDashboard.js +531 -0
  33. package/dist/RefundsDashboard.js.map +1 -0
  34. package/dist/SplitTransfersDashboard.js +1119 -0
  35. package/dist/SplitTransfersDashboard.js.map +1 -0
  36. package/dist/TaxesDashboard.js +411 -0
  37. package/dist/TaxesDashboard.js.map +1 -0
  38. package/dist/UpiConnect.js +171 -0
  39. package/dist/UpiConnect.js.map +1 -0
  40. package/dist/UpiPayment.js +120 -0
  41. package/dist/UpiPayment.js.map +1 -0
  42. package/dist/buildStripeTransactionLink.js +11 -0
  43. package/dist/buildStripeTransactionLink.js.map +1 -0
  44. package/dist/cjs/AccountsDashboard.js +547 -0
  45. package/dist/cjs/AccountsDashboard.js.map +1 -0
  46. package/dist/cjs/AdminCancelRecurringPaymentButton.js +81 -0
  47. package/dist/cjs/AdminCancelRecurringPaymentButton.js.map +1 -0
  48. package/dist/cjs/CashPaymentButton.js +57 -0
  49. package/dist/cjs/CashPaymentButton.js.map +1 -0
  50. package/dist/cjs/ConfirmCashPaymentButton.js +106 -0
  51. package/dist/cjs/ConfirmCashPaymentButton.js.map +1 -0
  52. package/dist/cjs/ConfirmUpiPaymentButton.js +172 -0
  53. package/dist/cjs/ConfirmUpiPaymentButton.js.map +1 -0
  54. package/dist/cjs/CopyButtonWrapper-Ds1k64E0.js +30 -0
  55. package/dist/cjs/CopyButtonWrapper-Ds1k64E0.js.map +1 -0
  56. package/dist/cjs/CustomerCancelRecurringPaymentForm.js +113 -0
  57. package/dist/cjs/CustomerCancelRecurringPaymentForm.js.map +1 -0
  58. package/dist/cjs/ExportModal-BJ2TrvE8.js +133 -0
  59. package/dist/cjs/ExportModal-BJ2TrvE8.js.map +1 -0
  60. package/dist/cjs/ManualUpiPaymentConfirmButton.js +209 -0
  61. package/dist/cjs/ManualUpiPaymentConfirmButton.js.map +1 -0
  62. package/dist/cjs/PaymentKindRestrictionAlert.js +41 -0
  63. package/dist/cjs/PaymentKindRestrictionAlert.js.map +1 -0
  64. package/dist/cjs/PaymentsDashboard.js +588 -0
  65. package/dist/cjs/PaymentsDashboard.js.map +1 -0
  66. package/dist/cjs/PayoutsDashboard.js +561 -0
  67. package/dist/cjs/PayoutsDashboard.js.map +1 -0
  68. package/dist/cjs/PayoutsPage.js +164 -0
  69. package/dist/cjs/PayoutsPage.js.map +1 -0
  70. package/dist/cjs/RazorpayPaymentButton.js +147 -0
  71. package/dist/cjs/RazorpayPaymentButton.js.map +1 -0
  72. package/dist/cjs/RecurringPaymentSettings.js +153 -0
  73. package/dist/cjs/RecurringPaymentSettings.js.map +1 -0
  74. package/dist/cjs/RefundsDashboard.js +533 -0
  75. package/dist/cjs/RefundsDashboard.js.map +1 -0
  76. package/dist/cjs/SplitTransfersDashboard.js +1140 -0
  77. package/dist/cjs/SplitTransfersDashboard.js.map +1 -0
  78. package/dist/cjs/TaxesDashboard.js +432 -0
  79. package/dist/cjs/TaxesDashboard.js.map +1 -0
  80. package/dist/cjs/UpiConnect.js +192 -0
  81. package/dist/cjs/UpiConnect.js.map +1 -0
  82. package/dist/cjs/UpiPayment.js +141 -0
  83. package/dist/cjs/UpiPayment.js.map +1 -0
  84. package/dist/cjs/buildStripeTransactionLink.js +13 -0
  85. package/dist/cjs/buildStripeTransactionLink.js.map +1 -0
  86. package/dist/cjs/constants.js +32 -0
  87. package/dist/cjs/constants.js.map +1 -0
  88. package/dist/cjs/dashboard-Bjhw-y9S.js +112 -0
  89. package/dist/cjs/dashboard-Bjhw-y9S.js.map +1 -0
  90. package/dist/cjs/exportChannel-BsZ3fusx.js +24 -0
  91. package/dist/cjs/exportChannel-BsZ3fusx.js.map +1 -0
  92. package/dist/cjs/getAmountInSmallestCurrencyUnit.js +13 -0
  93. package/dist/cjs/getAmountInSmallestCurrencyUnit.js.map +1 -0
  94. package/dist/cjs/index-CihS_E6s.js +638 -0
  95. package/dist/cjs/index-CihS_E6s.js.map +1 -0
  96. package/dist/cjs/index.js +119 -0
  97. package/dist/cjs/index.js.map +1 -0
  98. package/dist/cjs/queryConstants-DGg4cX3r.js +29 -0
  99. package/dist/cjs/queryConstants-DGg4cX3r.js.map +1 -0
  100. package/dist/cjs/renderFunctions-CbgNQLUZ.js +56 -0
  101. package/dist/cjs/renderFunctions-CbgNQLUZ.js.map +1 -0
  102. package/dist/cjs/stripe.esm-CrNYjPcC.js +132 -0
  103. package/dist/cjs/stripe.esm-CrNYjPcC.js.map +1 -0
  104. package/dist/cjs/usePaymentApi-BR4z3fpQ.js +41 -0
  105. package/dist/cjs/usePaymentApi-BR4z3fpQ.js.map +1 -0
  106. package/dist/cjs/usePaymentApi-ojnHNkQj.js +39 -0
  107. package/dist/cjs/usePaymentApi-ojnHNkQj.js.map +1 -0
  108. package/dist/cjs/usePaymentsApi-DY7TZaXP.js +41 -0
  109. package/dist/cjs/usePaymentsApi-DY7TZaXP.js.map +1 -0
  110. package/dist/cjs/usePlatformApi-B65EA1Nh.js +84 -0
  111. package/dist/cjs/usePlatformApi-B65EA1Nh.js.map +1 -0
  112. package/dist/cjs/useRazorpayPayment.js +112 -0
  113. package/dist/cjs/useRazorpayPayment.js.map +1 -0
  114. package/dist/cjs/useStripePromise.js +57 -0
  115. package/dist/cjs/useStripePromise.js.map +1 -0
  116. package/dist/constants.js +7 -0
  117. package/dist/constants.js.map +1 -0
  118. package/dist/dashboard-C5diLksA.js +106 -0
  119. package/dist/dashboard-C5diLksA.js.map +1 -0
  120. package/dist/exportChannel-CViICC6x.js +22 -0
  121. package/dist/exportChannel-CViICC6x.js.map +1 -0
  122. package/dist/getAmountInSmallestCurrencyUnit.js +11 -0
  123. package/dist/getAmountInSmallestCurrencyUnit.js.map +1 -0
  124. package/dist/index-ojfe66jf.js +604 -0
  125. package/dist/index-ojfe66jf.js.map +1 -0
  126. package/dist/index.js +93 -0
  127. package/dist/index.js.map +1 -0
  128. package/dist/queryConstants-mgjK5Hgk.js +27 -0
  129. package/dist/queryConstants-mgjK5Hgk.js.map +1 -0
  130. package/dist/renderFunctions-ObVxaGJ7.js +52 -0
  131. package/dist/renderFunctions-ObVxaGJ7.js.map +1 -0
  132. package/dist/stripe.esm-DuZ_gsAa.js +130 -0
  133. package/dist/stripe.esm-DuZ_gsAa.js.map +1 -0
  134. package/dist/usePaymentApi-B8ZEA19B.js +37 -0
  135. package/dist/usePaymentApi-B8ZEA19B.js.map +1 -0
  136. package/dist/usePaymentApi-C0JTbQH1.js +38 -0
  137. package/dist/usePaymentApi-C0JTbQH1.js.map +1 -0
  138. package/dist/usePaymentsApi-DQz8xzHV.js +38 -0
  139. package/dist/usePaymentsApi-DQz8xzHV.js.map +1 -0
  140. package/dist/usePlatformApi-CFaJ_LxH.js +79 -0
  141. package/dist/usePlatformApi-CFaJ_LxH.js.map +1 -0
  142. package/dist/useRazorpayPayment.js +110 -0
  143. package/dist/useRazorpayPayment.js.map +1 -0
  144. package/dist/useStripePromise.js +55 -0
  145. package/dist/useStripePromise.js.map +1 -0
  146. package/package.json +7 -7
  147. package/types/CashPaymentButton.d.ts +17 -0
  148. package/types/ConfirmCashPaymentButton.d.ts +11 -0
  149. package/types.d.ts +1 -1
  150. package/types/StripeConnect.d.ts +0 -13
@@ -0,0 +1,1140 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
5
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
6
+ var react = require('react');
7
+ var constants$1 = require('@bigbinary/neeto-commons-frontend/constants');
8
+ var utils = require('@bigbinary/neeto-commons-frontend/utils');
9
+ var utils$1 = require('@bigbinary/neeto-filters-frontend/utils');
10
+ var Spinner = require('@bigbinary/neetoui/Spinner');
11
+ var ramda = require('ramda');
12
+ var reactRouterDom = require('react-router-dom');
13
+ var ExportModal = require('./ExportModal-BJ2TrvE8.js');
14
+ var reactQuery = require('@tanstack/react-query');
15
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
16
+ var axios = require('axios');
17
+ var constants = require('./index-CihS_E6s.js');
18
+ var queryConstants = require('./queryConstants-DGg4cX3r.js');
19
+ var Modal = require('@bigbinary/neetoui/Modal');
20
+ var Typography = require('@bigbinary/neetoui/Typography');
21
+ var Form = require('@bigbinary/neetoui/formik/Form');
22
+ var Textarea = require('@bigbinary/neetoui/formik/Textarea');
23
+ var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
24
+ var reactI18next = require('react-i18next');
25
+ var i18next = require('i18next');
26
+ var yup = require('yup');
27
+ var jsxRuntime = require('react/jsx-runtime');
28
+ var neetoCist = require('@bigbinary/neeto-cist');
29
+ var Columns = require('@bigbinary/neeto-molecules/Columns');
30
+ var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
31
+ var Table = require('@bigbinary/neetoui/Table');
32
+ var NoData = require('@bigbinary/neetoui/NoData');
33
+ var HelpPopover = require('@bigbinary/neeto-molecules/HelpPopover');
34
+ var Pane = require('@bigbinary/neetoui/Pane');
35
+ var Button = require('@bigbinary/neetoui/Button');
36
+ var Tag = require('@bigbinary/neetoui/Tag');
37
+ var Tooltip = require('@bigbinary/neetoui/Tooltip');
38
+ var DateFormat = require('@bigbinary/neeto-molecules/DateFormat');
39
+ var CopyButtonWrapper = require('./CopyButtonWrapper-Ds1k64E0.js');
40
+ var FiltersBar = require('@bigbinary/neeto-filters-frontend/Bar');
41
+ var Header = require('@bigbinary/neeto-molecules/Header');
42
+ var SubHeader = require('@bigbinary/neeto-molecules/SubHeader');
43
+ var Tab = require('@bigbinary/neetoui/Tab');
44
+ var Dropdown = require('@bigbinary/neetoui/Dropdown');
45
+ require('@bigbinary/neeto-icons/Download');
46
+ require('./exportChannel-BsZ3fusx.js');
47
+ require('@bigbinary/neeto-molecules/CopyToClipboardButton');
48
+
49
+ function _interopNamespaceDefault(e) {
50
+ var n = Object.create(null);
51
+ if (e) {
52
+ Object.keys(e).forEach(function (k) {
53
+ if (k !== 'default') {
54
+ var d = Object.getOwnPropertyDescriptor(e, k);
55
+ Object.defineProperty(n, k, d.get ? d : {
56
+ enumerable: true,
57
+ get: function () { return e[k]; }
58
+ });
59
+ }
60
+ });
61
+ }
62
+ n.default = e;
63
+ return Object.freeze(n);
64
+ }
65
+
66
+ var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
67
+
68
+ var list = function list(payload) {
69
+ return axios.get("".concat(constants.BASE_URL, "/api/v1/split_transfers"), {
70
+ params: payload
71
+ });
72
+ };
73
+ var show = function show(id) {
74
+ return axios.get("".concat(constants.BASE_URL, "/api/v1/split_transfers/").concat(id));
75
+ };
76
+ var bulkUpdate = function bulkUpdate(payload) {
77
+ return axios.post("".concat(constants.BASE_URL, "/api/v1/split_transfers/bulk_update"), {
78
+ splitTransfer: payload
79
+ });
80
+ };
81
+ var splitTransfersApi = {
82
+ list: list,
83
+ show: show,
84
+ bulkUpdate: bulkUpdate
85
+ };
86
+
87
+ function ownKeys$2(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; }
88
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
89
+ var useFetchSplitTransfers = function useFetchSplitTransfers() {
90
+ var payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
91
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
92
+ return reactQuery.useQuery(_objectSpread$2({
93
+ queryKey: [queryConstants.QUERY_KEYS.SPLIT_TRANSFERS_LIST, payload],
94
+ queryFn: function queryFn() {
95
+ return splitTransfersApi.list(payload);
96
+ }
97
+ }, options));
98
+ };
99
+ var useShowSplitTransfers = function useShowSplitTransfers(id, options) {
100
+ return reactQuery.useQuery(_objectSpread$2({
101
+ queryKey: [queryConstants.QUERY_KEYS.SPLIT_TRANSFERS_DETAILS, id],
102
+ queryFn: function queryFn() {
103
+ return splitTransfersApi.show(id);
104
+ }
105
+ }, options));
106
+ };
107
+ var useBulkUpdateSplitTransfers = function useBulkUpdateSplitTransfers(options) {
108
+ return reactUtils.useMutationWithInvalidation(splitTransfersApi.bulkUpdate, _objectSpread$2({
109
+ keysToInvalidate: [queryConstants.QUERY_KEYS.SPLIT_TRANSFERS_LISTw]
110
+ }, options));
111
+ };
112
+
113
+ var COLUMNS_STORAGE_KEY = "splitTransfersDashboard";
114
+ var SPLIT_TRANSFERS_DASHBOARD_TAB = {
115
+ all: "all",
116
+ successful: "successful",
117
+ cancelled: "cancelled",
118
+ pending: "pending"
119
+ };
120
+ var SEARCH_PROPS = {
121
+ node: "identifier,",
122
+ key: "search_term",
123
+ model: "NeetoPaymentsEngine::Payments::Split,"
124
+ };
125
+ var FILTER_COLUMNS = [{
126
+ key: "amount",
127
+ label: i18next.t("neetoPayments.common.amount"),
128
+ node: "amount",
129
+ type: "decimal"
130
+ }, {
131
+ key: "payment_at",
132
+ label: i18next.t("neetoPayments.common.transferTime"),
133
+ node: "payment_at",
134
+ type: "date"
135
+ }];
136
+ var INITIAL_TRANSFER_DETAILS = {
137
+ id: null,
138
+ isPaneOpen: false
139
+ };
140
+ var VALIDATION_SCHEMA = yup__namespace.object().shape({
141
+ reason: yup__namespace.string().required(i18next.t("neetoPayments.cancelSplitTransfers.reasonRequired"))
142
+ });
143
+
144
+ var CancelModal = function CancelModal(_ref) {
145
+ var isOpen = _ref.isOpen,
146
+ onClose = _ref.onClose,
147
+ handleSplitTransfersUpdate = _ref.handleSplitTransfersUpdate;
148
+ var _useTranslation = reactI18next.useTranslation(),
149
+ t = _useTranslation.t;
150
+ var handleSubmit = function handleSubmit(_ref2) {
151
+ var reason = _ref2.reason;
152
+ handleSplitTransfersUpdate("cancelled", reason);
153
+ };
154
+ return /*#__PURE__*/jsxRuntime.jsxs(Modal, {
155
+ isOpen: isOpen,
156
+ onClose: onClose,
157
+ size: "large",
158
+ children: [/*#__PURE__*/jsxRuntime.jsx(Modal.Header, {
159
+ children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
160
+ style: "h2",
161
+ weight: "medium",
162
+ children: t("neetoPayments.cancelSplitTransfers.modal.title")
163
+ })
164
+ }), /*#__PURE__*/jsxRuntime.jsx(Form, {
165
+ formikProps: {
166
+ initialValues: {
167
+ reason: ""
168
+ },
169
+ validationSchema: VALIDATION_SCHEMA,
170
+ onSubmit: handleSubmit
171
+ },
172
+ children: /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
173
+ children: [/*#__PURE__*/jsxRuntime.jsx(Modal.Body, {
174
+ children: /*#__PURE__*/jsxRuntime.jsx("div", {
175
+ className: "flex flex-col space-y-4",
176
+ children: /*#__PURE__*/jsxRuntime.jsx(Textarea, {
177
+ required: true,
178
+ label: t("neetoPayments.cancelSplitTransfers.modal.reason"),
179
+ name: "reason"
180
+ })
181
+ })
182
+ }), /*#__PURE__*/jsxRuntime.jsx(Modal.Footer, {
183
+ children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock, {
184
+ position: "right",
185
+ cancelButtonProps: {
186
+ onClick: onClose,
187
+ style: "tertiary"
188
+ },
189
+ submitButtonProps: {
190
+ disabled: false,
191
+ label: t("neetoPayments.common.submit")
192
+ }
193
+ })
194
+ })]
195
+ })
196
+ })]
197
+ });
198
+ };
199
+
200
+ var Status = function Status(_ref) {
201
+ var type = _ref.type,
202
+ _ref$status = _ref.status,
203
+ status = _ref$status === void 0 ? "" : _ref$status;
204
+ var _useTranslation = reactI18next.useTranslation(),
205
+ t = _useTranslation.t;
206
+ var processedStatus = constants.preProcessStatus(type, status);
207
+ if (neetoCist.isNotPresent(status)) {
208
+ return /*#__PURE__*/jsxRuntime.jsx(Typography, {
209
+ style: "body2",
210
+ children: t("neetoPayments.common.notAvailable")
211
+ });
212
+ }
213
+ return /*#__PURE__*/jsxRuntime.jsx(Tooltip, {
214
+ content: t("neetoPayments.tooltipContent.".concat(type, ".").concat(processedStatus)),
215
+ position: "top",
216
+ children: /*#__PURE__*/jsxRuntime.jsx("div", {
217
+ className: "w-fit",
218
+ children: /*#__PURE__*/jsxRuntime.jsx(Tag, {
219
+ label: t("neetoPayments.tagLabels.".concat(type, ".").concat(processedStatus)),
220
+ style: constants.getTagStyle(processedStatus)
221
+ })
222
+ })
223
+ });
224
+ };
225
+
226
+ var Date = function Date(_ref) {
227
+ var date = _ref.date,
228
+ _ref$isTimeVisible = _ref.isTimeVisible,
229
+ isTimeVisible = _ref$isTimeVisible === void 0 ? false : _ref$isTimeVisible;
230
+ var _useTranslation = reactI18next.useTranslation(),
231
+ t = _useTranslation.t;
232
+ if (neetoCist.isNotPresent(date)) {
233
+ return /*#__PURE__*/jsxRuntime.jsx(Typography, {
234
+ style: "body2",
235
+ children: t("neetoPayments.common.notAvailable")
236
+ });
237
+ }
238
+ if (isTimeVisible) {
239
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
240
+ className: "flex items-center",
241
+ children: /*#__PURE__*/jsxRuntime.jsx(DateFormat.DateTime, {
242
+ date: date
243
+ })
244
+ });
245
+ }
246
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
247
+ className: "flex items-center",
248
+ children: /*#__PURE__*/jsxRuntime.jsx(DateFormat.Date, {
249
+ date: date
250
+ })
251
+ });
252
+ };
253
+
254
+ var DiscountCode = function DiscountCode(_ref) {
255
+ var discountCode = _ref.discountCode,
256
+ currency = _ref.currency;
257
+ var _useTranslation = reactI18next.useTranslation(),
258
+ t = _useTranslation.t;
259
+ var code = discountCode.code,
260
+ value = discountCode.value,
261
+ kind = discountCode.kind;
262
+ return /*#__PURE__*/jsxRuntime.jsx(Typography, {
263
+ style: "body2",
264
+ children: kind === "percentage" ? t("neetoPayments.splitTransferDetails.discountCodeOfPercentageApplied", {
265
+ code: code,
266
+ percentage: value.toFixed(1)
267
+ }) : t("neetoPayments.splitTransferDetails.discountCodeOfAmountApplied", {
268
+ code: code,
269
+ amount: utils.currencyFormat.withSymbol(value, currency.toUpperCase(), {
270
+ maximumFractionDigits: 2,
271
+ minimumFractionDigits: 2
272
+ })
273
+ })
274
+ });
275
+ };
276
+
277
+ var Details = function Details(_ref) {
278
+ var _splitTransfer$source, _splitTransfer$curren, _splitTransfer$source2, _splitTransfer$curren2, _splitTransfer$curren3, _splitTransfer$curren4, _splitTransfer$destin, _splitTransfer$destin2, _splitTransfer$destin3;
279
+ var selectedTransfer = _ref.selectedTransfer,
280
+ setSelectedTransfer = _ref.setSelectedTransfer;
281
+ var _useTranslation = reactI18next.useTranslation(),
282
+ t = _useTranslation.t;
283
+ var _useShowSplitTransfer = useShowSplitTransfers(selectedTransfer["id"], {
284
+ enabled: neetoCist.isPresent(selectedTransfer["id"])
285
+ }),
286
+ isPending = _useShowSplitTransfer.isPending,
287
+ _useShowSplitTransfer2 = _useShowSplitTransfer.data,
288
+ _useShowSplitTransfer3 = _useShowSplitTransfer2 === void 0 ? {} : _useShowSplitTransfer2,
289
+ splitTransfer = _useShowSplitTransfer3.splitTransfer;
290
+ return /*#__PURE__*/jsxRuntime.jsxs(Pane, {
291
+ isOpen: selectedTransfer["isPaneOpen"],
292
+ size: "large",
293
+ onClose: function onClose() {
294
+ return setSelectedTransfer(ramda.mergeLeft({
295
+ isPaneOpen: false
296
+ }, selectedTransfer));
297
+ },
298
+ children: [/*#__PURE__*/jsxRuntime.jsx(Pane.Header, {
299
+ children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
300
+ style: "h2",
301
+ children: t("neetoPayments.splitTransferDetails.title")
302
+ })
303
+ }), /*#__PURE__*/jsxRuntime.jsx(Pane.Body, {
304
+ children: isPending ? /*#__PURE__*/jsxRuntime.jsx("div", {
305
+ className: "flex h-full w-full items-center justify-center",
306
+ children: /*#__PURE__*/jsxRuntime.jsx(Spinner, {})
307
+ }) : /*#__PURE__*/jsxRuntime.jsxs("div", {
308
+ className: "space-y-4 p-3",
309
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
310
+ className: "flex grid-cols-2 flex-col gap-3 lg:grid",
311
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
312
+ style: "body1",
313
+ weight: "medium",
314
+ children: t("neetoPayments.common.identifier")
315
+ }), /*#__PURE__*/jsxRuntime.jsx(Button, {
316
+ href: splitTransfer.transferUrl,
317
+ label: splitTransfer.identifier,
318
+ size: "small",
319
+ style: "link",
320
+ target: "_blank"
321
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
322
+ style: "body1",
323
+ weight: "medium",
324
+ children: t("neetoPayments.common.status")
325
+ }), /*#__PURE__*/jsxRuntime.jsx(Status, {
326
+ status: splitTransfer.status,
327
+ type: "splitTransfers"
328
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
329
+ style: "body1",
330
+ weight: "medium",
331
+ children: t("neetoPayments.common.transferTime")
332
+ }), /*#__PURE__*/jsxRuntime.jsx(Date, {
333
+ isTimeVisible: true,
334
+ date: splitTransfer.paymentAt
335
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
336
+ style: "body1",
337
+ weight: "medium",
338
+ children: t("neetoPayments.common.paymentAmount")
339
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
340
+ style: "body2",
341
+ children: utils.currencyFormat.withCode((_splitTransfer$source = splitTransfer.sourcePayment) === null || _splitTransfer$source === void 0 ? void 0 : _splitTransfer$source.amount, (_splitTransfer$curren = splitTransfer.currency) === null || _splitTransfer$curren === void 0 ? void 0 : _splitTransfer$curren.toUpperCase())
342
+ }), neetoCist.isPresent(splitTransfer.discountCode) && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
343
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
344
+ style: "body1",
345
+ weight: "medium",
346
+ children: t("neetoPayments.common.discountCode")
347
+ }), /*#__PURE__*/jsxRuntime.jsx(DiscountCode, {
348
+ currency: splitTransfer.currency,
349
+ discountCode: splitTransfer.discountCode
350
+ })]
351
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
352
+ className: "flex items-center space-x-1",
353
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
354
+ style: "body1",
355
+ weight: "medium",
356
+ children: t("neetoPayments.common.netAmount")
357
+ }), /*#__PURE__*/jsxRuntime.jsx(HelpPopover, {
358
+ popoverProps: {
359
+ position: "right"
360
+ },
361
+ description: t("neetoPayments.splitTransferDetails.netAmountDescription"),
362
+ title: t("neetoPayments.splitTransferDetails.netAmountHelpTitle")
363
+ })]
364
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
365
+ style: "body2",
366
+ children: utils.currencyFormat.withCode((_splitTransfer$source2 = splitTransfer.sourcePayment) === null || _splitTransfer$source2 === void 0 ? void 0 : _splitTransfer$source2.netAmount, (_splitTransfer$curren2 = splitTransfer.currency) === null || _splitTransfer$curren2 === void 0 ? void 0 : _splitTransfer$curren2.toUpperCase())
367
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
368
+ className: "flex space-x-1",
369
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
370
+ style: "body1",
371
+ weight: "medium",
372
+ children: t("neetoPayments.common.platformShare")
373
+ }), /*#__PURE__*/jsxRuntime.jsx(HelpPopover, {
374
+ popoverProps: {
375
+ position: "right"
376
+ },
377
+ description: t("neetoPayments.splitTransferDetails.platformShareDescription"),
378
+ title: t("neetoPayments.splitTransferDetails.platformShareHelpTitle")
379
+ })]
380
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
381
+ style: "body2",
382
+ children: utils.currencyFormat.withCode(splitTransfer.platformShare, (_splitTransfer$curren3 = splitTransfer.currency) === null || _splitTransfer$curren3 === void 0 ? void 0 : _splitTransfer$curren3.toUpperCase())
383
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
384
+ style: "body1",
385
+ weight: "medium",
386
+ children: t("neetoPayments.common.transferredAmount")
387
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
388
+ style: "body2",
389
+ children: utils.currencyFormat.withCode(splitTransfer.amount, (_splitTransfer$curren4 = splitTransfer.currency) === null || _splitTransfer$curren4 === void 0 ? void 0 : _splitTransfer$curren4.toUpperCase())
390
+ })]
391
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
392
+ style: "h3",
393
+ children: t("neetoPayments.splitTransferDetails.destinationDetails")
394
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
395
+ className: "flex grid-cols-2 flex-col gap-3 lg:grid",
396
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
397
+ style: "body1",
398
+ weight: "medium",
399
+ children: t("neetoPayments.common.destinationAccountIdentifier")
400
+ }), /*#__PURE__*/jsxRuntime.jsx(Button, {
401
+ href: splitTransfer.destinationAccount.dashboardUrl,
402
+ label: splitTransfer.destinationAccount.identifier,
403
+ size: "small",
404
+ style: "link",
405
+ target: "_blank"
406
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
407
+ style: "body1",
408
+ weight: "medium",
409
+ children: t("neetoPayments.common.destinationAccountName")
410
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
411
+ style: "body2",
412
+ children: splitTransfer.destinationAccount.userName
413
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
414
+ style: "body1",
415
+ weight: "medium",
416
+ children: t("neetoPayments.common.destinationAccountEmail")
417
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
418
+ style: "body2",
419
+ children: splitTransfer.destinationAccount.userEmail
420
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
421
+ style: "body1",
422
+ weight: "medium",
423
+ children: t("neetoPayments.common.payoutStatus")
424
+ }), /*#__PURE__*/jsxRuntime.jsx(Status, {
425
+ status: (_splitTransfer$destin = splitTransfer.destinationPayout) === null || _splitTransfer$destin === void 0 ? void 0 : _splitTransfer$destin.status,
426
+ type: "payout"
427
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
428
+ style: "body1",
429
+ weight: "medium",
430
+ children: t("neetoPayments.splitTransferDetails.payoutInitiatedDate")
431
+ }), /*#__PURE__*/jsxRuntime.jsx(Date, {
432
+ date: (_splitTransfer$destin2 = splitTransfer.destinationPayout) === null || _splitTransfer$destin2 === void 0 ? void 0 : _splitTransfer$destin2.createdAt
433
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
434
+ style: "body1",
435
+ weight: "medium",
436
+ children: t("neetoPayments.splitTransferDetails.payoutArrivalDate")
437
+ }), /*#__PURE__*/jsxRuntime.jsx(Date, {
438
+ date: (_splitTransfer$destin3 = splitTransfer.destinationPayout) === null || _splitTransfer$destin3 === void 0 ? void 0 : _splitTransfer$destin3.arrivalDate
439
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {})]
440
+ })]
441
+ })
442
+ })]
443
+ });
444
+ };
445
+
446
+ var renderIdentifier = ramda.curry(function (setSelectedTransfer, identifier, _ref) {
447
+ var id = _ref.id;
448
+ if (neetoCist.isNotPresent(identifier)) {
449
+ return /*#__PURE__*/jsxRuntime.jsx(Tooltip, {
450
+ content: i18next.t("neetoPayments.tooltipContent.identifierUnavailable"),
451
+ position: "top",
452
+ children: /*#__PURE__*/jsxRuntime.jsx("div", {
453
+ className: "text-center",
454
+ children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
455
+ style: "body2",
456
+ children: i18next.t("neetoPayments.common.notAvailable")
457
+ })
458
+ })
459
+ });
460
+ }
461
+ return /*#__PURE__*/jsxRuntime.jsx(CopyButtonWrapper.CopyButtonWrapper, {
462
+ content: identifier,
463
+ children: /*#__PURE__*/jsxRuntime.jsx(Button, {
464
+ label: identifier,
465
+ size: "small",
466
+ style: "link",
467
+ onClick: function onClick() {
468
+ return setSelectedTransfer({
469
+ id: id,
470
+ isPaneOpen: true
471
+ });
472
+ }
473
+ })
474
+ });
475
+ });
476
+ var renderPlatformPaymentIdentifier = function renderPlatformPaymentIdentifier(_ref2) {
477
+ var identifier = _ref2.identifier,
478
+ receiptUrl = _ref2.receiptUrl,
479
+ kind = _ref2.kind;
480
+ if (kind === constants.PAYMENT_KIND.temporary) {
481
+ return /*#__PURE__*/jsxRuntime.jsx(CopyButtonWrapper.CopyButtonWrapper, {
482
+ content: identifier,
483
+ children: identifier
484
+ });
485
+ }
486
+ return /*#__PURE__*/jsxRuntime.jsx(CopyButtonWrapper.CopyButtonWrapper, {
487
+ content: identifier,
488
+ children: /*#__PURE__*/jsxRuntime.jsx(Button, {
489
+ href: receiptUrl,
490
+ label: identifier,
491
+ size: "small",
492
+ style: "link",
493
+ target: "_blank"
494
+ })
495
+ });
496
+ };
497
+ var renderDestinationAccountIdentifier = function renderDestinationAccountIdentifier(_ref3) {
498
+ var identifier = _ref3.identifier,
499
+ dashboardUrl = _ref3.dashboardUrl;
500
+ return /*#__PURE__*/jsxRuntime.jsx(CopyButtonWrapper.CopyButtonWrapper, {
501
+ content: identifier,
502
+ children: /*#__PURE__*/jsxRuntime.jsx(Button, {
503
+ href: dashboardUrl,
504
+ label: identifier,
505
+ size: "small",
506
+ style: "link",
507
+ target: "_blank"
508
+ })
509
+ });
510
+ };
511
+ var renderStatus = ramda.curry(function (type, status) {
512
+ return /*#__PURE__*/jsxRuntime.jsx(Status, {
513
+ status: status,
514
+ type: type
515
+ });
516
+ });
517
+ var renderDate = function renderDate(date) {
518
+ if (neetoCist.isNotPresent(date)) {
519
+ return /*#__PURE__*/jsxRuntime.jsx(Tooltip, {
520
+ content: i18next.t("neetoPayments.tooltipContent.dateUnavailable"),
521
+ position: "top",
522
+ children: /*#__PURE__*/jsxRuntime.jsx("div", {
523
+ className: "text-center",
524
+ children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
525
+ style: "body2",
526
+ children: i18next.t("neetoPayments.common.notAvailable")
527
+ })
528
+ })
529
+ });
530
+ }
531
+ return /*#__PURE__*/jsxRuntime.jsx(DateFormat.DateTime, {
532
+ date: date
533
+ });
534
+ };
535
+ var renderPlatformShare = function renderPlatformShare(amount) {
536
+ if (neetoCist.isNotPresent(amount)) {
537
+ return /*#__PURE__*/jsxRuntime.jsx(Tooltip, {
538
+ content: i18next.t("neetoPayments.tooltipContent.platformShareUnavailable"),
539
+ position: "top",
540
+ children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
541
+ style: "body2",
542
+ children: i18next.t("neetoPayments.common.notCalculated")
543
+ })
544
+ });
545
+ }
546
+ return constants.formatAmount(amount);
547
+ };
548
+ var getDefaultColumns = function getDefaultColumns(setSelectedTransfer) {
549
+ return [{
550
+ title: i18next.t("neetoPayments.common.id"),
551
+ dataIndex: "rowId",
552
+ key: "rowId",
553
+ width: 85,
554
+ position: 0,
555
+ isHidable: false
556
+ }, {
557
+ title: i18next.t("neetoPayments.common.identifier"),
558
+ dataIndex: "identifier",
559
+ key: "identifier",
560
+ width: 300,
561
+ render: renderIdentifier(setSelectedTransfer),
562
+ position: 1,
563
+ isHidable: false
564
+ }, {
565
+ title: i18next.t("neetoPayments.common.status"),
566
+ dataIndex: "status",
567
+ key: "status",
568
+ width: 150,
569
+ render: renderStatus("splitTransfers"),
570
+ sorter: true,
571
+ position: 2,
572
+ isHidable: false
573
+ }, {
574
+ title: i18next.t("neetoPayments.common.amount"),
575
+ dataIndex: "amount",
576
+ key: "amount",
577
+ width: 150,
578
+ sorter: true,
579
+ render: constants.formatAmount,
580
+ position: 3
581
+ }, {
582
+ title: i18next.t("neetoPayments.common.currency"),
583
+ dataIndex: "currency",
584
+ key: "currency",
585
+ width: 160,
586
+ sorter: true,
587
+ render: constants.formatCurrency,
588
+ position: 3
589
+ }, {
590
+ title: i18next.t("neetoPayments.common.platformShare"),
591
+ dataIndex: "platformShare",
592
+ key: "platformShare",
593
+ width: 205,
594
+ render: renderPlatformShare,
595
+ sorter: true,
596
+ position: 3
597
+ }, {
598
+ title: i18next.t("neetoPayments.common.transferTime"),
599
+ dataIndex: "paymentAt",
600
+ key: "paymentAt",
601
+ width: 190,
602
+ render: renderDate,
603
+ sorter: true,
604
+ position: 10
605
+ }, {
606
+ title: i18next.t("neetoPayments.common.platformPayment"),
607
+ dataIndex: "sourcePayment",
608
+ key: "sourcePayment",
609
+ render: renderPlatformPaymentIdentifier,
610
+ width: 300,
611
+ position: 19
612
+ }, {
613
+ title: i18next.t("neetoPayments.common.accountIdentifier"),
614
+ dataIndex: "destinationAccount",
615
+ key: "destinationAccount",
616
+ render: renderDestinationAccountIdentifier,
617
+ width: 320,
618
+ position: 20
619
+ }];
620
+ };
621
+
622
+ 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; }
623
+ 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; }
624
+ var buildSearchProps = function buildSearchProps(searchProps, searchTerm) {
625
+ return ramda.mergeDeepWith(ramda.concat, SEARCH_PROPS, ramda.mergeLeft({
626
+ value: searchTerm.trim()
627
+ }, searchProps));
628
+ };
629
+ var buildFilterColumns = function buildFilterColumns() {
630
+ var payableEntityColumns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
631
+ return ramda.reject(ramda.isNil, ramda.concat(FILTER_COLUMNS, ramda.map(ramda.prop("filterProps"), payableEntityColumns)));
632
+ };
633
+ var buildTableColumns = function buildTableColumns(_ref) {
634
+ var tab = _ref.tab,
635
+ hiddenColumns = _ref.hiddenColumns,
636
+ _ref$payableEntityCol = _ref.payableEntityColumns,
637
+ payableEntityColumns = _ref$payableEntityCol === void 0 ? [] : _ref$payableEntityCol,
638
+ setSelectedTransfer = _ref.setSelectedTransfer;
639
+ var filteredColumns = ramda.sortBy(ramda.prop("position"), ramda.concat(getDefaultColumns(setSelectedTransfer), payableEntityColumns)).filter(function (_ref2) {
640
+ var dataIndex = _ref2.dataIndex;
641
+ return !hiddenColumns.includes(constants.processDataIndex(dataIndex));
642
+ });
643
+ if (tab === SPLIT_TRANSFERS_DASHBOARD_TAB.all) return filteredColumns;
644
+ return neetoCist.removeBy({
645
+ key: "status"
646
+ }, filteredColumns);
647
+ };
648
+ var buildRowData = function buildRowData(_ref3) {
649
+ var splitTransfers = _ref3.splitTransfers,
650
+ _ref3$pageProperties = _ref3.pageProperties,
651
+ pageProperties = _ref3$pageProperties === void 0 ? {} : _ref3$pageProperties;
652
+ return splitTransfers === null || splitTransfers === void 0 ? void 0 : splitTransfers.map(function (element, index) {
653
+ return _objectSpread$1(_objectSpread$1({}, element), {}, {
654
+ rowId: ramda.isEmpty(pageProperties) ? index + 1 : pageProperties.pageSize * (pageProperties.page - 1) + index + 1
655
+ });
656
+ });
657
+ };
658
+
659
+ var List = function List(_ref) {
660
+ var isFetching = _ref.isFetching,
661
+ splitTransfers = _ref.splitTransfers,
662
+ selectedRows = _ref.selectedRows,
663
+ views = _ref.views,
664
+ payableEntityColumns = _ref.payableEntityColumns,
665
+ pageProperties = _ref.pageProperties,
666
+ onRowSelect = _ref.onRowSelect,
667
+ setSortProperties = _ref.setSortProperties,
668
+ handleTablePagination = _ref.handleTablePagination,
669
+ setHasBulkSelectedAllRows = _ref.setHasBulkSelectedAllRows;
670
+ var _useState = react.useState(INITIAL_TRANSFER_DETAILS),
671
+ _useState2 = _slicedToArray(_useState, 2),
672
+ selectedTransfer = _useState2[0],
673
+ setSelectedTransfer = _useState2[1];
674
+ var _useTranslation = reactI18next.useTranslation(),
675
+ t = _useTranslation.t;
676
+ var _getQueryParams = utils.getQueryParams(),
677
+ _getQueryParams$tab = _getQueryParams.tab,
678
+ tab = _getQueryParams$tab === void 0 ? SPLIT_TRANSFERS_DASHBOARD_TAB.all : _getQueryParams$tab;
679
+ var _useHiddenColumns = Columns.useHiddenColumns(COLUMNS_STORAGE_KEY),
680
+ hideColumn = _useHiddenColumns.hideColumn,
681
+ _useHiddenColumns$hid = _useHiddenColumns.hiddenColumns,
682
+ hiddenColumns = _useHiddenColumns$hid === void 0 ? [] : _useHiddenColumns$hid;
683
+ var splitTransfersCount = views[tab];
684
+ var getRowSelection = function getRowSelection() {
685
+ if (tab === SPLIT_TRANSFERS_DASHBOARD_TAB.successful) return false;
686
+ if (tab === SPLIT_TRANSFERS_DASHBOARD_TAB.all) {
687
+ return {
688
+ getCheckboxProps: function getCheckboxProps(record) {
689
+ return {
690
+ disabled: record.status === SPLIT_TRANSFERS_DASHBOARD_TAB.successful
691
+ };
692
+ }
693
+ };
694
+ }
695
+ return true;
696
+ };
697
+ var visibleColumns = buildTableColumns({
698
+ tab: tab,
699
+ hiddenColumns: hiddenColumns,
700
+ payableEntityColumns: payableEntityColumns,
701
+ setSelectedTransfer: setSelectedTransfer
702
+ });
703
+ var handleColumnHiding = function handleColumnHiding(column) {
704
+ hideColumn(constants.processDataIndex(column.dataIndex));
705
+ };
706
+ var handleTableChange = function handleTableChange(_, __, sorter) {
707
+ setSortProperties(neetoCist.isPresent(sorter === null || sorter === void 0 ? void 0 : sorter.column) ? {
708
+ sortBy: neetoCist.camelToSnakeCase(constants.processDataIndex(sorter.field)),
709
+ orderBy: sorter.order === "ascend" ? "ASC" : "DESC"
710
+ } : constants.DEFAULT_SORT_PROPERTIES);
711
+ };
712
+ if (neetoCist.isNotPresent(splitTransfers)) {
713
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
714
+ className: "flex h-full w-full items-center justify-center",
715
+ children: /*#__PURE__*/jsxRuntime.jsx(NoData, {
716
+ title: tab === SPLIT_TRANSFERS_DASHBOARD_TAB.all ? t("neetoPayments.emptyState.splitTransfers") : t("neetoPayments.emptyState.splitTransfersWithStatus", {
717
+ status: tab
718
+ })
719
+ })
720
+ });
721
+ }
722
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
723
+ children: [/*#__PURE__*/jsxRuntime.jsx(TableWrapper, {
724
+ hasPagination: splitTransfersCount > (pageProperties === null || pageProperties === void 0 ? void 0 : pageProperties.pageSize),
725
+ children: /*#__PURE__*/jsxRuntime.jsx(Table, {
726
+ onRowSelect: onRowSelect,
727
+ fixedHeight: true,
728
+ allowRowClick: false,
729
+ columnData: visibleColumns,
730
+ currentPageNumber: pageProperties === null || pageProperties === void 0 ? void 0 : pageProperties.page,
731
+ handlePageChange: handleTablePagination,
732
+ loading: isFetching,
733
+ rowData: buildRowData({
734
+ splitTransfers: splitTransfers,
735
+ pageProperties: pageProperties,
736
+ tab: tab
737
+ }),
738
+ rowSelection: getRowSelection(),
739
+ selectedRowKeys: selectedRows,
740
+ sortDirections: constants.SORT_DIRECTIONS,
741
+ totalCount: splitTransfersCount,
742
+ bulkSelectAllRowsProps: {
743
+ selectAllRowMessage: t("neetoPayments.splitTransferDetails.selectedSplitTransfers", {
744
+ count: selectedRows.length
745
+ }),
746
+ selectAllRowButtonLabel: t("neetoPayments.splitTransferDetails.selectAll", {
747
+ count: views[SPLIT_TRANSFERS_DASHBOARD_TAB.pending]
748
+ }),
749
+ setBulkSelectedAllRows: setHasBulkSelectedAllRows
750
+ },
751
+ paginationProps: {
752
+ showSizeChanger: true,
753
+ hideOnSinglePage: true,
754
+ pageSize: pageProperties === null || pageProperties === void 0 ? void 0 : pageProperties.pageSize,
755
+ total: splitTransfersCount
756
+ },
757
+ onChange: handleTableChange,
758
+ onColumnHide: handleColumnHiding
759
+ })
760
+ }), /*#__PURE__*/jsxRuntime.jsx(Details, {
761
+ selectedTransfer: selectedTransfer,
762
+ setSelectedTransfer: setSelectedTransfer
763
+ })]
764
+ });
765
+ };
766
+
767
+ var ResumeModal = function ResumeModal(_ref) {
768
+ var isOpen = _ref.isOpen,
769
+ onClose = _ref.onClose,
770
+ handleSplitTransfersUpdate = _ref.handleSplitTransfersUpdate;
771
+ var _useTranslation = reactI18next.useTranslation(),
772
+ t = _useTranslation.t;
773
+ var handleSubmit = function handleSubmit(_ref2) {
774
+ var reason = _ref2.reason;
775
+ handleSplitTransfersUpdate("pending", reason);
776
+ };
777
+ return /*#__PURE__*/jsxRuntime.jsxs(Modal, {
778
+ isOpen: isOpen,
779
+ onClose: onClose,
780
+ size: "large",
781
+ children: [/*#__PURE__*/jsxRuntime.jsx(Modal.Header, {
782
+ children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
783
+ style: "h2",
784
+ weight: "medium",
785
+ children: t("neetoPayments.resumeSplitTransfers.modal.title")
786
+ })
787
+ }), /*#__PURE__*/jsxRuntime.jsx(Form, {
788
+ formikProps: {
789
+ initialValues: {
790
+ reason: ""
791
+ },
792
+ validationSchema: VALIDATION_SCHEMA,
793
+ onSubmit: handleSubmit
794
+ },
795
+ children: /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
796
+ children: [/*#__PURE__*/jsxRuntime.jsx(Modal.Body, {
797
+ children: /*#__PURE__*/jsxRuntime.jsx("div", {
798
+ className: "flex flex-col space-y-4",
799
+ children: /*#__PURE__*/jsxRuntime.jsx(Textarea, {
800
+ required: true,
801
+ label: t("neetoPayments.resumeSplitTransfers.modal.reason"),
802
+ name: "reason"
803
+ })
804
+ })
805
+ }), /*#__PURE__*/jsxRuntime.jsx(Modal.Footer, {
806
+ children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock, {
807
+ position: "right",
808
+ cancelButtonProps: {
809
+ onClick: onClose,
810
+ style: "tertiary"
811
+ },
812
+ submitButtonProps: {
813
+ disabled: false,
814
+ label: t("neetoPayments.common.submit")
815
+ }
816
+ })
817
+ })]
818
+ })
819
+ })]
820
+ });
821
+ };
822
+
823
+ var Menu = Dropdown.Menu,
824
+ MenuItem = Dropdown.MenuItem;
825
+ var TopSection = function TopSection(_ref) {
826
+ var views = _ref.views,
827
+ filters = _ref.filters,
828
+ setIsCancelModalOpen = _ref.setIsCancelModalOpen,
829
+ setIsResumeModalOpen = _ref.setIsResumeModalOpen,
830
+ selectedRows = _ref.selectedRows,
831
+ selectedRowData = _ref.selectedRowData,
832
+ setFilters = _ref.setFilters,
833
+ hasBulkSelectedAllRows = _ref.hasBulkSelectedAllRows,
834
+ filterableColumns = _ref.filterableColumns,
835
+ searchKeywordProps = _ref.searchKeywordProps,
836
+ payableEntityColumns = _ref.payableEntityColumns,
837
+ setIsExportModalOpen = _ref.setIsExportModalOpen;
838
+ var _useState = react.useState(false),
839
+ _useState2 = _slicedToArray(_useState, 2),
840
+ isFilterPaneOpen = _useState2[0],
841
+ setIsFilterPaneOpen = _useState2[1];
842
+ var _useTranslation = reactI18next.useTranslation(),
843
+ t = _useTranslation.t;
844
+ var history = reactRouterDom.useHistory();
845
+ var _getQueryParams = utils.getQueryParams(),
846
+ _getQueryParams$tab = _getQueryParams.tab,
847
+ tab = _getQueryParams$tab === void 0 ? SPLIT_TRANSFERS_DASHBOARD_TAB.all : _getQueryParams$tab;
848
+ var splitTransfersCount = views[tab];
849
+ var splitTransfersCountVisible = splitTransfersCount > 0 || splitTransfersCount === 0 && neetoCist.isPresent(filters);
850
+ var isFilterButtonVisible = splitTransfersCount || neetoCist.isPresent(filters);
851
+ var isDropdownVisible = neetoCist.isNotEmpty(selectedRows);
852
+ var isCancelButtonDisabled = neetoCist.existsBy({
853
+ status: SPLIT_TRANSFERS_DASHBOARD_TAB.cancelled
854
+ }, selectedRowData);
855
+ var isResumeButtonDisabled = neetoCist.existsBy({
856
+ status: SPLIT_TRANSFERS_DASHBOARD_TAB.pending
857
+ }, selectedRowData);
858
+ var selectedRecordsCount = hasBulkSelectedAllRows ? splitTransfersCount : selectedRows.length;
859
+ var handleFiltersChange = function handleFiltersChange(filters) {
860
+ react.startTransition(function () {
861
+ setFilters(filters);
862
+ });
863
+ };
864
+ var handleTabChange = function handleTabChange(tab) {
865
+ var queryParams = utils.getQueryParams({
866
+ toCamelCase: false
867
+ });
868
+ var newParams = {
869
+ tab: tab,
870
+ page: constants$1.DEFAULT_PAGE_INDEX,
871
+ page_size: constants$1.DEFAULT_PAGE_SIZE
872
+ };
873
+ history.push(utils.buildUrl(window.location.pathname, ramda.mergeLeft(newParams, queryParams)));
874
+ };
875
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
876
+ children: [/*#__PURE__*/jsxRuntime.jsx(Header, {
877
+ title: t("neetoPayments.title.splitTransfers"),
878
+ searchProps: isFilterButtonVisible && {
879
+ placeholder: searchKeywordProps.placeholder,
880
+ className: "w-96"
881
+ }
882
+ }), constants.shouldTabsVisible(views) && /*#__PURE__*/jsxRuntime.jsx(Tab, {
883
+ children: Object.keys(SPLIT_TRANSFERS_DASHBOARD_TAB).map(function (item) {
884
+ return /*#__PURE__*/jsxRuntime.jsx(Tab.Item, {
885
+ active: tab === item,
886
+ onClick: function onClick() {
887
+ return handleTabChange(item);
888
+ },
889
+ children: t("neetoPayments.common.".concat(item))
890
+ }, item);
891
+ })
892
+ }), /*#__PURE__*/jsxRuntime.jsx(SubHeader, {
893
+ className: "my-4",
894
+ leftActionBlock: splitTransfersCountVisible && /*#__PURE__*/jsxRuntime.jsx("div", {
895
+ className: "w-100 flex items-center space-x-3",
896
+ children: isDropdownVisible ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
897
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
898
+ className: "neeto-ui-gray-800 mr-2 font-semibold",
899
+ component: "h4",
900
+ children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
901
+ count: selectedRecordsCount,
902
+ i18nKey: "neetoPayments.splitTransferDetails.recordWithCount",
903
+ components: {
904
+ span: /*#__PURE__*/jsxRuntime.jsx("span", {
905
+ className: "neeto-ui-text-gray-600"
906
+ })
907
+ },
908
+ values: {
909
+ count: selectedRecordsCount,
910
+ recordsCount: splitTransfersCount
911
+ }
912
+ })
913
+ }), /*#__PURE__*/jsxRuntime.jsxs(Dropdown, {
914
+ buttonStyle: "secondary",
915
+ label: t("neetoPayments.common.takeAction"),
916
+ children: [/*#__PURE__*/jsxRuntime.jsx(Menu, {
917
+ children: /*#__PURE__*/jsxRuntime.jsx(MenuItem.Button, {
918
+ isDisabled: isCancelButtonDisabled,
919
+ tooltipProps: isCancelButtonDisabled ? {
920
+ content: t("neetoPayments.tooltipContent.splitTransfers.cancelledRecordsSelected")
921
+ } : "",
922
+ onClick: function onClick() {
923
+ return setIsCancelModalOpen(true);
924
+ },
925
+ children: t("neetoPayments.common.cancel")
926
+ })
927
+ }), /*#__PURE__*/jsxRuntime.jsx(Menu, {
928
+ children: /*#__PURE__*/jsxRuntime.jsx(MenuItem.Button, {
929
+ isDisabled: isResumeButtonDisabled,
930
+ tooltipProps: isResumeButtonDisabled ? {
931
+ content: t("neetoPayments.tooltipContent.splitTransfers.pendingRecordsSelected")
932
+ } : "",
933
+ onClick: function onClick() {
934
+ return setIsResumeModalOpen(true);
935
+ },
936
+ children: t("neetoPayments.common.resume")
937
+ })
938
+ })]
939
+ })]
940
+ }) : /*#__PURE__*/jsxRuntime.jsx(Typography, {
941
+ className: "neeto-ui-gray-800 mr-2 font-semibold",
942
+ component: "h4",
943
+ children: tab === SPLIT_TRANSFERS_DASHBOARD_TAB.all ? t("neetoPayments.countOf.splitTransfer", {
944
+ count: splitTransfersCount
945
+ }) : t("neetoPayments.countOf.splitTransferWithStatus", {
946
+ count: splitTransfersCount,
947
+ status: tab
948
+ })
949
+ })
950
+ }),
951
+ rightActionBlock: isFilterButtonVisible && /*#__PURE__*/jsxRuntime.jsx(SubHeader.RightBlock, {
952
+ columnsButtonProps: {
953
+ columnData: ramda.concat(getDefaultColumns(), payableEntityColumns).map(ramda.modify("dataIndex", constants.processDataIndex)),
954
+ fixedColumns: constants.UN_HIDEABLE_COLUMNS,
955
+ localStorageKey: COLUMNS_STORAGE_KEY
956
+ },
957
+ downloadButtonProps: {
958
+ onClick: function onClick() {
959
+ return setIsExportModalOpen(true);
960
+ }
961
+ },
962
+ filterProps: {
963
+ columns: filterableColumns,
964
+ isOpen: isFilterPaneOpen,
965
+ keyword: searchKeywordProps,
966
+ setIsOpen: setIsFilterPaneOpen,
967
+ onChange: handleFiltersChange
968
+ }
969
+ })
970
+ }), /*#__PURE__*/jsxRuntime.jsx(FiltersBar, {
971
+ columns: filterableColumns,
972
+ keyword: searchKeywordProps,
973
+ setIsPaneOpen: setIsFilterPaneOpen,
974
+ onChange: handleFiltersChange
975
+ })]
976
+ });
977
+ };
978
+
979
+ 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; }
980
+ 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; }
981
+ var SplitTransfersDashboard = function SplitTransfersDashboard(_ref) {
982
+ var searchProps = _ref.searchProps,
983
+ payableEntityColumns = _ref.payableEntityColumns;
984
+ var _getQueryParams = utils.getQueryParams(),
985
+ _getQueryParams$searc = _getQueryParams.searchTerm,
986
+ searchTerm = _getQueryParams$searc === void 0 ? "" : _getQueryParams$searc;
987
+ var filterableColumns = buildFilterColumns(payableEntityColumns);
988
+ var searchKeywordProps = buildSearchProps(searchProps, searchTerm);
989
+ var _useState = react.useState([]),
990
+ _useState2 = _slicedToArray(_useState, 2),
991
+ selectedRows = _useState2[0],
992
+ setSelectedRows = _useState2[1];
993
+ var _useState3 = react.useState([]),
994
+ _useState4 = _slicedToArray(_useState3, 2),
995
+ selectedRowData = _useState4[0],
996
+ setSelectedRowData = _useState4[1];
997
+ var _useState5 = react.useState(false),
998
+ _useState6 = _slicedToArray(_useState5, 2),
999
+ isExportModalOpen = _useState6[0],
1000
+ setIsExportModalOpen = _useState6[1];
1001
+ var _useState7 = react.useState(false),
1002
+ _useState8 = _slicedToArray(_useState7, 2),
1003
+ isCancelModalOpen = _useState8[0],
1004
+ setIsCancelModalOpen = _useState8[1];
1005
+ var _useState9 = react.useState(false),
1006
+ _useState10 = _slicedToArray(_useState9, 2),
1007
+ isResumeModalOpen = _useState10[0],
1008
+ setIsResumeModalOpen = _useState10[1];
1009
+ var _useState11 = react.useState(false),
1010
+ _useState12 = _slicedToArray(_useState11, 2),
1011
+ hasBulkSelectedAllRows = _useState12[0],
1012
+ setHasBulkSelectedAllRows = _useState12[1];
1013
+ var _useState13 = react.useState(constants.DEFAULT_SORT_PROPERTIES),
1014
+ _useState14 = _slicedToArray(_useState13, 2),
1015
+ sortProperties = _useState14[0],
1016
+ setSortProperties = _useState14[1];
1017
+ var _useState15 = react.useState(constants.DEFAULT_PAGE_VALUES),
1018
+ _useState16 = _slicedToArray(_useState15, 2),
1019
+ pageProperties = _useState16[0],
1020
+ setPageProperties = _useState16[1];
1021
+ var _useState17 = react.useState(utils$1.buildFiltersFromURL([].concat(_toConsumableArray(filterableColumns), [searchKeywordProps]))),
1022
+ _useState18 = _slicedToArray(_useState17, 2),
1023
+ filters = _useState18[0],
1024
+ setFilters = _useState18[1];
1025
+ var history = reactRouterDom.useHistory();
1026
+ var _getQueryParams2 = utils.getQueryParams(),
1027
+ _getQueryParams2$tab = _getQueryParams2.tab,
1028
+ tab = _getQueryParams2$tab === void 0 ? SPLIT_TRANSFERS_DASHBOARD_TAB.all : _getQueryParams2$tab;
1029
+ var payload = _objectSpread(_objectSpread({
1030
+ tab: tab,
1031
+ filters: filters
1032
+ }, pageProperties), sortProperties);
1033
+ var _useFetchSplitTransfe = useFetchSplitTransfers(payload),
1034
+ _useFetchSplitTransfe2 = _useFetchSplitTransfe.data,
1035
+ _useFetchSplitTransfe3 = _useFetchSplitTransfe2 === void 0 ? {} : _useFetchSplitTransfe2,
1036
+ splitTransfers = _useFetchSplitTransfe3.splitTransfers,
1037
+ views = _useFetchSplitTransfe3.views,
1038
+ isFetching = _useFetchSplitTransfe.isFetching,
1039
+ isSplitTransfersLoading = _useFetchSplitTransfe.isPending;
1040
+ var _useBulkUpdateSplitTr = useBulkUpdateSplitTransfers({
1041
+ onSuccess: function onSuccess() {
1042
+ setSelectedRowData([]);
1043
+ setSelectedRows([]);
1044
+ }
1045
+ }),
1046
+ updateSplitTransfers = _useBulkUpdateSplitTr.mutate,
1047
+ isCancelling = _useBulkUpdateSplitTr.isPending;
1048
+ var handleSplitTransfersUpdate = function handleSplitTransfersUpdate(status, reason) {
1049
+ var ids = ramda.pluck("id", selectedRowData);
1050
+ updateSplitTransfers({
1051
+ ids: ids,
1052
+ status: status,
1053
+ reason: reason,
1054
+ isApplyChangesToAllRequired: hasBulkSelectedAllRows
1055
+ });
1056
+ setIsCancelModalOpen(false);
1057
+ setIsResumeModalOpen(false);
1058
+ };
1059
+ var handleTablePagination = function handleTablePagination(page, pageSize) {
1060
+ var queryParams = utils.getQueryParams({
1061
+ toCamelCase: false
1062
+ });
1063
+ history.push(utils.buildUrl(window.location.pathname, ramda.mergeLeft({
1064
+ page: page,
1065
+ page_size: pageSize
1066
+ }, queryParams)));
1067
+ setPageProperties({
1068
+ page: page,
1069
+ pageSize: pageSize
1070
+ });
1071
+ };
1072
+ var handleRowSelect = function handleRowSelect(keys, rowData) {
1073
+ setSelectedRows(keys);
1074
+ setSelectedRowData(rowData);
1075
+ };
1076
+ react.useEffect(function () {
1077
+ handleTablePagination(constants$1.DEFAULT_PAGE_INDEX, constants$1.DEFAULT_PAGE_SIZE);
1078
+ setSortProperties(constants.DEFAULT_SORT_PROPERTIES);
1079
+ setSelectedRowData([]);
1080
+ setSelectedRows([]);
1081
+ }, [filters, tab]);
1082
+ if (isSplitTransfersLoading || isCancelling) {
1083
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
1084
+ className: "flex h-full w-full items-center justify-center",
1085
+ children: /*#__PURE__*/jsxRuntime.jsx(Spinner, {})
1086
+ });
1087
+ }
1088
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
1089
+ children: [/*#__PURE__*/jsxRuntime.jsx(TopSection, {
1090
+ filterableColumns: filterableColumns,
1091
+ filters: filters,
1092
+ hasBulkSelectedAllRows: hasBulkSelectedAllRows,
1093
+ pageProperties: pageProperties,
1094
+ payableEntityColumns: payableEntityColumns,
1095
+ searchKeywordProps: searchKeywordProps,
1096
+ selectedRowData: selectedRowData,
1097
+ selectedRows: selectedRows,
1098
+ setFilters: setFilters,
1099
+ setIsCancelModalOpen: setIsCancelModalOpen,
1100
+ setIsExportModalOpen: setIsExportModalOpen,
1101
+ setIsResumeModalOpen: setIsResumeModalOpen,
1102
+ setPageProperties: setPageProperties,
1103
+ setSortProperties: setSortProperties,
1104
+ views: views
1105
+ }), /*#__PURE__*/jsxRuntime.jsx(List, {
1106
+ handleTablePagination: handleTablePagination,
1107
+ isFetching: isFetching,
1108
+ pageProperties: pageProperties,
1109
+ payableEntityColumns: payableEntityColumns,
1110
+ selectedRows: selectedRows,
1111
+ setHasBulkSelectedAllRows: setHasBulkSelectedAllRows,
1112
+ setSelectedRows: setSelectedRows,
1113
+ setSortProperties: setSortProperties,
1114
+ splitTransfers: splitTransfers,
1115
+ views: views,
1116
+ onRowSelect: handleRowSelect
1117
+ }), /*#__PURE__*/jsxRuntime.jsx(ExportModal.ExportModal, {
1118
+ filters: filters,
1119
+ isExportModalOpen: isExportModalOpen,
1120
+ setIsExportModalOpen: setIsExportModalOpen,
1121
+ sortProperties: sortProperties,
1122
+ dashboardKind: constants.DASHBOARD_KIND.splitTransfers
1123
+ }), /*#__PURE__*/jsxRuntime.jsx(CancelModal, {
1124
+ handleSplitTransfersUpdate: handleSplitTransfersUpdate,
1125
+ isOpen: isCancelModalOpen,
1126
+ onClose: function onClose() {
1127
+ return setIsCancelModalOpen(false);
1128
+ }
1129
+ }), /*#__PURE__*/jsxRuntime.jsx(ResumeModal, {
1130
+ handleSplitTransfersUpdate: handleSplitTransfersUpdate,
1131
+ isOpen: isResumeModalOpen,
1132
+ onClose: function onClose() {
1133
+ return setIsResumeModalOpen(false);
1134
+ }
1135
+ })]
1136
+ });
1137
+ };
1138
+
1139
+ module.exports = SplitTransfersDashboard;
1140
+ //# sourceMappingURL=SplitTransfersDashboard.js.map