@bigbinary/neeto-payments-frontend 1.5.0-beta1 → 1.6.0-beta2

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 (157) hide show
  1. package/README.md +4 -95
  2. package/app/javascript/src/translations/en.json +0 -15
  3. package/dist/AccountsDashboard.js +477 -0
  4. package/dist/AccountsDashboard.js.map +1 -0
  5. package/dist/Dashboard.js +598 -0
  6. package/dist/Dashboard.js.map +1 -0
  7. package/dist/ExportModal-85725c35.js +645 -0
  8. package/dist/ExportModal-85725c35.js.map +1 -0
  9. package/dist/IdentifierButton-73cadb18.js +20 -0
  10. package/dist/IdentifierButton-73cadb18.js.map +1 -0
  11. package/dist/PaymentKindRestrictionAlert.js +34 -0
  12. package/dist/PaymentKindRestrictionAlert.js.map +1 -0
  13. package/dist/PayoutsDashboard.js +503 -0
  14. package/dist/PayoutsDashboard.js.map +1 -0
  15. package/dist/PayoutsPage.js +185 -0
  16. package/dist/PayoutsPage.js.map +1 -0
  17. package/dist/RazorpayDashboard.js +251 -0
  18. package/dist/RazorpayDashboard.js.map +1 -0
  19. package/dist/RazorpayPaymentButton.js +111 -0
  20. package/dist/RazorpayPaymentButton.js.map +1 -0
  21. package/dist/StripeConnect.js +2071 -0
  22. package/dist/StripeConnect.js.map +1 -0
  23. package/dist/U2TDTBMY-c464dc98.js +12081 -0
  24. package/dist/U2TDTBMY-c464dc98.js.map +1 -0
  25. package/dist/UpiConnect.js +148 -0
  26. package/dist/UpiConnect.js.map +1 -0
  27. package/dist/UpiMarkAsPaidButton.js +42 -0
  28. package/dist/UpiMarkAsPaidButton.js.map +1 -0
  29. package/dist/UpiPayment.js +94 -0
  30. package/dist/UpiPayment.js.map +1 -0
  31. package/dist/V2PaymentsDashboard.js +302 -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 +494 -0
  36. package/dist/cjs/AccountsDashboard.js.map +1 -0
  37. package/dist/cjs/Dashboard.js +613 -0
  38. package/dist/cjs/Dashboard.js.map +1 -0
  39. package/dist/cjs/ExportModal-20f368a1.js +669 -0
  40. package/dist/cjs/ExportModal-20f368a1.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 +519 -0
  46. package/dist/cjs/PayoutsDashboard.js.map +1 -0
  47. package/dist/cjs/PayoutsPage.js +194 -0
  48. package/dist/cjs/PayoutsPage.js.map +1 -0
  49. package/dist/cjs/RazorpayDashboard.js +262 -0
  50. package/dist/cjs/RazorpayDashboard.js.map +1 -0
  51. package/dist/cjs/RazorpayPaymentButton.js +118 -0
  52. package/dist/cjs/RazorpayPaymentButton.js.map +1 -0
  53. package/dist/cjs/StripeConnect.js +2106 -0
  54. package/dist/cjs/StripeConnect.js.map +1 -0
  55. package/dist/cjs/U2TDTBMY-e2fad970.js +12083 -0
  56. package/dist/cjs/U2TDTBMY-e2fad970.js.map +1 -0
  57. package/dist/cjs/UpiConnect.js +181 -0
  58. package/dist/cjs/UpiConnect.js.map +1 -0
  59. package/dist/cjs/UpiMarkAsPaidButton.js +49 -0
  60. package/dist/cjs/UpiMarkAsPaidButton.js.map +1 -0
  61. package/dist/cjs/UpiPayment.js +124 -0
  62. package/dist/cjs/UpiPayment.js.map +1 -0
  63. package/dist/cjs/V2PaymentsDashboard.js +313 -0
  64. package/dist/cjs/V2PaymentsDashboard.js.map +1 -0
  65. package/dist/cjs/buildStripeTransactionLink.js +11 -0
  66. package/dist/cjs/buildStripeTransactionLink.js.map +1 -0
  67. package/dist/cjs/constants.js +495 -0
  68. package/dist/cjs/constants.js.map +1 -0
  69. package/dist/cjs/exportChannel-7bd80952.js +39 -0
  70. package/dist/cjs/exportChannel-7bd80952.js.map +1 -0
  71. package/dist/cjs/extends-1b35a664.js +19 -0
  72. package/dist/cjs/extends-1b35a664.js.map +1 -0
  73. package/dist/cjs/index-b097dce8.js +41 -0
  74. package/dist/cjs/index-b097dce8.js.map +1 -0
  75. package/dist/cjs/index-b7badf96.js +88 -0
  76. package/dist/cjs/index-b7badf96.js.map +1 -0
  77. package/dist/cjs/index.js +100 -0
  78. package/dist/cjs/index.js.map +1 -0
  79. package/dist/cjs/mutation-ed7b84fc.js +235 -0
  80. package/dist/cjs/mutation-ed7b84fc.js.map +1 -0
  81. package/dist/cjs/queryConstants-de21eed5.js +944 -0
  82. package/dist/cjs/queryConstants-de21eed5.js.map +1 -0
  83. package/dist/cjs/renderFunctions-398d3fb5.js +3719 -0
  84. package/dist/cjs/renderFunctions-398d3fb5.js.map +1 -0
  85. package/dist/cjs/stripe.esm-4218a1e9.js.map +1 -0
  86. package/dist/cjs/useConnectApi-f0665633.js +2189 -0
  87. package/dist/cjs/useConnectApi-f0665633.js.map +1 -0
  88. package/dist/cjs/useFiltersAndPagination-312c0331.js +277 -0
  89. package/dist/cjs/useFiltersAndPagination-312c0331.js.map +1 -0
  90. package/dist/cjs/useMutation-4c7cdbe1.js +154 -0
  91. package/dist/cjs/useMutation-4c7cdbe1.js.map +1 -0
  92. package/dist/cjs/usePaymentApi-ae70e5df.js +48 -0
  93. package/dist/cjs/usePaymentApi-ae70e5df.js.map +1 -0
  94. package/dist/cjs/usePaymentsApi-815be3da.js +36 -0
  95. package/dist/cjs/usePaymentsApi-815be3da.js.map +1 -0
  96. package/dist/cjs/usePlatformApi-830827fa.js +116 -0
  97. package/dist/cjs/usePlatformApi-830827fa.js.map +1 -0
  98. package/dist/cjs/useRazorpayPayment.js +91 -0
  99. package/dist/cjs/useRazorpayPayment.js.map +1 -0
  100. package/dist/cjs/useStripePromise.js +27 -0
  101. package/dist/cjs/useStripePromise.js.map +1 -0
  102. package/dist/cjs/utils-7eba34a4.js +664 -0
  103. package/dist/cjs/utils-7eba34a4.js.map +1 -0
  104. package/dist/constants.js +480 -0
  105. package/dist/constants.js.map +1 -0
  106. package/dist/exportChannel-250e6f14.js +32 -0
  107. package/dist/exportChannel-250e6f14.js.map +1 -0
  108. package/dist/extends-093996c9.js +17 -0
  109. package/dist/extends-093996c9.js.map +1 -0
  110. package/dist/index-1aedc364.js +80 -0
  111. package/dist/index-1aedc364.js.map +1 -0
  112. package/dist/index-48f8b281.js +32 -0
  113. package/dist/index-48f8b281.js.map +1 -0
  114. package/dist/index.js +77 -12558
  115. package/dist/index.js.map +1 -1
  116. package/dist/mutation-286611ef.js +232 -0
  117. package/dist/mutation-286611ef.js.map +1 -0
  118. package/dist/queryConstants-765c8816.js +920 -0
  119. package/dist/queryConstants-765c8816.js.map +1 -0
  120. package/dist/renderFunctions-97b121a4.js +3633 -0
  121. package/dist/renderFunctions-97b121a4.js.map +1 -0
  122. package/dist/useConnectApi-87335bf6.js +2174 -0
  123. package/dist/useConnectApi-87335bf6.js.map +1 -0
  124. package/dist/useFiltersAndPagination-2ab7bc8f.js +262 -0
  125. package/dist/useFiltersAndPagination-2ab7bc8f.js.map +1 -0
  126. package/dist/useMutation-8d67f853.js +132 -0
  127. package/dist/useMutation-8d67f853.js.map +1 -0
  128. package/dist/usePaymentApi-12737871.js +41 -0
  129. package/dist/usePaymentApi-12737871.js.map +1 -0
  130. package/dist/usePaymentsApi-a801ab15.js +29 -0
  131. package/dist/usePaymentsApi-a801ab15.js.map +1 -0
  132. package/dist/usePlatformApi-8adc2a50.js +104 -0
  133. package/dist/usePlatformApi-8adc2a50.js.map +1 -0
  134. package/dist/useRazorpayPayment.js +89 -0
  135. package/dist/useRazorpayPayment.js.map +1 -0
  136. package/dist/useStripePromise.js +25 -0
  137. package/dist/useStripePromise.js.map +1 -0
  138. package/dist/utils-e29db9c9.js +614 -0
  139. package/dist/utils-e29db9c9.js.map +1 -0
  140. package/package.json +18 -10
  141. package/types/AccountsDashboard.d.ts +3 -0
  142. package/types/Dashboard.d.ts +15 -0
  143. package/types/PaymentKindRestrictionAlert.d.ts +11 -0
  144. package/types/PayoutsDashboard.d.ts +10 -0
  145. package/types/PayoutsPage.d.ts +11 -0
  146. package/types/StripeConnect.d.ts +13 -0
  147. package/types/buildStripeTransactionLink.d.ts +6 -0
  148. package/types/useStripePromise.d.ts +5 -0
  149. package/types.d.ts +8 -75
  150. package/dist/index-042b6907.js +0 -6
  151. package/dist/index-042b6907.js.map +0 -1
  152. package/dist/index-87824935.js +0 -4
  153. package/dist/index-87824935.js.map +0 -1
  154. package/dist/index.cjs.js +0 -12633
  155. package/dist/index.cjs.js.map +0 -1
  156. package/dist/stripe.esm-4218a1e9.js.map +0 -1
  157. /package/dist/{stripe.esm-4218a1e9.js → cjs/stripe.esm-4218a1e9.js} +0 -0
