@bigbinary/neeto-payments-frontend 1.4.18 → 1.4.19

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 (153) hide show
  1. package/dist/AccountsDashboard.js +472 -0
  2. package/dist/AccountsDashboard.js.map +1 -0
  3. package/dist/Dashboard.js +597 -0
  4. package/dist/Dashboard.js.map +1 -0
  5. package/dist/ExportModal-a00544db.js +643 -0
  6. package/dist/ExportModal-a00544db.js.map +1 -0
  7. package/dist/IdentifierButton-73cadb18.js +20 -0
  8. package/dist/IdentifierButton-73cadb18.js.map +1 -0
  9. package/dist/PaymentKindRestrictionAlert.js +34 -0
  10. package/dist/PaymentKindRestrictionAlert.js.map +1 -0
  11. package/dist/PayoutsDashboard.js +502 -0
  12. package/dist/PayoutsDashboard.js.map +1 -0
  13. package/dist/PayoutsPage.js +184 -0
  14. package/dist/PayoutsPage.js.map +1 -0
  15. package/dist/RazorpayDashboard.js +246 -0
  16. package/dist/RazorpayDashboard.js.map +1 -0
  17. package/dist/RazorpayPaymentButton.js +108 -0
  18. package/dist/RazorpayPaymentButton.js.map +1 -0
  19. package/dist/SquareCard.js +65 -0
  20. package/dist/SquareCard.js.map +1 -0
  21. package/dist/SquareDashboard.js +294 -0
  22. package/dist/SquareDashboard.js.map +1 -0
  23. package/dist/StripeConnect.js +2067 -0
  24. package/dist/StripeConnect.js.map +1 -0
  25. package/dist/UpiConnect.js +148 -0
  26. package/dist/UpiConnect.js.map +1 -0
  27. package/dist/UpiMarkAsPaidButton.js +39 -0
  28. package/dist/UpiMarkAsPaidButton.js.map +1 -0
  29. package/dist/UpiPayment.js +91 -0
  30. package/dist/UpiPayment.js.map +1 -0
  31. package/dist/V2PaymentsDashboard.js +298 -0
  32. package/dist/V2PaymentsDashboard.js.map +1 -0
  33. package/dist/buildStripeTransactionLink.js +6 -0
  34. package/dist/buildStripeTransactionLink.js.map +1 -0
  35. package/dist/cjs/AccountsDashboard.js +489 -0
  36. package/dist/cjs/AccountsDashboard.js.map +1 -0
  37. package/dist/cjs/Dashboard.js +612 -0
  38. package/dist/cjs/Dashboard.js.map +1 -0
  39. package/dist/cjs/ExportModal-408e0ed8.js +667 -0
  40. package/dist/cjs/ExportModal-408e0ed8.js.map +1 -0
  41. package/dist/cjs/IdentifierButton-40b5459d.js +27 -0
  42. package/dist/cjs/IdentifierButton-40b5459d.js.map +1 -0
  43. package/dist/cjs/PaymentKindRestrictionAlert.js +41 -0
  44. package/dist/cjs/PaymentKindRestrictionAlert.js.map +1 -0
  45. package/dist/cjs/PayoutsDashboard.js +518 -0
  46. package/dist/cjs/PayoutsDashboard.js.map +1 -0
  47. package/dist/cjs/PayoutsPage.js +193 -0
  48. package/dist/cjs/PayoutsPage.js.map +1 -0
  49. package/dist/cjs/RazorpayDashboard.js +257 -0
  50. package/dist/cjs/RazorpayDashboard.js.map +1 -0
  51. package/dist/cjs/RazorpayPaymentButton.js +115 -0
  52. package/dist/cjs/RazorpayPaymentButton.js.map +1 -0
  53. package/dist/cjs/SquareCard.js +73 -0
  54. package/dist/cjs/SquareCard.js.map +1 -0
  55. package/dist/cjs/SquareDashboard.js +305 -0
  56. package/dist/cjs/SquareDashboard.js.map +1 -0
  57. package/dist/cjs/StripeConnect.js +2102 -0
  58. package/dist/cjs/StripeConnect.js.map +1 -0
  59. package/dist/cjs/UpiConnect.js +181 -0
  60. package/dist/cjs/UpiConnect.js.map +1 -0
  61. package/dist/cjs/UpiMarkAsPaidButton.js +46 -0
  62. package/dist/cjs/UpiMarkAsPaidButton.js.map +1 -0
  63. package/dist/cjs/UpiPayment.js +121 -0
  64. package/dist/cjs/UpiPayment.js.map +1 -0
  65. package/dist/cjs/V2PaymentsDashboard.js +309 -0
  66. package/dist/cjs/V2PaymentsDashboard.js.map +1 -0
  67. package/dist/cjs/buildStripeTransactionLink.js +11 -0
  68. package/dist/cjs/buildStripeTransactionLink.js.map +1 -0
  69. package/dist/cjs/constants.js +495 -0
  70. package/dist/cjs/constants.js.map +1 -0
  71. package/dist/cjs/exportChannel-e4cc2bb1.js +37 -0
  72. package/dist/cjs/exportChannel-e4cc2bb1.js.map +1 -0
  73. package/dist/cjs/extends-1b35a664.js +19 -0
  74. package/dist/cjs/extends-1b35a664.js.map +1 -0
  75. package/dist/cjs/index-042b6907.js.map +1 -0
  76. package/dist/cjs/index-b097dce8.js +41 -0
  77. package/dist/cjs/index-b097dce8.js.map +1 -0
  78. package/dist/cjs/index-b7badf96.js +88 -0
  79. package/dist/cjs/index-b7badf96.js.map +1 -0
  80. package/dist/cjs/index.js +106 -0
  81. package/dist/cjs/index.js.map +1 -0
  82. package/dist/cjs/queryConstants-a6a3c360.js +26 -0
  83. package/dist/cjs/queryConstants-a6a3c360.js.map +1 -0
  84. package/dist/cjs/renderFunctions-5e706b7a.js +168 -0
  85. package/dist/cjs/renderFunctions-5e706b7a.js.map +1 -0
  86. package/dist/cjs/stripe.esm-4218a1e9.js.map +1 -0
  87. package/dist/cjs/useConnectApi-b8770f71.js +2170 -0
  88. package/dist/cjs/useConnectApi-b8770f71.js.map +1 -0
  89. package/dist/cjs/useFiltersAndPagination-a5f10d80.js +410 -0
  90. package/dist/cjs/useFiltersAndPagination-a5f10d80.js.map +1 -0
  91. package/dist/cjs/usePaymentApi-a0b4ea86.js +41 -0
  92. package/dist/cjs/usePaymentApi-a0b4ea86.js.map +1 -0
  93. package/dist/cjs/usePaymentsApi-5eba9184.js +30 -0
  94. package/dist/cjs/usePaymentsApi-5eba9184.js.map +1 -0
  95. package/dist/cjs/usePlatformApi-c77f6fdd.js +89 -0
  96. package/dist/cjs/usePlatformApi-c77f6fdd.js.map +1 -0
  97. package/dist/cjs/useRazorpayPayment.js +87 -0
  98. package/dist/cjs/useRazorpayPayment.js.map +1 -0
  99. package/dist/cjs/useSquareCard.js +32 -0
  100. package/dist/cjs/useSquareCard.js.map +1 -0
  101. package/dist/cjs/useStripePromise.js +27 -0
  102. package/dist/cjs/useStripePromise.js.map +1 -0
  103. package/dist/constants.js +480 -0
  104. package/dist/constants.js.map +1 -0
  105. package/dist/exportChannel-e0822151.js +30 -0
  106. package/dist/exportChannel-e0822151.js.map +1 -0
  107. package/dist/extends-093996c9.js +17 -0
  108. package/dist/extends-093996c9.js.map +1 -0
  109. package/dist/index-1aedc364.js +80 -0
  110. package/dist/index-1aedc364.js.map +1 -0
  111. package/dist/index-48f8b281.js +32 -0
  112. package/dist/index-48f8b281.js.map +1 -0
  113. package/dist/index.js +80 -10090
  114. package/dist/index.js.map +1 -1
  115. package/dist/queryConstants-9b7fe0cf.js +24 -0
  116. package/dist/queryConstants-9b7fe0cf.js.map +1 -0
  117. package/dist/renderFunctions-5f829290.js +147 -0
  118. package/dist/renderFunctions-5f829290.js.map +1 -0
  119. package/dist/useConnectApi-185a67ad.js +2155 -0
  120. package/dist/useConnectApi-185a67ad.js.map +1 -0
  121. package/dist/useFiltersAndPagination-e5dc4b96.js +392 -0
  122. package/dist/useFiltersAndPagination-e5dc4b96.js.map +1 -0
  123. package/dist/usePaymentApi-8b68e636.js +34 -0
  124. package/dist/usePaymentApi-8b68e636.js.map +1 -0
  125. package/dist/usePaymentsApi-c1c0e6ab.js +23 -0
  126. package/dist/usePaymentsApi-c1c0e6ab.js.map +1 -0
  127. package/dist/usePlatformApi-5dba6b28.js +77 -0
  128. package/dist/usePlatformApi-5dba6b28.js.map +1 -0
  129. package/dist/useRazorpayPayment.js +85 -0
  130. package/dist/useRazorpayPayment.js.map +1 -0
  131. package/dist/useSquareCard.js +30 -0
  132. package/dist/useSquareCard.js.map +1 -0
  133. package/dist/useStripePromise.js +25 -0
  134. package/dist/useStripePromise.js.map +1 -0
  135. package/package.json +17 -8
  136. package/types/AccountsDashboard.d.ts +3 -0
  137. package/types/Dashboard.d.ts +15 -0
  138. package/types/PaymentKindRestrictionAlert.d.ts +11 -0
  139. package/types/PayoutsDashboard.d.ts +10 -0
  140. package/types/PayoutsPage.d.ts +11 -0
  141. package/types/SquareCard.d.ts +14 -0
  142. package/types/SquareDashboard.d.ts +13 -0
  143. package/types/StripeConnect.d.ts +13 -0
  144. package/types/buildStripeTransactionLink.d.ts +6 -0
  145. package/types/useSquareCard.d.ts +9 -0
  146. package/types/useStripePromise.d.ts +5 -0
  147. package/types.d.ts +11 -75
  148. package/dist/index-042b6907.js.map +0 -1
  149. package/dist/index.cjs.js +0 -10166
  150. package/dist/index.cjs.js.map +0 -1
  151. package/dist/stripe.esm-4218a1e9.js.map +0 -1
  152. /package/dist/{index-042b6907.js → cjs/index-042b6907.js} +0 -0
  153. /package/dist/{stripe.esm-4218a1e9.js → cjs/stripe.esm-4218a1e9.js} +0 -0
