@bigbinary/neeto-payments-frontend 6.1.31 → 6.2.0

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 (128) hide show
  1. package/README.md +1 -1
  2. package/dist/AccountsDashboard.js +5 -5
  3. package/dist/AdminCancelRecurringPaymentButton.js +1 -1
  4. package/dist/CashPaymentButton.js +2 -2
  5. package/dist/ConfirmCashPaymentButton.js +2 -2
  6. package/dist/CustomerCancelRecurringPaymentForm.js +1 -1
  7. package/dist/{ExportModal-r0L3_JqO.js → ExportModal-DGOx1b6l.js} +2 -2
  8. package/dist/{ExportModal-r0L3_JqO.js.map → ExportModal-DGOx1b6l.js.map} +1 -1
  9. package/dist/ManualUpiConnect.js +1 -1
  10. package/dist/ManualUpiPayment.js +3 -2
  11. package/dist/ManualUpiPayment.js.map +1 -1
  12. package/dist/ManualUpiPaymentConfirmButton.js +2 -2
  13. package/dist/ManualUpiPaymentRejectButton.js +2 -2
  14. package/dist/PaymentsDashboard.js +3 -3
  15. package/dist/PayoutsDashboard.js +5 -5
  16. package/dist/PayoutsPage.js +3 -3
  17. package/dist/RazorpayConnect.js +2 -2
  18. package/dist/RazorpayLinkedAccountForm.js +1 -1
  19. package/dist/RazorpayPaymentButton.js +2 -2
  20. package/dist/RecurringPaymentSettings.js +1 -1
  21. package/dist/RefundsDashboard.js +3 -3
  22. package/dist/SplitTransfersDashboard.js +2 -2
  23. package/dist/StripeCheckoutSetting.js +1 -1
  24. package/dist/StripeConnect.js +3 -3
  25. package/dist/StripeManage.js +1 -1
  26. package/dist/TaxesDashboard.js +1 -1
  27. package/dist/buildStripeTransactionLink.js +1 -1
  28. package/dist/cjs/AccountsDashboard.js +5 -5
  29. package/dist/cjs/AdminCancelRecurringPaymentButton.js +1 -1
  30. package/dist/cjs/CashPaymentButton.js +2 -2
  31. package/dist/cjs/ConfirmCashPaymentButton.js +2 -2
  32. package/dist/cjs/CustomerCancelRecurringPaymentForm.js +1 -1
  33. package/dist/cjs/{ExportModal-Bo-VRErR.js → ExportModal-CJlEDIWM.js} +2 -2
  34. package/dist/cjs/{ExportModal-Bo-VRErR.js.map → ExportModal-CJlEDIWM.js.map} +1 -1
  35. package/dist/cjs/ManualUpiConnect.js +1 -1
  36. package/dist/cjs/ManualUpiPayment.js +3 -2
  37. package/dist/cjs/ManualUpiPayment.js.map +1 -1
  38. package/dist/cjs/ManualUpiPaymentConfirmButton.js +2 -2
  39. package/dist/cjs/ManualUpiPaymentRejectButton.js +2 -2
  40. package/dist/cjs/PaymentsDashboard.js +3 -3
  41. package/dist/cjs/PayoutsDashboard.js +5 -5
  42. package/dist/cjs/PayoutsPage.js +3 -3
  43. package/dist/cjs/RazorpayConnect.js +2 -2
  44. package/dist/cjs/RazorpayLinkedAccountForm.js +1 -1
  45. package/dist/cjs/RazorpayPaymentButton.js +2 -2
  46. package/dist/cjs/RecurringPaymentSettings.js +1 -1
  47. package/dist/cjs/RefundsDashboard.js +3 -3
  48. package/dist/cjs/SplitTransfersDashboard.js +2 -2
  49. package/dist/cjs/StripeCheckoutSetting.js +1 -1
  50. package/dist/cjs/StripeConnect.js +3 -3
  51. package/dist/cjs/StripeManage.js +1 -1
  52. package/dist/cjs/TaxesDashboard.js +1 -1
  53. package/dist/cjs/buildStripeTransactionLink.js +1 -1
  54. package/dist/cjs/constants.js +1 -1
  55. package/dist/cjs/{dashboard-ByRrf_OD.js → dashboard-0e4qOr6Q.js} +2 -2
  56. package/dist/cjs/{dashboard-ByRrf_OD.js.map → dashboard-0e4qOr6Q.js.map} +1 -1
  57. package/dist/cjs/getAddressElementOptions.js +1 -1
  58. package/dist/cjs/getAmountInLargestCurrencyUnit.js +1 -1
  59. package/dist/cjs/getAmountInSmallestCurrencyUnit.js +1 -1
  60. package/dist/cjs/getAmountWithAppliedTax.js +1 -1
  61. package/dist/cjs/getFormattedAmount.js +1 -1
  62. package/dist/cjs/getFormattedDiscountedAmount.js +1 -1
  63. package/dist/cjs/getFormattedDiscountedPercentage.js +1 -1
  64. package/dist/cjs/getFormattedTaxAmount.js +1 -1
  65. package/dist/cjs/getFormattedTipAmount.js +1 -1
  66. package/dist/cjs/getQrCodeValue.js +1 -1
  67. package/dist/cjs/getTaxAmount.js +1 -1
  68. package/dist/cjs/getTipAmount.js +1 -1
  69. package/dist/cjs/hasAmountToPay.js +1 -1
  70. package/dist/cjs/{index-C3dlLi3r.js → index-d81RoerD.js} +16 -13
  71. package/dist/cjs/index-d81RoerD.js.map +1 -0
  72. package/dist/cjs/index.js +11 -11
  73. package/dist/cjs/{renderFunctions-DuZlWOmX.js → renderFunctions-Bti0TEIP.js} +2 -2
  74. package/dist/cjs/{renderFunctions-DuZlWOmX.js.map → renderFunctions-Bti0TEIP.js.map} +1 -1
  75. package/dist/cjs/{useAccountsApi-DPB2aG4H.js → useAccountsApi-DsrOzkcV.js} +2 -2
  76. package/dist/cjs/{useAccountsApi-DPB2aG4H.js.map → useAccountsApi-DsrOzkcV.js.map} +1 -1
  77. package/dist/cjs/{useExportsApi-eSMwoLoJ.js → useExportsApi-damWskqN.js} +2 -2
  78. package/dist/cjs/{useExportsApi-eSMwoLoJ.js.map → useExportsApi-damWskqN.js.map} +1 -1
  79. package/dist/cjs/{useIntegrationsApi-CmJgHHH1.js → useIntegrationsApi-Cdm9Q9F_.js} +2 -2
  80. package/dist/cjs/{useIntegrationsApi-CmJgHHH1.js.map → useIntegrationsApi-Cdm9Q9F_.js.map} +1 -1
  81. package/dist/cjs/{usePaymentApi-CbNuVb24.js → usePaymentApi-CGzEYmcs.js} +2 -2
  82. package/dist/cjs/{usePaymentApi-CbNuVb24.js.map → usePaymentApi-CGzEYmcs.js.map} +1 -1
  83. package/dist/cjs/{usePaymentApi-BjWrpZLW.js → usePaymentApi-DmaCm5ok.js} +2 -2
  84. package/dist/cjs/{usePaymentApi-BjWrpZLW.js.map → usePaymentApi-DmaCm5ok.js.map} +1 -1
  85. package/dist/cjs/{usePaymentApi-DXJeVvg3.js → usePaymentApi-tvigxwUS.js} +2 -2
  86. package/dist/cjs/{usePaymentApi-DXJeVvg3.js.map → usePaymentApi-tvigxwUS.js.map} +1 -1
  87. package/dist/cjs/{usePlatformApi-B1n8h0bi.js → usePlatformApi-D6ns278e.js} +2 -2
  88. package/dist/cjs/{usePlatformApi-B1n8h0bi.js.map → usePlatformApi-D6ns278e.js.map} +1 -1
  89. package/dist/cjs/useRazorpayPayment.js +2 -2
  90. package/dist/constants.js +1 -1
  91. package/dist/{dashboard-Uo2nRTH0.js → dashboard-Bu-kKlqX.js} +2 -2
  92. package/dist/{dashboard-Uo2nRTH0.js.map → dashboard-Bu-kKlqX.js.map} +1 -1
  93. package/dist/getAddressElementOptions.js +1 -1
  94. package/dist/getAmountInLargestCurrencyUnit.js +1 -1
  95. package/dist/getAmountInSmallestCurrencyUnit.js +1 -1
  96. package/dist/getAmountWithAppliedTax.js +1 -1
  97. package/dist/getFormattedAmount.js +1 -1
  98. package/dist/getFormattedDiscountedAmount.js +1 -1
  99. package/dist/getFormattedDiscountedPercentage.js +1 -1
  100. package/dist/getFormattedTaxAmount.js +1 -1
  101. package/dist/getFormattedTipAmount.js +1 -1
  102. package/dist/getQrCodeValue.js +1 -1
  103. package/dist/getTaxAmount.js +1 -1
  104. package/dist/getTipAmount.js +1 -1
  105. package/dist/hasAmountToPay.js +1 -1
  106. package/dist/{index-BbPuNCbC.js → index-BFPr9LL_.js} +16 -13
  107. package/dist/index-BFPr9LL_.js.map +1 -0
  108. package/dist/index.js +11 -11
  109. package/dist/{renderFunctions-dslScg6B.js → renderFunctions-Cj94YzPn.js} +2 -2
  110. package/dist/{renderFunctions-dslScg6B.js.map → renderFunctions-Cj94YzPn.js.map} +1 -1
  111. package/dist/{useAccountsApi-C9W3YdvO.js → useAccountsApi-BYO3jcvn.js} +2 -2
  112. package/dist/{useAccountsApi-C9W3YdvO.js.map → useAccountsApi-BYO3jcvn.js.map} +1 -1
  113. package/dist/{useExportsApi-B0u8EW7i.js → useExportsApi-Kh-sIsaX.js} +2 -2
  114. package/dist/{useExportsApi-B0u8EW7i.js.map → useExportsApi-Kh-sIsaX.js.map} +1 -1
  115. package/dist/{useIntegrationsApi-AF3A7YvI.js → useIntegrationsApi-4-kw1M93.js} +2 -2
  116. package/dist/{useIntegrationsApi-AF3A7YvI.js.map → useIntegrationsApi-4-kw1M93.js.map} +1 -1
  117. package/dist/{usePaymentApi-CUHHIncv.js → usePaymentApi-BQyWVrBI.js} +2 -2
  118. package/dist/{usePaymentApi-CUHHIncv.js.map → usePaymentApi-BQyWVrBI.js.map} +1 -1
  119. package/dist/{usePaymentApi-BGN0_zsw.js → usePaymentApi-D6FQUiYT.js} +2 -2
  120. package/dist/{usePaymentApi-BGN0_zsw.js.map → usePaymentApi-D6FQUiYT.js.map} +1 -1
  121. package/dist/{usePaymentApi-qo71Ol63.js → usePaymentApi-DsXrGrJF.js} +2 -2
  122. package/dist/{usePaymentApi-qo71Ol63.js.map → usePaymentApi-DsXrGrJF.js.map} +1 -1
  123. package/dist/{usePlatformApi-KlkpSYlq.js → usePlatformApi-CQY4MOWy.js} +2 -2
  124. package/dist/{usePlatformApi-KlkpSYlq.js.map → usePlatformApi-CQY4MOWy.js.map} +1 -1
  125. package/dist/useRazorpayPayment.js +2 -2
  126. package/package.json +15 -17
  127. package/dist/cjs/index-C3dlLi3r.js.map +0 -1
  128. package/dist/index-BbPuNCbC.js.map +0 -1
