@bigbinary/neeto-payments-frontend 3.3.29 → 3.3.31

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 (137) hide show
  1. package/package.json +18 -16
  2. package/dist/AccountsDashboard.js +0 -545
  3. package/dist/AccountsDashboard.js.map +0 -1
  4. package/dist/AdminCancelRecurringPaymentButton.js +0 -79
  5. package/dist/AdminCancelRecurringPaymentButton.js.map +0 -1
  6. package/dist/ConfirmUpiPaymentButton.js +0 -151
  7. package/dist/ConfirmUpiPaymentButton.js.map +0 -1
  8. package/dist/CopyButtonWrapper-SoJkwX-d.js +0 -27
  9. package/dist/CopyButtonWrapper-SoJkwX-d.js.map +0 -1
  10. package/dist/CustomerCancelRecurringPaymentForm.js +0 -111
  11. package/dist/CustomerCancelRecurringPaymentForm.js.map +0 -1
  12. package/dist/ExportModal-DCGDM_Fa.js +0 -131
  13. package/dist/ExportModal-DCGDM_Fa.js.map +0 -1
  14. package/dist/PaymentKindRestrictionAlert.js +0 -39
  15. package/dist/PaymentKindRestrictionAlert.js.map +0 -1
  16. package/dist/PaymentsDashboard.js +0 -586
  17. package/dist/PaymentsDashboard.js.map +0 -1
  18. package/dist/PayoutsDashboard.js +0 -560
  19. package/dist/PayoutsDashboard.js.map +0 -1
  20. package/dist/PayoutsPage.js +0 -163
  21. package/dist/PayoutsPage.js.map +0 -1
  22. package/dist/RazorpayPaymentButton.js +0 -143
  23. package/dist/RazorpayPaymentButton.js.map +0 -1
  24. package/dist/RecurringPaymentSettings.js +0 -132
  25. package/dist/RecurringPaymentSettings.js.map +0 -1
  26. package/dist/RefundsDashboard.js +0 -531
  27. package/dist/RefundsDashboard.js.map +0 -1
  28. package/dist/SplitTransfersDashboard.js +0 -1119
  29. package/dist/SplitTransfersDashboard.js.map +0 -1
  30. package/dist/StripeConnect.js +0 -522
  31. package/dist/StripeConnect.js.map +0 -1
  32. package/dist/TaxesDashboard.js +0 -411
  33. package/dist/TaxesDashboard.js.map +0 -1
  34. package/dist/UpiConnect.js +0 -171
  35. package/dist/UpiConnect.js.map +0 -1
  36. package/dist/UpiPayment.js +0 -120
  37. package/dist/UpiPayment.js.map +0 -1
  38. package/dist/buildStripeTransactionLink.js +0 -11
  39. package/dist/buildStripeTransactionLink.js.map +0 -1
  40. package/dist/cjs/AccountsDashboard.js +0 -547
  41. package/dist/cjs/AccountsDashboard.js.map +0 -1
  42. package/dist/cjs/AdminCancelRecurringPaymentButton.js +0 -81
  43. package/dist/cjs/AdminCancelRecurringPaymentButton.js.map +0 -1
  44. package/dist/cjs/ConfirmUpiPaymentButton.js +0 -172
  45. package/dist/cjs/ConfirmUpiPaymentButton.js.map +0 -1
  46. package/dist/cjs/CopyButtonWrapper-Ds1k64E0.js +0 -30
  47. package/dist/cjs/CopyButtonWrapper-Ds1k64E0.js.map +0 -1
  48. package/dist/cjs/CustomerCancelRecurringPaymentForm.js +0 -113
  49. package/dist/cjs/CustomerCancelRecurringPaymentForm.js.map +0 -1
  50. package/dist/cjs/ExportModal-CPZu2qzb.js +0 -133
  51. package/dist/cjs/ExportModal-CPZu2qzb.js.map +0 -1
  52. package/dist/cjs/PaymentKindRestrictionAlert.js +0 -41
  53. package/dist/cjs/PaymentKindRestrictionAlert.js.map +0 -1
  54. package/dist/cjs/PaymentsDashboard.js +0 -588
  55. package/dist/cjs/PaymentsDashboard.js.map +0 -1
  56. package/dist/cjs/PayoutsDashboard.js +0 -562
  57. package/dist/cjs/PayoutsDashboard.js.map +0 -1
  58. package/dist/cjs/PayoutsPage.js +0 -165
  59. package/dist/cjs/PayoutsPage.js.map +0 -1
  60. package/dist/cjs/RazorpayPaymentButton.js +0 -145
  61. package/dist/cjs/RazorpayPaymentButton.js.map +0 -1
  62. package/dist/cjs/RecurringPaymentSettings.js +0 -153
  63. package/dist/cjs/RecurringPaymentSettings.js.map +0 -1
  64. package/dist/cjs/RefundsDashboard.js +0 -533
  65. package/dist/cjs/RefundsDashboard.js.map +0 -1
  66. package/dist/cjs/SplitTransfersDashboard.js +0 -1140
  67. package/dist/cjs/SplitTransfersDashboard.js.map +0 -1
  68. package/dist/cjs/StripeConnect.js +0 -543
  69. package/dist/cjs/StripeConnect.js.map +0 -1
  70. package/dist/cjs/TaxesDashboard.js +0 -432
  71. package/dist/cjs/TaxesDashboard.js.map +0 -1
  72. package/dist/cjs/UpiConnect.js +0 -192
  73. package/dist/cjs/UpiConnect.js.map +0 -1
  74. package/dist/cjs/UpiPayment.js +0 -141
  75. package/dist/cjs/UpiPayment.js.map +0 -1
  76. package/dist/cjs/buildStripeTransactionLink.js +0 -13
  77. package/dist/cjs/buildStripeTransactionLink.js.map +0 -1
  78. package/dist/cjs/constants.js +0 -32
  79. package/dist/cjs/constants.js.map +0 -1
  80. package/dist/cjs/dashboard-H1ov-J3v.js +0 -112
  81. package/dist/cjs/dashboard-H1ov-J3v.js.map +0 -1
  82. package/dist/cjs/exportChannel-BsZ3fusx.js +0 -24
  83. package/dist/cjs/exportChannel-BsZ3fusx.js.map +0 -1
  84. package/dist/cjs/getAmountInSmallestCurrencyUnit.js +0 -13
  85. package/dist/cjs/getAmountInSmallestCurrencyUnit.js.map +0 -1
  86. package/dist/cjs/index-BYewZJN8.js +0 -638
  87. package/dist/cjs/index-BYewZJN8.js.map +0 -1
  88. package/dist/cjs/index.js +0 -120
  89. package/dist/cjs/index.js.map +0 -1
  90. package/dist/cjs/queryConstants-DGg4cX3r.js +0 -29
  91. package/dist/cjs/queryConstants-DGg4cX3r.js.map +0 -1
  92. package/dist/cjs/renderFunctions-CovxUt9o.js +0 -56
  93. package/dist/cjs/renderFunctions-CovxUt9o.js.map +0 -1
  94. package/dist/cjs/stripe.esm-CrNYjPcC.js +0 -132
  95. package/dist/cjs/stripe.esm-CrNYjPcC.js.map +0 -1
  96. package/dist/cjs/useConnectApi-CUkuzw0c.js +0 -114
  97. package/dist/cjs/useConnectApi-CUkuzw0c.js.map +0 -1
  98. package/dist/cjs/usePaymentApi-CcdKGxJD.js +0 -39
  99. package/dist/cjs/usePaymentApi-CcdKGxJD.js.map +0 -1
  100. package/dist/cjs/usePaymentsApi-Dz6uXFhx.js +0 -41
  101. package/dist/cjs/usePaymentsApi-Dz6uXFhx.js.map +0 -1
  102. package/dist/cjs/usePlatformApi-CWdvdY23.js +0 -46
  103. package/dist/cjs/usePlatformApi-CWdvdY23.js.map +0 -1
  104. package/dist/cjs/useRazorpayPayment.js +0 -112
  105. package/dist/cjs/useRazorpayPayment.js.map +0 -1
  106. package/dist/cjs/useStripePromise.js +0 -57
  107. package/dist/cjs/useStripePromise.js.map +0 -1
  108. package/dist/constants.js +0 -7
  109. package/dist/constants.js.map +0 -1
  110. package/dist/dashboard-D6ZJpJ3n.js +0 -106
  111. package/dist/dashboard-D6ZJpJ3n.js.map +0 -1
  112. package/dist/exportChannel-CViICC6x.js +0 -22
  113. package/dist/exportChannel-CViICC6x.js.map +0 -1
  114. package/dist/getAmountInSmallestCurrencyUnit.js +0 -11
  115. package/dist/getAmountInSmallestCurrencyUnit.js.map +0 -1
  116. package/dist/index-ER2sofJn.js +0 -604
  117. package/dist/index-ER2sofJn.js.map +0 -1
  118. package/dist/index.js +0 -96
  119. package/dist/index.js.map +0 -1
  120. package/dist/queryConstants-mgjK5Hgk.js +0 -27
  121. package/dist/queryConstants-mgjK5Hgk.js.map +0 -1
  122. package/dist/renderFunctions-Cmo1gJ6o.js +0 -52
  123. package/dist/renderFunctions-Cmo1gJ6o.js.map +0 -1
  124. package/dist/stripe.esm-DuZ_gsAa.js +0 -130
  125. package/dist/stripe.esm-DuZ_gsAa.js.map +0 -1
  126. package/dist/useConnectApi-DLJNjz8A.js +0 -106
  127. package/dist/useConnectApi-DLJNjz8A.js.map +0 -1
  128. package/dist/usePaymentApi-DBEceBVs.js +0 -37
  129. package/dist/usePaymentApi-DBEceBVs.js.map +0 -1
  130. package/dist/usePaymentsApi-K6rhWzss.js +0 -38
  131. package/dist/usePaymentsApi-K6rhWzss.js.map +0 -1
  132. package/dist/usePlatformApi-BmTjLVDt.js +0 -43
  133. package/dist/usePlatformApi-BmTjLVDt.js.map +0 -1
  134. package/dist/useRazorpayPayment.js +0 -110
  135. package/dist/useRazorpayPayment.js.map +0 -1
  136. package/dist/useStripePromise.js +0 -55
  137. package/dist/useStripePromise.js.map +0 -1
