@bigbinary/neeto-payments-frontend 6.1.11 → 6.1.12

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