@bigbinary/neeto-payments-frontend 6.3.7 → 6.4.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 (139) hide show
  1. package/dist/AccountsDashboard.js +5 -5
  2. package/dist/AdminCancelRecurringPaymentButton.js +2 -2
  3. package/dist/CashPaymentButton.js +2 -2
  4. package/dist/ConfirmCashPaymentButton.js +2 -2
  5. package/dist/CustomerCancelRecurringPaymentForm.js +2 -2
  6. package/dist/{ExportModal-k--5vSLt.js → ExportModal-Imx5pEqt.js} +3 -3
  7. package/dist/{ExportModal-k--5vSLt.js.map → ExportModal-Imx5pEqt.js.map} +1 -1
  8. package/dist/{ExportModal-Bun3pMGn.js → ExportModal-hqjn7q4w.js} +3 -3
  9. package/dist/{ExportModal-Bun3pMGn.js.map → ExportModal-hqjn7q4w.js.map} +1 -1
  10. package/dist/ManualUpiConnect.js +2 -2
  11. package/dist/ManualUpiPayment.js +2 -2
  12. package/dist/ManualUpiPaymentConfirmButton.js +2 -2
  13. package/dist/ManualUpiPaymentRejectButton.js +2 -2
  14. package/dist/PaymentsDashboard.js +5 -5
  15. package/dist/PayoutsDashboard.js +5 -5
  16. package/dist/PayoutsPage.js +4 -4
  17. package/dist/RazorpayConnect.js +2 -2
  18. package/dist/RazorpayLinkedAccountForm.js +2 -2
  19. package/dist/RazorpayPaymentButton.js +20 -11
  20. package/dist/RazorpayPaymentButton.js.map +1 -1
  21. package/dist/RecurringPaymentSettings.js +2 -2
  22. package/dist/RefundsDashboard.js +5 -5
  23. package/dist/SplitTransfersDashboard.js +4 -4
  24. package/dist/StripeCheckoutSetting.js +2 -2
  25. package/dist/StripeConnect.js +4 -4
  26. package/dist/StripeManage.js +2 -2
  27. package/dist/TaxesDashboard.js +2 -2
  28. package/dist/buildStripeTransactionLink.js +1 -1
  29. package/dist/cjs/RazorpayPaymentButton.js +19 -10
  30. package/dist/cjs/RazorpayPaymentButton.js.map +1 -1
  31. package/dist/cjs/index.js +9 -6
  32. package/dist/cjs/index.js.map +1 -1
  33. package/dist/cjs/razorpayCheckoutOutcome-DwerRK1B.js +96 -0
  34. package/dist/cjs/razorpayCheckoutOutcome-DwerRK1B.js.map +1 -0
  35. package/dist/cjs/useRazorpayPayment.js +20 -11
  36. package/dist/cjs/useRazorpayPayment.js.map +1 -1
  37. package/dist/cjs/v2/ManualUpiPayment.js +3 -3
  38. package/dist/cjs/v2/ManualUpiPayment.js.map +1 -1
  39. package/dist/cjs/v2/RazorpayPaymentButton.js +19 -10
  40. package/dist/cjs/v2/RazorpayPaymentButton.js.map +1 -1
  41. package/dist/cjs/v2/RazorpayWebsiteNotice.js +2 -2
  42. package/dist/cjs/v2/RazorpayWebsiteNotice.js.map +1 -1
  43. package/dist/cjs/v2/index.js +1 -1
  44. package/dist/constants.js +1 -1
  45. package/dist/{dashboard-Ba2uhKXD.js → dashboard-BP47wvu-.js} +2 -2
  46. package/dist/{dashboard-Ba2uhKXD.js.map → dashboard-BP47wvu-.js.map} +1 -1
  47. package/dist/getAddressElementOptions.js +1 -1
  48. package/dist/getAmountInLargestCurrencyUnit.js +1 -1
  49. package/dist/getAmountInSmallestCurrencyUnit.js +1 -1
  50. package/dist/getAmountWithAppliedTax.js +1 -1
  51. package/dist/getFormattedAmount.js +1 -1
  52. package/dist/getFormattedDiscountedAmount.js +1 -1
  53. package/dist/getFormattedDiscountedPercentage.js +1 -1
  54. package/dist/getFormattedTaxAmount.js +1 -1
  55. package/dist/getFormattedTipAmount.js +1 -1
  56. package/dist/getQrCodeValue.js +1 -1
  57. package/dist/getTaxAmount.js +1 -1
  58. package/dist/getTipAmount.js +1 -1
  59. package/dist/hasAmountToPay.js +1 -1
  60. package/dist/{index-CajHy3NQ.js → index-CpGnAY9G.js} +2 -2
  61. package/dist/{index-CajHy3NQ.js.map → index-CpGnAY9G.js.map} +1 -1
  62. package/dist/index.js +34 -28
  63. package/dist/index.js.map +1 -1
  64. package/dist/razorpayCheckoutOutcome-ChPKzUYJ.js +91 -0
  65. package/dist/razorpayCheckoutOutcome-ChPKzUYJ.js.map +1 -0
  66. package/dist/{renderFunctions-B9mVn_ag.js → renderFunctions-CcLI5Jq6.js} +2 -2
  67. package/dist/{renderFunctions-B9mVn_ag.js.map → renderFunctions-CcLI5Jq6.js.map} +1 -1
  68. package/dist/{useAccountsApi-CZyJ4R8Z.js → useAccountsApi-DF78k_sA.js} +2 -2
  69. package/dist/{useAccountsApi-CZyJ4R8Z.js.map → useAccountsApi-DF78k_sA.js.map} +1 -1
  70. package/dist/{useBusinessTypesApi-CS2aPq7Y.js → useBusinessTypesApi-DwddCKIb.js} +2 -2
  71. package/dist/{useBusinessTypesApi-CS2aPq7Y.js.map → useBusinessTypesApi-DwddCKIb.js.map} +1 -1
  72. package/dist/{useCheckoutSettingsApi-D1ZvMA4B.js → useCheckoutSettingsApi-B29sE02j.js} +2 -2
  73. package/dist/{useCheckoutSettingsApi-D1ZvMA4B.js.map → useCheckoutSettingsApi-B29sE02j.js.map} +1 -1
  74. package/dist/{useCountriesApi-ClXgwNgC.js → useCountriesApi-CSfkzWgq.js} +2 -2
  75. package/dist/{useCountriesApi-ClXgwNgC.js.map → useCountriesApi-CSfkzWgq.js.map} +1 -1
  76. package/dist/{useExportsApi-C1wjoVYy.js → useExportsApi-BCnxSe7P.js} +2 -2
  77. package/dist/{useExportsApi-C1wjoVYy.js.map → useExportsApi-BCnxSe7P.js.map} +1 -1
  78. package/dist/{useExportsApi-DA6ThV9b.js → useExportsApi-B_ABJiMX.js} +2 -2
  79. package/dist/{useExportsApi-DA6ThV9b.js.map → useExportsApi-B_ABJiMX.js.map} +1 -1
  80. package/dist/{useFetchData-8LLdmA74.js → useFetchData-Cleas8Tk.js} +2 -2
  81. package/dist/{useFetchData-8LLdmA74.js.map → useFetchData-Cleas8Tk.js.map} +1 -1
  82. package/dist/{useIntegrationsApi-BqU-lJql.js → useIntegrationsApi-BEZaeW9w.js} +2 -2
  83. package/dist/{useIntegrationsApi-BqU-lJql.js.map → useIntegrationsApi-BEZaeW9w.js.map} +1 -1
  84. package/dist/{usePaymentApi-gvPmTOWg.js → usePaymentApi-B0BXE-4o.js} +2 -2
  85. package/dist/{usePaymentApi-gvPmTOWg.js.map → usePaymentApi-B0BXE-4o.js.map} +1 -1
  86. package/dist/{usePaymentApi-CjtkL3IU.js → usePaymentApi-BfoBBuRN.js} +2 -2
  87. package/dist/{usePaymentApi-CjtkL3IU.js.map → usePaymentApi-BfoBBuRN.js.map} +1 -1
  88. package/dist/{usePaymentsApi-C2xbgHmw.js → usePaymentsApi-Ctl1XsA1.js} +2 -2
  89. package/dist/{usePaymentsApi-C2xbgHmw.js.map → usePaymentsApi-Ctl1XsA1.js.map} +1 -1
  90. package/dist/{usePlatformApi-Dug1pxaH.js → usePlatformApi-B29AJb-p.js} +2 -2
  91. package/dist/{usePlatformApi-Dug1pxaH.js.map → usePlatformApi-B29AJb-p.js.map} +1 -1
  92. package/dist/useRazorpayPayment.js +21 -12
  93. package/dist/useRazorpayPayment.js.map +1 -1
  94. package/dist/{useRecurringPaymentsApi-dbdBrh4V.js → useRecurringPaymentsApi-B6zvIYkm.js} +2 -2
  95. package/dist/{useRecurringPaymentsApi-dbdBrh4V.js.map → useRecurringPaymentsApi-B6zvIYkm.js.map} +1 -1
  96. package/dist/{useRecurringPaymentsApi-CkxjkZd2.js → useRecurringPaymentsApi-BTOeJ8Xu.js} +2 -2
  97. package/dist/{useRecurringPaymentsApi-CkxjkZd2.js.map → useRecurringPaymentsApi-BTOeJ8Xu.js.map} +1 -1
  98. package/dist/{useRecurringSettingsApi-B_kTDES9.js → useRecurringSettingsApi-Dkjo_BKx.js} +2 -2
  99. package/dist/{useRecurringSettingsApi-B_kTDES9.js.map → useRecurringSettingsApi-Dkjo_BKx.js.map} +1 -1
  100. package/dist/{useRefundsApi-DSMKTWIQ.js → useRefundsApi-Ce4HmQgn.js} +2 -2
  101. package/dist/{useRefundsApi-DSMKTWIQ.js.map → useRefundsApi-Ce4HmQgn.js.map} +1 -1
  102. package/dist/{useSplitTransfersApi-DlRs4wYh.js → useSplitTransfersApi-CDzhSH8q.js} +2 -2
  103. package/dist/{useSplitTransfersApi-DlRs4wYh.js.map → useSplitTransfersApi-CDzhSH8q.js.map} +1 -1
  104. package/dist/{useTaxesApi-BuPeVUxI.js → useTaxesApi-CNyTbsgK.js} +2 -2
  105. package/dist/{useTaxesApi-BuPeVUxI.js.map → useTaxesApi-CNyTbsgK.js.map} +1 -1
  106. package/dist/{useVpasApi-wicZ6o_z.js → useVpasApi-X1KhsMZl.js} +2 -2
  107. package/dist/{useVpasApi-wicZ6o_z.js.map → useVpasApi-X1KhsMZl.js.map} +1 -1
  108. package/dist/v2/AccountsDashboard.js +4 -4
  109. package/dist/v2/AdminCancelRecurringPaymentButton.js +2 -2
  110. package/dist/v2/CashPaymentButton.js +2 -2
  111. package/dist/v2/ConfirmCashPaymentButton.js +2 -2
  112. package/dist/v2/CustomerCancelRecurringPaymentForm.js +2 -2
  113. package/dist/v2/ManualUpiConnect.js +2 -2
  114. package/dist/v2/ManualUpiPayment.js +5 -5
  115. package/dist/v2/ManualUpiPayment.js.map +1 -1
  116. package/dist/v2/ManualUpiPaymentConfirmButton.js +2 -2
  117. package/dist/v2/ManualUpiPaymentRejectButton.js +2 -2
  118. package/dist/v2/PaymentsDashboard.js +5 -5
  119. package/dist/v2/PayoutsDashboard.js +4 -4
  120. package/dist/v2/PayoutsPage.js +3 -3
  121. package/dist/v2/RazorpayConnect.js +2 -2
  122. package/dist/v2/RazorpayLinkedAccountForm.js +2 -2
  123. package/dist/v2/RazorpayPaymentButton.js +20 -11
  124. package/dist/v2/RazorpayPaymentButton.js.map +1 -1
  125. package/dist/v2/RazorpayWebsiteNotice.js +2 -2
  126. package/dist/v2/RazorpayWebsiteNotice.js.map +1 -1
  127. package/dist/v2/RecurringPaymentSettings.js +2 -2
  128. package/dist/v2/RefundsDashboard.js +5 -5
  129. package/dist/v2/SplitTransfersDashboard.js +4 -4
  130. package/dist/v2/StripeCheckoutSetting.js +2 -2
  131. package/dist/v2/StripeConnect.js +4 -4
  132. package/dist/v2/StripeManage.js +2 -2
  133. package/dist/v2/TaxesDashboard.js +2 -2
  134. package/dist/v2/index.js +23 -23
  135. package/package.json +14 -14
  136. package/dist/cjs/usePaymentApi-B198Hd_a.js +0 -21
  137. package/dist/cjs/usePaymentApi-B198Hd_a.js.map +0 -1
  138. package/dist/usePaymentApi-BzB3rzNe.js +0 -19
  139. package/dist/usePaymentApi-BzB3rzNe.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useTaxesApi-BuPeVUxI.js","sources":["../app/javascript/src/apis/taxes.js","../app/javascript/src/hooks/reactQuery/useTaxesApi.js"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = taxableId =>\n axios.get(`${BASE_URL}/api/v1/taxable/${taxableId}/taxes`);\n\nconst create = ({ taxableId, payload }) =>\n axios.post(`${BASE_URL}/api/v1/taxable/${taxableId}/taxes`, {\n tax: payload,\n });\n\nconst update = ({ taxableId, taxId, payload }) =>\n axios.put(`${BASE_URL}/api/v1/taxable/${taxableId}/taxes/${taxId}`, {\n tax: payload,\n });\n\nconst destroy = ({ taxableId, taxId }) =>\n axios.delete(`${BASE_URL}/api/v1/taxable/${taxableId}/taxes/${taxId}`);\n\nconst taxesApi = { list, create, update, destroy };\n\nexport default taxesApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { isNotNil } from \"ramda\";\n\nimport taxesApi from \"apis/taxes\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchTaxes = ({ taxableId }) =>\n useQuery({\n queryKey: [QUERY_KEYS.TAXES, taxableId],\n queryFn: () => taxesApi.list(taxableId),\n enabled: isNotNil(taxableId),\n });\n\nexport const useCreateTax = ({ taxableId }, options) =>\n useMutationWithInvalidation(taxesApi.create, {\n keysToInvalidate: [QUERY_KEYS.TAXES, taxableId],\n ...options,\n });\n\nexport const useUpdateTax = ({ taxableId }, options) =>\n useMutationWithInvalidation(taxesApi.update, {\n keysToInvalidate: [QUERY_KEYS.TAXES, taxableId],\n ...options,\n });\n\nexport const useDeleteTax = ({ taxableId }, options) =>\n useMutationWithInvalidation(taxesApi.destroy, {\n keysToInvalidate: [QUERY_KEYS.TAXES, taxableId],\n ...options,\n });\n"],"names":["list","taxableId","axios","get","BASE_URL","create","payload","post","tax","update","taxId","put","destroy","delete","taxesApi","useFetchTaxes","useQuery","queryKey","QUERY_KEYS","TAXES","queryFn","enabled","isNotNil","useCreateTax","options","useMutationWithInvalidation","keysToInvalidate","useUpdateTax","useDeleteTax"],"mappings":";;;;;;;AAIA,MAAMA,IAAI,GAAGC,SAAS,IACpBC,KAAK,CAACC,GAAG,CAAC,CAAA,EAAGC,QAAQ,CAAA,gBAAA,EAAmBH,SAAS,QAAQ,CAAC;AAE5D,MAAMI,MAAM,GAAGA,CAAC;EAAEJ,SAAS;AAAEK,EAAAA;AAAQ,CAAC,KACpCJ,KAAK,CAACK,IAAI,CAAC,GAAGH,QAAQ,CAAA,gBAAA,EAAmBH,SAAS,CAAA,MAAA,CAAQ,EAAE;AAC1DO,EAAAA,GAAG,EAAEF;AACP,CAAC,CAAC;AAEJ,MAAMG,MAAM,GAAGA,CAAC;EAAER,SAAS;EAAES,KAAK;AAAEJ,EAAAA;AAAQ,CAAC,KAC3CJ,KAAK,CAACS,GAAG,CAAC,CAAA,EAAGP,QAAQ,CAAA,gBAAA,EAAmBH,SAAS,CAAA,OAAA,EAAUS,KAAK,CAAA,CAAE,EAAE;AAClEF,EAAAA,GAAG,EAAEF;AACP,CAAC,CAAC;AAEJ,MAAMM,OAAO,GAAGA,CAAC;EAAEX,SAAS;AAAES,EAAAA;AAAM,CAAC,KACnCR,KAAK,CAACW,MAAM,CAAC,CAAA,EAAGT,QAAQ,CAAA,gBAAA,EAAmBH,SAAS,CAAA,OAAA,EAAUS,KAAK,CAAA,CAAE,CAAC;AAExE,MAAMI,QAAQ,GAAG;EAAEd,IAAI;EAAEK,MAAM;EAAEI,MAAM;AAAEG,EAAAA;AAAQ,CAAC;;ACb3C,MAAMG,aAAa,GAAGA,CAAC;AAAEd,EAAAA;AAAU,CAAC,KACzCe,QAAQ,CAAC;AACPC,EAAAA,QAAQ,EAAE,CAACC,UAAU,CAACC,KAAK,EAAElB,SAAS,CAAC;EACvCmB,OAAO,EAAEA,MAAMN,QAAQ,CAACd,IAAI,CAACC,SAAS,CAAC;EACvCoB,OAAO,EAAEC,QAAQ,CAACrB,SAAS;AAC7B,CAAC;AAEI,MAAMsB,YAAY,GAAGA,CAAC;AAAEtB,EAAAA;AAAU,CAAC,EAAEuB,OAAO,KACjDC,2BAA2B,CAACX,QAAQ,CAACT,MAAM,EAAE;AAC3CqB,EAAAA,gBAAgB,EAAE,CAACR,UAAU,CAACC,KAAK,EAAElB,SAAS,CAAC;EAC/C,GAAGuB;AACL,CAAC;AAEI,MAAMG,YAAY,GAAGA,CAAC;AAAE1B,EAAAA;AAAU,CAAC,EAAEuB,OAAO,KACjDC,2BAA2B,CAACX,QAAQ,CAACL,MAAM,EAAE;AAC3CiB,EAAAA,gBAAgB,EAAE,CAACR,UAAU,CAACC,KAAK,EAAElB,SAAS,CAAC;EAC/C,GAAGuB;AACL,CAAC;AAEI,MAAMI,YAAY,GAAGA,CAAC;AAAE3B,EAAAA;AAAU,CAAC,EAAEuB,OAAO,KACjDC,2BAA2B,CAACX,QAAQ,CAACF,OAAO,EAAE;AAC5Cc,EAAAA,gBAAgB,EAAE,CAACR,UAAU,CAACC,KAAK,EAAElB,SAAS,CAAC;EAC/C,GAAGuB;AACL,CAAC;;;;"}
