@bigbinary/neeto-payments-frontend 6.1.2 → 6.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/dist/AccountsDashboard.js +498 -0
  2. package/dist/AccountsDashboard.js.map +1 -0
  3. package/dist/AdminCancelRecurringPaymentButton.js +76 -0
  4. package/dist/AdminCancelRecurringPaymentButton.js.map +1 -0
  5. package/dist/CashPaymentButton.js +60 -0
  6. package/dist/CashPaymentButton.js.map +1 -0
  7. package/dist/ConfirmCashPaymentButton.js +92 -0
  8. package/dist/ConfirmCashPaymentButton.js.map +1 -0
  9. package/dist/CopyButtonWrapper-rv-OaINx.js +24 -0
  10. package/dist/CopyButtonWrapper-rv-OaINx.js.map +1 -0
  11. package/dist/CustomerCancelRecurringPaymentForm.js +102 -0
  12. package/dist/CustomerCancelRecurringPaymentForm.js.map +1 -0
  13. package/dist/ExportModal-DP9_Ak6z.js +120 -0
  14. package/dist/ExportModal-DP9_Ak6z.js.map +1 -0
  15. package/dist/ManualUpiConnect.js +247 -0
  16. package/dist/ManualUpiConnect.js.map +1 -0
  17. package/dist/ManualUpiPayment.js +129 -0
  18. package/dist/ManualUpiPayment.js.map +1 -0
  19. package/dist/ManualUpiPaymentConfirmButton.js +151 -0
  20. package/dist/ManualUpiPaymentConfirmButton.js.map +1 -0
  21. package/dist/ManualUpiPaymentRejectButton.js +120 -0
  22. package/dist/ManualUpiPaymentRejectButton.js.map +1 -0
  23. package/dist/PaymentKindRestrictionAlert.js +36 -0
  24. package/dist/PaymentKindRestrictionAlert.js.map +1 -0
  25. package/dist/PaymentsDashboard.js +586 -0
  26. package/dist/PaymentsDashboard.js.map +1 -0
  27. package/dist/PayoutsDashboard.js +533 -0
  28. package/dist/PayoutsDashboard.js.map +1 -0
  29. package/dist/PayoutsPage.js +136 -0
  30. package/dist/PayoutsPage.js.map +1 -0
  31. package/dist/RazorpayConnect.js +106 -0
  32. package/dist/RazorpayConnect.js.map +1 -0
  33. package/dist/RazorpayLinkedAccountForm.js +212 -0
  34. package/dist/RazorpayLinkedAccountForm.js.map +1 -0
  35. package/dist/RazorpayPaymentButton.js +155 -0
  36. package/dist/RazorpayPaymentButton.js.map +1 -0
  37. package/dist/RecurringPaymentSettings.js +119 -0
  38. package/dist/RecurringPaymentSettings.js.map +1 -0
  39. package/dist/RefundsDashboard.js +507 -0
  40. package/dist/RefundsDashboard.js.map +1 -0
  41. package/dist/SplitTransfersDashboard.js +1003 -0
  42. package/dist/SplitTransfersDashboard.js.map +1 -0
  43. package/dist/StripeCheckoutSetting.js +94 -0
  44. package/dist/StripeCheckoutSetting.js.map +1 -0
  45. package/dist/StripeConnect.js +378 -0
  46. package/dist/StripeConnect.js.map +1 -0
  47. package/dist/StripeManage.js +43 -0
  48. package/dist/StripeManage.js.map +1 -0
  49. package/dist/TaxesDashboard.js +363 -0
  50. package/dist/TaxesDashboard.js.map +1 -0
  51. package/dist/buildStripeTransactionLink.js +12 -0
  52. package/dist/buildStripeTransactionLink.js.map +1 -0
  53. package/dist/cjs/AccountsDashboard.js +500 -0
  54. package/dist/cjs/AccountsDashboard.js.map +1 -0
  55. package/dist/cjs/AdminCancelRecurringPaymentButton.js +78 -0
  56. package/dist/cjs/AdminCancelRecurringPaymentButton.js.map +1 -0
  57. package/dist/cjs/CashPaymentButton.js +62 -0
  58. package/dist/cjs/CashPaymentButton.js.map +1 -0
  59. package/dist/cjs/ConfirmCashPaymentButton.js +94 -0
  60. package/dist/cjs/ConfirmCashPaymentButton.js.map +1 -0
  61. package/dist/cjs/CopyButtonWrapper-BkpN0Wmd.js +27 -0
  62. package/dist/cjs/CopyButtonWrapper-BkpN0Wmd.js.map +1 -0
  63. package/dist/cjs/CustomerCancelRecurringPaymentForm.js +104 -0
  64. package/dist/cjs/CustomerCancelRecurringPaymentForm.js.map +1 -0
  65. package/dist/cjs/ExportModal-BmlRgdZj.js +122 -0
  66. package/dist/cjs/ExportModal-BmlRgdZj.js.map +1 -0
  67. package/dist/cjs/ManualUpiConnect.js +268 -0
  68. package/dist/cjs/ManualUpiConnect.js.map +1 -0
  69. package/dist/cjs/ManualUpiPayment.js +150 -0
  70. package/dist/cjs/ManualUpiPayment.js.map +1 -0
  71. package/dist/cjs/ManualUpiPaymentConfirmButton.js +172 -0
  72. package/dist/cjs/ManualUpiPaymentConfirmButton.js.map +1 -0
  73. package/dist/cjs/ManualUpiPaymentRejectButton.js +122 -0
  74. package/dist/cjs/ManualUpiPaymentRejectButton.js.map +1 -0
  75. package/dist/cjs/PaymentKindRestrictionAlert.js +38 -0
  76. package/dist/cjs/PaymentKindRestrictionAlert.js.map +1 -0
  77. package/dist/cjs/PaymentsDashboard.js +588 -0
  78. package/dist/cjs/PaymentsDashboard.js.map +1 -0
  79. package/dist/cjs/PayoutsDashboard.js +535 -0
  80. package/dist/cjs/PayoutsDashboard.js.map +1 -0
  81. package/dist/cjs/PayoutsPage.js +138 -0
  82. package/dist/cjs/PayoutsPage.js.map +1 -0
  83. package/dist/cjs/RazorpayConnect.js +108 -0
  84. package/dist/cjs/RazorpayConnect.js.map +1 -0
  85. package/dist/cjs/RazorpayLinkedAccountForm.js +214 -0
  86. package/dist/cjs/RazorpayLinkedAccountForm.js.map +1 -0
  87. package/dist/cjs/RazorpayPaymentButton.js +157 -0
  88. package/dist/cjs/RazorpayPaymentButton.js.map +1 -0
  89. package/dist/cjs/RecurringPaymentSettings.js +140 -0
  90. package/dist/cjs/RecurringPaymentSettings.js.map +1 -0
  91. package/dist/cjs/RefundsDashboard.js +509 -0
  92. package/dist/cjs/RefundsDashboard.js.map +1 -0
  93. package/dist/cjs/SplitTransfersDashboard.js +1024 -0
  94. package/dist/cjs/SplitTransfersDashboard.js.map +1 -0
  95. package/dist/cjs/StripeCheckoutSetting.js +96 -0
  96. package/dist/cjs/StripeCheckoutSetting.js.map +1 -0
  97. package/dist/cjs/StripeConnect.js +399 -0
  98. package/dist/cjs/StripeConnect.js.map +1 -0
  99. package/dist/cjs/StripeManage.js +45 -0
  100. package/dist/cjs/StripeManage.js.map +1 -0
  101. package/dist/cjs/TaxesDashboard.js +384 -0
  102. package/dist/cjs/TaxesDashboard.js.map +1 -0
  103. package/dist/cjs/buildStripeTransactionLink.js +14 -0
  104. package/dist/cjs/buildStripeTransactionLink.js.map +1 -0
  105. package/dist/cjs/constants.js +38 -0
  106. package/dist/cjs/constants.js.map +1 -0
  107. package/dist/cjs/dashboard-BkYqCWDk.js +110 -0
  108. package/dist/cjs/dashboard-BkYqCWDk.js.map +1 -0
  109. package/dist/cjs/exportChannel-D1Wls92m.js +40 -0
  110. package/dist/cjs/exportChannel-D1Wls92m.js.map +1 -0
  111. package/dist/cjs/getAddressElementOptions.js +14 -0
  112. package/dist/cjs/getAddressElementOptions.js.map +1 -0
  113. package/dist/cjs/getAmountInSmallestCurrencyUnit.js +14 -0
  114. package/dist/cjs/getAmountInSmallestCurrencyUnit.js.map +1 -0
  115. package/dist/cjs/getAmountWithAppliedTax.js +14 -0
  116. package/dist/cjs/getAmountWithAppliedTax.js.map +1 -0
  117. package/dist/cjs/getFormattedAmount.js +14 -0
  118. package/dist/cjs/getFormattedAmount.js.map +1 -0
  119. package/dist/cjs/getFormattedDiscountedAmount.js +14 -0
  120. package/dist/cjs/getFormattedDiscountedAmount.js.map +1 -0
  121. package/dist/cjs/getFormattedDiscountedPercentage.js +14 -0
  122. package/dist/cjs/getFormattedDiscountedPercentage.js.map +1 -0
  123. package/dist/cjs/getFormattedTaxAmount.js +14 -0
  124. package/dist/cjs/getFormattedTaxAmount.js.map +1 -0
  125. package/dist/cjs/getFormattedTipAmount.js +14 -0
  126. package/dist/cjs/getFormattedTipAmount.js.map +1 -0
  127. package/dist/cjs/getQrCodeValue.js +14 -0
  128. package/dist/cjs/getQrCodeValue.js.map +1 -0
  129. package/dist/cjs/getTaxAmount.js +14 -0
  130. package/dist/cjs/getTaxAmount.js.map +1 -0
  131. package/dist/cjs/getTipAmount.js +14 -0
  132. package/dist/cjs/getTipAmount.js.map +1 -0
  133. package/dist/cjs/hasAmountToPay.js +14 -0
  134. package/dist/cjs/hasAmountToPay.js.map +1 -0
  135. package/dist/cjs/index-DSCn1Pdn.js +892 -0
  136. package/dist/cjs/index-DSCn1Pdn.js.map +1 -0
  137. package/dist/cjs/index.js +126 -0
  138. package/dist/cjs/index.js.map +1 -0
  139. package/dist/cjs/queryConstants-Cka1X6GX.js +35 -0
  140. package/dist/cjs/queryConstants-Cka1X6GX.js.map +1 -0
  141. package/dist/cjs/renderFunctions-Bqi2_SZ_.js +51 -0
  142. package/dist/cjs/renderFunctions-Bqi2_SZ_.js.map +1 -0
  143. package/dist/cjs/stripe.esm-CrNYjPcC.js +132 -0
  144. package/dist/cjs/stripe.esm-CrNYjPcC.js.map +1 -0
  145. package/dist/cjs/useAccountsApi-DMRvEpvD.js +62 -0
  146. package/dist/cjs/useAccountsApi-DMRvEpvD.js.map +1 -0
  147. package/dist/cjs/useIntegrationsApi-DJh8i0yF.js +26 -0
  148. package/dist/cjs/useIntegrationsApi-DJh8i0yF.js.map +1 -0
  149. package/dist/cjs/usePaymentApi-BWk9Qu4W.js +56 -0
  150. package/dist/cjs/usePaymentApi-BWk9Qu4W.js.map +1 -0
  151. package/dist/cjs/usePaymentApi-BrmfdxB4.js +41 -0
  152. package/dist/cjs/usePaymentApi-BrmfdxB4.js.map +1 -0
  153. package/dist/cjs/usePaymentApi-DxRPt6M4.js +39 -0
  154. package/dist/cjs/usePaymentApi-DxRPt6M4.js.map +1 -0
  155. package/dist/cjs/usePlatformApi-C_2WctrJ.js +84 -0
  156. package/dist/cjs/usePlatformApi-C_2WctrJ.js.map +1 -0
  157. package/dist/cjs/useRazorpayPayment.js +113 -0
  158. package/dist/cjs/useRazorpayPayment.js.map +1 -0
  159. package/dist/cjs/useStripePromise.js +57 -0
  160. package/dist/cjs/useStripePromise.js.map +1 -0
  161. package/dist/constants.js +8 -0
  162. package/dist/constants.js.map +1 -0
  163. package/dist/dashboard-BEQBguwm.js +104 -0
  164. package/dist/dashboard-BEQBguwm.js.map +1 -0
  165. package/dist/exportChannel-DAxJ44QB.js +37 -0
  166. package/dist/exportChannel-DAxJ44QB.js.map +1 -0
  167. package/dist/getAddressElementOptions.js +12 -0
  168. package/dist/getAddressElementOptions.js.map +1 -0
  169. package/dist/getAmountInSmallestCurrencyUnit.js +12 -0
  170. package/dist/getAmountInSmallestCurrencyUnit.js.map +1 -0
  171. package/dist/getAmountWithAppliedTax.js +12 -0
  172. package/dist/getAmountWithAppliedTax.js.map +1 -0
  173. package/dist/getFormattedAmount.js +12 -0
  174. package/dist/getFormattedAmount.js.map +1 -0
  175. package/dist/getFormattedDiscountedAmount.js +12 -0
  176. package/dist/getFormattedDiscountedAmount.js.map +1 -0
  177. package/dist/getFormattedDiscountedPercentage.js +12 -0
  178. package/dist/getFormattedDiscountedPercentage.js.map +1 -0
  179. package/dist/getFormattedTaxAmount.js +12 -0
  180. package/dist/getFormattedTaxAmount.js.map +1 -0
  181. package/dist/getFormattedTipAmount.js +12 -0
  182. package/dist/getFormattedTipAmount.js.map +1 -0
  183. package/dist/getQrCodeValue.js +12 -0
  184. package/dist/getQrCodeValue.js.map +1 -0
  185. package/dist/getTaxAmount.js +12 -0
  186. package/dist/getTaxAmount.js.map +1 -0
  187. package/dist/getTipAmount.js +12 -0
  188. package/dist/getTipAmount.js.map +1 -0
  189. package/dist/hasAmountToPay.js +12 -0
  190. package/dist/hasAmountToPay.js.map +1 -0
  191. package/dist/index-BGp4HmiK.js +842 -0
  192. package/dist/index-BGp4HmiK.js.map +1 -0
  193. package/dist/index.js +84 -0
  194. package/dist/index.js.map +1 -0
  195. package/dist/queryConstants-DFKKEEo0.js +33 -0
  196. package/dist/queryConstants-DFKKEEo0.js.map +1 -0
  197. package/dist/renderFunctions-Cn1sVVkA.js +47 -0
  198. package/dist/renderFunctions-Cn1sVVkA.js.map +1 -0
  199. package/dist/stripe.esm-DuZ_gsAa.js +130 -0
  200. package/dist/stripe.esm-DuZ_gsAa.js.map +1 -0
  201. package/dist/useAccountsApi-6UIChy5i.js +58 -0
  202. package/dist/useAccountsApi-6UIChy5i.js.map +1 -0
  203. package/dist/useIntegrationsApi-DbhomOkL.js +24 -0
  204. package/dist/useIntegrationsApi-DbhomOkL.js.map +1 -0
  205. package/dist/usePaymentApi-CKFTEeuh.js +53 -0
  206. package/dist/usePaymentApi-CKFTEeuh.js.map +1 -0
  207. package/dist/usePaymentApi-Cn-ZZcKu.js +37 -0
  208. package/dist/usePaymentApi-Cn-ZZcKu.js.map +1 -0
  209. package/dist/usePaymentApi-u3PcCZ43.js +38 -0
  210. package/dist/usePaymentApi-u3PcCZ43.js.map +1 -0
  211. package/dist/usePlatformApi-20towd_r.js +79 -0
  212. package/dist/usePlatformApi-20towd_r.js.map +1 -0
  213. package/dist/useRazorpayPayment.js +111 -0
  214. package/dist/useRazorpayPayment.js.map +1 -0
  215. package/dist/useStripePromise.js +55 -0
  216. package/dist/useStripePromise.js.map +1 -0
  217. package/package.json +7 -4