@@ -1,432 +0,0 @@
1
- 'use strict';
2
-
3
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
4
- var React = require('react');
5
- var neetoCist = require('@bigbinary/neeto-cist');
6
- var Container = require('@bigbinary/neeto-molecules/Container');
7
- var Header$1 = require('@bigbinary/neeto-molecules/Header');
8
- var PageLoader = require('@bigbinary/neeto-molecules/PageLoader');
9
- var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
10
- var Button = require('@bigbinary/neetoui/Button');
11
- var Table = require('@bigbinary/neetoui/Table');
12
- var Alert = require('@bigbinary/neetoui/Alert');
13
- var NoData = require('@bigbinary/neetoui/NoData');
14
- var ramda = require('ramda');
15
- var reactI18next = require('react-i18next');
16
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
17
- var reactQuery = require('@tanstack/react-query');
18
- var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
19
- var axios = require('axios');
20
- var constants = require('./index-BYewZJN8.js');
21
- var queryConstants = require('./queryConstants-DGg4cX3r.js');
22
- var Label = require('@bigbinary/neetoui/Label');
23
- var Typography = require('@bigbinary/neetoui/Typography');
24
- var Pane = require('@bigbinary/neetoui/Pane');
25
- var Form = require('@bigbinary/neetoui/formik/Form');
26
- var Input = require('@bigbinary/neetoui/formik/Input');
27
- var Radio = require('@bigbinary/neetoui/formik/Radio');
28
- var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
29
- var i18next = require('i18next');
30
- var yup = require('yup');
31
- var jsxRuntime = require('react/jsx-runtime');
32
- var MoreDropdown = require('@bigbinary/neeto-molecules/MoreDropdown');
33
- require('@bigbinary/neeto-commons-frontend/constants');
34
- require('@bigbinary/neeto-commons-frontend/utils');
35
-
36
- function _interopNamespaceDefault(e) {
37
- var n = Object.create(null);
38
- if (e) {
39
- Object.keys(e).forEach(function (k) {
40
- if (k !== 'default') {
41
- var d = Object.getOwnPropertyDescriptor(e, k);
42
- Object.defineProperty(n, k, d.get ? d : {
43
- enumerable: true,
44
- get: function () { return e[k]; }
45
- });
46
- }
47
- });
48
- }
49
- n.default = e;
50
- return Object.freeze(n);
51
- }
52
-
53
- var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
54
-
55
- var list = function list(feeId) {
56
- return axios.get("".concat(constants.BASE_URL, "/api/v1/fees/").concat(feeId, "/taxes"));
57
- };
58
- var create = function create(_ref) {
59
- var feeId = _ref.feeId,
60
- payload = _ref.payload;
61
- return axios.post("".concat(constants.BASE_URL, "/api/v1/fees/").concat(feeId, "/taxes"), {
62
- tax: payload
63
- });
64
- };
65
- var update = function update(_ref2) {
66
- var feeId = _ref2.feeId,
67
- taxId = _ref2.taxId,
68
- payload = _ref2.payload;
69
- return axios.put("".concat(constants.BASE_URL, "/api/v1/fees/").concat(feeId, "/taxes/").concat(taxId), {
70
- tax: payload
71
- });
72
- };
73
- var destroy = function destroy(_ref3) {
74
- var feeId = _ref3.feeId,
75
- taxId = _ref3.taxId;
76
- return axios["delete"]("".concat(constants.BASE_URL, "/api/v1/fees/").concat(feeId, "/taxes/").concat(taxId));
77
- };
78
- var taxesApi = {
79
- list: list,
80
- create: create,
81
- update: update,
82
- destroy: destroy
83
- };
84
-
85
- 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; }
86
- 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; }
87
- var useFetchTaxes = function useFetchTaxes(_ref) {
88
- var feeId = _ref.feeId;
89
- return reactQuery.useQuery({
90
- queryKey: [queryConstants.QUERY_KEYS.TAXES, feeId],
91
- queryFn: function queryFn() {
92
- return taxesApi.list(feeId);
93
- },
94
- enabled: ramda.isNotNil(feeId)
95
- });
96
- };
97
- var useCreateTax = function useCreateTax(_ref2, options) {
98
- var feeId = _ref2.feeId;
99
- return reactUtils.useMutationWithInvalidation(taxesApi.create, _objectSpread({
100
- keysToInvalidate: [queryConstants.QUERY_KEYS.TAXES, feeId]
101
- }, options));
102
- };
103
- var useUpdateTax = function useUpdateTax(_ref3, options) {
104
- var feeId = _ref3.feeId;
105
- return reactUtils.useMutationWithInvalidation(taxesApi.update, _objectSpread({
106
- keysToInvalidate: [queryConstants.QUERY_KEYS.TAXES, feeId]
107
- }, options));
108
- };
109
- var useDeleteTax = function useDeleteTax(_ref4, options) {
110
- var feeId = _ref4.feeId;
111
- return reactUtils.useMutationWithInvalidation(taxesApi.destroy, _objectSpread({
112
- keysToInvalidate: [queryConstants.QUERY_KEYS.TAXES, feeId]
113
- }, options));
114
- };
115
-
116
- var INITIAL_VALUES = {
117
- name: "",
118
- description: "",
119
- kind: "percentage",
120
- value: ""
121
- };
122
- var VALIDATION_SCHEMA = yup__namespace.object().shape({
123
- name: yup__namespace.string().required(i18next.t("neetoPayments.validations.nameRequired")),
124
- description: yup__namespace.string().nullable(),
125
- kind: yup__namespace.string().required(i18next.t("neetoPayments.validations.kindRequired")),
126
- value: yup__namespace.number().when("kind", {
127
- is: "percentage",
128
- then: yup__namespace.number().min(0).max(100)
129
- }).positive().required(i18next.t("neetoPayments.validations.valueRequired"))
130
- });
131
-
132
- var Header = Pane.Header,
133
- Body = Pane.Body,
134
- Footer = Pane.Footer;
135
- var FormPane = function FormPane(_ref) {
136
- var feeId = _ref.feeId,
137
- taxToEdit = _ref.taxToEdit,
138
- setTaxToEdit = _ref.setTaxToEdit,
139
- isOpen = _ref.isOpen,
140
- setIsOpen = _ref.setIsOpen,
141
- onTaxesChange = _ref.onTaxesChange;
142
- var _useTranslation = reactI18next.useTranslation(),
143
- t = _useTranslation.t;
144
- var _useCreateTax = useCreateTax({
145
- feeId: feeId
146
- }, {
147
- onSuccess: onTaxesChange
148
- }),
149
- create = _useCreateTax.mutate,
150
- isCreating = _useCreateTax.isUpdating;
151
- var _useUpdateTax = useUpdateTax({
152
- feeId: feeId
153
- }, {
154
- onSuccess: onTaxesChange
155
- }),
156
- update = _useUpdateTax.mutate,
157
- isUpdating = _useUpdateTax.isUpdating;
158
- var isEdit = neetoCist.isPresent(taxToEdit === null || taxToEdit === void 0 ? void 0 : taxToEdit.id);
159
- var handleSubmit = function handleSubmit(values) {
160
- if (isEdit) {
161
- update({
162
- feeId: feeId,
163
- taxId: taxToEdit.id,
164
- payload: values
165
- });
166
- setTaxToEdit(null);
167
- } else {
168
- create({
169
- feeId: feeId,
170
- payload: values
171
- });
172
- }
173
- setIsOpen(false);
174
- };
175
- return /*#__PURE__*/jsxRuntime.jsxs(Pane, {
176
- isOpen: isOpen,
177
- onClose: function onClose() {
178
- setIsOpen(false);
179
- setTaxToEdit(null);
180
- },
181
- children: [/*#__PURE__*/jsxRuntime.jsx(Header, {
182
- children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
183
- style: "h3",
184
- children: isEdit ? t("neetoPayments.taxesDashboard.form.title.edit") : t("neetoPayments.taxesDashboard.form.title.create")
185
- })
186
- }), /*#__PURE__*/jsxRuntime.jsxs(Form, {
187
- formikProps: {
188
- initialValues: isEdit ? taxToEdit : INITIAL_VALUES,
189
- validationSchema: VALIDATION_SCHEMA,
190
- onSubmit: handleSubmit
191
- },
192
- children: [/*#__PURE__*/jsxRuntime.jsx(Body, {
193
- children: /*#__PURE__*/jsxRuntime.jsxs("div", {
194
- className: "flex w-full flex-col gap-4",
195
- children: [/*#__PURE__*/jsxRuntime.jsx(Input, {
196
- required: true,
197
- label: t("neetoPayments.taxesDashboard.form.name.label"),
198
- name: "name",
199
- placeholder: t("neetoPayments.taxesDashboard.form.name.placeholder")
200
- }), /*#__PURE__*/jsxRuntime.jsx(Input, {
201
- label: t("neetoPayments.taxesDashboard.form.description.label"),
202
- name: "description",
203
- placeholder: t("neetoPayments.taxesDashboard.form.description.placeholder")
204
- }), /*#__PURE__*/jsxRuntime.jsx(Label, {
205
- children: t("neetoPayments.taxesDashboard.form.kind.label")
206
- }), /*#__PURE__*/jsxRuntime.jsxs(Radio, {
207
- stacked: true,
208
- name: "kind",
209
- children: [/*#__PURE__*/jsxRuntime.jsx(Radio.Item, {
210
- label: t("neetoPayments.taxesDashboard.form.kind.percentage"),
211
- value: "percentage"
212
- }), /*#__PURE__*/jsxRuntime.jsx(Radio.Item, {
213
- label: t("neetoPayments.taxesDashboard.form.kind.fixed"),
214
- value: "fixed"
215
- })]
216
- }), /*#__PURE__*/jsxRuntime.jsx(Input, {
217
- required: true,
218
- label: t("neetoPayments.taxesDashboard.form.value.label"),
219
- name: "value",
220
- type: "number",
221
- placeholder: t("neetoPayments.taxesDashboard.form.value.placeholder")
222
- })]
223
- })
224
- }), /*#__PURE__*/jsxRuntime.jsx(Footer, {
225
- children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock, {
226
- cancelButtonProps: {
227
- onClick: function onClick() {
228
- return setIsOpen(false);
229
- }
230
- },
231
- isSubmitting: isCreating || isUpdating
232
- })
233
- })]
234
- })]
235
- });
236
- };
237
-
238
- var generateColumnData = function generateColumnData(handleDropdownClick) {
239
- return [{
240
- title: i18next.t("neetoPayments.taxesDashboard.table.taxName"),
241
- dataIndex: "name",
242
- render: function render(name, tax) {
243
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
244
- className: "flex justify-between gap-2",
245
- children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
246
- style: "body1",
247
- children: neetoCist.truncate(name, 100)
248
- }), /*#__PURE__*/jsxRuntime.jsx(MoreDropdown, {
249
- dropdownProps: {
250
- strategy: "fixed"
251
- },
252
- menuItems: [{
253
- key: "edit",
254
- label: i18next.t("neetoPayments.common.edit"),
255
- onClick: function onClick() {
256
- return handleDropdownClick(tax, "edit");
257
- },
258
- "data-cy": "menu-dropdown-edit-button"
259
- }, {
260
- key: "delete",
261
- label: i18next.t("neetoPayments.common.delete"),
262
- onClick: function onClick() {
263
- return handleDropdownClick(tax, "delete");
264
- },
265
- "data-cy": "menu-dropdown-delete-button"
266
- }]
267
- })]
268
- });
269
- }
270
- }, {
271
- title: i18next.t("neetoPayments.taxesDashboard.table.description"),
272
- dataIndex: "description",
273
- width: 300
274
- }, {
275
- title: i18next.t("neetoPayments.taxesDashboard.table.value"),
276
- dataIndex: "value",
277
- render: function render(value, tax) {
278
- return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
279
- children: tax.kind === "percentage" ? "".concat(value, "%") : value
280
- });
281
- }
282
- }, {
283
- title: i18next.t("neetoPayments.taxesDashboard.table.type"),
284
- dataIndex: "kind",
285
- render: function render(value) {
286
- return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
287
- children: neetoCist.humanize(value)
288
- });
289
- }
290
- }];
291
- };
292
-
293
- var TaxesDashboard = function TaxesDashboard(_ref) {
294
- var feeId = _ref.feeId,
295
- breadcrumbs = _ref.breadcrumbs,
296
- _ref$paymentUrl = _ref.paymentUrl,
297
- paymentUrl = _ref$paymentUrl === void 0 ? "" : _ref$paymentUrl,
298
- _ref$headerSize = _ref.headerSize,
299
- headerSize = _ref$headerSize === void 0 ? "small" : _ref$headerSize,
300
- _ref$noDataHelpText = _ref.noDataHelpText,
301
- noDataHelpText = _ref$noDataHelpText === void 0 ? "" : _ref$noDataHelpText,
302
- _ref$onTaxesChange = _ref.onTaxesChange,
303
- onTaxesChange = _ref$onTaxesChange === void 0 ? neetoCist.noop : _ref$onTaxesChange,
304
- _ref$titleHelpPopover = _ref.titleHelpPopoverProps,
305
- titleHelpPopoverProps = _ref$titleHelpPopover === void 0 ? {} : _ref$titleHelpPopover;
306
- var _useState = React.useState(false),
307
- _useState2 = _slicedToArray(_useState, 2),
308
- isFormPaneOpen = _useState2[0],
309
- setIsFormPaneOpen = _useState2[1];
310
- var _useState3 = React.useState(null),
311
- _useState4 = _slicedToArray(_useState3, 2),
312
- taxToEdit = _useState4[0],
313
- setTaxToEdit = _useState4[1];
314
- var _useState5 = React.useState(null),
315
- _useState6 = _slicedToArray(_useState5, 2),
316
- taxToDelete = _useState6[0],
317
- setTaxToDelete = _useState6[1];
318
- var _useFetchTaxes = useFetchTaxes({
319
- feeId: feeId
320
- }),
321
- _useFetchTaxes$data = _useFetchTaxes.data,
322
- _useFetchTaxes$data2 = _useFetchTaxes$data === void 0 ? {} : _useFetchTaxes$data,
323
- _useFetchTaxes$data2$ = _useFetchTaxes$data2.taxes,
324
- taxes = _useFetchTaxes$data2$ === void 0 ? [] : _useFetchTaxes$data2$,
325
- isLoading = _useFetchTaxes.isLoading;
326
- var _useDeleteTax = useDeleteTax({
327
- feeId: feeId
328
- }, {
329
- onSuccess: onTaxesChange
330
- }),
331
- deleteTax = _useDeleteTax.mutate;
332
- var _useTranslation = reactI18next.useTranslation(),
333
- t = _useTranslation.t;
334
- var handleDropdownClick = function handleDropdownClick(tax, action) {
335
- switch (action) {
336
- case "edit":
337
- setTaxToEdit(tax);
338
- setIsFormPaneOpen(true);
339
- break;
340
- case "delete":
341
- setTaxToDelete(tax);
342
- break;
343
- }
344
- };
345
- if (ramda.isNil(feeId)) {
346
- return /*#__PURE__*/jsxRuntime.jsxs(Container, {
347
- children: [/*#__PURE__*/jsxRuntime.jsx(Header$1, {
348
- breadcrumbs: breadcrumbs,
349
- titleHelpPopoverProps: titleHelpPopoverProps,
350
- size: headerSize,
351
- title: t("neetoPayments.taxesDashboard.title")
352
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
353
- className: "flex h-full w-full items-center justify-center",
354
- children: /*#__PURE__*/jsxRuntime.jsx(NoData, {
355
- title: t("neetoPayments.taxesDashboard.noFee"),
356
- primaryButtonProps: {
357
- label: t("neetoPayments.taxesDashboard.buttons.enablePayment"),
358
- to: paymentUrl
359
- }
360
- })
361
- })]
362
- });
363
- }
364
- if (isLoading) {
365
- return /*#__PURE__*/jsxRuntime.jsx(PageLoader, {});
366
- }
367
- return /*#__PURE__*/jsxRuntime.jsxs(Container, {
368
- children: [/*#__PURE__*/jsxRuntime.jsx(Header$1, {
369
- breadcrumbs: breadcrumbs,
370
- titleHelpPopoverProps: titleHelpPopoverProps,
371
- title: t("neetoPayments.taxesDashboard.title"),
372
- actionBlock: /*#__PURE__*/jsxRuntime.jsx(Button, {
373
- "data-cy": "add-new-tax-button",
374
- label: t("neetoPayments.taxesDashboard.buttons.add"),
375
- onClick: function onClick() {
376
- return setIsFormPaneOpen(true);
377
- }
378
- })
379
- }), ramda.isEmpty(taxes) ? /*#__PURE__*/jsxRuntime.jsx("div", {
380
- className: "flex h-full w-full items-center justify-center",
381
- children: /*#__PURE__*/jsxRuntime.jsx(NoData, {
382
- helpText: noDataHelpText,
383
- title: t("neetoPayments.taxesDashboard.noData"),
384
- primaryButtonProps: {
385
- label: t("neetoPayments.taxesDashboard.buttons.add"),
386
- onClick: function onClick() {
387
- return setIsFormPaneOpen(true);
388
- }
389
- }
390
- })
391
- }) : /*#__PURE__*/jsxRuntime.jsx(TableWrapper, {
392
- children: /*#__PURE__*/jsxRuntime.jsx(Table, {
393
- fixedHeight: true,
394
- columnData: generateColumnData(handleDropdownClick),
395
- loading: isLoading,
396
- rowData: taxes
397
- })
398
- }), /*#__PURE__*/jsxRuntime.jsx(FormPane, {
399
- feeId: feeId,
400
- onTaxesChange: onTaxesChange,
401
- setTaxToEdit: setTaxToEdit,
402
- taxToEdit: taxToEdit,
403
- isOpen: isFormPaneOpen,
404
- setIsOpen: setIsFormPaneOpen
405
- }), /*#__PURE__*/jsxRuntime.jsx(Alert, {
406
- isOpen: neetoCist.isPresent(taxToDelete),
407
- title: t("neetoPayments.alert.delete.tax.title"),
408
- message: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
409
- components: {
410
- strong: /*#__PURE__*/jsxRuntime.jsx("strong", {})
411
- },
412
- i18nKey: "neetoPayments.alert.delete.tax.message",
413
- values: {
414
- name: taxToDelete === null || taxToDelete === void 0 ? void 0 : taxToDelete.name
415
- }
416
- }),
417
- onClose: function onClose() {
418
- return setTaxToDelete(null);
419
- },
420
- onSubmit: function onSubmit() {
421
- deleteTax({
422
- feeId: feeId,
423
- taxId: taxToDelete === null || taxToDelete === void 0 ? void 0 : taxToDelete.id
424
- });
425
- setTaxToDelete(null);
426
- }
427
- })]
428
- });
429
- };
430
-
431
- module.exports = TaxesDashboard;
432
- //# sourceMappingURL=TaxesDashboard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TaxesDashboard.js","sources":["../../app/javascript/src/apis/taxes.js","../../app/javascript/src/hooks/reactQuery/useTaxesApi.js","../../app/javascript/src/components/TaxesDashboard/FormPane/constants.js","../../app/javascript/src/components/TaxesDashboard/FormPane/index.jsx","../../app/javascript/src/components/TaxesDashboard/utils.jsx","../../app/javascript/src/components/TaxesDashboard/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = feeId => axios.get(`${BASE_URL}/api/v1/fees/${feeId}/taxes`);\n\nconst create = ({ feeId, payload }) =>\n axios.post(`${BASE_URL}/api/v1/fees/${feeId}/taxes`, {\n tax: payload,\n });\n\nconst update = ({ feeId, taxId, payload }) =>\n axios.put(`${BASE_URL}/api/v1/fees/${feeId}/taxes/${taxId}`, {\n tax: payload,\n });\n\nconst destroy = ({ feeId, taxId }) =>\n axios.delete(`${BASE_URL}/api/v1/fees/${feeId}/taxes/${taxId}`);\n\nconst taxesApi = { list, create, update, destroy };\n\nexport default taxesApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { isNotNil } from \"ramda\";\n\nimport taxesApi from \"apis/taxes\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchTaxes = ({ feeId }) =>\n useQuery({\n queryKey: [QUERY_KEYS.TAXES, feeId],\n queryFn: () => taxesApi.list(feeId),\n enabled: isNotNil(feeId),\n });\n\nexport const useCreateTax = ({ feeId }, options) =>\n useMutationWithInvalidation(taxesApi.create, {\n keysToInvalidate: [QUERY_KEYS.TAXES, feeId],\n ...options,\n });\n\nexport const useUpdateTax = ({ feeId }, options) =>\n useMutationWithInvalidation(taxesApi.update, {\n keysToInvalidate: [QUERY_KEYS.TAXES, feeId],\n ...options,\n });\n\nexport const useDeleteTax = ({ feeId }, options) =>\n useMutationWithInvalidation(taxesApi.destroy, {\n keysToInvalidate: [QUERY_KEYS.TAXES, feeId],\n ...options,\n });\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_VALUES = {\n name: \"\",\n description: \"\",\n kind: \"percentage\",\n value: \"\",\n};\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n name: yup.string().required(t(\"neetoPayments.validations.nameRequired\")),\n description: yup.string().nullable(),\n kind: yup.string().required(t(\"neetoPayments.validations.kindRequired\")),\n value: yup\n .number()\n .when(\"kind\", {\n is: \"percentage\",\n then: yup.number().min(0).max(100),\n })\n .positive()\n .required(t(\"neetoPayments.validations.valueRequired\")),\n});\n","import { isPresent } from \"neetocist\";\nimport { Label, Typography, Pane } from \"neetoui\";\nimport { Form, Input, Radio, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateTax, useUpdateTax } from \"hooks/reactQuery/useTaxesApi\";\n\nimport { INITIAL_VALUES, VALIDATION_SCHEMA } from \"./constants\";\n\nconst { Header, Body, Footer } = Pane;\nconst FormPane = ({\n feeId,\n taxToEdit,\n setTaxToEdit,\n isOpen,\n setIsOpen,\n onTaxesChange,\n}) => {\n const { t } = useTranslation();\n const { mutate: create, isUpdating: isCreating } = useCreateTax(\n { feeId },\n { onSuccess: onTaxesChange }\n );\n\n const { mutate: update, isUpdating } = useUpdateTax(\n { feeId },\n { onSuccess: onTaxesChange }\n );\n\n const isEdit = isPresent(taxToEdit?.id);\n const handleSubmit = values => {\n if (isEdit) {\n update({ feeId, taxId: taxToEdit.id, payload: values });\n setTaxToEdit(null);\n } else {\n create({ feeId, payload: values });\n }\n setIsOpen(false);\n };\n\n return (\n <Pane\n {...{ isOpen }}\n onClose={() => {\n setIsOpen(false);\n setTaxToEdit(null);\n }}\n >\n <Header>\n <Typography style=\"h3\">\n {isEdit\n ? t(\"neetoPayments.taxesDashboard.form.title.edit\")\n : t(\"neetoPayments.taxesDashboard.form.title.create\")}\n </Typography>\n </Header>\n <Form\n formikProps={{\n initialValues: isEdit ? taxToEdit : INITIAL_VALUES,\n validationSchema: VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Body>\n <div className=\"flex w-full flex-col gap-4\">\n <Input\n required\n label={t(\"neetoPayments.taxesDashboard.form.name.label\")}\n name=\"name\"\n placeholder={t(\n \"neetoPayments.taxesDashboard.form.name.placeholder\"\n )}\n />\n <Input\n label={t(\"neetoPayments.taxesDashboard.form.description.label\")}\n name=\"description\"\n placeholder={t(\n \"neetoPayments.taxesDashboard.form.description.placeholder\"\n )}\n />\n <Label>{t(\"neetoPayments.taxesDashboard.form.kind.label\")}</Label>\n <Radio stacked name=\"kind\">\n <Radio.Item\n label={t(\"neetoPayments.taxesDashboard.form.kind.percentage\")}\n value=\"percentage\"\n />\n <Radio.Item\n label={t(\"neetoPayments.taxesDashboard.form.kind.fixed\")}\n value=\"fixed\"\n />\n </Radio>\n <Input\n required\n label={t(\"neetoPayments.taxesDashboard.form.value.label\")}\n name=\"value\"\n type=\"number\"\n placeholder={t(\n \"neetoPayments.taxesDashboard.form.value.placeholder\"\n )}\n />\n </div>\n </Body>\n <Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: () => setIsOpen(false) }}\n isSubmitting={isCreating || isUpdating}\n />\n </Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default FormPane;\n","import { t } from \"i18next\";\nimport { humanize, truncate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\n\nexport const generateColumnData = handleDropdownClick => [\n {\n title: t(\"neetoPayments.taxesDashboard.table.taxName\"),\n dataIndex: \"name\",\n render: (name, tax) => (\n <div className=\"flex justify-between gap-2\">\n <Typography style=\"body1\">{truncate(name, 100)}</Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n key: \"edit\",\n label: t(\"neetoPayments.common.edit\"),\n onClick: () => handleDropdownClick(tax, \"edit\"),\n \"data-cy\": \"menu-dropdown-edit-button\",\n },\n {\n key: \"delete\",\n label: t(\"neetoPayments.common.delete\"),\n onClick: () => handleDropdownClick(tax, \"delete\"),\n \"data-cy\": \"menu-dropdown-delete-button\",\n },\n ]}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoPayments.taxesDashboard.table.description\"),\n dataIndex: \"description\",\n width: 300,\n },\n {\n title: t(\"neetoPayments.taxesDashboard.table.value\"),\n dataIndex: \"value\",\n render: (value, tax) => (\n <>{tax.kind === \"percentage\" ? `${value}%` : value}</>\n ),\n },\n {\n title: t(\"neetoPayments.taxesDashboard.table.type\"),\n dataIndex: \"kind\",\n render: value => <>{humanize(value)}</>,\n },\n];\n","import { useState } from \"react\";\n\nimport { noop, isPresent } from \"neetocist\";\nimport Container from \"neetomolecules/Container\";\nimport Header from \"neetomolecules/Header\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Button, Table, Alert, NoData } from \"neetoui\";\nimport { isEmpty, isNil } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useFetchTaxes, useDeleteTax } from \"hooks/reactQuery/useTaxesApi\";\n\nimport FormPane from \"./FormPane\";\nimport { generateColumnData } from \"./utils\";\n\nconst TaxesDashboard = ({\n feeId,\n breadcrumbs,\n paymentUrl = \"\",\n headerSize = \"small\",\n noDataHelpText = \"\",\n onTaxesChange = noop,\n titleHelpPopoverProps = {},\n}) => {\n const [isFormPaneOpen, setIsFormPaneOpen] = useState(false);\n const [taxToEdit, setTaxToEdit] = useState(null);\n const [taxToDelete, setTaxToDelete] = useState(null);\n\n const { data: { taxes = [] } = {}, isLoading } = useFetchTaxes({ feeId });\n const { mutate: deleteTax } = useDeleteTax(\n { feeId },\n { onSuccess: onTaxesChange }\n );\n\n const { t } = useTranslation();\n\n const handleDropdownClick = (tax, action) => {\n switch (action) {\n case \"edit\":\n setTaxToEdit(tax);\n setIsFormPaneOpen(true);\n break;\n case \"delete\":\n setTaxToDelete(tax);\n break;\n }\n };\n\n if (isNil(feeId)) {\n return (\n <Container>\n <Header\n {...{ breadcrumbs, titleHelpPopoverProps }}\n size={headerSize}\n title={t(\"neetoPayments.taxesDashboard.title\")}\n />\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={t(\"neetoPayments.taxesDashboard.noFee\")}\n primaryButtonProps={{\n label: t(\"neetoPayments.taxesDashboard.buttons.enablePayment\"),\n to: paymentUrl,\n }}\n />\n </div>\n </Container>\n );\n }\n\n if (isLoading) {\n return <PageLoader />;\n }\n\n return (\n <Container>\n <Header\n {...{ breadcrumbs, titleHelpPopoverProps }}\n title={t(\"neetoPayments.taxesDashboard.title\")}\n actionBlock={\n <Button\n data-cy=\"add-new-tax-button\"\n label={t(\"neetoPayments.taxesDashboard.buttons.add\")}\n onClick={() => setIsFormPaneOpen(true)}\n />\n }\n />\n {isEmpty(taxes) ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n helpText={noDataHelpText}\n title={t(\"neetoPayments.taxesDashboard.noData\")}\n primaryButtonProps={{\n label: t(\"neetoPayments.taxesDashboard.buttons.add\"),\n onClick: () => setIsFormPaneOpen(true),\n }}\n />\n </div>\n ) : (\n <TableWrapper>\n <Table\n fixedHeight\n columnData={generateColumnData(handleDropdownClick)}\n loading={isLoading}\n rowData={taxes}\n />\n </TableWrapper>\n )}\n <FormPane\n {...{ feeId, onTaxesChange, setTaxToEdit, taxToEdit }}\n isOpen={isFormPaneOpen}\n setIsOpen={setIsFormPaneOpen}\n />\n <Alert\n isOpen={isPresent(taxToDelete)}\n title={t(\"neetoPayments.alert.delete.tax.title\")}\n message={\n <Trans\n components={{ strong: <strong /> }}\n i18nKey=\"neetoPayments.alert.delete.tax.message\"\n values={{ name: taxToDelete?.name }}\n />\n }\n onClose={() => setTaxToDelete(null)}\n onSubmit={() => {\n deleteTax({ feeId, taxId: taxToDelete?.id });\n setTaxToDelete(null);\n }}\n />\n </Container>\n );\n};\n\nexport default TaxesDashboard;\n"],"names":["list","feeId","axios","get","concat","BASE_URL","create","_ref","payload","post","tax","update","_ref2","taxId","put","destroy","_ref3","taxesApi","useFetchTaxes","useQuery","queryKey","QUERY_KEYS","TAXES","queryFn","enabled","isNotNil","useCreateTax","options","useMutationWithInvalidation","_objectSpread","keysToInvalidate","useUpdateTax","useDeleteTax","_ref4","INITIAL_VALUES","name","description","kind","value","VALIDATION_SCHEMA","yup","object","shape","string","required","t","nullable","number","when","is","then","min","max","positive","Header","Pane","Body","Footer","FormPane","taxToEdit","setTaxToEdit","isOpen","setIsOpen","onTaxesChange","_useTranslation","useTranslation","_useCreateTax","onSuccess","mutate","isCreating","isUpdating","_useUpdateTax","isEdit","isPresent","id","handleSubmit","values","_jsxs","onClose","children","_jsx","Typography","style","Form","formikProps","initialValues","validationSchema","onSubmit","className","Input","label","placeholder","Label","Radio","stacked","Item","type","ActionBlock","cancelButtonProps","onClick","isSubmitting","generateColumnData","handleDropdownClick","title","dataIndex","render","truncate","MoreDropdown","dropdownProps","strategy","menuItems","key","width","_Fragment","humanize","TaxesDashboard","breadcrumbs","_ref$paymentUrl","paymentUrl","_ref$headerSize","headerSize","_ref$noDataHelpText","noDataHelpText","_ref$onTaxesChange","noop","_ref$titleHelpPopover","titleHelpPopoverProps","_useState","useState","_useState2","_slicedToArray","isFormPaneOpen","setIsFormPaneOpen","_useState3","_useState4","_useState5","_useState6","taxToDelete","setTaxToDelete","_useFetchTaxes","_useFetchTaxes$data","data","_useFetchTaxes$data2","_useFetchTaxes$data2$","taxes","isLoading","_useDeleteTax","deleteTax","action","isNil","Container","size","NoData","primaryButtonProps","to","PageLoader","actionBlock","Button","isEmpty","helpText","TableWrapper","Table","fixedHeight","columnData","loading","rowData","Alert","message","Trans","components","strong","i18nKey"],"mappings":"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"}