package/README.md CHANGED
@@ -266,7 +266,7 @@ file.
266
266
  ```
267
267
 
268
268
  **Loading Secrets:** Ensure these secrets are loaded into
269
- `Rails.application.secrets`. An example `config/secrets.yml` structure:
269
+ `Rails.application.vault`. An example `config/secrets.yml` structure:
270
270
 
271
271
  ```yaml
272
272
  # config/secrets.yml
@@ -7,21 +7,21 @@ import Header from '@bigbinary/neeto-molecules/Header';
7
7
  import SubHeader from '@bigbinary/neeto-molecules/SubHeader';
8
8
  import { Modal, Typography, Button, Spinner, NoData, Table, Tab } from '@bigbinary/neetoui';
9
9
  import { useTranslation } from 'react-i18next';
10
- import { u as useExportData, w as withReactQuery } from './useExportsApi-B0u8EW7i.js';
10
+ import { u as useExportData, w as withReactQuery } from './useExportsApi-Kh-sIsaX.js';
11
11
  import { e as exportChannel, T as TABLE_KEYS } from './exportChannel-Db0U5gc1.js';
12
12
  import { Download } from '@bigbinary/neeto-icons';
13
- import { u as uuidV4, h as buildStripeAccountLink, D as DEFAULT_SORT_PROPERTIES, S as SORT_DIRECTIONS } from './index-BbPuNCbC.js';
13
+ import { u as uuidV4, h as buildStripeAccountLink, D as DEFAULT_SORT_PROPERTIES, S as SORT_DIRECTIONS } from './index-BFPr9LL_.js';
14
14
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
15
15
  import { getQueryParams, buildUrl } from 'neetocommons/utils';
16
16
  import { pipe, split, map, join, mergeLeft, assoc } from 'ramda';
17
17
  import { useHistory } from 'react-router-dom';
18
- import { b as buildDefaultPageProperties, a as buildPayload, c as buildRowData } from './dashboard-Uo2nRTH0.js';
19
- import { r as renderFullName, a as renderDate, b as renderStatus } from './renderFunctions-dslScg6B.js';
18
+ import { b as buildDefaultPageProperties, a as buildPayload, c as buildRowData } from './dashboard-Bu-kKlqX.js';
19
+ import { r as renderFullName, a as renderDate, b as renderStatus } from './renderFunctions-Cj94YzPn.js';
20
20
  import { C as CopyButtonWrapper } from './CopyButtonWrapper-DkI2F6Ty.js';
21
21
  import { DEFAULT_PAGE_SIZE, DEFAULT_PAGE_INDEX } from 'neetocommons/constants';
22
22
  import { useTableConfigurations } from '@bigbinary/neeto-molecules/Columns';
23
23
  import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
24
- import { u as useFetchConnectedAccounts } from './useAccountsApi-C9W3YdvO.js';
24
+ import { u as useFetchConnectedAccounts } from './useAccountsApi-BYO3jcvn.js';
25
25
  import '@tanstack/react-query';
26
26
  import '@tanstack/react-query-devtools';
27
27
  import 'axios';
@@ -3,7 +3,7 @@ import { Button, Alert } from '@bigbinary/neetoui';
3
3
  import { useTranslation } from 'react-i18next';
4
4
  import { useMutationWithInvalidation } from 'neetocommons/react-utils';
5
5
  import axios from 'axios';
6
- import { B as BASE_URL } from './index-BbPuNCbC.js';
6
+ import { B as BASE_URL } from './index-BFPr9LL_.js';
7
7
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
8
8
  import 'i18next';
9
9
  import 'neetocommons/constants';
@@ -1,11 +1,11 @@
1
1
  import { noop } from 'neetocist';
2
2
  import { useTranslation } from 'react-i18next';
3
- import { u as useCreateCashPayment } from './usePaymentApi-CUHHIncv.js';
3
+ import { u as useCreateCashPayment } from './usePaymentApi-BQyWVrBI.js';
4
4
  import { Button } from '@bigbinary/neetoui';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
  import '@tanstack/react-query';
7
7
  import 'axios';
8
- import './index-BbPuNCbC.js';
8
+ import './index-BFPr9LL_.js';
9
9
  import 'i18next';
10
10
  import 'neetocommons/constants';
11
11
  import 'decimal.js';
@@ -1,13 +1,13 @@
1
1
  import { useState } from 'react';
2
2
  import { noop } from 'neetocist';
3
3
  import { useTranslation } from 'react-i18next';
4
- import { a as useUpdateCashPayment } from './usePaymentApi-CUHHIncv.js';
4
+ import { a as useUpdateCashPayment } from './usePaymentApi-BQyWVrBI.js';
5
5
  import { Button, Modal, Typography } from '@bigbinary/neetoui';
6
6
  import { Form, Textarea, ActionBlock } from '@bigbinary/neetoui/formik';
7
7
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
8
8
  import '@tanstack/react-query';
9
9
  import 'axios';
10
- import './index-BbPuNCbC.js';
10
+ import './index-BFPr9LL_.js';
11
11
  import 'i18next';
12
12
  import 'neetocommons/constants';
13
13
  import 'decimal.js';
@@ -1,7 +1,7 @@
1
1
  import { useTranslation } from 'react-i18next';
2
2
  import { useMutationWithInvalidation } from 'neetocommons/react-utils';
3
3
  import axios from 'axios';
4
- import { B as BASE_URL } from './index-BbPuNCbC.js';
4
+ import { B as BASE_URL } from './index-BFPr9LL_.js';
5
5
  import { useQuery } from '@tanstack/react-query';
6
6
  import { isNotNil } from 'ramda';
7
7
  import { Q as QUERY_KEYS } from './queryConstants-8c7Nd8ML.js';
@@ -5,7 +5,7 @@ import { mergeLeft } from 'ramda';
5
5
  import { useTranslation } from 'react-i18next';
6
6
  import { useMutation } from '@tanstack/react-query';
7
7
  import axios from 'axios';
8
- import { B as BASE_URL, u as uuidV4 } from './index-BbPuNCbC.js';
8
+ import { B as BASE_URL, u as uuidV4 } from './index-BFPr9LL_.js';
9
9
  import { getQueryParams } from 'neetocommons/utils';
10
10
  import { Modal, Typography, Button } from '@bigbinary/neetoui';
11
11
  import { e as exportChannel } from './exportChannel-Db0U5gc1.js';