@@ -0,0 +1,148 @@
1
+ import React__default, { useState } from 'react';
2
+ import { noop } from '@bigbinary/neeto-cist';
3
+ import Spinner from '@bigbinary/neetoui/Spinner';
4
+ import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
5
+ import Form from '@bigbinary/neetoui/formik/Form';
6
+ import Input from '@bigbinary/neetoui/formik/Input';
7
+ import { useTranslation, Trans } from 'react-i18next';
8
+ import { useHistory } from 'react-router-dom';
9
+ import { t } from 'i18next';
10
+ import * as yup from 'yup';
11
+ import Alert from '@bigbinary/neetoui/Alert';
12
+ import Table from '@bigbinary/neetoui/Table';
13
+ import { isEmpty } from 'ramda';
14
+ import { dateFormat } from '@bigbinary/neeto-commons-frontend/utils';
15
+ import MoreDropdown from '@bigbinary/neeto-molecules/MoreDropdown';
16
+ import Typography from '@bigbinary/neetoui/Typography';
17
+
18
+ const VALIDATION_SCHEMA = yup.object({
19
+ upiId: yup.string().matches(/^[a-zA-Z0-9.-]{2,256}@[a-zA-Z][a-zA-Z]{2,64}$/, t("neetoPayments.upi.form.validation.invalidUpi")).required(t("neetoPayments.upi.form.validation.required"))
20
+ });
21
+
22
+ const Add = _ref => {
23
+ let {
24
+ handleCreateUpiId
25
+ } = _ref;
26
+ const {
27
+ t
28
+ } = useTranslation();
29
+ const history = useHistory();
30
+ return /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(Form, {
31
+ formikProps: {
32
+ initialValues: {
33
+ upiId: ""
34
+ },
35
+ onSubmit: handleCreateUpiId,
36
+ validationSchema: VALIDATION_SCHEMA
37
+ }
38
+ }, /*#__PURE__*/React__default.createElement("div", {
39
+ className: "space-y-3"
40
+ }, /*#__PURE__*/React__default.createElement(Input, {
41
+ className: "w-64",
42
+ label: t("neetoPayments.upi.form.enterUpi"),
43
+ name: "upiId",
44
+ placeholder: t("neetoPayments.upi.form.enterUpi")
45
+ }), /*#__PURE__*/React__default.createElement(ActionBlock, {
46
+ cancelButtonProps: {
47
+ onClick: () => history.goBack()
48
+ },
49
+ submitButtonProps: {
50
+ label: t("neetoPayments.upi.form.add")
51
+ }
52
+ }))));
53
+ };
54
+
55
+ const getColumnData = handleDeleteClick => [{
56
+ title: t("neetoPayments.common.upiId"),
57
+ dataIndex: "address",
58
+ key: "address",
59
+ width: 272,
60
+ render: (_, upiId) => /*#__PURE__*/React__default.createElement("div", {
61
+ className: "flex items-center justify-between gap-3"
62
+ }, /*#__PURE__*/React__default.createElement(Typography, {
63
+ className: "w-4/5",
64
+ style: "body2"
65
+ }, upiId.address), /*#__PURE__*/React__default.createElement(MoreDropdown, {
66
+ dropdownProps: {
67
+ strategy: "fixed"
68
+ },
69
+ menuItems: [{
70
+ key: "delete-meeting",
71
+ label: t("neetoPayments.common.delete"),
72
+ onClick: () => handleDeleteClick(upiId)
73
+ }]
74
+ }))
75
+ }, {
76
+ title: t("neetoPayments.common.createdAt"),
77
+ dataIndex: "createdAt",
78
+ key: "createdAt",
79
+ render: dateFormat.dateTime
80
+ }];
81
+
82
+ const List = _ref => {
83
+ let {
84
+ handleDeleteUpiId,
85
+ upiIds
86
+ } = _ref;
87
+ const {
88
+ t
89
+ } = useTranslation();
90
+ const [isAlertOpen, setIsAlertOpen] = useState(false);
91
+ const [selectedUpiId, setSelectedUpiId] = useState({});
92
+ const handleOpenDeleteModal = id => {
93
+ setSelectedUpiId(id);
94
+ setIsAlertOpen(true);
95
+ };
96
+ const handleAlertClose = () => {
97
+ setSelectedUpiId({});
98
+ setIsAlertOpen(false);
99
+ };
100
+ const handleAlertSubmit = () => {
101
+ handleDeleteUpiId(selectedUpiId);
102
+ setIsAlertOpen(false);
103
+ };
104
+ if (isEmpty(upiIds)) {
105
+ return null;
106
+ }
107
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Table, {
108
+ columnData: getColumnData(handleOpenDeleteModal),
109
+ rowData: upiIds
110
+ }), /*#__PURE__*/React__default.createElement(Alert, {
111
+ isOpen: isAlertOpen,
112
+ title: t("neetoPayments.upi.alert.title"),
113
+ message: /*#__PURE__*/React__default.createElement(Trans, {
114
+ components: {
115
+ b: /*#__PURE__*/React__default.createElement("strong", null)
116
+ },
117
+ i18nKey: "neetoPayments.upi.alert.message",
118
+ values: {
119
+ upiId: selectedUpiId.address
120
+ }
121
+ }),
122
+ onClose: handleAlertClose,
123
+ onSubmit: handleAlertSubmit
124
+ }));
125
+ };
126
+
127
+ const UpiConnect = _ref => {
128
+ let {
129
+ upiIds = [],
130
+ isLoading = false,
131
+ isDeleting = false,
132
+ handleDeleteUpiId = noop,
133
+ handleCreateUpiId = noop
134
+ } = _ref;
135
+ if (isLoading) return /*#__PURE__*/React__default.createElement(Spinner, null);
136
+ return /*#__PURE__*/React__default.createElement("div", {
137
+ className: "flex w-full max-w-3xl flex-col items-start space-y-6"
138
+ }, /*#__PURE__*/React__default.createElement(Add, {
139
+ handleCreateUpiId
140
+ }), /*#__PURE__*/React__default.createElement(List, {
141
+ handleDeleteUpiId,
142
+ isDeleting,
143
+ upiIds
144
+ }));
145
+ };
146
+
147
+ export { UpiConnect as default };
148
+ //# sourceMappingURL=UpiConnect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpiConnect.js","sources":["../app/javascript/src/components/UpiConnect/constants.js","../app/javascript/src/components/UpiConnect/Add.jsx","../app/javascript/src/components/UpiConnect/utils.jsx","../app/javascript/src/components/UpiConnect/List.jsx","../app/javascript/src/components/UpiConnect/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as Yup from \"yup\";\n\nexport const VALIDATION_SCHEMA = Yup.object({\n upiId: Yup.string()\n .matches(\n /^[a-zA-Z0-9.-]{2,256}@[a-zA-Z][a-zA-Z]{2,64}$/,\n t(\"neetoPayments.upi.form.validation.invalidUpi\")\n )\n .required(t(\"neetoPayments.upi.form.validation.required\")),\n});\n","import React from \"react\";\n\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { VALIDATION_SCHEMA } from \"./constants\";\n\nconst Add = ({ handleCreateUpiId }) => {\n const { t } = useTranslation();\n\n const history = useHistory();\n\n return (\n <div>\n <Form\n formikProps={{\n initialValues: { upiId: \"\" },\n onSubmit: handleCreateUpiId,\n validationSchema: VALIDATION_SCHEMA,\n }}\n >\n <div className=\"space-y-3\">\n <Input\n className=\"w-64\"\n label={t(\"neetoPayments.upi.form.enterUpi\")}\n name=\"upiId\"\n placeholder={t(\"neetoPayments.upi.form.enterUpi\")}\n />\n <ActionBlock\n cancelButtonProps={{ onClick: () => history.goBack() }}\n submitButtonProps={{ label: t(\"neetoPayments.upi.form.add\") }}\n />\n </div>\n </Form>\n </div>\n );\n};\n\nexport default Add;\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\n\nexport const getColumnData = handleDeleteClick => [\n {\n title: t(\"neetoPayments.common.upiId\"),\n dataIndex: \"address\",\n key: \"address\",\n width: 272,\n render: (_, upiId) => (\n <div className=\"flex items-center justify-between gap-3\">\n <Typography className=\"w-4/5\" style=\"body2\">\n {upiId.address}\n </Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n key: \"delete-meeting\",\n label: t(\"neetoPayments.common.delete\"),\n onClick: () => handleDeleteClick(upiId),\n },\n ]}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoPayments.common.createdAt\"),\n dataIndex: \"createdAt\",\n key: \"createdAt\",\n render: dateFormat.dateTime,\n },\n];\n","import React, { useState } from \"react\";\n\nimport { Alert, Table } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { getColumnData } from \"./utils\";\n\nconst List = ({ handleDeleteUpiId, upiIds }) => {\n const { t } = useTranslation();\n\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const [selectedUpiId, setSelectedUpiId] = useState({});\n\n const handleOpenDeleteModal = id => {\n setSelectedUpiId(id);\n setIsAlertOpen(true);\n };\n\n const handleAlertClose = () => {\n setSelectedUpiId({});\n setIsAlertOpen(false);\n };\n\n const handleAlertSubmit = () => {\n handleDeleteUpiId(selectedUpiId);\n setIsAlertOpen(false);\n };\n\n if (isEmpty(upiIds)) {\n return null;\n }\n\n return (\n <>\n <Table\n columnData={getColumnData(handleOpenDeleteModal)}\n rowData={upiIds}\n />\n <Alert\n isOpen={isAlertOpen}\n title={t(\"neetoPayments.upi.alert.title\")}\n message={\n <Trans\n components={{ b: <strong /> }}\n i18nKey=\"neetoPayments.upi.alert.message\"\n values={{ upiId: selectedUpiId.address }}\n />\n }\n onClose={handleAlertClose}\n onSubmit={handleAlertSubmit}\n />\n </>\n );\n};\n\nexport default List;\n","import React from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { Spinner } from \"neetoui\";\n\nimport Add from \"./Add\";\nimport List from \"./List\";\n\nconst UpiConnect = ({\n upiIds = [],\n isLoading = false,\n isDeleting = false,\n handleDeleteUpiId = noop,\n handleCreateUpiId = noop,\n}) => {\n if (isLoading) return <Spinner />;\n\n return (\n <div className=\"flex w-full max-w-3xl flex-col items-start space-y-6\">\n <Add {...{ handleCreateUpiId }} />\n <List {...{ handleDeleteUpiId, isDeleting, upiIds }} />\n </div>\n );\n};\n\nexport default UpiConnect;\n"],"names":["VALIDATION_SCHEMA","Yup","object","upiId","string","matches","t","required","Add","_ref","handleCreateUpiId","useTranslation","history","useHistory","React","createElement","Form","formikProps","initialValues","onSubmit","validationSchema","className","Input","label","name","placeholder","ActionBlock","cancelButtonProps","onClick","goBack","submitButtonProps","getColumnData","handleDeleteClick","title","dataIndex","key","width","render","_","Typography","style","address","MoreDropdown","dropdownProps","strategy","menuItems","dateFormat","dateTime","List","handleDeleteUpiId","upiIds","isAlertOpen","setIsAlertOpen","useState","selectedUpiId","setSelectedUpiId","handleOpenDeleteModal","id","handleAlertClose","handleAlertSubmit","isEmpty","Fragment","Table","columnData","rowData","Alert","isOpen","message","Trans","components","b","i18nKey","values","onClose","UpiConnect","isLoading","isDeleting","noop","Spinner"],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import React__default from 'react';
2
+ import { noop } from '@bigbinary/neeto-cist';
3
+ import Button from '@bigbinary/neetoui/Button';
4
+ import { useTranslation } from 'react-i18next';
5
+ import { u as useUpdateUpiPayment } from './usePaymentsApi-a801ab15.js';
6
+ import './useMutation-8d67f853.js';
7
+ import './mutation-286611ef.js';
8
+ import './utils-e29db9c9.js';
9
+ import 'react/jsx-runtime';
10
+ import 'axios';
11
+ import './constants.js';
12
+ import 'i18next';
13
+ import '@bigbinary/neeto-commons-frontend/constants';
14
+
15
+ const UpiMarkAsPaidButton = _ref => {
16
+ let {
17
+ paymentId,
18
+ payableId,
19
+ onSuccess = noop
20
+ } = _ref;
21
+ const {
22
+ t
23
+ } = useTranslation();
24
+ const {
25
+ mutate: updateUpiPayment,
26
+ isLoading
27
+ } = useUpdateUpiPayment(paymentId, {
28
+ onSuccess
29
+ });
30
+ const handleClick = () => updateUpiPayment({
31
+ status: "successful",
32
+ payableId
33
+ });
34
+ return /*#__PURE__*/React__default.createElement(Button, {
35
+ label: t("neetoPayments.upi.payment.buttons.markAsPaid"),
36
+ loading: isLoading,
37
+ onClick: handleClick
38
+ });
39
+ };
40
+
41
+ export { UpiMarkAsPaidButton as default };
42
+ //# sourceMappingURL=UpiMarkAsPaidButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpiMarkAsPaidButton.js","sources":["../app/javascript/src/components/UpiMarkAsPaidButton.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateUpiPayment } from \"hooks/reactQuery/upi/usePaymentsApi\";\n\nconst UpiMarkAsPaidButton = ({ paymentId, payableId, onSuccess = noop }) => {\n const { t } = useTranslation();\n const { mutate: updateUpiPayment, isLoading } = useUpdateUpiPayment(\n paymentId,\n { onSuccess }\n );\n\n const handleClick = () =>\n updateUpiPayment({ status: \"successful\", payableId });\n\n return (\n <Button\n label={t(\"neetoPayments.upi.payment.buttons.markAsPaid\")}\n loading={isLoading}\n onClick={handleClick}\n />\n );\n};\n\nexport default UpiMarkAsPaidButton;\n"],"names":["UpiMarkAsPaidButton","_ref","paymentId","payableId","onSuccess","noop","t","useTranslation","mutate","updateUpiPayment","isLoading","useUpdateUpiPayment","handleClick","status","React","createElement","Button","label","loading","onClick"],"mappings":";;;;;;;;;;;;;;AAQMA,MAAAA,mBAAmB,GAAGC,IAAA,IAAgD;EAAA,IAA/C;IAAEC,SAAS;IAAEC,SAAS;AAAEC,IAAAA,SAAS,GAAGC,IAAAA;AAAK,GAAC,GAAAJ,IAAA,CAAA;EACrE,MAAM;AAAEK,IAAAA,CAAAA;GAAG,GAAGC,cAAc,EAAE,CAAA;EAC9B,MAAM;AAAEC,IAAAA,MAAM,EAAEC,gBAAgB;AAAEC,IAAAA,SAAAA;AAAU,GAAC,GAAGC,mBAAmB,CACjET,SAAS,EACT;AAAEE,IAAAA,SAAAA;AAAU,GACd,CAAC,CAAA;AAED,EAAA,MAAMQ,WAAW,GAAGA,MAClBH,gBAAgB,CAAC;AAAEI,IAAAA,MAAM,EAAE,YAAY;AAAEV,IAAAA,SAAAA;AAAU,GAAC,CAAC,CAAA;AAEvD,EAAA,oBACEW,cAAA,CAAAC,aAAA,CAACC,MAAM,EAAA;AACLC,IAAAA,KAAK,EAAEX,CAAC,CAAC,8CAA8C,CAAE;AACzDY,IAAAA,OAAO,EAAER,SAAU;AACnBS,IAAAA,OAAO,EAAEP,WAAAA;AAAY,GACtB,CAAC,CAAA;AAEN;;;;"}
@@ -0,0 +1,94 @@
1
+ import React__default from 'react';
2
+ import { isPresent, noop } from '@bigbinary/neeto-cist';
3
+ import Typography from '@bigbinary/neetoui/Typography';
4
+ import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
5
+ import Form from '@bigbinary/neetoui/formik/Form';
6
+ import Input from '@bigbinary/neetoui/formik/Input';
7
+ import QRCodeImage from 'qrcode.react';
8
+ import { pluck } from 'ramda';
9
+ import { useTranslation } from 'react-i18next';
10
+ import { a as useCreateUpiPayment } from './usePaymentsApi-a801ab15.js';
11
+ import { t } from 'i18next';
12
+ import * as yup from 'yup';
13
+ import './useMutation-8d67f853.js';
14
+ import './mutation-286611ef.js';
15
+ import './utils-e29db9c9.js';
16
+ import 'react/jsx-runtime';
17
+ import 'axios';
18
+ import './constants.js';
19
+ import '@bigbinary/neeto-commons-frontend/constants';
20
+
21
+ const VALIDATION_SCHEMA = yup.object({
22
+ transactionId: yup.string().required(t("neetoPayments.upi.payment.transaction.required")).min(6, t("neetoPayments.upi.payment.transaction.sixCharacters")).max(6, t("neetoPayments.upi.payment.transaction.sixCharacters"))
23
+ });
24
+
25
+ const vpaIdToQrCodeValue = vpaId => `upi://pay?pa=${vpaId}`;
26
+
27
+ const UpiPayment = _ref => {
28
+ let {
29
+ fee = {},
30
+ onSubmit = noop,
31
+ onBackClick = noop,
32
+ payableId
33
+ } = _ref;
34
+ const {
35
+ t
36
+ } = useTranslation();
37
+ const vpaIds = pluck("address", fee?.vpas);
38
+ const {
39
+ mutate: createPayment
40
+ } = useCreateUpiPayment({});
41
+ const handleSubmit = values => {
42
+ const payload = {
43
+ ...values,
44
+ payableId
45
+ };
46
+ createPayment(payload);
47
+ onSubmit(values);
48
+ };
49
+ return /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(Form, {
50
+ className: "space-y-4",
51
+ formikProps: {
52
+ onSubmit: handleSubmit,
53
+ initialValues: {
54
+ transactionId: ""
55
+ },
56
+ validationSchema: VALIDATION_SCHEMA
57
+ }
58
+ }, /*#__PURE__*/React__default.createElement(Typography, {
59
+ style: "body1"
60
+ }, t("neetoPayments.upi.payment.vpaText", {
61
+ count: vpaIds.length
62
+ })), isPresent(vpaIds) && /*#__PURE__*/React__default.createElement("div", {
63
+ className: "grid grid-cols-1 gap-8 gap-y-4 sm:grid-cols-2"
64
+ }, vpaIds.map(vpaId => /*#__PURE__*/React__default.createElement("div", {
65
+ className: "flex flex-col items-center justify-center",
66
+ key: vpaId
67
+ }, /*#__PURE__*/React__default.createElement(QRCodeImage, {
68
+ size: 256,
69
+ style: {
70
+ width: 80,
71
+ height: 80
72
+ },
73
+ value: vpaIdToQrCodeValue(vpaId)
74
+ }), /*#__PURE__*/React__default.createElement(Typography, {
75
+ className: "mt-2 w-full break-words text-center",
76
+ style: "body2"
77
+ }, vpaId)))), /*#__PURE__*/React__default.createElement(Input, {
78
+ required: true,
79
+ label: t("neetoPayments.upi.payment.transaction.label"),
80
+ name: "transactionId",
81
+ placeholder: t("neetoPayments.upi.payment.transaction.placeholder")
82
+ }), /*#__PURE__*/React__default.createElement(ActionBlock, {
83
+ cancelButtonProps: {
84
+ label: t("neetoPayments.upi.payment.buttons.back"),
85
+ onClick: onBackClick
86
+ },
87
+ submitButtonProps: {
88
+ label: t("neetoPayments.upi.payment.buttons.submit")
89
+ }
90
+ })));
91
+ };
92
+
93
+ export { UpiPayment as default };
94
+ //# sourceMappingURL=UpiPayment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpiPayment.js","sources":["../app/javascript/src/components/UpiPayment/constants.js","../app/javascript/src/components/UpiPayment/utils.js","../app/javascript/src/components/UpiPayment/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const VALIDATION_SCHEMA = yup.object({\n transactionId: yup\n .string()\n .required(t(\"neetoPayments.upi.payment.transaction.required\"))\n .min(6, t(\"neetoPayments.upi.payment.transaction.sixCharacters\"))\n .max(6, t(\"neetoPayments.upi.payment.transaction.sixCharacters\")),\n});\n","export const vpaIdToQrCodeValue = vpaId => `upi://pay?pa=${vpaId}`;\n","import React from \"react\";\n\nimport { noop, isPresent } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport QRCodeImage from \"qrcode.react\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateUpiPayment } from \"hooks/reactQuery/upi/usePaymentsApi\";\n\nimport { VALIDATION_SCHEMA } from \"./constants\";\nimport { vpaIdToQrCodeValue } from \"./utils\";\n\nconst UpiPayment = ({\n fee = {},\n onSubmit = noop,\n onBackClick = noop,\n payableId,\n}) => {\n const { t } = useTranslation();\n\n const vpaIds = pluck(\"address\", fee?.vpas);\n\n const { mutate: createPayment } = useCreateUpiPayment({});\n\n const handleSubmit = values => {\n const payload = { ...values, payableId };\n createPayment(payload);\n onSubmit(values);\n };\n\n return (\n <div>\n <Form\n className=\"space-y-4\"\n formikProps={{\n onSubmit: handleSubmit,\n initialValues: { transactionId: \"\" },\n validationSchema: VALIDATION_SCHEMA,\n }}\n >\n <Typography style=\"body1\">\n {t(\"neetoPayments.upi.payment.vpaText\", { count: vpaIds.length })}\n </Typography>\n {isPresent(vpaIds) && (\n <div className=\"grid grid-cols-1 gap-8 gap-y-4 sm:grid-cols-2\">\n {vpaIds.map(vpaId => (\n <div\n className=\"flex flex-col items-center justify-center\"\n key={vpaId}\n >\n <QRCodeImage\n size={256}\n style={{ width: 80, height: 80 }}\n value={vpaIdToQrCodeValue(vpaId)}\n />\n <Typography\n className=\"mt-2 w-full break-words text-center\"\n style=\"body2\"\n >\n {vpaId}\n </Typography>\n </div>\n ))}\n </div>\n )}\n <Input\n required\n label={t(\"neetoPayments.upi.payment.transaction.label\")}\n name=\"transactionId\"\n placeholder={t(\"neetoPayments.upi.payment.transaction.placeholder\")}\n />\n <ActionBlock\n cancelButtonProps={{\n label: t(\"neetoPayments.upi.payment.buttons.back\"),\n onClick: onBackClick,\n }}\n submitButtonProps={{\n label: t(\"neetoPayments.upi.payment.buttons.submit\"),\n }}\n />\n </Form>\n </div>\n );\n};\n\nexport default UpiPayment;\n"],"names":["VALIDATION_SCHEMA","yup","object","transactionId","string","required","t","min","max","vpaIdToQrCodeValue","vpaId","UpiPayment","_ref","fee","onSubmit","noop","onBackClick","payableId","useTranslation","vpaIds","pluck","vpas","mutate","createPayment","useCreateUpiPayment","handleSubmit","values","payload","React","createElement","Form","className","formikProps","initialValues","validationSchema","Typography","style","count","length","isPresent","map","key","QRCodeImage","size","width","height","value","Input","label","name","placeholder","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":"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"}
@@ -0,0 +1,302 @@
1
+ import { _ as _extends } from './extends-093996c9.js';
2
+ import React__default, { useEffect } from 'react';
3
+ import { t } from 'i18next';
4
+ import { withTitle } from '@bigbinary/neeto-commons-frontend/react-utils';
5
+ import { useTranslation } from 'react-i18next';
6
+ import { u as useFiltersAndPagination, F as FilterWrapper } from './useFiltersAndPagination-2ab7bc8f.js';
7
+ import { r as renderStatus, c as renderDate, e as buildPayload, w as withReactQuery } from './renderFunctions-97b121a4.js';
8
+ import { isPresent, camelToSnakeCase } from '@bigbinary/neeto-cist';
9
+ import { getQueryParams, buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
10
+ import { useHiddenColumns } from '@bigbinary/neeto-molecules/Columns';
11
+ import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
12
+ import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
13
+ import Table from '@bigbinary/neetoui/Table';
14
+ import NoData from '@bigbinary/neetoui/NoData';
15
+ import { isEmpty, mergeLeft, assoc } from 'ramda';
16
+ import { useHistory } from 'react-router-dom';
17
+ import { u as useQuery, Q as QUERY_KEYS } from './queryConstants-765c8816.js';
18
+ import axios from 'axios';
19
+ import { BASE_URL, SORT_DIRECTIONS, DEFAULT_SORT_PROPERTIES } from './constants.js';
20
+ import { p as processDataIndex } from './index-48f8b281.js';
21
+ import '@bigbinary/neeto-filters-frontend';
22
+ import '@bigbinary/neeto-molecules/Header';
23
+ import '@bigbinary/neeto-molecules/SubHeader';
24
+ import '@bigbinary/neetoui/Tab';
25
+ import '@bigbinary/neetoui/Typography';
26
+ import './index-1aedc364.js';
27
+ import '@bigbinary/neetoui/Button';
28
+ import '@bigbinary/neetoui/Tooltip';
29
+ import './utils-e29db9c9.js';
30
+ import 'react/jsx-runtime';
31
+ import '@bigbinary/neeto-commons-frontend/constants';
32
+ import './mutation-286611ef.js';
33
+ import '@bigbinary/neeto-molecules/DateFormat';
34
+ import '@bigbinary/neetoui/Tag';
35
+ import '@bigbinary/neeto-molecules/CopyToClipboardButton';
36
+
37
+ const TAB = {
38
+ all: "all",
39
+ successful: "successful",
40
+ declined: "declined"
41
+ };
42
+ const TABS = Object.values(TAB);
43
+ const COLUMNS = [{
44
+ title: t("neetoPayments.common.id"),
45
+ dataIndex: "id",
46
+ key: "id",
47
+ width: "72px",
48
+ isHidable: false
49
+ }, {
50
+ title: t("neetoPayments.common.transactionId"),
51
+ dataIndex: "identifier",
52
+ key: "identifier",
53
+ width: "290px",
54
+ isHidable: false
55
+ }, {
56
+ title: t("neetoPayments.common.status"),
57
+ dataIndex: "status",
58
+ key: "status",
59
+ sorter: true,
60
+ width: "150px",
61
+ render: renderStatus("upiTransaction"),
62
+ isHidable: false
63
+ }, {
64
+ title: t("neetoPayments.common.amount"),
65
+ dataIndex: "amount",
66
+ key: "amount",
67
+ sorter: true,
68
+ width: "150px"
69
+ }, {
70
+ title: t("neetoPayments.common.paymentTime"),
71
+ dataIndex: "paymentAt",
72
+ key: "paymentTime",
73
+ sorter: true,
74
+ width: "220px",
75
+ render: renderDate
76
+ }];
77
+ const COLUMN_METADATA = {
78
+ status: {
79
+ isHidden: {
80
+ successful: true,
81
+ declined: true,
82
+ pending: true,
83
+ refunded: true
84
+ }
85
+ }
86
+ };
87
+
88
+ const list = payload => axios.get(`${BASE_URL}/api/v2/payments`, {
89
+ params: payload
90
+ });
91
+ const paymentsApi = {
92
+ list
93
+ };
94
+
95
+ const useFetchV2Payments = function () {
96
+ let payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
97
+ let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
98
+ return useQuery({
99
+ queryKey: [QUERY_KEYS.V2_PAYMENTS, payload],
100
+ queryFn: () => paymentsApi.list(payload),
101
+ ...options
102
+ });
103
+ };
104
+
105
+ const buildPaymentColumns = _ref => {
106
+ let {
107
+ tab,
108
+ kind,
109
+ payableEntityColumns = []
110
+ } = _ref;
111
+ return COLUMNS.filter(_ref2 => {
112
+ let {
113
+ key
114
+ } = _ref2;
115
+ return !(COLUMN_METADATA[key]?.isHidden?.[kind] || COLUMN_METADATA[key]?.isHidden?.[tab]);
116
+ }).concat(payableEntityColumns.filter(_ref3 => {
117
+ let {
118
+ isHidden
119
+ } = _ref3;
120
+ return !(isHidden?.[tab] || isHidden?.[kind]);
121
+ }));
122
+ };
123
+ const buildRowData = _ref4 => {
124
+ let {
125
+ data,
126
+ pageProperties = {},
127
+ tab = "all"
128
+ } = _ref4;
129
+ return data.map((element, index) => ({
130
+ ...element,
131
+ payable: element.payable,
132
+ identifier: element.identifier,
133
+ id: isEmpty(pageProperties) ? index + 1 : pageProperties[tab]?.pageSize * (pageProperties[tab]?.page - 1) + index + 1
134
+ }));
135
+ };
136
+
137
+ const List = _ref => {
138
+ let {
139
+ kind,
140
+ filters,
141
+ setIsFilterButtonVisible,
142
+ pageProperties,
143
+ payableEntityColumns,
144
+ setPageProperties,
145
+ tab,
146
+ sortProperties,
147
+ setSortProperties,
148
+ setDataSize
149
+ } = _ref;
150
+ const history = useHistory();
151
+ const {
152
+ t
153
+ } = useTranslation();
154
+ const columnData = buildPaymentColumns({
155
+ tab,
156
+ kind,
157
+ payableEntityColumns
158
+ });
159
+ const payload = buildPayload({
160
+ tab,
161
+ filters,
162
+ pageProperties,
163
+ sortProperties
164
+ });
165
+ const {
166
+ hideColumn,
167
+ hiddenColumns = []
168
+ } = useHiddenColumns(`paymentDashboard_${kind}`);
169
+ const {
170
+ data: {
171
+ payments,
172
+ views = {}
173
+ } = {},
174
+ isLoading: isPaymentsLoading,
175
+ isFetching
176
+ } = useFetchV2Payments(payload);
177
+ useEffect(() => {
178
+ setIsFilterButtonVisible(isPresent(payments) || isPresent(filters));
179
+ setDataSize(views[tab]);
180
+ }, [payments]);
181
+ const handleTablePaginaton = (page, pageSize) => {
182
+ const queryParams = getQueryParams({
183
+ toCamelCase: false
184
+ });
185
+ history.push(buildUrl(window.location.pathname, mergeLeft({
186
+ page,
187
+ page_size: pageSize
188
+ }, queryParams)));
189
+ setPageProperties(assoc(tab, {
190
+ page,
191
+ pageSize
192
+ }));
193
+ };
194
+ const handleTableChange = (_, __, sorter) => {
195
+ setSortProperties(isPresent(sorter?.column) ? {
196
+ sortBy: camelToSnakeCase(sorter.field),
197
+ orderBy: sorter.order === "ascend" ? "ASC" : "DESC"
198
+ } : DEFAULT_SORT_PROPERTIES);
199
+ };
200
+ const visibleColumns = columnData.filter(_ref2 => {
201
+ let {
202
+ dataIndex
203
+ } = _ref2;
204
+ return !hiddenColumns.includes(processDataIndex(dataIndex));
205
+ });
206
+ if (isPaymentsLoading) {
207
+ return /*#__PURE__*/React__default.createElement(PageLoader, null);
208
+ }
209
+ if (!isPresent(payments)) {
210
+ return /*#__PURE__*/React__default.createElement("div", {
211
+ className: "flex h-full w-full items-center justify-center"
212
+ }, /*#__PURE__*/React__default.createElement(NoData, {
213
+ title: tab === TAB.all ? t(`neetoPayments.emptyState.${kind}`) : t(`neetoPayments.emptyState.${kind}WithStatus`, {
214
+ status: tab
215
+ })
216
+ }));
217
+ }
218
+ return /*#__PURE__*/React__default.createElement(TableWrapper, {
219
+ hasPagination: views > pageProperties[tab]?.pageSize
220
+ }, /*#__PURE__*/React__default.createElement(Table, {
221
+ fixedHeight: true,
222
+ allowRowClick: false,
223
+ columnData: visibleColumns,
224
+ currentPageNumber: pageProperties[tab]?.page,
225
+ handlePageChange: handleTablePaginaton,
226
+ loading: isFetching,
227
+ rowData: buildRowData({
228
+ data: payments,
229
+ pageProperties,
230
+ tab
231
+ }),
232
+ rowSelection: false,
233
+ sortDirections: SORT_DIRECTIONS,
234
+ totalCount: views,
235
+ paginationProps: {
236
+ showSizeChanger: true,
237
+ hideOnSinglePage: true,
238
+ pageSize: pageProperties[tab]?.pageSize,
239
+ total: views
240
+ },
241
+ onChange: handleTableChange,
242
+ onColumnHide: columnData => {
243
+ hideColumn(processDataIndex(columnData.dataIndex));
244
+ }
245
+ }));
246
+ };
247
+
248
+ const V2PaymentsDashboard = _ref => {
249
+ let {
250
+ searchProps,
251
+ headerProps = {},
252
+ payableEntityColumns = [],
253
+ kind = "upiPayment"
254
+ } = _ref;
255
+ const {
256
+ t
257
+ } = useTranslation();
258
+ const filterPaginationState = useFiltersAndPagination({
259
+ payableEntityColumns,
260
+ kind,
261
+ initialTabs: TABS,
262
+ tabMetaData: {}
263
+ });
264
+ const {
265
+ filters,
266
+ setIsFilterButtonVisible,
267
+ pageProperties,
268
+ setPageProperties,
269
+ sortProperties,
270
+ setSortProperties,
271
+ tab,
272
+ setDataSize
273
+ } = filterPaginationState;
274
+ return (
275
+ /*#__PURE__*/
276
+ // Note: For now this component would be called UPI payments
277
+ // Note: This cannot be called payments as right now this only shows upi payments.
278
+ // TODO: Once other payments are integrated change the header and subsequent usages of "upi"
279
+ React__default.createElement(FilterWrapper, _extends({
280
+ title: t("neetoPayments.common.upiPayments"),
281
+ headerProps,
282
+ kind,
283
+ payableEntityColumns,
284
+ searchProps
285
+ }, filterPaginationState), /*#__PURE__*/React__default.createElement(List, {
286
+ filters,
287
+ kind,
288
+ pageProperties,
289
+ payableEntityColumns,
290
+ setDataSize,
291
+ setIsFilterButtonVisible,
292
+ setPageProperties,
293
+ setSortProperties,
294
+ sortProperties,
295
+ tab
296
+ }))
297
+ );
298
+ };
299
+ var index = withTitle(withReactQuery(V2PaymentsDashboard), t("neetoPayments.common.upiPayments"));
300
+
301
+ export { index as default };
302
+ //# sourceMappingURL=V2PaymentsDashboard.js.map