@@ -0,0 +1,507 @@
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 { getQueryParams, buildUrl } from 'neetocommons/utils';
7
+ import { Bar, buildFiltersFromURL } from '@bigbinary/neeto-filters-frontend';
8
+ import { Tooltip, Tag, Typography, Button, NoData, Table, Tab, Spinner } from '@bigbinary/neetoui';
9
+ import { map, curry, mergeDeepWith, concat, mergeLeft, reject, isNil, prop, isEmpty, modify } from 'ramda';
10
+ import { useHistory } from 'react-router-dom';
11
+ import { E as ExportModal } from './ExportModal-DP9_Ak6z.js';
12
+ import { useQuery } from '@tanstack/react-query';
13
+ import axios from 'axios';
14
+ import { B as BASE_URL, P as PAYMENT_PROVIDERS, j as DEFAULT_TAG_STYLE, l as formatAmount, m as formatCurrency, o as buildDefaultTableColumns, S as SORT_DIRECTIONS, p as processDataIndex, A as ASSOCIATED_TABLE_COLUMNS, D as DEFAULT_SORT_PROPERTIES, s as shouldTabsVisible, U as UN_HIDEABLE_COLUMNS, i as DEFAULT_PAGE_VALUES, q as DASHBOARD_KIND } from './index-BGp4HmiK.js';
15
+ import { Q as QUERY_KEYS } from './queryConstants-DFKKEEo0.js';
16
+ import { t } from 'i18next';
17
+ import { toLabelAndValue, humanize, snakeToCamelCase, isPresent, isNotPresent, camelToSnakeCase } from 'neetocist';
18
+ import { useTableConfigurations } from '@bigbinary/neeto-molecules/Columns';
19
+ import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
20
+ import { useTranslation } from 'react-i18next';
21
+ import { T as TABLE_KEYS } from './exportChannel-DAxJ44QB.js';
22
+ import DateFormat from '@bigbinary/neeto-molecules/DateFormat';
23
+ import { C as CopyButtonWrapper } from './CopyButtonWrapper-rv-OaINx.js';
24
+ import Header from '@bigbinary/neeto-molecules/Header';
25
+ import SubHeader from '@bigbinary/neeto-molecules/SubHeader';
26
+ import '@bigbinary/neeto-icons';
27
+ import 'decimal.js';
28
+ import '@bigbinary/neeto-molecules/CopyToClipboardButton';
29
+
30
+ var list = function list(payload) {
31
+ return axios.get("".concat(BASE_URL, "/api/v1/refunds"), {
32
+ params: payload
33
+ });
34
+ };
35
+ var refundsApi = {
36
+ list: list
37
+ };
38
+
39
+ 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; }
40
+ 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; }
41
+ var useFetchRefunds = function useFetchRefunds() {
42
+ var payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
43
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
44
+ return useQuery(_objectSpread$2({
45
+ queryKey: [QUERY_KEYS.REFUNDS_LIST, payload],
46
+ queryFn: function queryFn() {
47
+ return refundsApi.list(payload);
48
+ }
49
+ }, options));
50
+ };
51
+
52
+ var REFUND_DASHBOARD_TAB = {
53
+ all: "all",
54
+ successful: "successful",
55
+ declined: "declined",
56
+ pending: "pending"
57
+ };
58
+ var SEARCH_PROPS = {
59
+ node: "identifier,",
60
+ key: "search_term",
61
+ model: "NeetoPaymentsEngine::Refund,",
62
+ placeholder: t("neetoPayments.common.searchByIdentifier")
63
+ };
64
+ var FILTER_COLUMNS = [{
65
+ key: "payment_provider",
66
+ label: t("neetoPayments.common.paymentProvider"),
67
+ node: "payment_provider",
68
+ type: "single_option",
69
+ values: map(toLabelAndValue, PAYMENT_PROVIDERS)
70
+ }, {
71
+ key: "amount",
72
+ label: t("neetoPayments.common.refundAmount"),
73
+ node: "amount",
74
+ type: "decimal"
75
+ }, {
76
+ key: "payment_amount",
77
+ label: t("neetoPayments.common.paymentAmount"),
78
+ node: "payment.amount",
79
+ model: "NeetoPaymentsEngine::Payment",
80
+ type: "decimal"
81
+ }, {
82
+ key: "refunded_at",
83
+ label: t("neetoPayments.common.refundTime"),
84
+ node: "refunded_at",
85
+ type: "date"
86
+ }];
87
+ var TAG_STYLE = {
88
+ initiated: "info",
89
+ declined: "danger",
90
+ successful: "success",
91
+ refunded: "secondary",
92
+ pending: "warning"
93
+ };
94
+
95
+ var renderIdentifier = function renderIdentifier(identifier, _ref) {
96
+ var receiptUrl = _ref.receiptUrl;
97
+ var isTemporaryIdentifier = identifier === null || identifier === void 0 ? void 0 : identifier.startsWith("temp_");
98
+ if (isTemporaryIdentifier) {
99
+ return /*#__PURE__*/React.createElement(Tooltip, {
100
+ content: t("neetoPayments.tooltipContent.paymentIdentifierUnavailable"),
101
+ position: "top"
102
+ }, /*#__PURE__*/React.createElement("div", {
103
+ className: "text-center"
104
+ }, /*#__PURE__*/React.createElement(Typography, {
105
+ style: "body2"
106
+ }, t("neetoPayments.common.notAvailable"))));
107
+ }
108
+ return /*#__PURE__*/React.createElement(CopyButtonWrapper, {
109
+ content: identifier
110
+ }, /*#__PURE__*/React.createElement(Button, {
111
+ href: receiptUrl,
112
+ label: identifier,
113
+ size: "small",
114
+ style: "link",
115
+ target: "_blank"
116
+ }));
117
+ };
118
+ var getTagStyle = function getTagStyle(status) {
119
+ return TAG_STYLE[status] || DEFAULT_TAG_STYLE;
120
+ };
121
+ var preProcessStatus = function preProcessStatus(type, status) {
122
+ var record = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
123
+ if (type === "payment") {
124
+ return record.isRefunded ? "refunded" : status;
125
+ }
126
+ return snakeToCamelCase(status);
127
+ };
128
+ var renderStatus = curry(function (type, status, record) {
129
+ var processedStatus = preProcessStatus(type, status, record);
130
+ return /*#__PURE__*/React.createElement(Tooltip, {
131
+ content: t("neetoPayments.tooltipContent.".concat(type, ".").concat(processedStatus)),
132
+ position: "top"
133
+ }, /*#__PURE__*/React.createElement("div", {
134
+ className: "w-fit"
135
+ }, /*#__PURE__*/React.createElement(Tag, {
136
+ style: getTagStyle(processedStatus),
137
+ label: humanize(t("neetoPayments.tagLabels.".concat(type, ".").concat(processedStatus)))
138
+ })));
139
+ });
140
+ var renderDate = function renderDate(date) {
141
+ if (isPresent(date)) {
142
+ return /*#__PURE__*/React.createElement(DateFormat.DateTime, {
143
+ date: date
144
+ });
145
+ }
146
+ return /*#__PURE__*/React.createElement(Typography, {
147
+ style: "body2"
148
+ }, t("neetoPayments.common.notAvailable"));
149
+ };
150
+ var getDefaultColumns = function getDefaultColumns() {
151
+ return [{
152
+ title: t("neetoPayments.common.id"),
153
+ dataIndex: "id",
154
+ key: "id",
155
+ width: 85,
156
+ position: 0,
157
+ isHidable: false
158
+ }, {
159
+ title: t("neetoPayments.common.identifier"),
160
+ dataIndex: "identifier",
161
+ key: "identifier",
162
+ width: 300,
163
+ render: renderIdentifier,
164
+ position: 1,
165
+ isHidable: false
166
+ }, {
167
+ title: t("neetoPayments.common.provider"),
168
+ dataIndex: "paymentProvider",
169
+ key: "paymentProvider",
170
+ width: 150,
171
+ render: humanize,
172
+ position: 2,
173
+ sorter: false
174
+ }, {
175
+ title: t("neetoPayments.common.status"),
176
+ dataIndex: "status",
177
+ key: "status",
178
+ width: 200,
179
+ render: renderStatus("refund"),
180
+ sorter: true,
181
+ position: 3,
182
+ isHidable: false
183
+ }, {
184
+ title: t("neetoPayments.common.refundAmount"),
185
+ dataIndex: "amount",
186
+ key: "amount",
187
+ width: 203,
188
+ sorter: true,
189
+ render: formatAmount,
190
+ position: 4
191
+ }, {
192
+ title: t("neetoPayments.common.paymentAmount"),
193
+ dataIndex: ["payment", "amount"],
194
+ key: "paymentAmount",
195
+ width: 210,
196
+ sorter: true,
197
+ render: formatAmount,
198
+ position: 4
199
+ }, {
200
+ title: t("neetoPayments.common.currency"),
201
+ dataIndex: "currency",
202
+ key: "currency",
203
+ width: 180,
204
+ sorter: true,
205
+ render: formatCurrency,
206
+ position: 4
207
+ }, {
208
+ title: t("neetoPayments.common.refundTime"),
209
+ dataIndex: "refundedAt",
210
+ key: "refundedAt",
211
+ width: 190,
212
+ render: renderDate,
213
+ sorter: true,
214
+ position: 5
215
+ }, {
216
+ title: t("neetoPayments.common.paymentIdentifier"),
217
+ dataIndex: ["payment", "identifier"],
218
+ key: "paymentIdentifier",
219
+ width: 300,
220
+ render: renderIdentifier,
221
+ position: 6
222
+ }];
223
+ };
224
+
225
+ 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; }
226
+ 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; }
227
+ var buildSearchProps = function buildSearchProps(searchProps, searchTerm) {
228
+ return mergeDeepWith(concat, SEARCH_PROPS, mergeLeft({
229
+ value: searchTerm.trim()
230
+ }, searchProps));
231
+ };
232
+ var buildFilterColumns = function buildFilterColumns() {
233
+ var payableEntityColumns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
234
+ return reject(isNil, concat(FILTER_COLUMNS, map(prop("filterProps"), payableEntityColumns)));
235
+ };
236
+ var buildRowData = function buildRowData(_ref) {
237
+ var refunds = _ref.refunds,
238
+ _ref$pageProperties = _ref.pageProperties,
239
+ pageProperties = _ref$pageProperties === void 0 ? {} : _ref$pageProperties;
240
+ return refunds === null || refunds === void 0 ? void 0 : refunds.map(function (element, index) {
241
+ return _objectSpread$1(_objectSpread$1({}, element), {}, {
242
+ id: isEmpty(pageProperties) ? index + 1 : pageProperties.pageSize * (pageProperties.page - 1) + index + 1
243
+ });
244
+ });
245
+ };
246
+
247
+ var List = function List(_ref) {
248
+ var isFetching = _ref.isFetching,
249
+ refunds = _ref.refunds,
250
+ views = _ref.views,
251
+ payableEntityColumns = _ref.payableEntityColumns,
252
+ setSortProperties = _ref.setSortProperties,
253
+ pageProperties = _ref.pageProperties,
254
+ handleTablePagination = _ref.handleTablePagination;
255
+ var _useTranslation = useTranslation(),
256
+ t = _useTranslation.t;
257
+ var _getQueryParams = getQueryParams(),
258
+ _getQueryParams$tab = _getQueryParams.tab,
259
+ tab = _getQueryParams$tab === void 0 ? REFUND_DASHBOARD_TAB.all : _getQueryParams$tab;
260
+ var refundsCount = views[tab];
261
+ var allColumns = buildDefaultTableColumns({
262
+ payableEntityColumns: payableEntityColumns,
263
+ defaultColumns: getDefaultColumns(),
264
+ isAllTab: tab === REFUND_DASHBOARD_TAB.all
265
+ });
266
+ var _useTableConfiguratio = useTableConfigurations("".concat(TABLE_KEYS.REFUNDS_TABLE, "-").concat(tab), allColumns),
267
+ isTableConfigurationLoading = _useTableConfiguratio.isTableConfigurationLoading,
268
+ customizedColumns = _useTableConfiguratio.customizedColumns,
269
+ hideColumn = _useTableConfiguratio.hideColumn;
270
+ var handleTableChange = function handleTableChange(_, __, sorter) {
271
+ var processedDataIndex = camelToSnakeCase(processDataIndex(sorter.field));
272
+ var sortBy = isPresent(ASSOCIATED_TABLE_COLUMNS[processedDataIndex]) ? ASSOCIATED_TABLE_COLUMNS[processedDataIndex] : processedDataIndex;
273
+ setSortProperties(isPresent(sorter === null || sorter === void 0 ? void 0 : sorter.column) ? {
274
+ sortBy: sortBy,
275
+ orderBy: sorter.order === "ascend" ? "ASC" : "DESC"
276
+ } : DEFAULT_SORT_PROPERTIES);
277
+ };
278
+ if (isNotPresent(refunds)) {
279
+ return /*#__PURE__*/React.createElement("div", {
280
+ className: "flex h-full w-full items-center justify-center"
281
+ }, /*#__PURE__*/React.createElement(NoData, {
282
+ title: tab === REFUND_DASHBOARD_TAB.all ? t("neetoPayments.emptyState.refund") : t("neetoPayments.emptyState.refundWithStatus", {
283
+ status: tab
284
+ })
285
+ }));
286
+ }
287
+ return /*#__PURE__*/React.createElement(TableWrapper, {
288
+ hasPagination: refundsCount > (pageProperties === null || pageProperties === void 0 ? void 0 : pageProperties.pageSize)
289
+ }, /*#__PURE__*/React.createElement(Table, {
290
+ fixedHeight: true,
291
+ allowRowClick: false,
292
+ columnData: customizedColumns,
293
+ currentPageNumber: pageProperties === null || pageProperties === void 0 ? void 0 : pageProperties.page,
294
+ handlePageChange: handleTablePagination,
295
+ loading: isFetching || isTableConfigurationLoading,
296
+ rowData: buildRowData({
297
+ refunds: refunds,
298
+ pageProperties: pageProperties,
299
+ tab: tab
300
+ }),
301
+ rowSelection: false,
302
+ sortDirections: SORT_DIRECTIONS,
303
+ totalCount: refundsCount,
304
+ paginationProps: {
305
+ showSizeChanger: true,
306
+ hideOnSinglePage: true,
307
+ pageSize: pageProperties === null || pageProperties === void 0 ? void 0 : pageProperties.pageSize,
308
+ total: refundsCount
309
+ },
310
+ onChange: handleTableChange,
311
+ onColumnHide: function onColumnHide(_ref2) {
312
+ var key = _ref2.key;
313
+ return hideColumn(key);
314
+ }
315
+ }));
316
+ };
317
+
318
+ var TopSection = function TopSection(_ref) {
319
+ var views = _ref.views,
320
+ filters = _ref.filters,
321
+ setFilters = _ref.setFilters,
322
+ filterableColumns = _ref.filterableColumns,
323
+ searchKeywordProps = _ref.searchKeywordProps,
324
+ payableEntityColumns = _ref.payableEntityColumns,
325
+ setIsExportModalOpen = _ref.setIsExportModalOpen;
326
+ var _useState = useState(false),
327
+ _useState2 = _slicedToArray(_useState, 2),
328
+ isFilterPaneOpen = _useState2[0],
329
+ setIsFilterPaneOpen = _useState2[1];
330
+ var _useTranslation = useTranslation(),
331
+ t = _useTranslation.t;
332
+ var history = useHistory();
333
+ var _getQueryParams = getQueryParams(),
334
+ _getQueryParams$tab = _getQueryParams.tab,
335
+ tab = _getQueryParams$tab === void 0 ? REFUND_DASHBOARD_TAB.all : _getQueryParams$tab;
336
+ var refundsCount = views === null || views === void 0 ? void 0 : views[tab];
337
+ var isRefundCountVisible = refundsCount > 0 || refundsCount === 0 && isPresent(filters);
338
+ var isFilterButtonVisible = isRefundCountVisible || isPresent(filters);
339
+ var handleFiltersChange = function handleFiltersChange(filters) {
340
+ startTransition(function () {
341
+ setFilters(filters);
342
+ });
343
+ };
344
+ var handleTabChange = function handleTabChange(tab) {
345
+ var queryParams = getQueryParams({
346
+ toCamelCase: false
347
+ });
348
+ var newParams = {
349
+ tab: tab,
350
+ page: DEFAULT_PAGE_INDEX,
351
+ page_size: DEFAULT_PAGE_SIZE
352
+ };
353
+ history.push(buildUrl(window.location.pathname, mergeLeft(newParams, queryParams)));
354
+ };
355
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Header, {
356
+ title: t("neetoPayments.title.refunds"),
357
+ searchProps: isFilterButtonVisible && {
358
+ placeholder: searchKeywordProps.placeholder,
359
+ className: "w-80"
360
+ }
361
+ }), shouldTabsVisible(views) && /*#__PURE__*/React.createElement(Tab, null, Object.keys(REFUND_DASHBOARD_TAB).map(function (item) {
362
+ return /*#__PURE__*/React.createElement(Tab.Item, {
363
+ active: tab === item,
364
+ key: item,
365
+ onClick: function onClick() {
366
+ return handleTabChange(item);
367
+ }
368
+ }, t("neetoPayments.common.".concat(item)));
369
+ })), /*#__PURE__*/React.createElement(SubHeader, {
370
+ className: "my-4",
371
+ leftActionBlock: isRefundCountVisible && /*#__PURE__*/React.createElement(Typography, {
372
+ className: "neeto-ui-gray-800 me-2 font-semibold",
373
+ component: "h4"
374
+ }, tab === REFUND_DASHBOARD_TAB.all ? t("neetoPayments.countOf.refund", {
375
+ count: refundsCount
376
+ }) : t("neetoPayments.countOf.refundWithStatus", {
377
+ count: refundsCount,
378
+ status: tab
379
+ })),
380
+ rightActionBlock: isFilterButtonVisible && /*#__PURE__*/React.createElement(SubHeader.RightBlock, {
381
+ columnsButtonProps: {
382
+ columnData: buildDefaultTableColumns({
383
+ defaultColumns: getDefaultColumns(),
384
+ payableEntityColumns: payableEntityColumns,
385
+ isAllTab: tab === REFUND_DASHBOARD_TAB.all
386
+ }).map(modify("dataIndex", processDataIndex)),
387
+ fixedColumns: UN_HIDEABLE_COLUMNS,
388
+ tableKey: "".concat(TABLE_KEYS.REFUNDS_TABLE, "-").concat(tab)
389
+ },
390
+ downloadButtonProps: {
391
+ onClick: function onClick() {
392
+ return setIsExportModalOpen(true);
393
+ }
394
+ },
395
+ filterProps: {
396
+ columns: filterableColumns,
397
+ isOpen: isFilterPaneOpen,
398
+ keyword: searchKeywordProps,
399
+ setIsOpen: setIsFilterPaneOpen,
400
+ onChange: handleFiltersChange
401
+ }
402
+ })
403
+ }), /*#__PURE__*/React.createElement(Bar, {
404
+ columns: filterableColumns,
405
+ keyword: searchKeywordProps,
406
+ setIsPaneOpen: setIsFilterPaneOpen,
407
+ onChange: handleFiltersChange
408
+ }));
409
+ };
410
+
411
+ 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; }
412
+ 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; }
413
+ var RefundsDashboard = function RefundsDashboard(_ref) {
414
+ var searchProps = _ref.searchProps,
415
+ payableEntityColumns = _ref.payableEntityColumns,
416
+ accountIds = _ref.accountIds;
417
+ var _getQueryParams = getQueryParams(),
418
+ _getQueryParams$searc = _getQueryParams.searchTerm,
419
+ searchTerm = _getQueryParams$searc === void 0 ? "" : _getQueryParams$searc;
420
+ var filterableColumns = buildFilterColumns(payableEntityColumns);
421
+ var searchKeywordProps = buildSearchProps(searchProps, searchTerm);
422
+ var _useState = useState(DEFAULT_SORT_PROPERTIES),
423
+ _useState2 = _slicedToArray(_useState, 2),
424
+ sortProperties = _useState2[0],
425
+ setSortProperties = _useState2[1];
426
+ var _useState3 = useState(DEFAULT_PAGE_VALUES),
427
+ _useState4 = _slicedToArray(_useState3, 2),
428
+ pageProperties = _useState4[0],
429
+ setPageProperties = _useState4[1];
430
+ var _useState5 = useState(false),
431
+ _useState6 = _slicedToArray(_useState5, 2),
432
+ isExportModalOpen = _useState6[0],
433
+ setIsExportModalOpen = _useState6[1];
434
+ var _useState7 = useState(buildFiltersFromURL([].concat(_toConsumableArray(filterableColumns), [searchKeywordProps]))),
435
+ _useState8 = _slicedToArray(_useState7, 2),
436
+ filters = _useState8[0],
437
+ setFilters = _useState8[1];
438
+ var history = useHistory();
439
+ var _getQueryParams2 = getQueryParams(),
440
+ _getQueryParams2$tab = _getQueryParams2.tab,
441
+ tab = _getQueryParams2$tab === void 0 ? REFUND_DASHBOARD_TAB.all : _getQueryParams2$tab;
442
+ var payload = _objectSpread(_objectSpread({
443
+ tab: tab,
444
+ filters: filters,
445
+ accountIds: accountIds
446
+ }, pageProperties), sortProperties);
447
+ var _useFetchRefunds = useFetchRefunds(payload, {
448
+ enabled: true
449
+ }),
450
+ _useFetchRefunds$data = _useFetchRefunds.data,
451
+ _useFetchRefunds$data2 = _useFetchRefunds$data === void 0 ? {} : _useFetchRefunds$data,
452
+ refunds = _useFetchRefunds$data2.refunds,
453
+ views = _useFetchRefunds$data2.views,
454
+ isFetching = _useFetchRefunds.isFetching,
455
+ isRefundsLoading = _useFetchRefunds.isPending;
456
+ var handleTablePagination = function handleTablePagination(page, pageSize) {
457
+ var queryParams = getQueryParams({
458
+ toCamelCase: false
459
+ });
460
+ history.push(buildUrl(window.location.pathname, mergeLeft({
461
+ page: page,
462
+ page_size: pageSize
463
+ }, queryParams)));
464
+ setPageProperties({
465
+ page: page,
466
+ pageSize: pageSize
467
+ });
468
+ };
469
+ useEffect(function () {
470
+ handleTablePagination(DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE);
471
+ setSortProperties(DEFAULT_SORT_PROPERTIES);
472
+ }, [filters, tab]);
473
+ if (isRefundsLoading) {
474
+ return /*#__PURE__*/React.createElement("div", {
475
+ className: "flex h-full w-full items-center justify-center"
476
+ }, /*#__PURE__*/React.createElement(Spinner, null));
477
+ }
478
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TopSection, {
479
+ filterableColumns: filterableColumns,
480
+ filters: filters,
481
+ pageProperties: pageProperties,
482
+ payableEntityColumns: payableEntityColumns,
483
+ searchKeywordProps: searchKeywordProps,
484
+ setFilters: setFilters,
485
+ setIsExportModalOpen: setIsExportModalOpen,
486
+ setPageProperties: setPageProperties,
487
+ setSortProperties: setSortProperties,
488
+ views: views
489
+ }), /*#__PURE__*/React.createElement(List, {
490
+ handleTablePagination: handleTablePagination,
491
+ isFetching: isFetching,
492
+ pageProperties: pageProperties,
493
+ payableEntityColumns: payableEntityColumns,
494
+ refunds: refunds,
495
+ setSortProperties: setSortProperties,
496
+ views: views
497
+ }), /*#__PURE__*/React.createElement(ExportModal, {
498
+ filters: filters,
499
+ isExportModalOpen: isExportModalOpen,
500
+ setIsExportModalOpen: setIsExportModalOpen,
501
+ sortProperties: sortProperties,
502
+ dashboardKind: DASHBOARD_KIND.refunds
503
+ }));
504
+ };
505
+
506
+ export { RefundsDashboard as default };
507
+ //# sourceMappingURL=RefundsDashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RefundsDashboard.js","sources":["../app/javascript/src/apis/refunds.js","../app/javascript/src/hooks/reactQuery/useRefundsApi.js","../app/javascript/src/components/RefundsDashboard/constants.js","../app/javascript/src/components/RefundsDashboard/columns/utils.jsx","../app/javascript/src/components/RefundsDashboard/utils.js","../app/javascript/src/components/RefundsDashboard/List.jsx","../app/javascript/src/components/RefundsDashboard/TopSection.jsx","../app/javascript/src/components/RefundsDashboard/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = payload =>\n axios.get(`${BASE_URL}/api/v1/refunds`, { params: payload });\n\nconst refundsApi = { list };\n\nexport default refundsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport refundsApi from \"apis/refunds\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchRefunds = (payload = {}, options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.REFUNDS_LIST, payload],\n queryFn: () => refundsApi.list(payload),\n ...options,\n });\n","import { t } from \"i18next\";\nimport { toLabelAndValue } from \"neetocist\";\nimport { map } from \"ramda\";\n\nimport { PAYMENT_PROVIDERS } from \"src/constants\";\n\nexport const COLUMNS_STORAGE_KEY = \"refundsDashboard\";\n\nexport const REFUND_DASHBOARD_TAB = {\n all: \"all\",\n successful: \"successful\",\n declined: \"declined\",\n pending: \"pending\",\n};\n\nexport const SEARCH_PROPS = {\n node: \"identifier,\",\n key: \"search_term\",\n model: \"NeetoPaymentsEngine::Refund,\",\n placeholder: t(\"neetoPayments.common.searchByIdentifier\"),\n};\n\nexport const FILTER_COLUMNS = [\n {\n key: \"payment_provider\",\n label: t(\"neetoPayments.common.paymentProvider\"),\n node: \"payment_provider\",\n type: \"single_option\",\n values: map(toLabelAndValue, PAYMENT_PROVIDERS),\n },\n {\n key: \"amount\",\n label: t(\"neetoPayments.common.refundAmount\"),\n node: \"amount\",\n type: \"decimal\",\n },\n {\n key: \"payment_amount\",\n label: t(\"neetoPayments.common.paymentAmount\"),\n node: \"payment.amount\",\n model: \"NeetoPaymentsEngine::Payment\",\n type: \"decimal\",\n },\n {\n key: \"refunded_at\",\n label: t(\"neetoPayments.common.refundTime\"),\n node: \"refunded_at\",\n type: \"date\",\n },\n];\n\nexport const TAG_STYLE = {\n initiated: \"info\",\n declined: \"danger\",\n successful: \"success\",\n refunded: \"secondary\",\n pending: \"warning\",\n};\n","import { t } from \"i18next\";\nimport { snakeToCamelCase, humanize, isPresent } from \"neetocist\";\nimport DateFormat from \"neetomolecules/DateFormat\";\nimport { Button, Tag, Tooltip, Typography } from \"neetoui\";\nimport { curry } from \"ramda\";\n\nimport CopyButtonWrapper from \"components/Common/CopyButtonWrapper\";\nimport { DEFAULT_TAG_STYLE } from \"src/constants\";\nimport { formatAmount, formatCurrency } from \"utils\";\n\nimport { TAG_STYLE } from \"../constants\";\n\nconst renderIdentifier = (identifier, { receiptUrl }) => {\n const isTemporaryIdentifier = identifier?.startsWith(\"temp_\");\n\n if (isTemporaryIdentifier) {\n return (\n <Tooltip\n content={t(\"neetoPayments.tooltipContent.paymentIdentifierUnavailable\")}\n position=\"top\"\n >\n <div className=\"text-center\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.common.notAvailable\")}\n </Typography>\n </div>\n </Tooltip>\n );\n }\n\n return (\n <CopyButtonWrapper content={identifier}>\n <Button\n href={receiptUrl}\n label={identifier}\n size=\"small\"\n style=\"link\"\n target=\"_blank\"\n />\n </CopyButtonWrapper>\n );\n};\n\nconst getTagStyle = status => TAG_STYLE[status] || DEFAULT_TAG_STYLE;\n\nconst preProcessStatus = (type, status, record = {}) => {\n if (type === \"payment\") {\n return record.isRefunded ? \"refunded\" : status;\n }\n\n return snakeToCamelCase(status);\n};\n\nconst renderStatus = curry((type, status, record) => {\n const processedStatus = preProcessStatus(type, status, record);\n\n return (\n <Tooltip\n content={t(`neetoPayments.tooltipContent.${type}.${processedStatus}`)}\n position=\"top\"\n >\n <div className=\"w-fit\">\n <Tag\n style={getTagStyle(processedStatus)}\n label={humanize(\n t(`neetoPayments.tagLabels.${type}.${processedStatus}`)\n )}\n />\n </div>\n </Tooltip>\n );\n});\n\nconst renderDate = date => {\n if (isPresent(date)) {\n return <DateFormat.DateTime {...{ date }} />;\n }\n\n return (\n <Typography style=\"body2\">\n {t(\"neetoPayments.common.notAvailable\")}\n </Typography>\n );\n};\n\nexport const getDefaultColumns = () => [\n {\n title: t(\"neetoPayments.common.id\"),\n dataIndex: \"id\",\n key: \"id\",\n width: 85,\n position: 0,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.identifier\"),\n dataIndex: \"identifier\",\n key: \"identifier\",\n width: 300,\n render: renderIdentifier,\n position: 1,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.provider\"),\n dataIndex: \"paymentProvider\",\n key: \"paymentProvider\",\n width: 150,\n render: humanize,\n position: 2,\n sorter: false,\n },\n {\n title: t(\"neetoPayments.common.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: 200,\n render: renderStatus(\"refund\"),\n sorter: true,\n position: 3,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.refundAmount\"),\n dataIndex: \"amount\",\n key: \"amount\",\n width: 203,\n sorter: true,\n render: formatAmount,\n position: 4,\n },\n {\n title: t(\"neetoPayments.common.paymentAmount\"),\n dataIndex: [\"payment\", \"amount\"],\n key: \"paymentAmount\",\n width: 210,\n sorter: true,\n render: formatAmount,\n position: 4,\n },\n {\n title: t(\"neetoPayments.common.currency\"),\n dataIndex: \"currency\",\n key: \"currency\",\n width: 180,\n sorter: true,\n render: formatCurrency,\n position: 4,\n },\n {\n title: t(\"neetoPayments.common.refundTime\"),\n dataIndex: \"refundedAt\",\n key: \"refundedAt\",\n width: 190,\n render: renderDate,\n sorter: true,\n position: 5,\n },\n {\n title: t(\"neetoPayments.common.paymentIdentifier\"),\n dataIndex: [\"payment\", \"identifier\"],\n key: \"paymentIdentifier\",\n width: 300,\n render: renderIdentifier,\n position: 6,\n },\n];\n","import {\n map,\n prop,\n concat,\n mergeDeepWith,\n mergeLeft,\n isNil,\n reject,\n isEmpty,\n} from \"ramda\";\n\nimport { FILTER_COLUMNS, SEARCH_PROPS } from \"./constants\";\n\nexport const buildSearchProps = (searchProps, searchTerm) =>\n mergeDeepWith(\n concat,\n SEARCH_PROPS,\n mergeLeft({ value: searchTerm.trim() }, searchProps)\n );\n\nexport const buildFilterColumns = (payableEntityColumns = []) =>\n reject(\n isNil,\n concat(FILTER_COLUMNS, map(prop(\"filterProps\"), payableEntityColumns))\n );\n\nexport const buildRowData = ({ refunds, pageProperties = {} }) =>\n refunds?.map((element, index) => ({\n ...element,\n id: isEmpty(pageProperties)\n ? index + 1\n : pageProperties.pageSize * (pageProperties.page - 1) + index + 1,\n }));\n","import { camelToSnakeCase, isNotPresent, isPresent } from \"neetocist\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { useTableConfigurations } from \"neetomolecules/Columns\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table, NoData } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n SORT_DIRECTIONS,\n DEFAULT_SORT_PROPERTIES,\n ASSOCIATED_TABLE_COLUMNS,\n} from \"src/constants\";\nimport { TABLE_KEYS } from \"src/constants/tableKeys\";\nimport { buildDefaultTableColumns, processDataIndex } from \"utils\";\n\nimport { getDefaultColumns } from \"./columns/utils\";\nimport { REFUND_DASHBOARD_TAB } from \"./constants\";\nimport { buildRowData } from \"./utils\";\n\nconst List = ({\n isFetching,\n refunds,\n views,\n payableEntityColumns,\n setSortProperties,\n pageProperties,\n handleTablePagination,\n}) => {\n const { t } = useTranslation();\n const { tab = REFUND_DASHBOARD_TAB.all } = getQueryParams();\n\n const refundsCount = views[tab];\n\n const allColumns = buildDefaultTableColumns({\n payableEntityColumns,\n defaultColumns: getDefaultColumns(),\n isAllTab: tab === REFUND_DASHBOARD_TAB.all,\n });\n\n const { isTableConfigurationLoading, customizedColumns, hideColumn } =\n useTableConfigurations(`${TABLE_KEYS.REFUNDS_TABLE}-${tab}`, allColumns);\n\n const handleTableChange = (_, __, sorter) => {\n const processedDataIndex = camelToSnakeCase(processDataIndex(sorter.field));\n const sortBy = isPresent(ASSOCIATED_TABLE_COLUMNS[processedDataIndex])\n ? ASSOCIATED_TABLE_COLUMNS[processedDataIndex]\n : processedDataIndex;\n\n setSortProperties(\n isPresent(sorter?.column)\n ? { sortBy, orderBy: sorter.order === \"ascend\" ? \"ASC\" : \"DESC\" }\n : DEFAULT_SORT_PROPERTIES\n );\n };\n\n if (isNotPresent(refunds)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={\n tab === REFUND_DASHBOARD_TAB.all\n ? t(\"neetoPayments.emptyState.refund\")\n : t(\"neetoPayments.emptyState.refundWithStatus\", {\n status: tab,\n })\n }\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={refundsCount > pageProperties?.pageSize}>\n <Table\n fixedHeight\n allowRowClick={false}\n columnData={customizedColumns}\n currentPageNumber={pageProperties?.page}\n handlePageChange={handleTablePagination}\n loading={isFetching || isTableConfigurationLoading}\n rowData={buildRowData({ refunds, pageProperties, tab })}\n rowSelection={false}\n sortDirections={SORT_DIRECTIONS}\n totalCount={refundsCount}\n paginationProps={{\n showSizeChanger: true,\n hideOnSinglePage: true,\n pageSize: pageProperties?.pageSize,\n total: refundsCount,\n }}\n onChange={handleTableChange}\n onColumnHide={({ key }) => hideColumn(key)}\n />\n </TableWrapper>\n );\n};\n\nexport default List;\n","import { startTransition, useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { Bar as FiltersBar } from \"neetofilters\";\nimport Header from \"neetomolecules/Header\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Tab, Typography } from \"neetoui\";\nimport { mergeLeft, modify } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { UN_HIDEABLE_COLUMNS } from \"src/constants\";\nimport { TABLE_KEYS } from \"src/constants/tableKeys\";\nimport {\n processDataIndex,\n shouldTabsVisible,\n buildDefaultTableColumns,\n} from \"utils\";\n\nimport { getDefaultColumns } from \"./columns/utils\";\nimport { REFUND_DASHBOARD_TAB } from \"./constants\";\n\nconst TopSection = ({\n views,\n filters,\n setFilters,\n filterableColumns,\n searchKeywordProps,\n payableEntityColumns,\n setIsExportModalOpen,\n}) => {\n const [isFilterPaneOpen, setIsFilterPaneOpen] = useState(false);\n\n const { t } = useTranslation();\n const history = useHistory();\n const { tab = REFUND_DASHBOARD_TAB.all } = getQueryParams();\n\n const refundsCount = views?.[tab];\n const isRefundCountVisible =\n refundsCount > 0 || (refundsCount === 0 && isPresent(filters));\n const isFilterButtonVisible = isRefundCountVisible || isPresent(filters);\n\n const handleFiltersChange = filters => {\n startTransition(() => {\n setFilters(filters);\n });\n };\n\n const handleTabChange = tab => {\n const queryParams = getQueryParams({ toCamelCase: false });\n const newParams = {\n tab,\n page: DEFAULT_PAGE_INDEX,\n page_size: DEFAULT_PAGE_SIZE,\n };\n\n history.push(\n buildUrl(window.location.pathname, mergeLeft(newParams, queryParams))\n );\n };\n\n return (\n <>\n <Header\n title={t(\"neetoPayments.title.refunds\")}\n searchProps={\n isFilterButtonVisible && {\n placeholder: searchKeywordProps.placeholder,\n className: \"w-80\",\n }\n }\n />\n {shouldTabsVisible(views) && (\n <Tab>\n {Object.keys(REFUND_DASHBOARD_TAB).map(item => (\n <Tab.Item\n active={tab === item}\n key={item}\n onClick={() => handleTabChange(item)}\n >\n {t(`neetoPayments.common.${item}`)}\n </Tab.Item>\n ))}\n </Tab>\n )}\n <SubHeader\n className=\"my-4\"\n leftActionBlock={\n isRefundCountVisible && (\n <Typography\n className=\"neeto-ui-gray-800 me-2 font-semibold\"\n component=\"h4\"\n >\n {tab === REFUND_DASHBOARD_TAB.all\n ? t(\"neetoPayments.countOf.refund\", { count: refundsCount })\n : t(\"neetoPayments.countOf.refundWithStatus\", {\n count: refundsCount,\n status: tab,\n })}\n </Typography>\n )\n }\n rightActionBlock={\n isFilterButtonVisible && (\n <SubHeader.RightBlock\n columnsButtonProps={{\n columnData: buildDefaultTableColumns({\n defaultColumns: getDefaultColumns(),\n payableEntityColumns,\n isAllTab: tab === REFUND_DASHBOARD_TAB.all,\n }).map(modify(\"dataIndex\", processDataIndex)),\n fixedColumns: UN_HIDEABLE_COLUMNS,\n tableKey: `${TABLE_KEYS.REFUNDS_TABLE}-${tab}`,\n }}\n downloadButtonProps={{\n onClick: () => setIsExportModalOpen(true),\n }}\n filterProps={{\n columns: filterableColumns,\n isOpen: isFilterPaneOpen,\n keyword: searchKeywordProps,\n setIsOpen: setIsFilterPaneOpen,\n onChange: handleFiltersChange,\n }}\n />\n )\n }\n />\n <FiltersBar\n columns={filterableColumns}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFilterPaneOpen}\n onChange={handleFiltersChange}\n />\n </>\n );\n};\n\nexport default TopSection;\n","import { useEffect, useState } from \"react\";\n\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { Spinner } from \"neetoui\";\nimport { mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport ExportModal from \"components/Common/ExportModal\";\nimport { useFetchRefunds } from \"hooks/reactQuery/useRefundsApi\";\nimport {\n DEFAULT_SORT_PROPERTIES,\n DEFAULT_PAGE_VALUES,\n DASHBOARD_KIND,\n} from \"src/constants\";\n\nimport { REFUND_DASHBOARD_TAB } from \"./constants\";\nimport List from \"./List\";\nimport TopSection from \"./TopSection\";\nimport { buildFilterColumns, buildSearchProps } from \"./utils\";\n\nconst RefundsDashboard = ({\n searchProps,\n payableEntityColumns,\n accountIds,\n}) => {\n const { searchTerm = \"\" } = getQueryParams();\n const filterableColumns = buildFilterColumns(payableEntityColumns);\n const searchKeywordProps = buildSearchProps(searchProps, searchTerm);\n\n const [sortProperties, setSortProperties] = useState(DEFAULT_SORT_PROPERTIES);\n const [pageProperties, setPageProperties] = useState(DEFAULT_PAGE_VALUES);\n const [isExportModalOpen, setIsExportModalOpen] = useState(false);\n const [filters, setFilters] = useState(\n buildFiltersFromURL([...filterableColumns, searchKeywordProps])\n );\n\n const history = useHistory();\n const { tab = REFUND_DASHBOARD_TAB.all } = getQueryParams();\n const payload = {\n tab,\n filters,\n accountIds,\n ...pageProperties,\n ...sortProperties,\n };\n\n const {\n data: { refunds, views } = {},\n isFetching,\n isPending: isRefundsLoading,\n } = useFetchRefunds(payload, { enabled: true });\n\n const handleTablePagination = (page, pageSize) => {\n const queryParams = getQueryParams({ toCamelCase: false });\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page, page_size: pageSize }, queryParams)\n )\n );\n setPageProperties({ page, pageSize });\n };\n\n useEffect(() => {\n handleTablePagination(DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE);\n setSortProperties(DEFAULT_SORT_PROPERTIES);\n }, [filters, tab]);\n\n if (isRefundsLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n <TopSection\n {...{\n filterableColumns,\n filters,\n pageProperties,\n payableEntityColumns,\n searchKeywordProps,\n setFilters,\n setIsExportModalOpen,\n setPageProperties,\n setSortProperties,\n views,\n }}\n />\n <List\n {...{\n handleTablePagination,\n isFetching,\n pageProperties,\n payableEntityColumns,\n refunds,\n setSortProperties,\n views,\n }}\n />\n <ExportModal\n {...{\n filters,\n isExportModalOpen,\n setIsExportModalOpen,\n sortProperties,\n }}\n dashboardKind={DASHBOARD_KIND.refunds}\n />\n </>\n );\n};\n\nexport default RefundsDashboard;\n"],"names":["list","payload","axios","get","concat","BASE_URL","params","refundsApi","useFetchRefunds","arguments","length","undefined","options","useQuery","_objectSpread","queryKey","QUERY_KEYS","REFUNDS_LIST","queryFn","REFUND_DASHBOARD_TAB","all","successful","declined","pending","SEARCH_PROPS","node","key","model","placeholder","t","FILTER_COLUMNS","label","type","values","map","toLabelAndValue","PAYMENT_PROVIDERS","TAG_STYLE","initiated","refunded","renderIdentifier","identifier","_ref","receiptUrl","isTemporaryIdentifier","startsWith","React","createElement","Tooltip","content","position","className","Typography","style","CopyButtonWrapper","Button","href","size","target","getTagStyle","status","DEFAULT_TAG_STYLE","preProcessStatus","record","isRefunded","snakeToCamelCase","renderStatus","curry","processedStatus","Tag","humanize","renderDate","date","isPresent","DateFormat","DateTime","getDefaultColumns","title","dataIndex","width","isHidable","render","sorter","formatAmount","formatCurrency","buildSearchProps","searchProps","searchTerm","mergeDeepWith","mergeLeft","value","trim","buildFilterColumns","payableEntityColumns","reject","isNil","prop","buildRowData","refunds","_ref$pageProperties","pageProperties","element","index","id","isEmpty","pageSize","page","List","isFetching","views","setSortProperties","handleTablePagination","_useTranslation","useTranslation","_getQueryParams","getQueryParams","_getQueryParams$tab","tab","refundsCount","allColumns","buildDefaultTableColumns","defaultColumns","isAllTab","_useTableConfiguratio","useTableConfigurations","TABLE_KEYS","REFUNDS_TABLE","isTableConfigurationLoading","customizedColumns","hideColumn","handleTableChange","_","__","processedDataIndex","camelToSnakeCase","processDataIndex","field","sortBy","ASSOCIATED_TABLE_COLUMNS","column","orderBy","order","DEFAULT_SORT_PROPERTIES","isNotPresent","NoData","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","columnData","currentPageNumber","handlePageChange","loading","rowData","rowSelection","sortDirections","SORT_DIRECTIONS","totalCount","paginationProps","showSizeChanger","hideOnSinglePage","total","onChange","onColumnHide","_ref2","TopSection","filters","setFilters","filterableColumns","searchKeywordProps","setIsExportModalOpen","_useState","useState","_useState2","_slicedToArray","isFilterPaneOpen","setIsFilterPaneOpen","history","useHistory","isRefundCountVisible","isFilterButtonVisible","handleFiltersChange","startTransition","handleTabChange","queryParams","toCamelCase","newParams","DEFAULT_PAGE_INDEX","page_size","DEFAULT_PAGE_SIZE","push","buildUrl","window","location","pathname","Fragment","Header","shouldTabsVisible","Tab","Object","keys","item","Item","active","onClick","SubHeader","leftActionBlock","component","count","rightActionBlock","RightBlock","columnsButtonProps","modify","fixedColumns","UN_HIDEABLE_COLUMNS","tableKey","downloadButtonProps","filterProps","columns","isOpen","keyword","setIsOpen","FiltersBar","setIsPaneOpen","RefundsDashboard","accountIds","_getQueryParams$searc","sortProperties","_useState3","DEFAULT_PAGE_VALUES","_useState4","setPageProperties","_useState5","_useState6","isExportModalOpen","_useState7","buildFiltersFromURL","_toConsumableArray","_useState8","_getQueryParams2","_getQueryParams2$tab","_useFetchRefunds","enabled","_useFetchRefunds$data","data","_useFetchRefunds$data2","isRefundsLoading","isPending","useEffect","Spinner","ExportModal","dashboardKind","DASHBOARD_KIND"],"mappings":"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"}