@@ -117,4 +117,4 @@ const ExportModal = ({
117
117
  };
118
118
 
119
119
  export { ExportModal as E };
120
- //# sourceMappingURL=ExportModal-r0L3_JqO.js.map
120
+ //# sourceMappingURL=ExportModal-DGOx1b6l.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExportModal-r0L3_JqO.js","sources":["../app/javascript/src/apis/exports.js","../app/javascript/src/hooks/reactQuery/useExportsApi.js","../app/javascript/src/components/Common/ExportModal.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst create = payload =>\n axios.post(\n `${BASE_URL}/api/v1/exports`,\n { export: payload },\n { showToastr: false }\n );\n\nconst exportsApi = { create };\n\nexport default exportsApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport exportsApi from \"apis/exports\";\n\nexport const useExportsData = () =>\n useMutation({ mutationFn: exportsApi.create });\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { isPresent, camelToSnakeCase } from \"neetocist\";\nimport { Download } from \"neetoicons\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useExportsData } from \"hooks/reactQuery/useExportsApi\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { Button, Modal, Typography } from \"neetoui\";\nimport exportChannel from \"src/channels/exportChannel\";\nimport { uuidV4 } from \"utils\";\n\nconst ExportModal = ({\n filters,\n dashboardKind,\n holdableIds,\n sortProperties,\n isExportModalOpen,\n setIsExportModalOpen,\n}) => {\n const { t } = useTranslation();\n const [downloadUrl, setDownloadUrl] = useState(\"\");\n const [isGenerating, setIsGenerating] = useState(false);\n\n const { tab = \"all\" } = getQueryParams();\n\n const { mutate: exportsData } = useExportsData();\n\n const token = useMemo(\n () => `${dashboardKind}-report-${uuidV4()}`,\n [dashboardKind]\n );\n\n const receivedCallback = data => {\n if (!data.download_url) return;\n setDownloadUrl(data.download_url);\n setIsGenerating(false);\n };\n\n useEffect(() => {\n if (isExportModalOpen) {\n const channel = exportChannel(token, receivedCallback);\n setDownloadUrl(\"\");\n setIsGenerating(false);\n\n return () => {\n channel.disconnected();\n };\n }\n\n return undefined;\n }, [isExportModalOpen, token]);\n\n const onClose = () => setIsExportModalOpen(false);\n\n const handleExport = () => {\n setDownloadUrl(\"\");\n setIsGenerating(true);\n const payload = mergeLeft(sortProperties, {\n token,\n filters,\n tab,\n holdableIds,\n dashboard: camelToSnakeCase(dashboardKind),\n });\n\n exportsData(payload);\n };\n\n return (\n <Modal {...{ onClose }} isOpen={isExportModalOpen}>\n <Modal.Header>\n <Typography style=\"h2\">\n {t(`neetoPayments.export.title.${dashboardKind}`)}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n {isGenerating ? (\n <Typography style=\"body2\">\n {t(\"neetoPayments.export.pleaseWait\")}\n </Typography>\n ) : (\n <Typography style=\"body2\">\n {isPresent(downloadUrl)\n ? t(\"neetoPayments.export.fileReady\")\n : t(`neetoPayments.export.download.${dashboardKind}`)}\n </Typography>\n )}\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n {isPresent(downloadUrl) ? (\n <Button\n data-testid=\"neeto-payments-download-button\"\n href={downloadUrl}\n icon={Download}\n label={t(\"neetoPayments.common.download\")}\n onClick={onClose}\n />\n ) : (\n <>\n <Button\n data-testid=\"cancel-button\"\n disabled={isGenerating}\n label={t(\"neetoPayments.common.cancel\")}\n style=\"tertiary\"\n onClick={onClose}\n />\n <Button\n data-testid=\"neeto-payments-export-button\"\n disabled={isGenerating}\n label={t(\"neetoPayments.common.export\")}\n loading={isGenerating}\n onClick={handleExport}\n />\n </>\n )}\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default ExportModal;\n"],"names":["create","payload","axios","post","BASE_URL","export","showToastr","exportsApi","useExportsData","useMutation","mutationFn","ExportModal","filters","dashboardKind","holdableIds","sortProperties","isExportModalOpen","setIsExportModalOpen","t","useTranslation","downloadUrl","setDownloadUrl","useState","isGenerating","setIsGenerating","tab","getQueryParams","mutate","exportsData","token","useMemo","uuidV4","receivedCallback","data","download_url","useEffect","channel","exportChannel","disconnected","undefined","onClose","handleExport","mergeLeft","dashboard","camelToSnakeCase","_jsxs","Modal","isOpen","children","_jsx","Header","Typography","style","Body","isPresent","Footer","className","Button","href","icon","Download","label","onClick","_Fragment","disabled","loading"],"mappings":"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"}
1
+ {"version":3,"file":"ExportModal-DGOx1b6l.js","sources":["../app/javascript/src/apis/exports.js","../app/javascript/src/hooks/reactQuery/useExportsApi.js","../app/javascript/src/components/Common/ExportModal.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst create = payload =>\n axios.post(\n `${BASE_URL}/api/v1/exports`,\n { export: payload },\n { showToastr: false }\n );\n\nconst exportsApi = { create };\n\nexport default exportsApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport exportsApi from \"apis/exports\";\n\nexport const useExportsData = () =>\n useMutation({ mutationFn: exportsApi.create });\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { isPresent, camelToSnakeCase } from \"neetocist\";\nimport { Download } from \"neetoicons\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useExportsData } from \"hooks/reactQuery/useExportsApi\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { Button, Modal, Typography } from \"neetoui\";\nimport exportChannel from \"src/channels/exportChannel\";\nimport { uuidV4 } from \"utils\";\n\nconst ExportModal = ({\n filters,\n dashboardKind,\n holdableIds,\n sortProperties,\n isExportModalOpen,\n setIsExportModalOpen,\n}) => {\n const { t } = useTranslation();\n const [downloadUrl, setDownloadUrl] = useState(\"\");\n const [isGenerating, setIsGenerating] = useState(false);\n\n const { tab = \"all\" } = getQueryParams();\n\n const { mutate: exportsData } = useExportsData();\n\n const token = useMemo(\n () => `${dashboardKind}-report-${uuidV4()}`,\n [dashboardKind]\n );\n\n const receivedCallback = data => {\n if (!data.download_url) return;\n setDownloadUrl(data.download_url);\n setIsGenerating(false);\n };\n\n useEffect(() => {\n if (isExportModalOpen) {\n const channel = exportChannel(token, receivedCallback);\n setDownloadUrl(\"\");\n setIsGenerating(false);\n\n return () => {\n channel.disconnected();\n };\n }\n\n return undefined;\n }, [isExportModalOpen, token]);\n\n const onClose = () => setIsExportModalOpen(false);\n\n const handleExport = () => {\n setDownloadUrl(\"\");\n setIsGenerating(true);\n const payload = mergeLeft(sortProperties, {\n token,\n filters,\n tab,\n holdableIds,\n dashboard: camelToSnakeCase(dashboardKind),\n });\n\n exportsData(payload);\n };\n\n return (\n <Modal {...{ onClose }} isOpen={isExportModalOpen}>\n <Modal.Header>\n <Typography style=\"h2\">\n {t(`neetoPayments.export.title.${dashboardKind}`)}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n {isGenerating ? (\n <Typography style=\"body2\">\n {t(\"neetoPayments.export.pleaseWait\")}\n </Typography>\n ) : (\n <Typography style=\"body2\">\n {isPresent(downloadUrl)\n ? t(\"neetoPayments.export.fileReady\")\n : t(`neetoPayments.export.download.${dashboardKind}`)}\n </Typography>\n )}\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n {isPresent(downloadUrl) ? (\n <Button\n data-testid=\"neeto-payments-download-button\"\n href={downloadUrl}\n icon={Download}\n label={t(\"neetoPayments.common.download\")}\n onClick={onClose}\n />\n ) : (\n <>\n <Button\n data-testid=\"cancel-button\"\n disabled={isGenerating}\n label={t(\"neetoPayments.common.cancel\")}\n style=\"tertiary\"\n onClick={onClose}\n />\n <Button\n data-testid=\"neeto-payments-export-button\"\n disabled={isGenerating}\n label={t(\"neetoPayments.common.export\")}\n loading={isGenerating}\n onClick={handleExport}\n />\n </>\n )}\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default ExportModal;\n"],"names":["create","payload","axios","post","BASE_URL","export","showToastr","exportsApi","useExportsData","useMutation","mutationFn","ExportModal","filters","dashboardKind","holdableIds","sortProperties","isExportModalOpen","setIsExportModalOpen","t","useTranslation","downloadUrl","setDownloadUrl","useState","isGenerating","setIsGenerating","tab","getQueryParams","mutate","exportsData","token","useMemo","uuidV4","receivedCallback","data","download_url","useEffect","channel","exportChannel","disconnected","undefined","onClose","handleExport","mergeLeft","dashboard","camelToSnakeCase","_jsxs","Modal","isOpen","children","_jsx","Header","Typography","style","Body","isPresent","Footer","className","Button","href","icon","Download","label","onClick","_Fragment","disabled","loading"],"mappings":";;;;;;;;;;;;;AAIA,MAAMA,MAAM,GAAGC,OAAO,IACpBC,KAAK,CAACC,IAAI,CACR,CAAA,EAAGC,QAAQ,CAAA,eAAA,CAAiB,EAC5B;AAAEC,EAAAA,MAAM,EAAEJ;AAAQ,CAAC,EACnB;AAAEK,EAAAA,UAAU,EAAE;AAAM,CACtB,CAAC;AAEH,MAAMC,UAAU,GAAG;AAAEP,EAAAA;AAAO,CAAC;;ACPtB,MAAMQ,cAAc,GAAGA,MAC5BC,WAAW,CAAC;EAAEC,UAAU,EAAEH,UAAU,CAACP;AAAO,CAAC,CAAC;;ACQhD,MAAMW,WAAW,GAAGA,CAAC;EACnBC,OAAO;EACPC,aAAa;EACbC,WAAW;EACXC,cAAc;EACdC,iBAAiB;AACjBC,EAAAA;AACF,CAAC,KAAK;EACJ,MAAM;AAAEC,IAAAA;GAAG,GAAGC,cAAc,EAAE;EAC9B,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGC,QAAQ,CAAC,EAAE,CAAC;EAClD,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGF,QAAQ,CAAC,KAAK,CAAC;EAEvD,MAAM;AAAEG,IAAAA,GAAG,GAAG;GAAO,GAAGC,cAAc,EAAE;EAExC,MAAM;AAAEC,IAAAA,MAAM,EAAEC;GAAa,GAAGpB,cAAc,EAAE;AAEhD,EAAA,MAAMqB,KAAK,GAAGC,OAAO,CACnB,MAAM,GAAGjB,aAAa,CAAA,QAAA,EAAWkB,MAAM,EAAE,CAAA,CAAE,EAC3C,CAAClB,aAAa,CAChB,CAAC;EAED,MAAMmB,gBAAgB,GAAGC,IAAI,IAAI;AAC/B,IAAA,IAAI,CAACA,IAAI,CAACC,YAAY,EAAE;AACxBb,IAAAA,cAAc,CAACY,IAAI,CAACC,YAAY,CAAC;IACjCV,eAAe,CAAC,KAAK,CAAC;EACxB,CAAC;AAEDW,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAInB,iBAAiB,EAAE;AACrB,MAAA,MAAMoB,OAAO,GAAGC,aAAa,CAACR,KAAK,EAAEG,gBAAgB,CAAC;MACtDX,cAAc,CAAC,EAAE,CAAC;MAClBG,eAAe,CAAC,KAAK,CAAC;AAEtB,MAAA,OAAO,MAAM;QACXY,OAAO,CAACE,YAAY,EAAE;MACxB,CAAC;AACH,IAAA;AAEA,IAAA,OAAOC,SAAS;AAClB,EAAA,CAAC,EAAE,CAACvB,iBAAiB,EAAEa,KAAK,CAAC,CAAC;AAE9B,EAAA,MAAMW,OAAO,GAAGA,MAAMvB,oBAAoB,CAAC,KAAK,CAAC;EAEjD,MAAMwB,YAAY,GAAGA,MAAM;IACzBpB,cAAc,CAAC,EAAE,CAAC;IAClBG,eAAe,CAAC,IAAI,CAAC;AACrB,IAAA,MAAMvB,OAAO,GAAGyC,SAAS,CAAC3B,cAAc,EAAE;MACxCc,KAAK;MACLjB,OAAO;MACPa,GAAG;MACHX,WAAW;MACX6B,SAAS,EAAEC,gBAAgB,CAAC/B,aAAa;AAC3C,KAAC,CAAC;IAEFe,WAAW,CAAC3B,OAAO,CAAC;EACtB,CAAC;EAED,oBACE4C,IAAA,CAACC,KAAK,EAAA;IAAON,OAAO;AAAIO,IAAAA,MAAM,EAAE/B,iBAAkB;AAAAgC,IAAAA,QAAA,EAAA,cAChDC,GAAA,CAACH,KAAK,CAACI,MAAM,EAAA;MAAAF,QAAA,eACXC,GAAA,CAACE,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,IAAI;AAAAJ,QAAAA,QAAA,EACnB9B,CAAC,CAAC,CAAA,2BAAA,EAA8BL,aAAa,CAAA,CAAE;OACtC;AAAC,KACD,CAAC,eACfoC,GAAA,CAACH,KAAK,CAACO,IAAI,EAAA;AAAAL,MAAAA,QAAA,EACRzB,YAAY,gBACX0B,GAAA,CAACE,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,OAAO;QAAAJ,QAAA,EACtB9B,CAAC,CAAC,iCAAiC;AAAC,OAC3B,CAAC,gBAEb+B,GAAA,CAACE,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,OAAO;AAAAJ,QAAAA,QAAA,EACtBM,SAAS,CAAClC,WAAW,CAAC,GACnBF,CAAC,CAAC,gCAAgC,CAAC,GACnCA,CAAC,CAAC,CAAA,8BAAA,EAAiCL,aAAa,CAAA,CAAE;OAC5C;AACb,KACS,CAAC,eACboC,GAAA,CAACH,KAAK,CAACS,MAAM,EAAA;AAACC,MAAAA,SAAS,EAAC,WAAW;MAAAR,QAAA,EAChCM,SAAS,CAAClC,WAAW,CAAC,gBACrB6B,GAAA,CAACQ,MAAM,EAAA;AACL,QAAA,aAAA,EAAY,gCAAgC;AAC5CC,QAAAA,IAAI,EAAEtC,WAAY;AAClBuC,QAAAA,IAAI,EAAEC,QAAS;AACfC,QAAAA,KAAK,EAAE3C,CAAC,CAAC,+BAA+B,CAAE;AAC1C4C,QAAAA,OAAO,EAAEtB;AAAQ,OAClB,CAAC,gBAEFK,IAAA,CAAAkB,QAAA,EAAA;QAAAf,QAAA,EAAA,cACEC,GAAA,CAACQ,MAAM,EAAA;AACL,UAAA,aAAA,EAAY,eAAe;AAC3BO,UAAAA,QAAQ,EAAEzC,YAAa;AACvBsC,UAAAA,KAAK,EAAE3C,CAAC,CAAC,6BAA6B,CAAE;AACxCkC,UAAAA,KAAK,EAAC,UAAU;AAChBU,UAAAA,OAAO,EAAEtB;AAAQ,SAClB,CAAC,eACFS,GAAA,CAACQ,MAAM,EAAA;AACL,UAAA,aAAA,EAAY,8BAA8B;AAC1CO,UAAAA,QAAQ,EAAEzC,YAAa;AACvBsC,UAAAA,KAAK,EAAE3C,CAAC,CAAC,6BAA6B,CAAE;AACxC+C,UAAAA,OAAO,EAAE1C,YAAa;AACtBuC,UAAAA,OAAO,EAAErB;AAAa,SACvB,CAAC;OACF;AACH,KACW,CAAC;AAAA,GACV,CAAC;AAEZ;;;;"}
@@ -2,7 +2,7 @@ import { Typography, Table, Alert, Spinner } from '@bigbinary/neetoui';
2
2
  import { useQuery } from '@tanstack/react-query';
3
3
  import { useMutationWithInvalidation } from 'neetocommons/react-utils';
4
4
  import axios from 'axios';
5
- import { B as BASE_URL } from './index-BbPuNCbC.js';
5
+ import { B as BASE_URL } from './index-BFPr9LL_.js';
6
6
  import { Q as QUERY_KEYS } from './queryConstants-8c7Nd8ML.js';
7
7
  import CardLayout from '@bigbinary/neeto-molecules/CardLayout';
8
8
  import { Form, Input, ActionBlock } from '@bigbinary/neetoui/formik';
@@ -7,8 +7,8 @@ import { Form, Input, ActionBlock } from '@bigbinary/neetoui/formik';
7
7
  import QRCodeImage from 'qrcode.react';
8
8
  import { pluck } from 'ramda';
9
9
  import { useTranslation } from 'react-i18next';
10
- import { u as useCreateUpiPayment } from './usePaymentApi-BGN0_zsw.js';
11
- import { k as getQrCodeValue } from './index-BbPuNCbC.js';
10
+ import { u as useCreateUpiPayment } from './usePaymentApi-D6FQUiYT.js';
11
+ import { k as getQrCodeValue } from './index-BFPr9LL_.js';
12
12
  import { t } from 'i18next';
13
13
  import * as yup from 'yup';
14
14
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -207,6 +207,7 @@ const ManualUpiPayment = ({
207
207
  }), /*#__PURE__*/jsx("input", {
208
208
  accept: ACCEPTED_SCREENSHOT_FORMATS,
209
209
  className: "hidden",
210
+ "data-testid": "manual-upi-screenshot-upload-input-field",
210
211
  ref: fileInputRef,
211
212
  type: "file",
212
213
  onChange: handleScreenshotSelect
@@ -1 +1 @@
1
- {"version":3,"file":"ManualUpiPayment.js","sources":["../app/javascript/src/components/ManualUpiPayment/constants.js","../app/javascript/src/components/ManualUpiPayment/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isPresent, isNotPresent } from \"neetocist\";\nimport * as yup from \"yup\";\n\nexport const ACCEPTED_SCREENSHOT_FORMATS = \"image/png,image/jpeg,image/jpg\";\n\nexport const MAX_SCREENSHOT_SIZE_MB = 5;\n\nexport const DIRECT_UPLOAD_URL = \"/rails/active_storage/direct_uploads\";\n\nexport const INITIAL_VALUES = { identifier: \"\" };\n\nexport const buildValidationSchema = screenshotFile =>\n yup.object({\n identifier: yup\n .number()\n .typeError(\n t(\"neetoPayments.validations.invalidField\", {\n entity: t(\"neetoPayments.common.transactionId\"),\n })\n )\n .nullable()\n .transform((value, originalValue) =>\n originalValue === \"\" ? null : value\n )\n .test(\n \"identifier-or-screenshot\",\n t(\"neetoPayments.upi.payment.transaction.identifierOrScreenshot\"),\n value => isPresent(value) || isPresent(screenshotFile)\n )\n .test(\n \"is-integer\",\n t(\"neetoPayments.validations.invalidField\", {\n entity: t(\"neetoPayments.common.transactionId\"),\n }),\n value => isNotPresent(value) || Number.isInteger(value)\n )\n .test(\n \"len\",\n t(\"neetoPayments.validations.length\", { length: 12 }),\n value => isNotPresent(value) || value?.toString().length === 12\n ),\n });\n","import { useRef, useState, useMemo, useEffect } from \"react\";\n\nimport { DirectUpload } from \"@rails/activestorage\";\nimport { noop, isPresent } from \"neetocist\";\nimport { Close } from \"neetoicons\";\nimport { Button, Toastr, 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/manualUpi/usePaymentApi\";\nimport { getQrCodeValue } from \"utils\";\n\nimport {\n buildValidationSchema,\n ACCEPTED_SCREENSHOT_FORMATS,\n MAX_SCREENSHOT_SIZE_MB,\n DIRECT_UPLOAD_URL,\n INITIAL_VALUES,\n} from \"./constants\";\n\nconst ManualUpiPayment = ({\n fee,\n payableId,\n tip,\n amount,\n discountCode,\n customAmount,\n handleCancel,\n payableType = null,\n onBeforePayment = noop,\n onFailedPayment = noop,\n onSuccessfulPayment = noop,\n}) => {\n const { t } = useTranslation();\n const fileInputRef = useRef(null);\n const [screenshotFile, setScreenshotFile] = useState(null);\n const [isUploading, setIsUploading] = useState(false);\n\n const screenshotPreview = useMemo(\n () => (screenshotFile ? URL.createObjectURL(screenshotFile) : null),\n [screenshotFile]\n );\n\n useEffect(\n () => () => {\n if (screenshotPreview) URL.revokeObjectURL(screenshotPreview);\n },\n [screenshotPreview]\n );\n\n const vpaIds = pluck(\"address\", fee?.vpas);\n const amountToUpi = customAmount || amount;\n\n const { isPending, mutate: createPayment } = useCreateUpiPayment({\n onSuccess: onSuccessfulPayment,\n onError: onFailedPayment,\n });\n\n const validationSchema = useMemo(\n () => buildValidationSchema(screenshotFile),\n [screenshotFile]\n );\n\n const handleScreenshotSelect = event => {\n const file = event.target.files[0];\n if (!file) return;\n\n if (file.size > MAX_SCREENSHOT_SIZE_MB * 1024 * 1024) {\n Toastr.error(\n t(\"neetoPayments.upi.payment.screenshot.tooLarge\", {\n maxSize: MAX_SCREENSHOT_SIZE_MB,\n })\n );\n\n return;\n }\n\n setScreenshotFile(file);\n };\n\n const handleRemoveScreenshot = () => {\n setScreenshotFile(null);\n if (fileInputRef.current) fileInputRef.current.value = \"\";\n };\n\n const uploadScreenshot = file =>\n new Promise((resolve, reject) => {\n const upload = new DirectUpload(file, DIRECT_UPLOAD_URL);\n upload.create((error, blob) => {\n if (error) reject(error);\n else resolve(blob.signed_id);\n });\n });\n\n const handleSubmit = async values => {\n onBeforePayment();\n\n let paymentScreenshot = null;\n if (screenshotFile) {\n try {\n setIsUploading(true);\n paymentScreenshot = await uploadScreenshot(screenshotFile);\n } catch {\n onFailedPayment();\n\n return;\n } finally {\n setIsUploading(false);\n }\n }\n\n createPayment({\n ...values,\n payableId,\n customAmount,\n payableType,\n discountCode,\n tipAttributes: tip,\n paymentScreenshot,\n });\n };\n\n return (\n <Form\n className=\"space-y-4\"\n formikProps={{\n onSubmit: handleSubmit,\n initialValues: INITIAL_VALUES,\n validationSchema,\n }}\n >\n {({ dirty }) => (\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={getQrCodeValue(vpaId, amountToUpi)}\n />\n <Typography\n className=\"w-full mt-2 text-center wrap-break-word\"\n style=\"body2\"\n >\n {vpaId}\n </Typography>\n </div>\n ))}\n </div>\n )}\n <Input\n label={t(\"neetoPayments.upi.payment.transaction.label\")}\n name=\"identifier\"\n placeholder={t(\"neetoPayments.upi.payment.transaction.placeholder\")}\n type=\"number\"\n />\n <div className=\"flex items-center gap-3\">\n <hr className=\"flex-1 border-gray-300\" />\n <Typography className=\"text-gray-500 uppercase\" style=\"body2\">\n {t(\"neetoPayments.common.or\")}\n </Typography>\n <hr className=\"flex-1 border-gray-300\" />\n </div>\n <div>\n <Typography className=\"mb-2\" style=\"body2\" weight=\"medium\">\n {t(\"neetoPayments.upi.payment.screenshot.label\")}\n </Typography>\n {screenshotPreview ? (\n <div className=\"relative inline-block\">\n <img\n alt={t(\"neetoPayments.upi.payment.screenshot.alt\")}\n className=\"max-h-40 rounded border border-gray-200\"\n src={screenshotPreview}\n />\n <Button\n className=\"absolute -right-2 -top-2 neeto-ui-rounded-full neeto-ui-bg-white neeto-ui-shadow-sm\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n onClick={handleRemoveScreenshot}\n />\n </div>\n ) : (\n <div\n className=\"flex cursor-pointer flex-col items-center justify-center rounded border-2 border-dashed border-gray-300 p-6 transition-colors hover:border-gray-400\"\n role=\"button\"\n tabIndex={0}\n onClick={() => fileInputRef.current?.click()}\n onKeyDown={e => {\n if (e.key === \"Enter\" || e.key === \" \") {\n fileInputRef.current?.click();\n }\n }}\n >\n <i className=\"ri-upload-2-line text-2xl text-gray-400\" />\n <Typography className=\"mt-1 text-gray-500\" style=\"body3\">\n {t(\"neetoPayments.upi.payment.screenshot.uploadText\")}\n </Typography>\n <Typography className=\"text-gray-400\" style=\"nano\">\n {t(\"neetoPayments.upi.payment.screenshot.formatHint\", {\n maxSize: MAX_SCREENSHOT_SIZE_MB,\n })}\n </Typography>\n </div>\n )}\n <input\n accept={ACCEPTED_SCREENSHOT_FORMATS}\n className=\"hidden\"\n ref={fileInputRef}\n type=\"file\"\n onChange={handleScreenshotSelect}\n />\n </div>\n <ActionBlock\n cancelButtonProps={{\n label: t(\"neetoPayments.upi.payment.buttons.back\"),\n onClick: handleCancel,\n disabled: isPending,\n }}\n submitButtonProps={{\n label: t(\"neetoPayments.upi.payment.buttons.submit\"),\n disabled: (!dirty && !screenshotFile) || isPending || isUploading,\n loading: isPending || isUploading,\n }}\n />\n </>\n )}\n </Form>\n );\n};\n\nexport default ManualUpiPayment;\n"],"names":["ACCEPTED_SCREENSHOT_FORMATS","MAX_SCREENSHOT_SIZE_MB","DIRECT_UPLOAD_URL","INITIAL_VALUES","identifier","buildValidationSchema","screenshotFile","yup","object","number","typeError","t","entity","nullable","transform","value","originalValue","test","isPresent","isNotPresent","Number","isInteger","length","toString","ManualUpiPayment","fee","payableId","tip","amount","discountCode","customAmount","handleCancel","payableType","onBeforePayment","noop","onFailedPayment","onSuccessfulPayment","useTranslation","fileInputRef","useRef","setScreenshotFile","useState","isUploading","setIsUploading","screenshotPreview","useMemo","URL","createObjectURL","useEffect","revokeObjectURL","vpaIds","pluck","vpas","amountToUpi","isPending","mutate","createPayment","useCreateUpiPayment","onSuccess","onError","validationSchema","handleScreenshotSelect","event","file","target","files","size","Toastr","error","maxSize","handleRemoveScreenshot","current","uploadScreenshot","Promise","resolve","reject","upload","DirectUpload","create","blob","signed_id","handleSubmit","values","paymentScreenshot","tipAttributes","_jsx","Form","className","formikProps","onSubmit","initialValues","children","dirty","_jsxs","_Fragment","Typography","style","count","map","vpaId","QRCodeImage","width","height","getQrCodeValue","Input","label","name","placeholder","type","weight","alt","src","Button","icon","Close","onClick","role","tabIndex","click","onKeyDown","e","key","accept","ref","onChange","ActionBlock","cancelButtonProps","disabled","submitButtonProps","loading"],"mappings":"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"}
1
+ {"version":3,"file":"ManualUpiPayment.js","sources":["../app/javascript/src/components/ManualUpiPayment/constants.js","../app/javascript/src/components/ManualUpiPayment/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isPresent, isNotPresent } from \"neetocist\";\nimport * as yup from \"yup\";\n\nexport const ACCEPTED_SCREENSHOT_FORMATS = \"image/png,image/jpeg,image/jpg\";\n\nexport const MAX_SCREENSHOT_SIZE_MB = 5;\n\nexport const DIRECT_UPLOAD_URL = \"/rails/active_storage/direct_uploads\";\n\nexport const INITIAL_VALUES = { identifier: \"\" };\n\nexport const buildValidationSchema = screenshotFile =>\n yup.object({\n identifier: yup\n .number()\n .typeError(\n t(\"neetoPayments.validations.invalidField\", {\n entity: t(\"neetoPayments.common.transactionId\"),\n })\n )\n .nullable()\n .transform((value, originalValue) =>\n originalValue === \"\" ? null : value\n )\n .test(\n \"identifier-or-screenshot\",\n t(\"neetoPayments.upi.payment.transaction.identifierOrScreenshot\"),\n value => isPresent(value) || isPresent(screenshotFile)\n )\n .test(\n \"is-integer\",\n t(\"neetoPayments.validations.invalidField\", {\n entity: t(\"neetoPayments.common.transactionId\"),\n }),\n value => isNotPresent(value) || Number.isInteger(value)\n )\n .test(\n \"len\",\n t(\"neetoPayments.validations.length\", { length: 12 }),\n value => isNotPresent(value) || value?.toString().length === 12\n ),\n });\n","import { useRef, useState, useMemo, useEffect } from \"react\";\n\nimport { DirectUpload } from \"@rails/activestorage\";\nimport { noop, isPresent } from \"neetocist\";\nimport { Close } from \"neetoicons\";\nimport { Button, Toastr, 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/manualUpi/usePaymentApi\";\nimport { getQrCodeValue } from \"utils\";\n\nimport {\n buildValidationSchema,\n ACCEPTED_SCREENSHOT_FORMATS,\n MAX_SCREENSHOT_SIZE_MB,\n DIRECT_UPLOAD_URL,\n INITIAL_VALUES,\n} from \"./constants\";\n\nconst ManualUpiPayment = ({\n fee,\n payableId,\n tip,\n amount,\n discountCode,\n customAmount,\n handleCancel,\n payableType = null,\n onBeforePayment = noop,\n onFailedPayment = noop,\n onSuccessfulPayment = noop,\n}) => {\n const { t } = useTranslation();\n const fileInputRef = useRef(null);\n const [screenshotFile, setScreenshotFile] = useState(null);\n const [isUploading, setIsUploading] = useState(false);\n\n const screenshotPreview = useMemo(\n () => (screenshotFile ? URL.createObjectURL(screenshotFile) : null),\n [screenshotFile]\n );\n\n useEffect(\n () => () => {\n if (screenshotPreview) URL.revokeObjectURL(screenshotPreview);\n },\n [screenshotPreview]\n );\n\n const vpaIds = pluck(\"address\", fee?.vpas);\n const amountToUpi = customAmount || amount;\n\n const { isPending, mutate: createPayment } = useCreateUpiPayment({\n onSuccess: onSuccessfulPayment,\n onError: onFailedPayment,\n });\n\n const validationSchema = useMemo(\n () => buildValidationSchema(screenshotFile),\n [screenshotFile]\n );\n\n const handleScreenshotSelect = event => {\n const file = event.target.files[0];\n if (!file) return;\n\n if (file.size > MAX_SCREENSHOT_SIZE_MB * 1024 * 1024) {\n Toastr.error(\n t(\"neetoPayments.upi.payment.screenshot.tooLarge\", {\n maxSize: MAX_SCREENSHOT_SIZE_MB,\n })\n );\n\n return;\n }\n\n setScreenshotFile(file);\n };\n\n const handleRemoveScreenshot = () => {\n setScreenshotFile(null);\n if (fileInputRef.current) fileInputRef.current.value = \"\";\n };\n\n const uploadScreenshot = file =>\n new Promise((resolve, reject) => {\n const upload = new DirectUpload(file, DIRECT_UPLOAD_URL);\n upload.create((error, blob) => {\n if (error) reject(error);\n else resolve(blob.signed_id);\n });\n });\n\n const handleSubmit = async values => {\n onBeforePayment();\n\n let paymentScreenshot = null;\n if (screenshotFile) {\n try {\n setIsUploading(true);\n paymentScreenshot = await uploadScreenshot(screenshotFile);\n } catch {\n onFailedPayment();\n\n return;\n } finally {\n setIsUploading(false);\n }\n }\n\n createPayment({\n ...values,\n payableId,\n customAmount,\n payableType,\n discountCode,\n tipAttributes: tip,\n paymentScreenshot,\n });\n };\n\n return (\n <Form\n className=\"space-y-4\"\n formikProps={{\n onSubmit: handleSubmit,\n initialValues: INITIAL_VALUES,\n validationSchema,\n }}\n >\n {({ dirty }) => (\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={getQrCodeValue(vpaId, amountToUpi)}\n />\n <Typography\n className=\"w-full mt-2 text-center wrap-break-word\"\n style=\"body2\"\n >\n {vpaId}\n </Typography>\n </div>\n ))}\n </div>\n )}\n <Input\n label={t(\"neetoPayments.upi.payment.transaction.label\")}\n name=\"identifier\"\n placeholder={t(\"neetoPayments.upi.payment.transaction.placeholder\")}\n type=\"number\"\n />\n <div className=\"flex items-center gap-3\">\n <hr className=\"flex-1 border-gray-300\" />\n <Typography className=\"text-gray-500 uppercase\" style=\"body2\">\n {t(\"neetoPayments.common.or\")}\n </Typography>\n <hr className=\"flex-1 border-gray-300\" />\n </div>\n <div>\n <Typography className=\"mb-2\" style=\"body2\" weight=\"medium\">\n {t(\"neetoPayments.upi.payment.screenshot.label\")}\n </Typography>\n {screenshotPreview ? (\n <div className=\"relative inline-block\">\n <img\n alt={t(\"neetoPayments.upi.payment.screenshot.alt\")}\n className=\"max-h-40 rounded border border-gray-200\"\n src={screenshotPreview}\n />\n <Button\n className=\"absolute -right-2 -top-2 neeto-ui-rounded-full neeto-ui-bg-white neeto-ui-shadow-sm\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n onClick={handleRemoveScreenshot}\n />\n </div>\n ) : (\n <div\n className=\"flex cursor-pointer flex-col items-center justify-center rounded border-2 border-dashed border-gray-300 p-6 transition-colors hover:border-gray-400\"\n role=\"button\"\n tabIndex={0}\n onClick={() => fileInputRef.current?.click()}\n onKeyDown={e => {\n if (e.key === \"Enter\" || e.key === \" \") {\n fileInputRef.current?.click();\n }\n }}\n >\n <i className=\"ri-upload-2-line text-2xl text-gray-400\" />\n <Typography className=\"mt-1 text-gray-500\" style=\"body3\">\n {t(\"neetoPayments.upi.payment.screenshot.uploadText\")}\n </Typography>\n <Typography className=\"text-gray-400\" style=\"nano\">\n {t(\"neetoPayments.upi.payment.screenshot.formatHint\", {\n maxSize: MAX_SCREENSHOT_SIZE_MB,\n })}\n </Typography>\n </div>\n )}\n <input\n accept={ACCEPTED_SCREENSHOT_FORMATS}\n className=\"hidden\"\n data-testid=\"manual-upi-screenshot-upload-input-field\"\n ref={fileInputRef}\n type=\"file\"\n onChange={handleScreenshotSelect}\n />\n </div>\n <ActionBlock\n cancelButtonProps={{\n label: t(\"neetoPayments.upi.payment.buttons.back\"),\n onClick: handleCancel,\n disabled: isPending,\n }}\n submitButtonProps={{\n label: t(\"neetoPayments.upi.payment.buttons.submit\"),\n disabled: (!dirty && !screenshotFile) || isPending || isUploading,\n loading: isPending || isUploading,\n }}\n />\n </>\n )}\n </Form>\n );\n};\n\nexport default ManualUpiPayment;\n"],"names":["ACCEPTED_SCREENSHOT_FORMATS","MAX_SCREENSHOT_SIZE_MB","DIRECT_UPLOAD_URL","INITIAL_VALUES","identifier","buildValidationSchema","screenshotFile","yup","object","number","typeError","t","entity","nullable","transform","value","originalValue","test","isPresent","isNotPresent","Number","isInteger","length","toString","ManualUpiPayment","fee","payableId","tip","amount","discountCode","customAmount","handleCancel","payableType","onBeforePayment","noop","onFailedPayment","onSuccessfulPayment","useTranslation","fileInputRef","useRef","setScreenshotFile","useState","isUploading","setIsUploading","screenshotPreview","useMemo","URL","createObjectURL","useEffect","revokeObjectURL","vpaIds","pluck","vpas","amountToUpi","isPending","mutate","createPayment","useCreateUpiPayment","onSuccess","onError","validationSchema","handleScreenshotSelect","event","file","target","files","size","Toastr","error","maxSize","handleRemoveScreenshot","current","uploadScreenshot","Promise","resolve","reject","upload","DirectUpload","create","blob","signed_id","handleSubmit","values","paymentScreenshot","tipAttributes","_jsx","Form","className","formikProps","onSubmit","initialValues","children","dirty","_jsxs","_Fragment","Typography","style","count","map","vpaId","QRCodeImage","width","height","getQrCodeValue","Input","label","name","placeholder","type","weight","alt","src","Button","icon","Close","onClick","role","tabIndex","click","onKeyDown","e","key","accept","ref","onChange","ActionBlock","cancelButtonProps","disabled","submitButtonProps","loading"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { useState } from 'react';
2
2
  import { noop, findBy } from 'neetocist';
3
3
  import { mergeLeft } from 'ramda';
4
4
  import { useTranslation } from 'react-i18next';
5
- import { a as useUpdateUpiPayment } from './usePaymentApi-BGN0_zsw.js';
5
+ import { a as useUpdateUpiPayment } from './usePaymentApi-D6FQUiYT.js';
6
6
  import { Button, Modal, Typography } from '@bigbinary/neetoui';
7
7
  import { Form, Select, Textarea, ActionBlock } from '@bigbinary/neetoui/formik';
8
8
  import { t } from 'i18next';
@@ -11,7 +11,7 @@ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
11
11
  import '@tanstack/react-query';
12
12
  import 'neetocommons/react-utils';
13
13
  import 'axios';
14
- import './index-BbPuNCbC.js';
14
+ import './index-BFPr9LL_.js';
15
15
  import 'neetocommons/constants';
16
16
  import 'decimal.js';
17
17
  import 'neetocommons/utils';
@@ -1,14 +1,14 @@
1
1
  import { useState } from 'react';
2
2
  import { noop } from 'neetocist';
3
3
  import { useTranslation } from 'react-i18next';
4
- import { a as useUpdateUpiPayment } from './usePaymentApi-BGN0_zsw.js';
4
+ import { a as useUpdateUpiPayment } from './usePaymentApi-D6FQUiYT.js';
5
5
  import { Button, Modal, Typography } from '@bigbinary/neetoui';
6
6
  import { Form, Textarea, ActionBlock } from '@bigbinary/neetoui/formik';
7
7
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
8
8
  import '@tanstack/react-query';
9
9
  import 'neetocommons/react-utils';
10
10
  import 'axios';
11
- import './index-BbPuNCbC.js';
11
+ import './index-BFPr9LL_.js';
12
12
  import 'i18next';
13
13
  import 'neetocommons/constants';
14
14
  import 'decimal.js';
@@ -5,12 +5,12 @@ import { Bar, buildFiltersFromURL } from '@bigbinary/neeto-filters-frontend';
5
5
  import { Typography, Tooltip, Tag, Button, NoData, Table, Tab, Spinner } from '@bigbinary/neetoui';
6
6
  import { map, curry, concat, reject, isNil, prop, mergeDeepWith, mergeLeft, isEmpty, modify } from 'ramda';
7
7
  import { useHistory } from 'react-router-dom';
8
- import { E as ExportModal } from './ExportModal-r0L3_JqO.js';
8
+ import { E as ExportModal } from './ExportModal-DGOx1b6l.js';
9
9
  import { useQuery } from '@tanstack/react-query';
10
10
  import axios from 'axios';
11
- import { B as BASE_URL, P as PAYMENT_PROVIDERS, j as DEFAULT_TAG_STYLE, l as formatAmount, m as formatCurrency, n as getUniquePaymentProviders, o as buildDefaultTableColumns, p as processDataIndex, S as SORT_DIRECTIONS, s as shouldTabsVisible, U as UN_HIDEABLE_COLUMNS, i as DEFAULT_PAGE_VALUES, q as DASHBOARD_KIND } from './index-BbPuNCbC.js';
11
+ import { B as BASE_URL, P as PAYMENT_PROVIDERS, j as DEFAULT_TAG_STYLE, l as formatAmount, m as formatCurrency, n as getUniquePaymentProviders, o as buildDefaultTableColumns, p as processDataIndex, S as SORT_DIRECTIONS, s as shouldTabsVisible, U as UN_HIDEABLE_COLUMNS, i as DEFAULT_PAGE_VALUES, q as DASHBOARD_KIND } from './index-BFPr9LL_.js';
12
12
  import { Q as QUERY_KEYS } from './queryConstants-8c7Nd8ML.js';
13
- import { m as mergeEnforcedFilters } from './dashboard-Uo2nRTH0.js';
13
+ import { m as mergeEnforcedFilters } from './dashboard-Bu-kKlqX.js';
14
14
  import { t } from 'i18next';
15
15
  import { toLabelAndValue, isNotPresent, humanize, snakeToCamelCase, isPresent, camelToSnakeCase } from 'neetocist';
16
16
  import { useTableConfigurations } from '@bigbinary/neeto-molecules/Columns';
@@ -6,22 +6,22 @@ import Header from '@bigbinary/neeto-molecules/Header';
6
6
  import SubHeader from '@bigbinary/neeto-molecules/SubHeader';
7
7
  import { Modal, Typography, Button, Spinner, NoData, Table, Tab } from '@bigbinary/neetoui';
8
8
  import { useTranslation } from 'react-i18next';
9
- import { u as useExportData, w as withReactQuery } from './useExportsApi-B0u8EW7i.js';
9
+ import { u as useExportData, w as withReactQuery } from './useExportsApi-Kh-sIsaX.js';
10
10
  import { e as exportChannel, T as TABLE_KEYS } from './exportChannel-Db0U5gc1.js';
11
11
  import { Download } from '@bigbinary/neeto-icons';
12
- import { u as uuidV4, D as DEFAULT_SORT_PROPERTIES$1, S as SORT_DIRECTIONS } from './index-BbPuNCbC.js';
12
+ import { u as uuidV4, D as DEFAULT_SORT_PROPERTIES$1, S as SORT_DIRECTIONS } from './index-BFPr9LL_.js';
13
13
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
14
14
  import { camelToSnakeCase, removeBy, snakeToCamelCase, isPresent } from 'neetocist';
15
15
  import { buildUrl, getQueryParams } from 'neetocommons/utils';
16
16
  import { curry, assoc, insert, mergeLeft } from 'ramda';
17
17
  import { useHistory } from 'react-router-dom';
18
- import { b as buildDefaultPageProperties, a as buildPayload, c as buildRowData } from './dashboard-Uo2nRTH0.js';
19
- import { a as renderDate, b as renderStatus } from './renderFunctions-dslScg6B.js';
18
+ import { b as buildDefaultPageProperties, a as buildPayload, c as buildRowData } from './dashboard-Bu-kKlqX.js';
19
+ import { a as renderDate, b as renderStatus } from './renderFunctions-Cj94YzPn.js';
20
20
  import { C as CopyButtonWrapper } from './CopyButtonWrapper-DkI2F6Ty.js';
21
21
  import { DEFAULT_PAGE_SIZE, DEFAULT_PAGE_INDEX } from 'neetocommons/constants';
22
22
  import { useTableConfigurations } from '@bigbinary/neeto-molecules/Columns';
23
23
  import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
24
- import { u as useFetchStripePayouts, a as useFetchStripePlatformPayouts } from './usePlatformApi-KlkpSYlq.js';
24
+ import { u as useFetchStripePayouts, a as useFetchStripePlatformPayouts } from './usePlatformApi-CQY4MOWy.js';
25
25
  import '@tanstack/react-query';
26
26
  import '@tanstack/react-query-devtools';
27
27
  import 'axios';
@@ -3,10 +3,10 @@ import Header from '@bigbinary/neeto-molecules/Header';
3
3
  import { Button, Spinner, Typography } from '@bigbinary/neetoui';
4
4
  import { useTranslation } from 'react-i18next';
5
5
  import { useParams } from 'react-router-dom/cjs/react-router-dom';
6
- import { b as renderStatus, a as renderDate } from './renderFunctions-dslScg6B.js';
7
- import { b as useShowStripePayout, c as useShowStripePlatformPayout } from './usePlatformApi-KlkpSYlq.js';
6
+ import { b as renderStatus, a as renderDate } from './renderFunctions-Cj94YzPn.js';
7
+ import { b as useShowStripePayout, c as useShowStripePlatformPayout } from './usePlatformApi-CQY4MOWy.js';
8
8
  import { C as CopyButtonWrapper } from './CopyButtonWrapper-DkI2F6Ty.js';
9
- import { r as buildStripePayoutLink } from './index-BbPuNCbC.js';
9
+ import { r as buildStripePayoutLink } from './index-BFPr9LL_.js';
10
10
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
11
11
  import 'i18next';
12
12
  import '@bigbinary/neeto-molecules/DateFormat';
@@ -9,9 +9,9 @@ import Header from '@bigbinary/neeto-molecules/Header';
9
9
  import { Callout, Spinner, Typography, Button } from '@bigbinary/neetoui';
10
10
  import { useTranslation } from 'react-i18next';
11
11
  import { useHistory } from 'react-router-dom';
12
- import { u as useFetchPaymentIntegrations } from './useIntegrationsApi-AF3A7YvI.js';
12
+ import { u as useFetchPaymentIntegrations } from './useIntegrationsApi-4-kw1M93.js';
13
13
  import { Q as QUERY_KEYS } from './queryConstants-8c7Nd8ML.js';
14
- import { E as ERROR_TYPE, M as MAX_POLLING_TIME, t as POLLING_INTERVAL } from './index-BbPuNCbC.js';
14
+ import { E as ERROR_TYPE, M as MAX_POLLING_TIME, t as POLLING_INTERVAL } from './index-BFPr9LL_.js';
15
15
  import { jsxs, jsx } from 'react/jsx-runtime';
16
16
  import 'axios';
17
17
  import 'i18next';
@@ -6,7 +6,7 @@ import { useTranslation } from 'react-i18next';
6
6
  import { useHistory } from 'react-router-dom';
7
7
  import { useQuery } from '@tanstack/react-query';
8
8
  import axios from 'axios';
9
- import { B as BASE_URL } from './index-BbPuNCbC.js';
9
+ import { B as BASE_URL } from './index-BFPr9LL_.js';
10
10
  import { Q as QUERY_KEYS } from './queryConstants-8c7Nd8ML.js';
11
11
  import { humanize } from 'neetocist';
12
12
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -1,9 +1,9 @@
1
1
  import { noop, findBy, isNotPresent } from 'neetocist';
2
2
  import { mergeDeepLeft } from 'ramda';
3
3
  import { useTranslation } from 'react-i18next';
4
- import { u as useCreateRazorpayPayment } from './usePaymentApi-qo71Ol63.js';
4
+ import { u as useCreateRazorpayPayment } from './usePaymentApi-DsXrGrJF.js';
5
5
  import { Button } from '@bigbinary/neetoui';
6
- import { R as RAZORPAY_PAYMENT_BUTTON_OPTIONS } from './index-BbPuNCbC.js';
6
+ import { R as RAZORPAY_PAYMENT_BUTTON_OPTIONS } from './index-BFPr9LL_.js';
7
7
  import { jsx } from 'react/jsx-runtime';
8
8
  import '@tanstack/react-query';
9
9
  import 'axios';
@@ -4,7 +4,7 @@ import { useTranslation, Trans } from 'react-i18next';
4
4
  import { useQuery } from '@tanstack/react-query';
5
5
  import { useMutationWithInvalidation } from 'neetocommons/react-utils';
6
6
  import axios from 'axios';
7
- import { B as BASE_URL } from './index-BbPuNCbC.js';
7
+ import { B as BASE_URL } from './index-BFPr9LL_.js';
8
8
  import { Q as QUERY_KEYS } from './queryConstants-8c7Nd8ML.js';
9
9
  import CardLayout from '@bigbinary/neeto-molecules/CardLayout';
10
10
  import Container from '@bigbinary/neeto-molecules/Container';
@@ -5,12 +5,12 @@ import { Bar, buildFiltersFromURL } from '@bigbinary/neeto-filters-frontend';
5
5
  import { Tooltip, Tag, Typography, Button, NoData, Table, Tab, Spinner } from '@bigbinary/neetoui';
6
6
  import { map, curry, reject, isNil, concat, prop, mergeDeepWith, mergeLeft, isEmpty, modify } from 'ramda';
7
7
  import { useHistory } from 'react-router-dom';
8
- import { E as ExportModal } from './ExportModal-r0L3_JqO.js';
8
+ import { E as ExportModal } from './ExportModal-DGOx1b6l.js';
9
9
  import { useQuery } from '@tanstack/react-query';
10
10
  import axios from 'axios';
11
- import { B as BASE_URL, P as PAYMENT_PROVIDERS, j as DEFAULT_TAG_STYLE, l as formatAmount, m as formatCurrency, o as buildDefaultTableColumns, S as SORT_DIRECTIONS, p as processDataIndex, A as ASSOCIATED_TABLE_COLUMNS, D as DEFAULT_SORT_PROPERTIES, s as shouldTabsVisible, U as UN_HIDEABLE_COLUMNS, i as DEFAULT_PAGE_VALUES, q as DASHBOARD_KIND } from './index-BbPuNCbC.js';
11
+ import { B as BASE_URL, P as PAYMENT_PROVIDERS, j as DEFAULT_TAG_STYLE, l as formatAmount, m as formatCurrency, o as buildDefaultTableColumns, S as SORT_DIRECTIONS, p as processDataIndex, A as ASSOCIATED_TABLE_COLUMNS, D as DEFAULT_SORT_PROPERTIES, s as shouldTabsVisible, U as UN_HIDEABLE_COLUMNS, i as DEFAULT_PAGE_VALUES, q as DASHBOARD_KIND } from './index-BFPr9LL_.js';
12
12
  import { Q as QUERY_KEYS } from './queryConstants-8c7Nd8ML.js';
13
- import { m as mergeEnforcedFilters } from './dashboard-Uo2nRTH0.js';
13
+ import { m as mergeEnforcedFilters } from './dashboard-Bu-kKlqX.js';
14
14
  import { t } from 'i18next';
15
15
  import { toLabelAndValue, humanize, snakeToCamelCase, isPresent, isNotPresent, camelToSnakeCase } from 'neetocist';
16
16
  import { useTableConfigurations } from '@bigbinary/neeto-molecules/Columns';
@@ -5,11 +5,11 @@ import { Bar, buildFiltersFromURL } from '@bigbinary/neeto-filters-frontend';
5
5
  import { Modal, Typography, Tooltip, Tag, Pane, Spinner, Button, NoData, Table, Dropdown, Tab } from '@bigbinary/neetoui';
6
6
  import { mergeLeft, curry, reject, isNil, concat, map, prop, mergeDeepWith, sortBy, isEmpty, modify, pluck } from 'ramda';
7
7
  import { useHistory } from 'react-router-dom';
8
- import { E as ExportModal } from './ExportModal-r0L3_JqO.js';
8
+ import { E as ExportModal } from './ExportModal-DGOx1b6l.js';
9
9
  import { useQuery } from '@tanstack/react-query';
10
10
  import { useMutationWithInvalidation } from 'neetocommons/react-utils';
11
11
  import axios from 'axios';
12
- import { B as BASE_URL, v as preProcessStatus, w as getTagStyle, l as formatAmount, m as formatCurrency, x as PAYMENT_KIND, S as SORT_DIRECTIONS, D as DEFAULT_SORT_PROPERTIES, p as processDataIndex, s as shouldTabsVisible, U as UN_HIDEABLE_COLUMNS, i as DEFAULT_PAGE_VALUES, q as DASHBOARD_KIND } from './index-BbPuNCbC.js';
12
+ import { B as BASE_URL, v as preProcessStatus, w as getTagStyle, l as formatAmount, m as formatCurrency, x as PAYMENT_KIND, S as SORT_DIRECTIONS, D as DEFAULT_SORT_PROPERTIES, p as processDataIndex, s as shouldTabsVisible, U as UN_HIDEABLE_COLUMNS, i as DEFAULT_PAGE_VALUES, q as DASHBOARD_KIND } from './index-BFPr9LL_.js';
13
13
  import { Q as QUERY_KEYS } from './queryConstants-8c7Nd8ML.js';
14
14
  import { Form, Textarea, ActionBlock } from '@bigbinary/neetoui/formik';
15
15
  import { useTranslation, Trans } from 'react-i18next';
@@ -4,7 +4,7 @@ import { useQuery } from '@tanstack/react-query';
4
4
  import { useMutationWithInvalidation } from 'neetocommons/react-utils';
5
5
  import { isNotNil } from 'ramda';
6
6
  import axios from 'axios';
7
- import { B as BASE_URL } from './index-BbPuNCbC.js';
7
+ import { B as BASE_URL } from './index-BFPr9LL_.js';
8
8
  import { Q as QUERY_KEYS } from './queryConstants-8c7Nd8ML.js';
9
9
  import { jsxs, jsx } from 'react/jsx-runtime';
10
10
  import 'i18next';
@@ -9,13 +9,13 @@ import { buildUrl } from 'neetocommons/utils';
9
9
  import { Stripe } from '@bigbinary/neeto-icons/misc';
10
10
  import CardLayout from '@bigbinary/neeto-molecules/CardLayout';
11
11
  import { Radio, Button, Spinner, Callout, Typography } from '@bigbinary/neetoui';
12
- import { u as useFetchPaymentIntegrations } from './useIntegrationsApi-AF3A7YvI.js';
13
- import { y as STRIPE_CONNECT_ENDPOINT, B as BASE_URL, t as POLLING_INTERVAL, E as ERROR_TYPE, M as MAX_POLLING_TIME } from './index-BbPuNCbC.js';
12
+ import { u as useFetchPaymentIntegrations } from './useIntegrationsApi-4-kw1M93.js';
13
+ import { y as STRIPE_CONNECT_ENDPOINT, B as BASE_URL, t as POLLING_INTERVAL, E as ERROR_TYPE, M as MAX_POLLING_TIME } from './index-BFPr9LL_.js';
14
14
  import { t } from 'i18next';
15
15
  import * as yup from 'yup';
16
16
  import { jsx, jsxs } from 'react/jsx-runtime';
17
17
  import { Form, Select, ActionBlock } from '@bigbinary/neetoui/formik';
18
- import { a as useCreateStripeAccount, b as usePollingStripeAccountCreationStatus } from './useAccountsApi-C9W3YdvO.js';
18
+ import { a as useCreateStripeAccount, b as usePollingStripeAccountCreationStatus } from './useAccountsApi-BYO3jcvn.js';
19
19
  import { useQuery, useQueryClient } from '@tanstack/react-query';
20
20
  import axios from 'axios';
21
21
  import { Q as QUERY_KEYS } from './queryConstants-8c7Nd8ML.js';
@@ -8,7 +8,7 @@ import 'react-i18next';
8
8
  import '@tanstack/react-query';
9
9
  import 'ramda';
10
10
  import 'axios';
11
- import './index-BbPuNCbC.js';
11
+ import './index-BFPr9LL_.js';
12
12
  import 'i18next';
13
13
  import 'neetocommons/constants';
14
14
  import 'decimal.js';
@@ -8,7 +8,7 @@ import { useTranslation, Trans } from 'react-i18next';
8
8
  import { useQuery } from '@tanstack/react-query';
9
9
  import { useMutationWithInvalidation } from 'neetocommons/react-utils';
10
10
  import axios from 'axios';
11
- import { B as BASE_URL } from './index-BbPuNCbC.js';
11
+ import { B as BASE_URL } from './index-BFPr9LL_.js';
12
12
  import { Q as QUERY_KEYS } from './queryConstants-8c7Nd8ML.js';
13
13
  import { Pane, Typography, Callout, Label, Spinner, Button, NoData, Table, Alert } from '@bigbinary/neetoui';
14
14
  import { Form, Input, Radio, ActionBlock } from '@bigbinary/neetoui/formik';
@@ -1,4 +1,4 @@
1
- import { b as buildStripeTransactionLink } from './index-BbPuNCbC.js';
1
+ import { b as buildStripeTransactionLink } from './index-BFPr9LL_.js';
2
2
  import 'i18next';
3
3
  import 'neetocommons/constants';
4
4
  import 'decimal.js';
@@ -9,21 +9,21 @@ var Header = require('@bigbinary/neeto-molecules/Header');
9
9
  var SubHeader = require('@bigbinary/neeto-molecules/SubHeader');
10
10
  var neetoui = require('@bigbinary/neetoui');
11
11
  var reactI18next = require('react-i18next');
12
- var useExportsApi = require('./useExportsApi-eSMwoLoJ.js');
12
+ var useExportsApi = require('./useExportsApi-damWskqN.js');
13
13
  var exportChannel = require('./exportChannel-BL2RGGhP.js');
14
14
  var neetoIcons = require('@bigbinary/neeto-icons');
15
- var constants = require('./index-C3dlLi3r.js');
15
+ var constants = require('./index-d81RoerD.js');
16
16
  var jsxRuntime = require('react/jsx-runtime');
17
17
  var utils = require('neetocommons/utils');
18
18
  var ramda = require('ramda');
19
19
  var reactRouterDom = require('react-router-dom');
20
- var dashboard = require('./dashboard-ByRrf_OD.js');
21
- var renderFunctions = require('./renderFunctions-DuZlWOmX.js');
20
+ var dashboard = require('./dashboard-0e4qOr6Q.js');
21
+ var renderFunctions = require('./renderFunctions-Bti0TEIP.js');
22
22
  var CopyButtonWrapper = require('./CopyButtonWrapper-DZ9rE5UR.js');
23
23
  var constants$1 = require('neetocommons/constants');
24
24
  var Columns = require('@bigbinary/neeto-molecules/Columns');
25
25
  var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
26
- var useAccountsApi = require('./useAccountsApi-DPB2aG4H.js');
26
+ var useAccountsApi = require('./useAccountsApi-DsrOzkcV.js');
27
27
  require('@tanstack/react-query');
28
28
  require('@tanstack/react-query-devtools');
29
29
  require('axios');
@@ -5,7 +5,7 @@ var neetoui = require('@bigbinary/neetoui');
5
5
  var reactI18next = require('react-i18next');
6
6
  var reactUtils = require('neetocommons/react-utils');
7
7
  var axios = require('axios');
8
- var constants = require('./index-C3dlLi3r.js');
8
+ var constants = require('./index-d81RoerD.js');
9
9
  var jsxRuntime = require('react/jsx-runtime');
10
10
  require('i18next');
11
11
  require('neetocommons/constants');
@@ -2,12 +2,12 @@
2
2
 
3
3
  var neetocist = require('neetocist');
4
4
  var reactI18next = require('react-i18next');
5
- var usePaymentApi = require('./usePaymentApi-CbNuVb24.js');
5
+ var usePaymentApi = require('./usePaymentApi-CGzEYmcs.js');
6
6
  var neetoui = require('@bigbinary/neetoui');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
  require('@tanstack/react-query');
9
9
  require('axios');
10
- require('./index-C3dlLi3r.js');
10
+ require('./index-d81RoerD.js');
11
11
  require('i18next');
12
12
  require('neetocommons/constants');
13
13
  require('decimal.js');
@@ -3,13 +3,13 @@
3
3
  var react = require('react');
4
4
  var neetocist = require('neetocist');
5
5
  var reactI18next = require('react-i18next');
6
- var usePaymentApi = require('./usePaymentApi-CbNuVb24.js');
6
+ var usePaymentApi = require('./usePaymentApi-CGzEYmcs.js');
7
7
  var neetoui = require('@bigbinary/neetoui');
8
8
  var formik = require('@bigbinary/neetoui/formik');
9
9
  var jsxRuntime = require('react/jsx-runtime');
10
10
  require('@tanstack/react-query');
11
11
  require('axios');
12
- require('./index-C3dlLi3r.js');
12
+ require('./index-d81RoerD.js');
13
13
  require('i18next');
14
14
  require('neetocommons/constants');
15
15
  require('decimal.js');
@@ -3,7 +3,7 @@
3
3
  var reactI18next = require('react-i18next');
4
4
  var reactUtils = require('neetocommons/react-utils');
5
5
  var axios = require('axios');
6
- var constants = require('./index-C3dlLi3r.js');
6
+ var constants = require('./index-d81RoerD.js');
7
7
  var reactQuery = require('@tanstack/react-query');
8
8
  var ramda = require('ramda');
9
9
  var queryConstants = require('./queryConstants-CGUF7zol.js');