@@ -0,0 +1,667 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var neetoIcons = require('@bigbinary/neeto-icons');
5
+ var Button = require('@bigbinary/neetoui/Button');
6
+ var Modal = require('@bigbinary/neetoui/Modal');
7
+ var Typography = require('@bigbinary/neetoui/Typography');
8
+ var reactI18next = require('react-i18next');
9
+ var reactQuery = require('react-query');
10
+ var axios = require('axios');
11
+ var constants = require('./constants.js');
12
+ var exportChannel = require('./exportChannel-e4cc2bb1.js');
13
+ var index = require('./index-b097dce8.js');
14
+ var neetoCist = require('@bigbinary/neeto-cist');
15
+ var ramda = require('ramda');
16
+ var i18next = require('i18next');
17
+ var Tag = require('@bigbinary/neetoui/Tag');
18
+ var Tooltip = require('@bigbinary/neetoui/Tooltip');
19
+ var renderFunctions = require('./renderFunctions-5e706b7a.js');
20
+ var IdentifierButton = require('./IdentifierButton-40b5459d.js');
21
+ var index$1 = require('./index-b7badf96.js');
22
+
23
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
24
+
25
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
26
+ var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
27
+ var Modal__default = /*#__PURE__*/_interopDefaultLegacy(Modal);
28
+ var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
29
+ var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
30
+ var Tag__default = /*#__PURE__*/_interopDefaultLegacy(Tag);
31
+ var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
32
+
33
+ const exportData = payload => axios__default["default"].post(`${constants.BASE_URL}/api/v1/razorpay/exports`, payload);
34
+ const exportsApi = {
35
+ exportData
36
+ };
37
+
38
+ const useExportRazorpayData = () => reactQuery.useMutation(payload => exportsApi.exportData(payload));
39
+
40
+ const renderIdentifier = function () {
41
+ let {
42
+ identifier = "",
43
+ live: isLive = false
44
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
45
+ return /*#__PURE__*/React__default["default"].createElement(renderFunctions.CopyButtonWrapper, {
46
+ content: identifier
47
+ }, /*#__PURE__*/React__default["default"].createElement(IdentifierButton.IdentifierButton, {
48
+ href: index.buildStripeTransactionLink(identifier, isLive),
49
+ label: identifier
50
+ }));
51
+ };
52
+ ramda.curry((type, kind) => /*#__PURE__*/React__default["default"].createElement(Tooltip__default["default"], {
53
+ content: i18next.t(`neetoPayments.tooltipContent.${type}.${kind}`),
54
+ position: "top"
55
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
56
+ className: "w-fit"
57
+ }, /*#__PURE__*/React__default["default"].createElement(Tag__default["default"], {
58
+ label: i18next.t(`neetoPayments.tagLabels.${type}.${kind}`),
59
+ style: "secondary"
60
+ }))));
61
+ const renderSplitIdentifier = _ref => {
62
+ let {
63
+ identifier,
64
+ live: isLive
65
+ } = _ref;
66
+ return identifier ? /*#__PURE__*/React__default["default"].createElement(renderFunctions.CopyButtonWrapper, {
67
+ content: identifier
68
+ }, /*#__PURE__*/React__default["default"].createElement(IdentifierButton.IdentifierButton, {
69
+ href: index.buildStripeSplitLink(identifier, isLive),
70
+ label: identifier
71
+ })) : /*#__PURE__*/React__default["default"].createElement(Tooltip__default["default"], {
72
+ content: i18next.t("neetoPayments.tooltipContent.identifierUnavailable"),
73
+ position: "top"
74
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
75
+ className: "text-center"
76
+ }, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
77
+ style: "body2"
78
+ }, i18next.t("neetoPayments.common.notAvailable"))));
79
+ };
80
+ const renderTransferIdentifier = function () {
81
+ let {
82
+ identifier = "",
83
+ account = {},
84
+ live: isLive = false
85
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
86
+ return identifier ? /*#__PURE__*/React__default["default"].createElement(renderFunctions.CopyButtonWrapper, {
87
+ content: identifier
88
+ }, /*#__PURE__*/React__default["default"].createElement(IdentifierButton.IdentifierButton, {
89
+ label: identifier,
90
+ href: identifier.startsWith("py") ? index.buildStripeTransferLink(identifier, account?.identifier, isLive) : index.buildStripeTransactionLink(identifier, isLive)
91
+ })) : /*#__PURE__*/React__default["default"].createElement("div", {
92
+ className: "text-center"
93
+ }, /*#__PURE__*/React__default["default"].createElement(Tooltip__default["default"], {
94
+ position: "top",
95
+ content: i18next.t("neetoPayments.tooltipContent.connectedTransactionUnavailable")
96
+ }, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
97
+ style: "body2"
98
+ }, i18next.t("neetoPayments.common.notAvailable"))));
99
+ };
100
+ const renderPlatformIdentifier = ramda.curry((setPaneStatus, data) => /*#__PURE__*/React__default["default"].createElement(renderFunctions.CopyButtonWrapper, {
101
+ content: data?.identifier
102
+ }, /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
103
+ label: data?.identifier,
104
+ size: "small",
105
+ style: "link",
106
+ onClick: () => setPaneStatus({
107
+ transactionId: data?.id,
108
+ isOpen: true
109
+ })
110
+ })));
111
+ const renderAccountIdentifier = _ref2 => {
112
+ let {
113
+ identifier = "",
114
+ live: isLive = false
115
+ } = _ref2;
116
+ return /*#__PURE__*/React__default["default"].createElement(renderFunctions.CopyButtonWrapper, {
117
+ content: identifier
118
+ }, /*#__PURE__*/React__default["default"].createElement(IdentifierButton.IdentifierButton, {
119
+ href: index.buildStripeAccountLink(identifier, isLive),
120
+ label: identifier
121
+ }));
122
+ };
123
+ const renderSplitDate = date => neetoCist.isPresent(date) ? renderFunctions.renderDate(date) : /*#__PURE__*/React__default["default"].createElement(Tooltip__default["default"], {
124
+ content: i18next.t("neetoPayments.tooltipContent.dateUnavailable"),
125
+ position: "top"
126
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
127
+ className: "text-center"
128
+ }, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
129
+ style: "body2"
130
+ }, i18next.t("neetoPayments.common.notAvailable"))));
131
+ const renderRefundIdentifier = function () {
132
+ let {
133
+ identifier = "",
134
+ live: isLive = false
135
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
136
+ return /*#__PURE__*/React__default["default"].createElement(renderFunctions.CopyButtonWrapper, {
137
+ content: identifier
138
+ }, /*#__PURE__*/React__default["default"].createElement(IdentifierButton.IdentifierButton, {
139
+ href: index.buildStripeRefundLink(identifier, isLive),
140
+ label: identifier
141
+ }));
142
+ };
143
+
144
+ const generateSpecialColumns = _ref => {
145
+ let {
146
+ setPaneStatus
147
+ } = _ref;
148
+ return [{
149
+ title: i18next.t("neetoPayments.common.platformTransaction"),
150
+ dataIndex: "paymentIntent",
151
+ key: "paymentIntent",
152
+ width: "290px",
153
+ position: 9,
154
+ render: renderPlatformIdentifier(setPaneStatus)
155
+ }];
156
+ };
157
+
158
+ const COLUMNS = [{
159
+ title: i18next.t("neetoPayments.common.id"),
160
+ dataIndex: "id",
161
+ key: "id",
162
+ width: "72px",
163
+ position: 0,
164
+ isHidable: false
165
+ }, {
166
+ title: i18next.t("neetoPayments.common.identifier"),
167
+ dataIndex: "identifier",
168
+ key: "identifier",
169
+ width: "300px",
170
+ render: renderIdentifier,
171
+ position: 1,
172
+ isHidable: false
173
+ }, {
174
+ title: i18next.t("neetoPayments.common.identifier"),
175
+ dataIndex: "identifier",
176
+ key: "splitIdentifier",
177
+ width: "300px",
178
+ render: renderSplitIdentifier,
179
+ position: 1,
180
+ isHidable: false
181
+ }, {
182
+ title: i18next.t("neetoPayments.common.identifier"),
183
+ dataIndex: "identifier",
184
+ key: "refundIdentifier",
185
+ width: "300px",
186
+ render: renderRefundIdentifier,
187
+ position: 1,
188
+ isHidable: false
189
+ }, {
190
+ title: i18next.t("neetoPayments.common.identifier"),
191
+ dataIndex: "identifier",
192
+ key: "transferIdentifier",
193
+ width: "300px",
194
+ render: renderTransferIdentifier,
195
+ position: 1,
196
+ isHidable: false
197
+ }, {
198
+ title: i18next.t("neetoPayments.common.status"),
199
+ dataIndex: "status",
200
+ key: "status",
201
+ width: "150px",
202
+ render: renderFunctions.renderStatus("transaction"),
203
+ sorter: true,
204
+ position: 2,
205
+ isHidable: false
206
+ }, {
207
+ title: i18next.t("neetoPayments.common.amount"),
208
+ dataIndex: "amount",
209
+ key: "amount",
210
+ width: "150px",
211
+ sorter: true,
212
+ position: 3
213
+ }, {
214
+ title: i18next.t("neetoPayments.common.platformSplitAmount"),
215
+ dataIndex: "platformSplitAmount",
216
+ key: "platformSplitAmount",
217
+ width: "280px",
218
+ position: 3
219
+ }, {
220
+ title: i18next.t("neetoPayments.common.paymentTime"),
221
+ dataIndex: "paymentAt",
222
+ key: "paymentTime",
223
+ width: "220px",
224
+ render: renderFunctions.renderDate,
225
+ sorter: true,
226
+ position: 5
227
+ }, {
228
+ title: i18next.t("neetoPayments.common.refundTime"),
229
+ dataIndex: "refunds",
230
+ key: "refundsTime",
231
+ width: "220px",
232
+ render: function () {
233
+ let refunds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
234
+ return renderFunctions.renderDate(refunds[0]?.updatedAt);
235
+ },
236
+ position: 6
237
+ }, {
238
+ title: i18next.t("neetoPayments.common.status"),
239
+ dataIndex: "status",
240
+ width: "150px",
241
+ key: "refundStatus",
242
+ render: renderFunctions.renderStatus("refund"),
243
+ sorter: true,
244
+ position: 3,
245
+ isHidable: false
246
+ }, {
247
+ title: i18next.t("neetoPayments.common.paymentAmount"),
248
+ dataIndex: "paymentAmount",
249
+ key: "paymentAmount",
250
+ width: "240px",
251
+ sorter: true,
252
+ position: 4
253
+ }, {
254
+ title: i18next.t("neetoPayments.common.refundAmount"),
255
+ dataIndex: "amount",
256
+ key: "refundAmount",
257
+ width: "200px",
258
+ sorter: true,
259
+ position: 3
260
+ }, {
261
+ title: i18next.t("neetoPayments.common.refundTime"),
262
+ dataIndex: "updatedAt",
263
+ key: "refundTime",
264
+ width: "220px",
265
+ render: renderFunctions.renderDate,
266
+ sorter: true,
267
+ position: 9
268
+ }, {
269
+ title: i18next.t("neetoPayments.common.status"),
270
+ dataIndex: "status",
271
+ key: "splitStatus",
272
+ width: "150px",
273
+ render: renderFunctions.renderStatus("split"),
274
+ sorter: true,
275
+ position: 3,
276
+ isHidable: false
277
+ }, {
278
+ title: i18next.t("neetoPayments.common.transferTime"),
279
+ key: "splitTime",
280
+ dataIndex: "paymentAt",
281
+ width: "220px",
282
+ render: renderSplitDate,
283
+ sorter: true,
284
+ position: 7
285
+ }, {
286
+ title: i18next.t("neetoPayments.common.paymentIdentifier"),
287
+ key: "refundPaymentIdentifier",
288
+ dataIndex: "transaction",
289
+ width: "300px",
290
+ render: renderTransferIdentifier,
291
+ position: 8
292
+ }, {
293
+ title: i18next.t("neetoPayments.common.connectedTransaction"),
294
+ dataIndex: "connectedPayment",
295
+ key: "connectedPayment",
296
+ width: "300px",
297
+ render: renderTransferIdentifier,
298
+ position: 9
299
+ }, {
300
+ title: i18next.t("neetoPayments.common.accountIdentifier"),
301
+ dataIndex: "account",
302
+ key: "destinationAccount",
303
+ width: "160px",
304
+ render: renderAccountIdentifier,
305
+ position: 10
306
+ }];
307
+ const COLUMN_METADATA = {
308
+ identifier: {
309
+ isHidden: {
310
+ split: true,
311
+ transfer: true,
312
+ refund: true
313
+ }
314
+ },
315
+ amount: {
316
+ isHidden: {
317
+ refund: true
318
+ }
319
+ },
320
+ paymentTime: {
321
+ isHidden: {
322
+ refund: true,
323
+ split: true
324
+ }
325
+ },
326
+ splitIdentifier: {
327
+ isHidden: {
328
+ platform: true,
329
+ refund: true,
330
+ connected: true,
331
+ transfer: true,
332
+ pending: true
333
+ }
334
+ },
335
+ transferIdentifier: {
336
+ isHidden: {
337
+ platform: true,
338
+ split: true,
339
+ connected: true,
340
+ refund: true
341
+ }
342
+ },
343
+ platformSplitAmount: {
344
+ isHidden: {
345
+ platform: true,
346
+ connected: true,
347
+ transfer: true,
348
+ refund: true
349
+ }
350
+ },
351
+ status: {
352
+ isHidden: {
353
+ refund: true,
354
+ split: true,
355
+ declined: true,
356
+ pending: true,
357
+ successful: true,
358
+ refunded: true
359
+ }
360
+ },
361
+ refundStatus: {
362
+ isHidden: {
363
+ platform: true,
364
+ split: true,
365
+ connected: true,
366
+ transfer: true,
367
+ failed: true,
368
+ pending: true,
369
+ successful: true
370
+ }
371
+ },
372
+ refundAmount: {
373
+ isHidden: {
374
+ platform: true,
375
+ split: true,
376
+ connected: true,
377
+ transfer: true
378
+ }
379
+ },
380
+ refundTime: {
381
+ isHidden: {
382
+ platform: true,
383
+ split: true,
384
+ connected: true,
385
+ transfer: true
386
+ }
387
+ },
388
+ splitStatus: {
389
+ isHidden: {
390
+ platform: true,
391
+ refund: true,
392
+ connected: true,
393
+ transfer: true,
394
+ declined: true,
395
+ pending: true,
396
+ successful: true,
397
+ cancelled: true
398
+ }
399
+ },
400
+ splitTime: {
401
+ isHidden: {
402
+ platform: true,
403
+ refund: true,
404
+ connected: true,
405
+ transfer: true
406
+ }
407
+ },
408
+ paymentIntent: {
409
+ isHidden: {
410
+ platform: true,
411
+ refund: true,
412
+ connected: true,
413
+ transfer: true
414
+ }
415
+ },
416
+ connectedPayment: {
417
+ isHidden: {
418
+ platform: true,
419
+ refund: true,
420
+ connected: true,
421
+ transfer: true,
422
+ pending: true
423
+ }
424
+ },
425
+ refundPaymentIdentifier: {
426
+ isHidden: {
427
+ platform: true,
428
+ split: true,
429
+ connected: true,
430
+ transfer: true
431
+ }
432
+ },
433
+ refundIdentifier: {
434
+ isHidden: {
435
+ platform: true,
436
+ split: true,
437
+ connected: true,
438
+ transfer: true
439
+ }
440
+ },
441
+ destinationAccount: {
442
+ isHidden: {
443
+ platform: true,
444
+ refund: true,
445
+ connected: true,
446
+ transfer: true
447
+ }
448
+ },
449
+ paymentAmount: {
450
+ isHidden: {
451
+ platform: true,
452
+ split: true,
453
+ connected: true,
454
+ transfer: true
455
+ }
456
+ },
457
+ refundsTime: {
458
+ isHidden: {
459
+ split: true,
460
+ all: true,
461
+ declined: true,
462
+ pending: true,
463
+ successful: true
464
+ }
465
+ }
466
+ };
467
+ const FILTER_COLUMNS = [{
468
+ key: "amount",
469
+ label: i18next.t("neetoPayments.common.amount"),
470
+ node: "amount",
471
+ type: "decimal",
472
+ showRuleSelector: true
473
+ }, {
474
+ key: "payment_amount",
475
+ label: i18next.t("neetoPayments.common.paymentAmount"),
476
+ node: "payment_intent.amount",
477
+ model: "NeetoPaymentsEngine::Stripe::Transaction",
478
+ type: "decimal",
479
+ showRuleSelector: true
480
+ }, {
481
+ key: "refund_amount",
482
+ label: i18next.t("neetoPayments.common.refundAmount"),
483
+ node: "amount",
484
+ type: "decimal",
485
+ showRuleSelector: true
486
+ }, {
487
+ key: "payment_time",
488
+ label: i18next.t("neetoPayments.common.paymentTime"),
489
+ node: "payment_at",
490
+ type: "date",
491
+ showRuleSelector: true
492
+ }, {
493
+ key: "refund_time",
494
+ label: i18next.t("neetoPayments.common.refundTime"),
495
+ node: "updated_at",
496
+ type: "date",
497
+ showRuleSelector: true
498
+ }, {
499
+ key: "split_time",
500
+ label: i18next.t("neetoPayments.common.transferTime"),
501
+ node: "payment_at",
502
+ type: "date",
503
+ showRuleSelector: true
504
+ }];
505
+
506
+ const isPlatformKind = ramda.equals(index$1.KIND.platform);
507
+ const isConnectedKind = ramda.equals(index$1.KIND.connected);
508
+ const isSplitKind = ramda.equals(index$1.KIND.split);
509
+ const isTransferKind = ramda.equals(index$1.KIND.transfer);
510
+ const isRefundKind = ramda.equals(index$1.KIND.refund);
511
+ const buildPaymentColumns = _ref => {
512
+ let {
513
+ tab,
514
+ kind,
515
+ payableEntityColumns = [],
516
+ specialColumnArguments = {}
517
+ } = _ref;
518
+ return ramda.sortBy(ramda.prop("position"), COLUMNS.concat(generateSpecialColumns(specialColumnArguments)).filter(_ref2 => {
519
+ let {
520
+ key
521
+ } = _ref2;
522
+ return !(COLUMN_METADATA[key]?.isHidden?.[kind] || COLUMN_METADATA[key]?.isHidden?.[tab]);
523
+ }).concat(payableEntityColumns.filter(_ref3 => {
524
+ let {
525
+ isHidden
526
+ } = _ref3;
527
+ return !(isHidden?.[tab] || isHidden?.[kind]);
528
+ })));
529
+ };
530
+ const buildFilterColumns = function (tab, kind) {
531
+ let payableEntityColumns = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
532
+ const filterColumns = FILTER_COLUMNS.filter(_ref4 => {
533
+ let {
534
+ key
535
+ } = _ref4;
536
+ return !COLUMN_METADATA[neetoCist.snakeToCamelCase(key)]?.isHidden?.[kind];
537
+ });
538
+ return ramda.concat(filterColumns, ramda.map(ramda.prop("filterProps"), neetoCist.filterBy({
539
+ isFilterable: true,
540
+ isHidden: isHidden => !(isHidden?.[tab] || isHidden?.[kind])
541
+ }, payableEntityColumns)));
542
+ };
543
+ const processResponse = (data, kind) => {
544
+ if (isSplitKind(kind)) return data?.splits;
545
+ if (isRefundKind(kind)) return data?.refunds;
546
+ return data?.transactions;
547
+ };
548
+ const modifySearchProps = _ref5 => {
549
+ let {
550
+ searchProps,
551
+ kind
552
+ } = _ref5;
553
+ return ramda.evolve({
554
+ node: ramda.concat(index$1.APPENDABLE_SEARCH_PROPS[kind]?.node),
555
+ model: ramda.concat(index$1.APPENDABLE_SEARCH_PROPS[kind]?.model)
556
+ }, searchProps);
557
+ };
558
+
559
+ const ExportModal = _ref => {
560
+ let {
561
+ showExportModal,
562
+ setShowExportModal,
563
+ kind,
564
+ tab,
565
+ filters,
566
+ holdableId,
567
+ sortProperties = {}
568
+ } = _ref;
569
+ const {
570
+ t
571
+ } = reactI18next.useTranslation();
572
+ const [downloadUrl, setDownloadUrl] = React.useState("");
573
+ const [isGenerating, setIsGenerating] = React.useState(false);
574
+ const {
575
+ mutate: exportRazorpayPaymentsCsv,
576
+ isLoading: isRazorpayLoading
577
+ } = useExportRazorpayData();
578
+ const {
579
+ mutate: exportCsv,
580
+ isLoading
581
+ } = exportChannel.useExportData();
582
+ const isFileLoading = isLoading || isGenerating || isRazorpayLoading;
583
+ const token = React.useMemo(() => `${kind}-report-${index.uuidV4()}`, [kind]);
584
+ const receivedCallback = data => {
585
+ if (!data.download_url) return;
586
+ setDownloadUrl(data.download_url);
587
+ setIsGenerating(false);
588
+ };
589
+ const handleGenerateClick = () => {
590
+ const payload = {
591
+ kind: isTransferKind(kind) ? "connected" : kind,
592
+ token,
593
+ filters,
594
+ tab,
595
+ holdableId,
596
+ ...sortProperties
597
+ };
598
+ if (kind === "razorpayPayment") {
599
+ return exportRazorpayPaymentsCsv(payload, {
600
+ onSuccess: () => {
601
+ setDownloadUrl("");
602
+ setIsGenerating(true);
603
+ }
604
+ });
605
+ }
606
+ return exportCsv(payload, {
607
+ onSuccess: () => {
608
+ setDownloadUrl("");
609
+ setIsGenerating(true);
610
+ }
611
+ });
612
+ };
613
+ React.useEffect(() => {
614
+ if (showExportModal) {
615
+ const channel = exportChannel.exportChannel(token, receivedCallback);
616
+ setDownloadUrl("");
617
+ setIsGenerating(false);
618
+ return () => {
619
+ channel.disconnected();
620
+ };
621
+ }
622
+ return undefined;
623
+ }, [showExportModal, token]);
624
+ const onClose = () => setShowExportModal(false);
625
+ return /*#__PURE__*/React__default["default"].createElement(Modal__default["default"], {
626
+ onClose,
627
+ isOpen: showExportModal
628
+ }, /*#__PURE__*/React__default["default"].createElement(Modal__default["default"].Header, null, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
629
+ style: "h2"
630
+ }, t(`neetoPayments.export.title.${kind}`))), /*#__PURE__*/React__default["default"].createElement(Modal__default["default"].Body, null, isFileLoading ? /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
631
+ style: "body2"
632
+ }, t("neetoPayments.export.pleaseWait")) : /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
633
+ style: "body2"
634
+ }, downloadUrl ? t("neetoPayments.export.fileReady") : t(`neetoPayments.export.download.${kind}`))), /*#__PURE__*/React__default["default"].createElement(Modal__default["default"].Footer, {
635
+ className: "space-x-2"
636
+ }, downloadUrl ? /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
637
+ href: downloadUrl,
638
+ icon: neetoIcons.Download,
639
+ label: t("neetoPayments.common.download"),
640
+ onClick: onClose
641
+ }) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
642
+ disabled: isFileLoading,
643
+ label: t("neetoPayments.common.cancel"),
644
+ style: "tertiary",
645
+ onClick: onClose
646
+ }), /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
647
+ disabled: isFileLoading,
648
+ label: t("neetoPayments.common.export"),
649
+ loading: isFileLoading,
650
+ onClick: handleGenerateClick
651
+ }))));
652
+ };
653
+
654
+ exports.ExportModal = ExportModal;
655
+ exports.buildFilterColumns = buildFilterColumns;
656
+ exports.buildPaymentColumns = buildPaymentColumns;
657
+ exports.isConnectedKind = isConnectedKind;
658
+ exports.isPlatformKind = isPlatformKind;
659
+ exports.isRefundKind = isRefundKind;
660
+ exports.isSplitKind = isSplitKind;
661
+ exports.isTransferKind = isTransferKind;
662
+ exports.modifySearchProps = modifySearchProps;
663
+ exports.processResponse = processResponse;
664
+ exports.renderIdentifier = renderIdentifier;
665
+ exports.renderRefundIdentifier = renderRefundIdentifier;
666
+ exports.renderSplitIdentifier = renderSplitIdentifier;
667
+ //# sourceMappingURL=ExportModal-408e0ed8.js.map