1
+ {"version":3,"file":"useTaxesApi-CNyTbsgK.js","sources":["../app/javascript/src/apis/taxes.js","../app/javascript/src/hooks/reactQuery/useTaxesApi.js"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = taxableId =>\n axios.get(`${BASE_URL}/api/v1/taxable/${taxableId}/taxes`);\n\nconst create = ({ taxableId, payload }) =>\n axios.post(`${BASE_URL}/api/v1/taxable/${taxableId}/taxes`, {\n tax: payload,\n });\n\nconst update = ({ taxableId, taxId, payload }) =>\n axios.put(`${BASE_URL}/api/v1/taxable/${taxableId}/taxes/${taxId}`, {\n tax: payload,\n });\n\nconst destroy = ({ taxableId, taxId }) =>\n axios.delete(`${BASE_URL}/api/v1/taxable/${taxableId}/taxes/${taxId}`);\n\nconst taxesApi = { list, create, update, destroy };\n\nexport default taxesApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { isNotNil } from \"ramda\";\n\nimport taxesApi from \"apis/taxes\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchTaxes = ({ taxableId }) =>\n useQuery({\n queryKey: [QUERY_KEYS.TAXES, taxableId],\n queryFn: () => taxesApi.list(taxableId),\n enabled: isNotNil(taxableId),\n });\n\nexport const useCreateTax = ({ taxableId }, options) =>\n useMutationWithInvalidation(taxesApi.create, {\n keysToInvalidate: [QUERY_KEYS.TAXES, taxableId],\n ...options,\n });\n\nexport const useUpdateTax = ({ taxableId }, options) =>\n useMutationWithInvalidation(taxesApi.update, {\n keysToInvalidate: [QUERY_KEYS.TAXES, taxableId],\n ...options,\n });\n\nexport const useDeleteTax = ({ taxableId }, options) =>\n useMutationWithInvalidation(taxesApi.destroy, {\n keysToInvalidate: [QUERY_KEYS.TAXES, taxableId],\n ...options,\n });\n"],"names":["list","taxableId","axios","get","BASE_URL","create","payload","post","tax","update","taxId","put","destroy","delete","taxesApi","useFetchTaxes","useQuery","queryKey","QUERY_KEYS","TAXES","queryFn","enabled","isNotNil","useCreateTax","options","useMutationWithInvalidation","keysToInvalidate","useUpdateTax","useDeleteTax"],"mappings":";;;;;;;AAIA,MAAMA,IAAI,GAAGC,SAAS,IACpBC,KAAK,CAACC,GAAG,CAAC,CAAA,EAAGC,QAAQ,CAAA,gBAAA,EAAmBH,SAAS,QAAQ,CAAC;AAE5D,MAAMI,MAAM,GAAGA,CAAC;EAAEJ,SAAS;AAAEK,EAAAA;AAAQ,CAAC,KACpCJ,KAAK,CAACK,IAAI,CAAC,GAAGH,QAAQ,CAAA,gBAAA,EAAmBH,SAAS,CAAA,MAAA,CAAQ,EAAE;AAC1DO,EAAAA,GAAG,EAAEF;AACP,CAAC,CAAC;AAEJ,MAAMG,MAAM,GAAGA,CAAC;EAAER,SAAS;EAAES,KAAK;AAAEJ,EAAAA;AAAQ,CAAC,KAC3CJ,KAAK,CAACS,GAAG,CAAC,CAAA,EAAGP,QAAQ,CAAA,gBAAA,EAAmBH,SAAS,CAAA,OAAA,EAAUS,KAAK,CAAA,CAAE,EAAE;AAClEF,EAAAA,GAAG,EAAEF;AACP,CAAC,CAAC;AAEJ,MAAMM,OAAO,GAAGA,CAAC;EAAEX,SAAS;AAAES,EAAAA;AAAM,CAAC,KACnCR,KAAK,CAACW,MAAM,CAAC,CAAA,EAAGT,QAAQ,CAAA,gBAAA,EAAmBH,SAAS,CAAA,OAAA,EAAUS,KAAK,CAAA,CAAE,CAAC;AAExE,MAAMI,QAAQ,GAAG;EAAEd,IAAI;EAAEK,MAAM;EAAEI,MAAM;AAAEG,EAAAA;AAAQ,CAAC;;ACb3C,MAAMG,aAAa,GAAGA,CAAC;AAAEd,EAAAA;AAAU,CAAC,KACzCe,QAAQ,CAAC;AACPC,EAAAA,QAAQ,EAAE,CAACC,UAAU,CAACC,KAAK,EAAElB,SAAS,CAAC;EACvCmB,OAAO,EAAEA,MAAMN,QAAQ,CAACd,IAAI,CAACC,SAAS,CAAC;EACvCoB,OAAO,EAAEC,QAAQ,CAACrB,SAAS;AAC7B,CAAC;AAEI,MAAMsB,YAAY,GAAGA,CAAC;AAAEtB,EAAAA;AAAU,CAAC,EAAEuB,OAAO,KACjDC,2BAA2B,CAACX,QAAQ,CAACT,MAAM,EAAE;AAC3CqB,EAAAA,gBAAgB,EAAE,CAACR,UAAU,CAACC,KAAK,EAAElB,SAAS,CAAC;EAC/C,GAAGuB;AACL,CAAC;AAEI,MAAMG,YAAY,GAAGA,CAAC;AAAE1B,EAAAA;AAAU,CAAC,EAAEuB,OAAO,KACjDC,2BAA2B,CAACX,QAAQ,CAACL,MAAM,EAAE;AAC3CiB,EAAAA,gBAAgB,EAAE,CAACR,UAAU,CAACC,KAAK,EAAElB,SAAS,CAAC;EAC/C,GAAGuB;AACL,CAAC;AAEI,MAAMI,YAAY,GAAGA,CAAC;AAAE3B,EAAAA;AAAU,CAAC,EAAEuB,OAAO,KACjDC,2BAA2B,CAACX,QAAQ,CAACF,OAAO,EAAE;AAC5Cc,EAAAA,gBAAgB,EAAE,CAACR,UAAU,CAACC,KAAK,EAAElB,SAAS,CAAC;EAC/C,GAAGuB;AACL,CAAC;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { useQuery } from '@tanstack/react-query';
2
2
  import { useMutationWithInvalidation } from 'neetocommons/react-utils';
3
3
  import axios from 'axios';
4
- import { B as BASE_URL } from './index-CajHy3NQ.js';
4
+ import { B as BASE_URL } from './index-CpGnAY9G.js';
5
5
  import { Q as QUERY_KEYS } from './queryConstants-8c7Nd8ML.js';
6
6
 
7
7
  const list = holdableId => axios.get(`${BASE_URL}/api/v1/manual_upi/vpas`, {
@@ -37,4 +37,4 @@ const useDestroyVpa = (keysToInvalidateOnDelete = []) => useMutationWithInvalida
37
37
  });
38
38
 
39
39
  export { useDestroyVpa as a, useFetchVpas as b, useCreateVpa as u };
40
- //# sourceMappingURL=useVpasApi-wicZ6o_z.js.map
40
+ //# sourceMappingURL=useVpasApi-X1KhsMZl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useVpasApi-wicZ6o_z.js","sources":["../app/javascript/src/apis/manual_upi/vpas.js","../app/javascript/src/hooks/reactQuery/manualUpi/useVpasApi.js"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = holdableId =>\n axios.get(`${BASE_URL}/api/v1/manual_upi/vpas`, {\n params: { holdableId },\n });\n\nconst create = payload =>\n axios.post(`${BASE_URL}/api/v1/manual_upi/vpas`, payload);\n\nconst destroy = ({ id, holdableId }) =>\n axios.delete(`${BASE_URL}/api/v1/manual_upi/vpas/${id}`, {\n params: { holdableId },\n });\n\nconst vpasApi = { list, create, destroy };\n\nexport default vpasApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport vpasApi from \"apis/manual_upi/vpas\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchVpas = (holdableId, options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.VPAS_LIST, holdableId],\n queryFn: () => vpasApi.list(holdableId),\n ...options,\n });\n\nexport const useCreateVpa = (keysToInvalidateOnCreate = []) =>\n useMutationWithInvalidation(vpasApi.create, {\n keysToInvalidate: [[QUERY_KEYS.VPAS_LIST], ...keysToInvalidateOnCreate],\n });\n\nexport const useDestroyVpa = (keysToInvalidateOnDelete = []) =>\n useMutationWithInvalidation(vpasApi.destroy, {\n keysToInvalidate: [[QUERY_KEYS.VPAS_LIST], ...keysToInvalidateOnDelete],\n });\n"],"names":["list","holdableId","axios","get","BASE_URL","params","create","payload","post","destroy","id","delete","vpasApi","useFetchVpas","options","useQuery","queryKey","QUERY_KEYS","VPAS_LIST","queryFn","useCreateVpa","keysToInvalidateOnCreate","useMutationWithInvalidation","keysToInvalidate","useDestroyVpa","keysToInvalidateOnDelete"],"mappings":";;;;;;AAIA,MAAMA,IAAI,GAAGC,UAAU,IACrBC,KAAK,CAACC,GAAG,CAAC,CAAA,EAAGC,QAAQ,CAAA,uBAAA,CAAyB,EAAE;AAC9CC,EAAAA,MAAM,EAAE;AAAEJ,IAAAA;AAAW;AACvB,CAAC,CAAC;AAEJ,MAAMK,MAAM,GAAGC,OAAO,IACpBL,KAAK,CAACM,IAAI,CAAC,CAAA,EAAGJ,QAAQ,CAAA,uBAAA,CAAyB,EAAEG,OAAO,CAAC;AAE3D,MAAME,OAAO,GAAGA,CAAC;EAAEC,EAAE;AAAET,EAAAA;AAAW,CAAC,KACjCC,KAAK,CAACS,MAAM,CAAC,GAAGP,QAAQ,CAAA,wBAAA,EAA2BM,EAAE,CAAA,CAAE,EAAE;AACvDL,EAAAA,MAAM,EAAE;AAAEJ,IAAAA;AAAW;AACvB,CAAC,CAAC;AAEJ,MAAMW,OAAO,GAAG;EAAEZ,IAAI;EAAEM,MAAM;AAAEG,EAAAA;AAAQ,CAAC;;ACXlC,MAAMI,YAAY,GAAGA,CAACZ,UAAU,EAAEa,OAAO,GAAG,EAAE,KACnDC,QAAQ,CAAC;AACPC,EAAAA,QAAQ,EAAE,CAACC,UAAU,CAACC,SAAS,EAAEjB,UAAU,CAAC;EAC5CkB,OAAO,EAAEA,MAAMP,OAAO,CAACZ,IAAI,CAACC,UAAU,CAAC;EACvC,GAAGa;AACL,CAAC;AAEI,MAAMM,YAAY,GAAGA,CAACC,wBAAwB,GAAG,EAAE,KACxDC,2BAA2B,CAACV,OAAO,CAACN,MAAM,EAAE;EAC1CiB,gBAAgB,EAAE,CAAC,CAACN,UAAU,CAACC,SAAS,CAAC,EAAE,GAAGG,wBAAwB;AACxE,CAAC;AAEI,MAAMG,aAAa,GAAGA,CAACC,wBAAwB,GAAG,EAAE,KACzDH,2BAA2B,CAACV,OAAO,CAACH,OAAO,EAAE;EAC3Cc,gBAAgB,EAAE,CAAC,CAACN,UAAU,CAACC,SAAS,CAAC,EAAE,GAAGO,wBAAwB;AACxE,CAAC;;;;"}
1
+ {"version":3,"file":"useVpasApi-X1KhsMZl.js","sources":["../app/javascript/src/apis/manual_upi/vpas.js","../app/javascript/src/hooks/reactQuery/manualUpi/useVpasApi.js"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = holdableId =>\n axios.get(`${BASE_URL}/api/v1/manual_upi/vpas`, {\n params: { holdableId },\n });\n\nconst create = payload =>\n axios.post(`${BASE_URL}/api/v1/manual_upi/vpas`, payload);\n\nconst destroy = ({ id, holdableId }) =>\n axios.delete(`${BASE_URL}/api/v1/manual_upi/vpas/${id}`, {\n params: { holdableId },\n });\n\nconst vpasApi = { list, create, destroy };\n\nexport default vpasApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport vpasApi from \"apis/manual_upi/vpas\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchVpas = (holdableId, options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.VPAS_LIST, holdableId],\n queryFn: () => vpasApi.list(holdableId),\n ...options,\n });\n\nexport const useCreateVpa = (keysToInvalidateOnCreate = []) =>\n useMutationWithInvalidation(vpasApi.create, {\n keysToInvalidate: [[QUERY_KEYS.VPAS_LIST], ...keysToInvalidateOnCreate],\n });\n\nexport const useDestroyVpa = (keysToInvalidateOnDelete = []) =>\n useMutationWithInvalidation(vpasApi.destroy, {\n keysToInvalidate: [[QUERY_KEYS.VPAS_LIST], ...keysToInvalidateOnDelete],\n });\n"],"names":["list","holdableId","axios","get","BASE_URL","params","create","payload","post","destroy","id","delete","vpasApi","useFetchVpas","options","useQuery","queryKey","QUERY_KEYS","VPAS_LIST","queryFn","useCreateVpa","keysToInvalidateOnCreate","useMutationWithInvalidation","keysToInvalidate","useDestroyVpa","keysToInvalidateOnDelete"],"mappings":";;;;;;AAIA,MAAMA,IAAI,GAAGC,UAAU,IACrBC,KAAK,CAACC,GAAG,CAAC,CAAA,EAAGC,QAAQ,CAAA,uBAAA,CAAyB,EAAE;AAC9CC,EAAAA,MAAM,EAAE;AAAEJ,IAAAA;AAAW;AACvB,CAAC,CAAC;AAEJ,MAAMK,MAAM,GAAGC,OAAO,IACpBL,KAAK,CAACM,IAAI,CAAC,CAAA,EAAGJ,QAAQ,CAAA,uBAAA,CAAyB,EAAEG,OAAO,CAAC;AAE3D,MAAME,OAAO,GAAGA,CAAC;EAAEC,EAAE;AAAET,EAAAA;AAAW,CAAC,KACjCC,KAAK,CAACS,MAAM,CAAC,GAAGP,QAAQ,CAAA,wBAAA,EAA2BM,EAAE,CAAA,CAAE,EAAE;AACvDL,EAAAA,MAAM,EAAE;AAAEJ,IAAAA;AAAW;AACvB,CAAC,CAAC;AAEJ,MAAMW,OAAO,GAAG;EAAEZ,IAAI;EAAEM,MAAM;AAAEG,EAAAA;AAAQ,CAAC;;ACXlC,MAAMI,YAAY,GAAGA,CAACZ,UAAU,EAAEa,OAAO,GAAG,EAAE,KACnDC,QAAQ,CAAC;AACPC,EAAAA,QAAQ,EAAE,CAACC,UAAU,CAACC,SAAS,EAAEjB,UAAU,CAAC;EAC5CkB,OAAO,EAAEA,MAAMP,OAAO,CAACZ,IAAI,CAACC,UAAU,CAAC;EACvC,GAAGa;AACL,CAAC;AAEI,MAAMM,YAAY,GAAGA,CAACC,wBAAwB,GAAG,EAAE,KACxDC,2BAA2B,CAACV,OAAO,CAACN,MAAM,EAAE;EAC1CiB,gBAAgB,EAAE,CAAC,CAACN,UAAU,CAACC,SAAS,CAAC,EAAE,GAAGG,wBAAwB;AACxE,CAAC;AAEI,MAAMG,aAAa,GAAGA,CAACC,wBAAwB,GAAG,EAAE,KACzDH,2BAA2B,CAACV,OAAO,CAACH,OAAO,EAAE;EAC3Cc,gBAAgB,EAAE,CAAC,CAACN,UAAU,CAACC,SAAS,CAAC,EAAE,GAAGO,wBAAwB;AACxE,CAAC;;;;"}
@@ -7,21 +7,21 @@ import { buildFiltersFromURL, Bar } from '@bigbinary/neeto-filters-frontend/v2';
7
7
  import Header from '@bigbinary/neeto-molecules/v2/Header';
8
8
  import SubHeader from '@bigbinary/neeto-molecules/v2/SubHeader';
9
9
  import { useTranslation } from 'react-i18next';
10
- import { u as useExportData, w as withReactQuery } from '../useExportsApi-DA6ThV9b.js';
10
+ import { u as useExportData, w as withReactQuery } from '../useExportsApi-B_ABJiMX.js';
11
11
  import { e as exportChannel, T as TABLE_KEYS } from '../exportChannel-Db0U5gc1.js';
12
12
  import { Download, Building2 } from 'lucide-react';
13
- import { u as uuidV4, G as buildStripeAccountLink, z as DEFAULT_SORT_PROPERTIES } from '../index-CajHy3NQ.js';
13
+ import { u as uuidV4, G as buildStripeAccountLink, z as DEFAULT_SORT_PROPERTIES } from '../index-CpGnAY9G.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-Ba2uhKXD.js';
18
+ import { b as buildDefaultPageProperties, a as buildPayload, c as buildRowData } from '../dashboard-BP47wvu-.js';
19
19
  import { r as renderStatus, b as renderFullName, a as renderDate } from '../renderFunctions-SFUBbGqd.js';
20
20
  import { C as CopyButtonWrapper } from '../CopyButtonWrapper-B53v2TyQ.js';
21
21
  import { DEFAULT_PAGE_SIZE, DEFAULT_PAGE_INDEX } from 'neetocommons/constants';
22
22
  import { useTableConfigurations } from '@bigbinary/neeto-molecules/v2/Columns';
23
23
  import TableWrapper from '@bigbinary/neeto-molecules/v2/TableWrapper';
24
- import { b as useFetchConnectedAccounts } from '../useAccountsApi-CZyJ4R8Z.js';
24
+ import { b as useFetchConnectedAccounts } from '../useAccountsApi-DF78k_sA.js';
25
25
  import '@tanstack/react-query';
26
26
  import '@tanstack/react-query-devtools';
27
27
  import 'axios';
@@ -1,11 +1,11 @@
1
1
  import { useState } from 'react';
2
2
  import { Button, Alert } from '@bigbinary/neeto-atoms';
3
3
  import { useTranslation } from 'react-i18next';
4
- import { u as useUpdateRecurringPayments } from '../useRecurringPaymentsApi-dbdBrh4V.js';
4
+ import { u as useUpdateRecurringPayments } from '../useRecurringPaymentsApi-B6zvIYkm.js';
5
5
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
6
6
  import 'neetocommons/react-utils';
7
7
  import 'axios';
8
- import '../index-CajHy3NQ.js';
8
+ import '../index-CpGnAY9G.js';
9
9
  import 'i18next';
10
10
  import 'neetocommons/constants';
11
11
  import 'decimal.js';
@@ -1,11 +1,11 @@
1
1
  import { Button } from '@bigbinary/neeto-atoms';
2
2
  import { noop } from 'neetocist';
3
3
  import { useTranslation } from 'react-i18next';
4
- import { u as useCreateCashPayment } from '../usePaymentApi-gvPmTOWg.js';
4
+ import { u as useCreateCashPayment } from '../usePaymentApi-B0BXE-4o.js';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
  import '@tanstack/react-query';
7
7
  import 'axios';
8
- import '../index-CajHy3NQ.js';
8
+ import '../index-CpGnAY9G.js';
9
9
  import 'i18next';
10
10
  import 'neetocommons/constants';
11
11
  import 'decimal.js';
@@ -3,11 +3,11 @@ import { Button, Dialog } from '@bigbinary/neeto-atoms';
3
3
  import { Form, Textarea, ActionBlock } from '@bigbinary/neeto-atoms/formik';
4
4
  import { noop } from 'neetocist';
5
5
  import { useTranslation } from 'react-i18next';
6
- import { a as useUpdateCashPayment } from '../usePaymentApi-gvPmTOWg.js';
6
+ import { a as useUpdateCashPayment } from '../usePaymentApi-B0BXE-4o.js';
7
7
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
8
8
  import '@tanstack/react-query';
9
9
  import 'axios';
10
- import '../index-CajHy3NQ.js';
10
+ import '../index-CpGnAY9G.js';
11
11
  import 'i18next';
12
12
  import 'neetocommons/constants';
13
13
  import 'decimal.js';
@@ -1,11 +1,11 @@
1
1
  import { Spinner, Typography } from '@bigbinary/neeto-atoms';
2
2
  import { Form, Textarea, Button } from '@bigbinary/neeto-atoms/formik';
3
3
  import { useTranslation } from 'react-i18next';
4
- import { u as useFetchRecurringPayment, a as useUpdateRecurringPayments } from '../useRecurringPaymentsApi-CkxjkZd2.js';
4
+ import { u as useFetchRecurringPayment, a as useUpdateRecurringPayments } from '../useRecurringPaymentsApi-BTOeJ8Xu.js';
5
5
  import { jsx, jsxs } from 'react/jsx-runtime';
6
6
  import 'neetocommons/react-utils';
7
7
  import 'axios';
8
- import '../index-CajHy3NQ.js';
8
+ import '../index-CpGnAY9G.js';
9
9
  import 'i18next';
10
10
  import 'neetocommons/constants';
11
11
  import 'decimal.js';
@@ -1,5 +1,5 @@
1
1
  import { Typography, DataTable, Alert, Spinner } from '@bigbinary/neeto-atoms';
2
- import { u as useCreateVpa, a as useDestroyVpa, b as useFetchVpas } from '../useVpasApi-wicZ6o_z.js';
2
+ import { u as useCreateVpa, a as useDestroyVpa, b as useFetchVpas } from '../useVpasApi-X1KhsMZl.js';
3
3
  import { Form, Input, ActionBlock } from '@bigbinary/neeto-atoms/formik';
4
4
  import CardLayout from '@bigbinary/neeto-molecules/v2/CardLayout';
5
5
  import { useTranslation, Trans } from 'react-i18next';
@@ -14,7 +14,7 @@ import MoreDropdown from '@bigbinary/neeto-molecules/v2/MoreDropdown';
14
14
  import '@tanstack/react-query';
15
15
  import 'neetocommons/react-utils';
16
16
  import 'axios';
17
- import '../index-CajHy3NQ.js';
17
+ import '../index-CpGnAY9G.js';
18
18
  import 'neetocommons/constants';
19
19
  import 'decimal.js';
20
20
  import 'neetocist';
@@ -7,8 +7,8 @@ import { isPresent, isNotPresent, noop } from 'neetocist';
7
7
  import QRCodeImage from 'qrcode.react';
8
8
  import { pluck } from 'ramda';
9
9
  import { useTranslation } from 'react-i18next';
10
- import { a as useCreateUpiPayment } from '../usePaymentApi-CjtkL3IU.js';
11
- import { k as getQrCodeValue } from '../index-CajHy3NQ.js';
10
+ import { a as useCreateUpiPayment } from '../usePaymentApi-BfoBBuRN.js';
11
+ import { o as getQrCodeValue } from '../index-CpGnAY9G.js';
12
12
  import { t } from 'i18next';
13
13
  import * as yup from 'yup';
14
14
  import { useField } from 'formik';
@@ -91,7 +91,7 @@ const UpiTransactionIdInput = ({
91
91
  onPaste: handlePaste,
92
92
  children: slots.map((slot, index) => /*#__PURE__*/jsx("input", {
93
93
  autoComplete: "off",
94
- className: "h-10 w-8 neeto-ui-rounded border neeto-ui-border-gray-300 text-center text-base focus:neeto-ui-border-gray-500 focus:outline-none",
94
+ className: "h-10 w-8 rounded border border-gray-300 text-center text-base focus:border-gray-500 focus:outline-none",
95
95
  "data-testid": `upi-transaction-id-box-${index}`,
96
96
  inputMode: "numeric",
97
97
  maxLength: 1,
@@ -104,7 +104,7 @@ const UpiTransactionIdInput = ({
104
104
  onKeyDown: event => handleKeyDown(index, event)
105
105
  }, index))
106
106
  }), showError && /*#__PURE__*/jsx(Typography, {
107
- className: "neeto-ui-text-error-500 mt-1",
107
+ className: "text-error-500 mt-1",
108
108
  variant: "body3",
109
109
  children: meta.error
110
110
  })]
@@ -200,7 +200,7 @@ const ManualUpiPayment = ({
200
200
  dirty
201
201
  }) => /*#__PURE__*/jsxs(Fragment, {
202
202
  children: [/*#__PURE__*/jsx(Typography, {
203
- className: "neeto-ui-text-gray-600",
203
+ className: "text-gray-600",
204
204
  variant: "body2",
205
205
  children: t("neetoPayments.upi.payment.vpaText", {
206
206
  count: vpaIds.length
@@ -1 +1 @@
1
- {"version":3,"file":"ManualUpiPayment.js","sources":["../../app/javascript/src/v2/components/ManualUpiPayment/constants.js","../../app/javascript/src/v2/components/ManualUpiPayment/UpiTransactionIdInput.jsx","../../app/javascript/src/v2/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 UPI_TRANSACTION_ID_LENGTH = 12;\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 } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { useField } from \"formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { UPI_TRANSACTION_ID_LENGTH as LENGTH } from \"./constants\";\n\nconst toSlots = value =>\n Array.from({ length: LENGTH }, (_, index) => value[index] ?? \"\");\n\nconst UpiTransactionIdInput = ({ name = \"identifier\" }) => {\n const { t } = useTranslation();\n const [, meta, helpers] = useField(name);\n const inputsRef = useRef([]);\n const [slots, setSlots] = useState(() =>\n toSlots((meta.initialValue ?? \"\").toString())\n );\n\n const sync = nextSlots => {\n setSlots(nextSlots);\n helpers.setValue(nextSlots.join(\"\"));\n };\n\n const setDigit = (index, digit) =>\n sync(slots.map((slot, i) => (i === index ? digit : slot)));\n\n const focusBox = index => inputsRef.current[index]?.focus();\n\n const handleChange = (index, event) => {\n const sanitized = event.target.value.replace(/\\D/g, \"\");\n setDigit(index, sanitized ? sanitized[sanitized.length - 1] : \"\");\n if (sanitized && index < LENGTH - 1) focusBox(index + 1);\n };\n\n const handleKeyDown = (index, event) => {\n if (event.key === \"Backspace\" && !slots[index] && index > 0) {\n event.preventDefault();\n setDigit(index - 1, \"\");\n focusBox(index - 1);\n } else if (event.key === \"ArrowLeft\" && index > 0) {\n focusBox(index - 1);\n } else if (event.key === \"ArrowRight\" && index < LENGTH - 1) {\n focusBox(index + 1);\n }\n };\n\n const handlePaste = event => {\n event.preventDefault();\n const pasted = event.clipboardData\n .getData(\"text\")\n .replace(/\\D/g, \"\")\n .slice(0, LENGTH);\n if (!pasted) return;\n\n sync(toSlots(pasted));\n focusBox(Math.min(pasted.length, LENGTH - 1));\n };\n\n const showError = meta.touched && meta.error;\n\n return (\n <div>\n <Typography className=\"mb-2\" variant=\"body2\" weight=\"medium\">\n {t(\"neetoPayments.upi.payment.transaction.label\")}\n </Typography>\n <div className=\"flex flex-wrap gap-2\" onPaste={handlePaste}>\n {slots.map((slot, index) => (\n <input\n autoComplete=\"off\"\n className=\"h-10 w-8 neeto-ui-rounded border neeto-ui-border-gray-300 text-center text-base focus:neeto-ui-border-gray-500 focus:outline-none\"\n data-testid={`upi-transaction-id-box-${index}`}\n inputMode=\"numeric\"\n key={index}\n maxLength={1}\n ref={element => (inputsRef.current[index] = element)}\n type=\"text\"\n value={slot}\n onBlur={() => helpers.setTouched(true)}\n onChange={event => handleChange(index, event)}\n onFocus={event => event.target.select()}\n onKeyDown={event => handleKeyDown(index, event)}\n />\n ))}\n </div>\n {showError && (\n <Typography className=\"neeto-ui-text-error-500 mt-1\" variant=\"body3\">\n {meta.error}\n </Typography>\n )}\n </div>\n );\n};\n\nexport default UpiTransactionIdInput;\n","import { useRef, useState, useMemo, useEffect } from \"react\";\n\nimport { Button, Toastr, Typography } from \"@bigbinary/neeto-atoms\";\nimport { ActionBlock, Form } from \"@bigbinary/neeto-atoms/formik\";\nimport { DirectUpload } from \"@rails/activestorage\";\nimport { X } from \"lucide-react\";\nimport { noop, isPresent } from \"neetocist\";\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\";\nimport UpiTransactionIdInput from \"./UpiTransactionIdInput\";\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 className=\"neeto-ui-text-gray-600\" variant=\"body2\">\n {t(\"neetoPayments.upi.payment.vpaText\", { count: vpaIds.length })}\n </Typography>\n {isPresent(vpaIds) && (\n <div className=\"flex flex-wrap gap-8\">\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: 120, height: 120 }}\n value={getQrCodeValue(vpaId, amountToUpi)}\n />\n <Typography\n className=\"w-full mt-2 text-center wrap-break-word\"\n variant=\"body2\"\n weight=\"medium\"\n >\n {vpaId}\n </Typography>\n </div>\n ))}\n </div>\n )}\n <UpiTransactionIdInput name=\"identifier\" />\n <div className=\"flex items-center gap-3\">\n <hr className=\"flex-1 border-border\" />\n <Typography className=\"uppercase\" color=\"muted\" variant=\"body2\">\n {t(\"neetoPayments.common.or\")}\n </Typography>\n <hr className=\"flex-1 border-border\" />\n </div>\n <div>\n <Typography className=\"mb-2\" variant=\"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-border\"\n src={screenshotPreview}\n />\n <Button\n className=\"absolute -end-2 -top-2 rounded-full bg-background shadow-sm\"\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\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-border p-6 transition-colors hover:border-ring\"\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-muted-foreground\" />\n <Typography\n className=\"mt-1 text-blue-600 hover:underline\"\n variant=\"caption\"\n weight=\"medium\"\n >\n {t(\"neetoPayments.upi.payment.screenshot.uploadText\")}\n </Typography>\n <Typography color=\"muted\" variant=\"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","UPI_TRANSACTION_ID_LENGTH","buildValidationSchema","screenshotFile","yup","object","number","typeError","t","entity","nullable","transform","value","originalValue","test","isPresent","isNotPresent","Number","isInteger","length","toString","toSlots","Array","from","LENGTH","_","index","UpiTransactionIdInput","name","useTranslation","meta","helpers","useField","inputsRef","useRef","slots","setSlots","useState","initialValue","sync","nextSlots","setValue","join","setDigit","digit","map","slot","i","focusBox","current","focus","handleChange","event","sanitized","target","replace","handleKeyDown","key","preventDefault","handlePaste","pasted","clipboardData","getData","slice","Math","min","showError","touched","error","_jsxs","children","_jsx","Typography","className","variant","weight","onPaste","autoComplete","inputMode","maxLength","ref","element","type","onBlur","setTouched","onChange","onFocus","select","onKeyDown","ManualUpiPayment","fee","payableId","tip","amount","discountCode","customAmount","handleCancel","payableType","onBeforePayment","noop","onFailedPayment","onSuccessfulPayment","fileInputRef","setScreenshotFile","isUploading","setIsUploading","screenshotPreview","useMemo","URL","createObjectURL","useEffect","revokeObjectURL","vpaIds","pluck","vpas","amountToUpi","isPending","mutate","createPayment","useCreateUpiPayment","onSuccess","onError","validationSchema","handleScreenshotSelect","file","files","size","Toastr","maxSize","handleRemoveScreenshot","uploadScreenshot","Promise","resolve","reject","upload","DirectUpload","create","blob","signed_id","handleSubmit","values","paymentScreenshot","tipAttributes","Form","formikProps","onSubmit","initialValues","dirty","_Fragment","count","vpaId","QRCodeImage","style","width","height","getQrCodeValue","color","alt","src","Button","icon","X","onClick","role","tabIndex","click","e","accept","ActionBlock","cancelButtonProps","label","disabled","submitButtonProps","loading"],"mappings":"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"}
1
+ {"version":3,"file":"ManualUpiPayment.js","sources":["../../app/javascript/src/v2/components/ManualUpiPayment/constants.js","../../app/javascript/src/v2/components/ManualUpiPayment/UpiTransactionIdInput.jsx","../../app/javascript/src/v2/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 UPI_TRANSACTION_ID_LENGTH = 12;\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 } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { useField } from \"formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { UPI_TRANSACTION_ID_LENGTH as LENGTH } from \"./constants\";\n\nconst toSlots = value =>\n Array.from({ length: LENGTH }, (_, index) => value[index] ?? \"\");\n\nconst UpiTransactionIdInput = ({ name = \"identifier\" }) => {\n const { t } = useTranslation();\n const [, meta, helpers] = useField(name);\n const inputsRef = useRef([]);\n const [slots, setSlots] = useState(() =>\n toSlots((meta.initialValue ?? \"\").toString())\n );\n\n const sync = nextSlots => {\n setSlots(nextSlots);\n helpers.setValue(nextSlots.join(\"\"));\n };\n\n const setDigit = (index, digit) =>\n sync(slots.map((slot, i) => (i === index ? digit : slot)));\n\n const focusBox = index => inputsRef.current[index]?.focus();\n\n const handleChange = (index, event) => {\n const sanitized = event.target.value.replace(/\\D/g, \"\");\n setDigit(index, sanitized ? sanitized[sanitized.length - 1] : \"\");\n if (sanitized && index < LENGTH - 1) focusBox(index + 1);\n };\n\n const handleKeyDown = (index, event) => {\n if (event.key === \"Backspace\" && !slots[index] && index > 0) {\n event.preventDefault();\n setDigit(index - 1, \"\");\n focusBox(index - 1);\n } else if (event.key === \"ArrowLeft\" && index > 0) {\n focusBox(index - 1);\n } else if (event.key === \"ArrowRight\" && index < LENGTH - 1) {\n focusBox(index + 1);\n }\n };\n\n const handlePaste = event => {\n event.preventDefault();\n const pasted = event.clipboardData\n .getData(\"text\")\n .replace(/\\D/g, \"\")\n .slice(0, LENGTH);\n if (!pasted) return;\n\n sync(toSlots(pasted));\n focusBox(Math.min(pasted.length, LENGTH - 1));\n };\n\n const showError = meta.touched && meta.error;\n\n return (\n <div>\n <Typography className=\"mb-2\" variant=\"body2\" weight=\"medium\">\n {t(\"neetoPayments.upi.payment.transaction.label\")}\n </Typography>\n <div className=\"flex flex-wrap gap-2\" onPaste={handlePaste}>\n {slots.map((slot, index) => (\n <input\n autoComplete=\"off\"\n className=\"h-10 w-8 rounded border border-gray-300 text-center text-base focus:border-gray-500 focus:outline-none\"\n data-testid={`upi-transaction-id-box-${index}`}\n inputMode=\"numeric\"\n key={index}\n maxLength={1}\n ref={element => (inputsRef.current[index] = element)}\n type=\"text\"\n value={slot}\n onBlur={() => helpers.setTouched(true)}\n onChange={event => handleChange(index, event)}\n onFocus={event => event.target.select()}\n onKeyDown={event => handleKeyDown(index, event)}\n />\n ))}\n </div>\n {showError && (\n <Typography className=\"text-error-500 mt-1\" variant=\"body3\">\n {meta.error}\n </Typography>\n )}\n </div>\n );\n};\n\nexport default UpiTransactionIdInput;\n","import { useRef, useState, useMemo, useEffect } from \"react\";\n\nimport { Button, Toastr, Typography } from \"@bigbinary/neeto-atoms\";\nimport { ActionBlock, Form } from \"@bigbinary/neeto-atoms/formik\";\nimport { DirectUpload } from \"@rails/activestorage\";\nimport { X } from \"lucide-react\";\nimport { noop, isPresent } from \"neetocist\";\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\";\nimport UpiTransactionIdInput from \"./UpiTransactionIdInput\";\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 className=\"text-gray-600\" variant=\"body2\">\n {t(\"neetoPayments.upi.payment.vpaText\", { count: vpaIds.length })}\n </Typography>\n {isPresent(vpaIds) && (\n <div className=\"flex flex-wrap gap-8\">\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: 120, height: 120 }}\n value={getQrCodeValue(vpaId, amountToUpi)}\n />\n <Typography\n className=\"w-full mt-2 text-center wrap-break-word\"\n variant=\"body2\"\n weight=\"medium\"\n >\n {vpaId}\n </Typography>\n </div>\n ))}\n </div>\n )}\n <UpiTransactionIdInput name=\"identifier\" />\n <div className=\"flex items-center gap-3\">\n <hr className=\"flex-1 border-border\" />\n <Typography className=\"uppercase\" color=\"muted\" variant=\"body2\">\n {t(\"neetoPayments.common.or\")}\n </Typography>\n <hr className=\"flex-1 border-border\" />\n </div>\n <div>\n <Typography className=\"mb-2\" variant=\"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-border\"\n src={screenshotPreview}\n />\n <Button\n className=\"absolute -end-2 -top-2 rounded-full bg-background shadow-sm\"\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\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-border p-6 transition-colors hover:border-ring\"\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-muted-foreground\" />\n <Typography\n className=\"mt-1 text-blue-600 hover:underline\"\n variant=\"caption\"\n weight=\"medium\"\n >\n {t(\"neetoPayments.upi.payment.screenshot.uploadText\")}\n </Typography>\n <Typography color=\"muted\" variant=\"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","UPI_TRANSACTION_ID_LENGTH","buildValidationSchema","screenshotFile","yup","object","number","typeError","t","entity","nullable","transform","value","originalValue","test","isPresent","isNotPresent","Number","isInteger","length","toString","toSlots","Array","from","LENGTH","_","index","UpiTransactionIdInput","name","useTranslation","meta","helpers","useField","inputsRef","useRef","slots","setSlots","useState","initialValue","sync","nextSlots","setValue","join","setDigit","digit","map","slot","i","focusBox","current","focus","handleChange","event","sanitized","target","replace","handleKeyDown","key","preventDefault","handlePaste","pasted","clipboardData","getData","slice","Math","min","showError","touched","error","_jsxs","children","_jsx","Typography","className","variant","weight","onPaste","autoComplete","inputMode","maxLength","ref","element","type","onBlur","setTouched","onChange","onFocus","select","onKeyDown","ManualUpiPayment","fee","payableId","tip","amount","discountCode","customAmount","handleCancel","payableType","onBeforePayment","noop","onFailedPayment","onSuccessfulPayment","fileInputRef","setScreenshotFile","isUploading","setIsUploading","screenshotPreview","useMemo","URL","createObjectURL","useEffect","revokeObjectURL","vpaIds","pluck","vpas","amountToUpi","isPending","mutate","createPayment","useCreateUpiPayment","onSuccess","onError","validationSchema","handleScreenshotSelect","file","files","size","Toastr","maxSize","handleRemoveScreenshot","uploadScreenshot","Promise","resolve","reject","upload","DirectUpload","create","blob","signed_id","handleSubmit","values","paymentScreenshot","tipAttributes","Form","formikProps","onSubmit","initialValues","dirty","_Fragment","count","vpaId","QRCodeImage","style","width","height","getQrCodeValue","color","alt","src","Button","icon","X","onClick","role","tabIndex","click","e","accept","ActionBlock","cancelButtonProps","label","disabled","submitButtonProps","loading"],"mappings":"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"}
@@ -4,14 +4,14 @@ import { Form, Select, Textarea, ActionBlock } from '@bigbinary/neeto-atoms/form
4
4
  import { noop, findBy } from 'neetocist';
5
5
  import { mergeLeft } from 'ramda';
6
6
  import { useTranslation } from 'react-i18next';
7
- import { u as useUpdateUpiPayment } from '../usePaymentApi-CjtkL3IU.js';
7
+ import { u as useUpdateUpiPayment } from '../usePaymentApi-BfoBBuRN.js';
8
8
  import { t } from 'i18next';
9
9
  import * as yup from 'yup';
10
10
  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-CajHy3NQ.js';
14
+ import '../index-CpGnAY9G.js';
15
15
  import 'neetocommons/constants';
16
16
  import 'decimal.js';
17
17
  import 'neetocommons/utils';
@@ -3,12 +3,12 @@ import { Button, Dialog, Typography } from '@bigbinary/neeto-atoms';
3
3
  import { Form, Textarea, ActionBlock } from '@bigbinary/neeto-atoms/formik';
4
4
  import { noop } from 'neetocist';
5
5
  import { useTranslation } from 'react-i18next';
6
- import { u as useUpdateUpiPayment } from '../usePaymentApi-CjtkL3IU.js';
6
+ import { u as useUpdateUpiPayment } from '../usePaymentApi-BfoBBuRN.js';
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-CajHy3NQ.js';
11
+ import '../index-CpGnAY9G.js';
12
12
  import 'i18next';
13
13
  import 'neetocommons/constants';
14
14
  import 'decimal.js';
@@ -5,10 +5,10 @@ import { getQueryParams, buildUrl } from 'neetocommons/utils';
5
5
  import { Bar, buildFiltersFromURL } from '@bigbinary/neeto-filters-frontend/v2';
6
6
  import { map, curry, concat, reject, isNil, prop, mergeDeepWith, mergeLeft, isEmpty } from 'ramda';
7
7
  import { useHistory } from 'react-router-dom';
8
- import { E as ExportModal } from '../ExportModal-k--5vSLt.js';
9
- import { u as useFetchPayments } from '../usePaymentsApi-C2xbgHmw.js';
10
- import { q as PAYMENT_PROVIDERS, r as formatAmount, s as formatCurrency, x as shouldTabsVisible, U as UN_HIDEABLE_COLUMNS, D as DEFAULT_PAGE_VALUES, y as DASHBOARD_KIND } from '../index-CajHy3NQ.js';
11
- import { m as mergeEnforcedFilters } from '../dashboard-Ba2uhKXD.js';
8
+ import { E as ExportModal } from '../ExportModal-Imx5pEqt.js';
9
+ import { u as useFetchPayments } from '../usePaymentsApi-Ctl1XsA1.js';
10
+ import { q as PAYMENT_PROVIDERS, r as formatAmount, s as formatCurrency, x as shouldTabsVisible, U as UN_HIDEABLE_COLUMNS, D as DEFAULT_PAGE_VALUES, y as DASHBOARD_KIND } from '../index-CpGnAY9G.js';
11
+ import { m as mergeEnforcedFilters } from '../dashboard-BP47wvu-.js';
12
12
  import { t } from 'i18next';
13
13
  import { toLabelAndValue, isNotPresent, humanize, snakeToCamelCase, isPresent, camelToSnakeCase } from 'neetocist';
14
14
  import { CreditCard } from 'lucide-react';
@@ -22,7 +22,7 @@ import { C as CopyButtonWrapper } from '../CopyButtonWrapper-B53v2TyQ.js';
22
22
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
23
23
  import Header from '@bigbinary/neeto-molecules/v2/Header';
24
24
  import SubHeader from '@bigbinary/neeto-molecules/v2/SubHeader';
25
- import '../useExportsApi-C1wjoVYy.js';
25
+ import '../useExportsApi-BCnxSe7P.js';
26
26
  import '@tanstack/react-query';
27
27
  import 'axios';
28
28
  import '../queryConstants-8c7Nd8ML.js';
@@ -6,22 +6,22 @@ import { buildFiltersFromURL, Bar } from '@bigbinary/neeto-filters-frontend/v2';
6
6
  import Header from '@bigbinary/neeto-molecules/v2/Header';
7
7
  import SubHeader from '@bigbinary/neeto-molecules/v2/SubHeader';
8
8
  import { useTranslation } from 'react-i18next';
9
- import { u as useExportData, w as withReactQuery } from '../useExportsApi-DA6ThV9b.js';
9
+ import { u as useExportData, w as withReactQuery } from '../useExportsApi-B_ABJiMX.js';
10
10
  import { e as exportChannel, T as TABLE_KEYS } from '../exportChannel-Db0U5gc1.js';
11
11
  import { Download, Landmark } from 'lucide-react';
12
- import { u as uuidV4, z as DEFAULT_SORT_PROPERTIES$1 } from '../index-CajHy3NQ.js';
12
+ import { u as uuidV4, z as DEFAULT_SORT_PROPERTIES$1 } from '../index-CpGnAY9G.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, insert, 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-Ba2uhKXD.js';
18
+ import { b as buildDefaultPageProperties, a as buildPayload, c as buildRowData } from '../dashboard-BP47wvu-.js';
19
19
  import { r as renderStatus, a as renderDate } from '../renderFunctions-SFUBbGqd.js';
20
20
  import { C as CopyButtonWrapper } from '../CopyButtonWrapper-B53v2TyQ.js';
21
21
  import { DEFAULT_PAGE_SIZE, DEFAULT_PAGE_INDEX } from 'neetocommons/constants';
22
22
  import { useTableConfigurations } from '@bigbinary/neeto-molecules/v2/Columns';
23
23
  import TableWrapper from '@bigbinary/neeto-molecules/v2/TableWrapper';
24
- import { b as useFetchStripePayouts, c as useFetchStripePlatformPayouts } from '../usePlatformApi-Dug1pxaH.js';
24
+ import { b as useFetchStripePayouts, c as useFetchStripePlatformPayouts } from '../usePlatformApi-B29AJb-p.js';
25
25
  import '@tanstack/react-query';
26
26
  import '@tanstack/react-query-devtools';
27
27
  import 'axios';
@@ -3,12 +3,12 @@ import { isPresent } from 'neetocist';
3
3
  import Header from '@bigbinary/neeto-molecules/v2/Header';
4
4
  import { useTranslation } from 'react-i18next';
5
5
  import { useParams } from 'react-router-dom/cjs/react-router-dom';
6
- import { u as useFetchData } from '../useFetchData-8LLdmA74.js';
6
+ import { u as useFetchData } from '../useFetchData-Cleas8Tk.js';
7
7
  import { r as renderStatus, a as renderDate } from '../renderFunctions-SFUBbGqd.js';
8
- import { p as buildStripePayoutLink } from '../index-CajHy3NQ.js';
8
+ import { p as buildStripePayoutLink } from '../index-CpGnAY9G.js';
9
9
  import { C as CopyButtonWrapper } from '../CopyButtonWrapper-B53v2TyQ.js';
10
10
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
11
- import '../usePlatformApi-Dug1pxaH.js';
11
+ import '../usePlatformApi-B29AJb-p.js';
12
12
  import '@tanstack/react-query';
13
13
  import 'neetocommons/react-utils';
14
14
  import 'axios';
@@ -9,9 +9,9 @@ import Container from '@bigbinary/neeto-molecules/v2/Container';
9
9
  import Header from '@bigbinary/neeto-molecules/v2/Header';
10
10
  import { useTranslation } from 'react-i18next';
11
11
  import { useHistory } from 'react-router-dom';
12
- import { u as useFetchPaymentIntegrations } from '../useIntegrationsApi-BqU-lJql.js';
12
+ import { u as useFetchPaymentIntegrations } from '../useIntegrationsApi-BEZaeW9w.js';
13
13
  import { Q as QUERY_KEYS } from '../queryConstants-8c7Nd8ML.js';
14
- import { E as ERROR_TYPE, M as MAX_POLLING_TIME, P as POLLING_INTERVAL } from '../index-CajHy3NQ.js';
14
+ import { E as ERROR_TYPE, M as MAX_POLLING_TIME, P as POLLING_INTERVAL } from '../index-CpGnAY9G.js';
15
15
  import { jsxs, jsx } from 'react/jsx-runtime';
16
16
  import 'axios';
17
17
  import 'i18next';
@@ -4,12 +4,12 @@ import CardLayout from '@bigbinary/neeto-molecules/v2/CardLayout';
4
4
  import { FormikPhoneNumberInput } from '@bigbinary/neeto-molecules/v2/PhoneNumber';
5
5
  import { useTranslation } from 'react-i18next';
6
6
  import { useHistory } from 'react-router-dom';
7
- import { u as useFetchBusinessTypes, a as useFetchBusinessCategories } from '../useBusinessTypesApi-CS2aPq7Y.js';
7
+ import { u as useFetchBusinessTypes, a as useFetchBusinessCategories } from '../useBusinessTypesApi-DwddCKIb.js';
8
8
  import { humanize } from 'neetocist';
9
9
  import { jsx, jsxs } from 'react/jsx-runtime';
10
10
  import '@tanstack/react-query';
11
11
  import 'axios';
12
- import '../index-CajHy3NQ.js';
12
+ import '../index-CpGnAY9G.js';
13
13
  import 'i18next';
14
14
  import 'neetocommons/constants';
15
15
  import 'decimal.js';
@@ -1,9 +1,10 @@
1
+ import { useRef } from 'react';
1
2
  import { Button } from '@bigbinary/neeto-atoms';
2
- import { noop, findBy, isNotPresent } from 'neetocist';
3
+ import { noop, findBy } from 'neetocist';
3
4
  import { mergeDeepLeft } from 'ramda';
4
5
  import { useTranslation } from 'react-i18next';
5
- import { u as useCreateRazorpayPayment } from '../usePaymentApi-BzB3rzNe.js';
6
- import { R as RAZORPAY_PAYMENT_BUTTON_OPTIONS } from '../index-CajHy3NQ.js';
6
+ import { u as useCreateRazorpayPayment, v as verifyCheckoutPayment, r as resolveDismissedCheckout } from '../razorpayCheckoutOutcome-ChPKzUYJ.js';
7
+ import { R as RAZORPAY_PAYMENT_BUTTON_OPTIONS } from '../index-CpGnAY9G.js';
7
8
  import { jsx } from 'react/jsx-runtime';
8
9
  import '@tanstack/react-query';
9
10
  import 'axios';
@@ -41,11 +42,13 @@ const RazorpayPaymentButton = ({
41
42
  onBeforePayment = noop,
42
43
  onSuccessfulPayment = noop,
43
44
  onFailedPayment = noop,
45
+ onPaymentCreated = noop,
44
46
  onError = noop
45
47
  }) => {
46
48
  const {
47
49
  t
48
50
  } = useTranslation();
51
+ const paymentRef = useRef(null);
49
52
  const openRazorpayCheckout = async options => {
50
53
  const script = await loadScript("https://checkout.razorpay.com/v1/checkout.js");
51
54
  if (!script) {
@@ -67,16 +70,22 @@ const RazorpayPaymentButton = ({
67
70
  });
68
71
  checkout.open();
69
72
  };
70
- const handlePayment = response => {
71
- if (isNotPresent(response?.razorpay_signature)) {
72
- onFailedPayment();
73
- return;
74
- }
75
- onSuccessfulPayment();
76
- };
73
+ const handlePayment = response => verifyCheckoutPayment({
74
+ payment: paymentRef.current,
75
+ response,
76
+ onSuccessfulPayment,
77
+ onFailedPayment
78
+ });
79
+ const handleDismiss = () => resolveDismissedCheckout({
80
+ payment: paymentRef.current,
81
+ onSuccessfulPayment,
82
+ onFailedPayment
83
+ });
77
84
  const handleSuccess = ({
78
85
  payment
79
86
  }) => {
87
+ paymentRef.current = payment;
88
+ onPaymentCreated(payment);
80
89
  if (payment?.status === "successful") {
81
90
  return onSuccessfulPayment();
82
91
  }
@@ -94,7 +103,7 @@ const RazorpayPaymentButton = ({
94
103
  },
95
104
  modal: {
96
105
  confirm_close: true,
97
- ondismiss: onFailedPayment
106
+ ondismiss: handleDismiss
98
107
  },
99
108
  handler: handlePayment,
100
109
  theme: {
@@ -1 +1 @@
1
- {"version":3,"file":"RazorpayPaymentButton.js","sources":["../../app/javascript/src/v2/components/RazorpayPaymentButton.jsx"],"sourcesContent":["import { Button } from \"@bigbinary/neeto-atoms\";\nimport { isNotPresent, noop, findBy } from \"neetocist\";\nimport { mergeDeepLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateRazorpayPayment } from \"hooks/reactQuery/razorpay/usePaymentApi\";\nimport { RAZORPAY_PAYMENT_BUTTON_OPTIONS } from \"src/constants\";\n\nconst loadScript = src =>\n new Promise(resolve => {\n const script = document.createElement(\"script\");\n script.src = src;\n script.onload = () => {\n resolve(true);\n };\n\n script.onerror = () => {\n resolve(false);\n };\n document.body.appendChild(script);\n });\n\nconst RazorpayPaymentButton = ({\n label,\n payableId,\n discountCode,\n email,\n contact,\n customAmount,\n isDisabled,\n isLoading,\n name,\n tip,\n theme = {},\n isPreserveDetailsChecked = false,\n numberOfInstallments = 1,\n payableType = null,\n onBeforePayment = noop,\n onSuccessfulPayment = noop,\n onFailedPayment = noop,\n onError = noop,\n}) => {\n const { t } = useTranslation();\n\n const openRazorpayCheckout = async options => {\n const script = await loadScript(\n \"https://checkout.razorpay.com/v1/checkout.js\"\n );\n\n if (!script) {\n logger.error(t(\"neetoPayments.razorpay.loadError\"));\n\n return;\n }\n const checkout = new window.Razorpay(options);\n\n checkout.on(\"payment.failed\", response => {\n const errorDescription = response?.error?.description;\n const errorReason = response?.error?.reason;\n logger.error(\"Razorpay payment failed:\", {\n description: errorDescription,\n reason: errorReason,\n });\n onFailedPayment({ errorDescription, errorReason });\n });\n\n checkout.open();\n };\n\n const handlePayment = response => {\n if (isNotPresent(response?.razorpay_signature)) {\n onFailedPayment();\n\n return;\n }\n\n onSuccessfulPayment();\n };\n\n const handleSuccess = ({ payment }) => {\n if (payment?.status === \"successful\") {\n return onSuccessfulPayment();\n }\n\n const themePrimaryColor = findBy(\n { key: \"primary_color\" },\n theme?.properties\n )?.value;\n\n const options = {\n key: payment.publicKey,\n order_id: payment.orderIdentifier,\n remember_customer: true,\n customer_id: payment.customerIdentifier,\n prefill: { name, email },\n modal: { confirm_close: true, ondismiss: onFailedPayment },\n handler: handlePayment,\n theme: { color: themePrimaryColor ?? \"#0da84c\" },\n };\n\n if (isPreserveDetailsChecked) {\n options[\"recurring\"] = \"1\";\n }\n\n return openRazorpayCheckout(\n mergeDeepLeft(RAZORPAY_PAYMENT_BUTTON_OPTIONS, options)\n );\n };\n\n const { isPending, mutate: createRazorpayOrder } = useCreateRazorpayPayment({\n onSuccess: handleSuccess,\n onError,\n });\n\n const handleClick = () => {\n onBeforePayment();\n const payload = {\n payableId,\n payableType,\n discountCode,\n customAmount,\n tipAttributes: tip,\n numberOfInstallments,\n customerAttributes: { email, name, contact },\n isCardPreservingEnabled: isPreserveDetailsChecked,\n };\n createRazorpayOrder(payload);\n };\n\n return (\n <Button\n disabled={isPending || isDisabled}\n label={label || t(\"neetoPayments.common.pay\")}\n loading={isPending || isLoading}\n onClick={handleClick}\n />\n );\n};\n\nexport default RazorpayPaymentButton;\n"],"names":["loadScript","src","Promise","resolve","script","document","createElement","onload","onerror","body","appendChild","RazorpayPaymentButton","label","payableId","discountCode","email","contact","customAmount","isDisabled","isLoading","name","tip","theme","isPreserveDetailsChecked","numberOfInstallments","payableType","onBeforePayment","noop","onSuccessfulPayment","onFailedPayment","onError","t","useTranslation","openRazorpayCheckout","options","logger","error","checkout","window","Razorpay","on","response","errorDescription","description","errorReason","reason","open","handlePayment","isNotPresent","razorpay_signature","handleSuccess","payment","status","themePrimaryColor","findBy","key","properties","value","publicKey","order_id","orderIdentifier","remember_customer","customer_id","customerIdentifier","prefill","modal","confirm_close","ondismiss","handler","color","mergeDeepLeft","RAZORPAY_PAYMENT_BUTTON_OPTIONS","isPending","mutate","createRazorpayOrder","useCreateRazorpayPayment","onSuccess","handleClick","payload","tipAttributes","customerAttributes","isCardPreservingEnabled","_jsx","Button","disabled","loading","onClick"],"mappings":";;;;;;;;;;;;;;AAQA,MAAMA,UAAU,GAAGC,GAAG,IACpB,IAAIC,OAAO,CAACC,OAAO,IAAI;AACrB,EAAA,MAAMC,MAAM,GAAGC,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC;EAC/CF,MAAM,CAACH,GAAG,GAAGA,GAAG;EAChBG,MAAM,CAACG,MAAM,GAAG,MAAM;IACpBJ,OAAO,CAAC,IAAI,CAAC;EACf,CAAC;EAEDC,MAAM,CAACI,OAAO,GAAG,MAAM;IACrBL,OAAO,CAAC,KAAK,CAAC;EAChB,CAAC;AACDE,EAAAA,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACN,MAAM,CAAC;AACnC,CAAC,CAAC;AAEJ,MAAMO,qBAAqB,GAAGA,CAAC;EAC7BC,KAAK;EACLC,SAAS;EACTC,YAAY;EACZC,KAAK;EACLC,OAAO;EACPC,YAAY;EACZC,UAAU;EACVC,SAAS;EACTC,IAAI;EACJC,GAAG;EACHC,KAAK,GAAG,EAAE;AACVC,EAAAA,wBAAwB,GAAG,KAAK;AAChCC,EAAAA,oBAAoB,GAAG,CAAC;AACxBC,EAAAA,WAAW,GAAG,IAAI;AAClBC,EAAAA,eAAe,GAAGC,IAAI;AACtBC,EAAAA,mBAAmB,GAAGD,IAAI;AAC1BE,EAAAA,eAAe,GAAGF,IAAI;AACtBG,EAAAA,OAAO,GAAGH;AACZ,CAAC,KAAK;EACJ,MAAM;AAAEI,IAAAA;GAAG,GAAGC,cAAc,EAAE;AAE9B,EAAA,MAAMC,oBAAoB,GAAG,MAAMC,OAAO,IAAI;AAC5C,IAAA,MAAM9B,MAAM,GAAG,MAAMJ,UAAU,CAC7B,8CACF,CAAC;IAED,IAAI,CAACI,MAAM,EAAE;AACX+B,MAAAA,MAAM,CAACC,KAAK,CAACL,CAAC,CAAC,kCAAkC,CAAC,CAAC;AAEnD,MAAA;AACF,IAAA;IACA,MAAMM,QAAQ,GAAG,IAAIC,MAAM,CAACC,QAAQ,CAACL,OAAO,CAAC;AAE7CG,IAAAA,QAAQ,CAACG,EAAE,CAAC,gBAAgB,EAAEC,QAAQ,IAAI;AACxC,MAAA,MAAMC,gBAAgB,GAAGD,QAAQ,EAAEL,KAAK,EAAEO,WAAW;AACrD,MAAA,MAAMC,WAAW,GAAGH,QAAQ,EAAEL,KAAK,EAAES,MAAM;AAC3CV,MAAAA,MAAM,CAACC,KAAK,CAAC,0BAA0B,EAAE;AACvCO,QAAAA,WAAW,EAAED,gBAAgB;AAC7BG,QAAAA,MAAM,EAAED;AACV,OAAC,CAAC;AACFf,MAAAA,eAAe,CAAC;QAAEa,gBAAgB;AAAEE,QAAAA;AAAY,OAAC,CAAC;AACpD,IAAA,CAAC,CAAC;IAEFP,QAAQ,CAACS,IAAI,EAAE;EACjB,CAAC;EAED,MAAMC,aAAa,GAAGN,QAAQ,IAAI;AAChC,IAAA,IAAIO,YAAY,CAACP,QAAQ,EAAEQ,kBAAkB,CAAC,EAAE;AAC9CpB,MAAAA,eAAe,EAAE;AAEjB,MAAA;AACF,IAAA;AAEAD,IAAAA,mBAAmB,EAAE;EACvB,CAAC;EAED,MAAMsB,aAAa,GAAGA,CAAC;AAAEC,IAAAA;AAAQ,GAAC,KAAK;AACrC,IAAA,IAAIA,OAAO,EAAEC,MAAM,KAAK,YAAY,EAAE;MACpC,OAAOxB,mBAAmB,EAAE;AAC9B,IAAA;IAEA,MAAMyB,iBAAiB,GAAGC,MAAM,CAC9B;AAAEC,MAAAA,GAAG,EAAE;AAAgB,KAAC,EACxBjC,KAAK,EAAEkC,UACT,CAAC,EAAEC,KAAK;AAER,IAAA,MAAMvB,OAAO,GAAG;MACdqB,GAAG,EAAEJ,OAAO,CAACO,SAAS;MACtBC,QAAQ,EAAER,OAAO,CAACS,eAAe;AACjCC,MAAAA,iBAAiB,EAAE,IAAI;MACvBC,WAAW,EAAEX,OAAO,CAACY,kBAAkB;AACvCC,MAAAA,OAAO,EAAE;QAAE5C,IAAI;AAAEL,QAAAA;OAAO;AACxBkD,MAAAA,KAAK,EAAE;AAAEC,QAAAA,aAAa,EAAE,IAAI;AAAEC,QAAAA,SAAS,EAAEtC;OAAiB;AAC1DuC,MAAAA,OAAO,EAAErB,aAAa;AACtBzB,MAAAA,KAAK,EAAE;QAAE+C,KAAK,EAAEhB,iBAAiB,IAAI;AAAU;KAChD;AAED,IAAA,IAAI9B,wBAAwB,EAAE;AAC5BW,MAAAA,OAAO,CAAC,WAAW,CAAC,GAAG,GAAG;AAC5B,IAAA;IAEA,OAAOD,oBAAoB,CACzBqC,aAAa,CAACC,+BAA+B,EAAErC,OAAO,CACxD,CAAC;EACH,CAAC;EAED,MAAM;IAAEsC,SAAS;AAAEC,IAAAA,MAAM,EAAEC;GAAqB,GAAGC,wBAAwB,CAAC;AAC1EC,IAAAA,SAAS,EAAE1B,aAAa;AACxBpB,IAAAA;AACF,GAAC,CAAC;EAEF,MAAM+C,WAAW,GAAGA,MAAM;AACxBnD,IAAAA,eAAe,EAAE;AACjB,IAAA,MAAMoD,OAAO,GAAG;MACdjE,SAAS;MACTY,WAAW;MACXX,YAAY;MACZG,YAAY;AACZ8D,MAAAA,aAAa,EAAE1D,GAAG;MAClBG,oBAAoB;AACpBwD,MAAAA,kBAAkB,EAAE;QAAEjE,KAAK;QAAEK,IAAI;AAAEJ,QAAAA;OAAS;AAC5CiE,MAAAA,uBAAuB,EAAE1D;KAC1B;IACDmD,mBAAmB,CAACI,OAAO,CAAC;EAC9B,CAAC;EAED,oBACEI,GAAA,CAACC,MAAM,EAAA;IACLC,QAAQ,EAAEZ,SAAS,IAAItD,UAAW;AAClCN,IAAAA,KAAK,EAAEA,KAAK,IAAImB,CAAC,CAAC,0BAA0B,CAAE;IAC9CsD,OAAO,EAAEb,SAAS,IAAIrD,SAAU;AAChCmE,IAAAA,OAAO,EAAET;AAAY,GACtB,CAAC;AAEN;;;;"}
1
+ {"version":3,"file":"RazorpayPaymentButton.js","sources":["../../app/javascript/src/v2/components/RazorpayPaymentButton.jsx"],"sourcesContent":["import { useRef } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport { noop, findBy } from \"neetocist\";\nimport { mergeDeepLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateRazorpayPayment } from \"hooks/reactQuery/razorpay/usePaymentApi\";\nimport { RAZORPAY_PAYMENT_BUTTON_OPTIONS } from \"src/constants\";\nimport {\n verifyCheckoutPayment,\n resolveDismissedCheckout,\n} from \"utils/razorpayCheckoutOutcome\";\n\nconst loadScript = src =>\n new Promise(resolve => {\n const script = document.createElement(\"script\");\n script.src = src;\n script.onload = () => {\n resolve(true);\n };\n\n script.onerror = () => {\n resolve(false);\n };\n document.body.appendChild(script);\n });\n\nconst RazorpayPaymentButton = ({\n label,\n payableId,\n discountCode,\n email,\n contact,\n customAmount,\n isDisabled,\n isLoading,\n name,\n tip,\n theme = {},\n isPreserveDetailsChecked = false,\n numberOfInstallments = 1,\n payableType = null,\n onBeforePayment = noop,\n onSuccessfulPayment = noop,\n onFailedPayment = noop,\n onPaymentCreated = noop,\n onError = noop,\n}) => {\n const { t } = useTranslation();\n const paymentRef = useRef(null);\n\n const openRazorpayCheckout = async options => {\n const script = await loadScript(\n \"https://checkout.razorpay.com/v1/checkout.js\"\n );\n\n if (!script) {\n logger.error(t(\"neetoPayments.razorpay.loadError\"));\n\n return;\n }\n const checkout = new window.Razorpay(options);\n\n checkout.on(\"payment.failed\", response => {\n const errorDescription = response?.error?.description;\n const errorReason = response?.error?.reason;\n logger.error(\"Razorpay payment failed:\", {\n description: errorDescription,\n reason: errorReason,\n });\n onFailedPayment({ errorDescription, errorReason });\n });\n\n checkout.open();\n };\n\n const handlePayment = response =>\n verifyCheckoutPayment({\n payment: paymentRef.current,\n response,\n onSuccessfulPayment,\n onFailedPayment,\n });\n\n const handleDismiss = () =>\n resolveDismissedCheckout({\n payment: paymentRef.current,\n onSuccessfulPayment,\n onFailedPayment,\n });\n\n const handleSuccess = ({ payment }) => {\n paymentRef.current = payment;\n onPaymentCreated(payment);\n\n if (payment?.status === \"successful\") {\n return onSuccessfulPayment();\n }\n\n const themePrimaryColor = findBy(\n { key: \"primary_color\" },\n theme?.properties\n )?.value;\n\n const options = {\n key: payment.publicKey,\n order_id: payment.orderIdentifier,\n remember_customer: true,\n customer_id: payment.customerIdentifier,\n prefill: { name, email },\n modal: { confirm_close: true, ondismiss: handleDismiss },\n handler: handlePayment,\n theme: { color: themePrimaryColor ?? \"#0da84c\" },\n };\n\n if (isPreserveDetailsChecked) {\n options[\"recurring\"] = \"1\";\n }\n\n return openRazorpayCheckout(\n mergeDeepLeft(RAZORPAY_PAYMENT_BUTTON_OPTIONS, options)\n );\n };\n\n const { isPending, mutate: createRazorpayOrder } = useCreateRazorpayPayment({\n onSuccess: handleSuccess,\n onError,\n });\n\n const handleClick = () => {\n onBeforePayment();\n const payload = {\n payableId,\n payableType,\n discountCode,\n customAmount,\n tipAttributes: tip,\n numberOfInstallments,\n customerAttributes: { email, name, contact },\n isCardPreservingEnabled: isPreserveDetailsChecked,\n };\n createRazorpayOrder(payload);\n };\n\n return (\n <Button\n disabled={isPending || isDisabled}\n label={label || t(\"neetoPayments.common.pay\")}\n loading={isPending || isLoading}\n onClick={handleClick}\n />\n );\n};\n\nexport default RazorpayPaymentButton;\n"],"names":["loadScript","src","Promise","resolve","script","document","createElement","onload","onerror","body","appendChild","RazorpayPaymentButton","label","payableId","discountCode","email","contact","customAmount","isDisabled","isLoading","name","tip","theme","isPreserveDetailsChecked","numberOfInstallments","payableType","onBeforePayment","noop","onSuccessfulPayment","onFailedPayment","onPaymentCreated","onError","t","useTranslation","paymentRef","useRef","openRazorpayCheckout","options","logger","error","checkout","window","Razorpay","on","response","errorDescription","description","errorReason","reason","open","handlePayment","verifyCheckoutPayment","payment","current","handleDismiss","resolveDismissedCheckout","handleSuccess","status","themePrimaryColor","findBy","key","properties","value","publicKey","order_id","orderIdentifier","remember_customer","customer_id","customerIdentifier","prefill","modal","confirm_close","ondismiss","handler","color","mergeDeepLeft","RAZORPAY_PAYMENT_BUTTON_OPTIONS","isPending","mutate","createRazorpayOrder","useCreateRazorpayPayment","onSuccess","handleClick","payload","tipAttributes","customerAttributes","isCardPreservingEnabled","_jsx","Button","disabled","loading","onClick"],"mappings":";;;;;;;;;;;;;;;AAcA,MAAMA,UAAU,GAAGC,GAAG,IACpB,IAAIC,OAAO,CAACC,OAAO,IAAI;AACrB,EAAA,MAAMC,MAAM,GAAGC,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC;EAC/CF,MAAM,CAACH,GAAG,GAAGA,GAAG;EAChBG,MAAM,CAACG,MAAM,GAAG,MAAM;IACpBJ,OAAO,CAAC,IAAI,CAAC;EACf,CAAC;EAEDC,MAAM,CAACI,OAAO,GAAG,MAAM;IACrBL,OAAO,CAAC,KAAK,CAAC;EAChB,CAAC;AACDE,EAAAA,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACN,MAAM,CAAC;AACnC,CAAC,CAAC;AAEJ,MAAMO,qBAAqB,GAAGA,CAAC;EAC7BC,KAAK;EACLC,SAAS;EACTC,YAAY;EACZC,KAAK;EACLC,OAAO;EACPC,YAAY;EACZC,UAAU;EACVC,SAAS;EACTC,IAAI;EACJC,GAAG;EACHC,KAAK,GAAG,EAAE;AACVC,EAAAA,wBAAwB,GAAG,KAAK;AAChCC,EAAAA,oBAAoB,GAAG,CAAC;AACxBC,EAAAA,WAAW,GAAG,IAAI;AAClBC,EAAAA,eAAe,GAAGC,IAAI;AACtBC,EAAAA,mBAAmB,GAAGD,IAAI;AAC1BE,EAAAA,eAAe,GAAGF,IAAI;AACtBG,EAAAA,gBAAgB,GAAGH,IAAI;AACvBI,EAAAA,OAAO,GAAGJ;AACZ,CAAC,KAAK;EACJ,MAAM;AAAEK,IAAAA;GAAG,GAAGC,cAAc,EAAE;AAC9B,EAAA,MAAMC,UAAU,GAAGC,MAAM,CAAC,IAAI,CAAC;AAE/B,EAAA,MAAMC,oBAAoB,GAAG,MAAMC,OAAO,IAAI;AAC5C,IAAA,MAAMjC,MAAM,GAAG,MAAMJ,UAAU,CAC7B,8CACF,CAAC;IAED,IAAI,CAACI,MAAM,EAAE;AACXkC,MAAAA,MAAM,CAACC,KAAK,CAACP,CAAC,CAAC,kCAAkC,CAAC,CAAC;AAEnD,MAAA;AACF,IAAA;IACA,MAAMQ,QAAQ,GAAG,IAAIC,MAAM,CAACC,QAAQ,CAACL,OAAO,CAAC;AAE7CG,IAAAA,QAAQ,CAACG,EAAE,CAAC,gBAAgB,EAAEC,QAAQ,IAAI;AACxC,MAAA,MAAMC,gBAAgB,GAAGD,QAAQ,EAAEL,KAAK,EAAEO,WAAW;AACrD,MAAA,MAAMC,WAAW,GAAGH,QAAQ,EAAEL,KAAK,EAAES,MAAM;AAC3CV,MAAAA,MAAM,CAACC,KAAK,CAAC,0BAA0B,EAAE;AACvCO,QAAAA,WAAW,EAAED,gBAAgB;AAC7BG,QAAAA,MAAM,EAAED;AACV,OAAC,CAAC;AACFlB,MAAAA,eAAe,CAAC;QAAEgB,gBAAgB;AAAEE,QAAAA;AAAY,OAAC,CAAC;AACpD,IAAA,CAAC,CAAC;IAEFP,QAAQ,CAACS,IAAI,EAAE;EACjB,CAAC;AAED,EAAA,MAAMC,aAAa,GAAGN,QAAQ,IAC5BO,qBAAqB,CAAC;IACpBC,OAAO,EAAElB,UAAU,CAACmB,OAAO;IAC3BT,QAAQ;IACRhB,mBAAmB;AACnBC,IAAAA;AACF,GAAC,CAAC;AAEJ,EAAA,MAAMyB,aAAa,GAAGA,MACpBC,wBAAwB,CAAC;IACvBH,OAAO,EAAElB,UAAU,CAACmB,OAAO;IAC3BzB,mBAAmB;AACnBC,IAAAA;AACF,GAAC,CAAC;EAEJ,MAAM2B,aAAa,GAAGA,CAAC;AAAEJ,IAAAA;AAAQ,GAAC,KAAK;IACrClB,UAAU,CAACmB,OAAO,GAAGD,OAAO;IAC5BtB,gBAAgB,CAACsB,OAAO,CAAC;AAEzB,IAAA,IAAIA,OAAO,EAAEK,MAAM,KAAK,YAAY,EAAE;MACpC,OAAO7B,mBAAmB,EAAE;AAC9B,IAAA;IAEA,MAAM8B,iBAAiB,GAAGC,MAAM,CAC9B;AAAEC,MAAAA,GAAG,EAAE;AAAgB,KAAC,EACxBtC,KAAK,EAAEuC,UACT,CAAC,EAAEC,KAAK;AAER,IAAA,MAAMzB,OAAO,GAAG;MACduB,GAAG,EAAER,OAAO,CAACW,SAAS;MACtBC,QAAQ,EAAEZ,OAAO,CAACa,eAAe;AACjCC,MAAAA,iBAAiB,EAAE,IAAI;MACvBC,WAAW,EAAEf,OAAO,CAACgB,kBAAkB;AACvCC,MAAAA,OAAO,EAAE;QAAEjD,IAAI;AAAEL,QAAAA;OAAO;AACxBuD,MAAAA,KAAK,EAAE;AAAEC,QAAAA,aAAa,EAAE,IAAI;AAAEC,QAAAA,SAAS,EAAElB;OAAe;AACxDmB,MAAAA,OAAO,EAAEvB,aAAa;AACtB5B,MAAAA,KAAK,EAAE;QAAEoD,KAAK,EAAEhB,iBAAiB,IAAI;AAAU;KAChD;AAED,IAAA,IAAInC,wBAAwB,EAAE;AAC5Bc,MAAAA,OAAO,CAAC,WAAW,CAAC,GAAG,GAAG;AAC5B,IAAA;IAEA,OAAOD,oBAAoB,CACzBuC,aAAa,CAACC,+BAA+B,EAAEvC,OAAO,CACxD,CAAC;EACH,CAAC;EAED,MAAM;IAAEwC,SAAS;AAAEC,IAAAA,MAAM,EAAEC;GAAqB,GAAGC,wBAAwB,CAAC;AAC1EC,IAAAA,SAAS,EAAEzB,aAAa;AACxBzB,IAAAA;AACF,GAAC,CAAC;EAEF,MAAMmD,WAAW,GAAGA,MAAM;AACxBxD,IAAAA,eAAe,EAAE;AACjB,IAAA,MAAMyD,OAAO,GAAG;MACdtE,SAAS;MACTY,WAAW;MACXX,YAAY;MACZG,YAAY;AACZmE,MAAAA,aAAa,EAAE/D,GAAG;MAClBG,oBAAoB;AACpB6D,MAAAA,kBAAkB,EAAE;QAAEtE,KAAK;QAAEK,IAAI;AAAEJ,QAAAA;OAAS;AAC5CsE,MAAAA,uBAAuB,EAAE/D;KAC1B;IACDwD,mBAAmB,CAACI,OAAO,CAAC;EAC9B,CAAC;EAED,oBACEI,GAAA,CAACC,MAAM,EAAA;IACLC,QAAQ,EAAEZ,SAAS,IAAI3D,UAAW;AAClCN,IAAAA,KAAK,EAAEA,KAAK,IAAIoB,CAAC,CAAC,0BAA0B,CAAE;IAC9C0D,OAAO,EAAEb,SAAS,IAAI1D,SAAU;AAChCwE,IAAAA,OAAO,EAAET;AAAY,GACtB,CAAC;AAEN;;;;"}
@@ -38,7 +38,7 @@ const RazorpayWebsiteNotice = ({
38
38
  })
39
39
  }, host))
40
40
  }), /*#__PURE__*/jsx(Typography, {
41
- className: "neeto-ui-text-gray-500",
41
+ className: "text-gray-500",
42
42
  variant: "body3",
43
43
  children: t("neetoPayments.razorpayWebsiteNotice.ignoreNote")
44
44
  })]
@@ -57,7 +57,7 @@ const RazorpayWebsiteNotice = ({
57
57
  hosts: usageHosts
58
58
  })
59
59
  }), /*#__PURE__*/jsx(Typography, {
60
- className: "neeto-ui-text-gray-500",
60
+ className: "text-gray-500",
61
61
  variant: "body3",
62
62
  children: t("neetoPayments.razorpayWebsiteNotice.ignoreNote")
63
63
  })]