@bigbinary/neeto-payments-frontend 6.1.26 → 6.1.28

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 (170) hide show
  1. package/app/javascript/src/translations/en.json +15 -4
  2. package/dist/AccountsDashboard.js +7 -7
  3. package/dist/AccountsDashboard.js.map +1 -1
  4. package/dist/AdminCancelRecurringPaymentButton.js +1 -1
  5. package/dist/AdminCancelRecurringPaymentButton.js.map +1 -1
  6. package/dist/CashPaymentButton.js +2 -2
  7. package/dist/CashPaymentButton.js.map +1 -1
  8. package/dist/ConfirmCashPaymentButton.js +2 -2
  9. package/dist/ConfirmCashPaymentButton.js.map +1 -1
  10. package/dist/{CopyButtonWrapper-Bp5IVO76.js → CopyButtonWrapper-DkI2F6Ty.js} +2 -2
  11. package/dist/CopyButtonWrapper-DkI2F6Ty.js.map +1 -0
  12. package/dist/CustomerCancelRecurringPaymentForm.js +2 -2
  13. package/dist/CustomerCancelRecurringPaymentForm.js.map +1 -1
  14. package/dist/{ExportModal-KInsxpSb.js → ExportModal-ubjATdMC.js} +2 -2
  15. package/dist/{ExportModal-KInsxpSb.js.map → ExportModal-ubjATdMC.js.map} +1 -1
  16. package/dist/ManualUpiConnect.js +3 -3
  17. package/dist/ManualUpiConnect.js.map +1 -1
  18. package/dist/ManualUpiPayment.js +128 -22
  19. package/dist/ManualUpiPayment.js.map +1 -1
  20. package/dist/ManualUpiPaymentConfirmButton.js +3 -3
  21. package/dist/ManualUpiPaymentConfirmButton.js.map +1 -1
  22. package/dist/ManualUpiPaymentRejectButton.js +3 -3
  23. package/dist/ManualUpiPaymentRejectButton.js.map +1 -1
  24. package/dist/PaymentKindRestrictionAlert.js.map +1 -1
  25. package/dist/PaymentsDashboard.js +24 -13
  26. package/dist/PaymentsDashboard.js.map +1 -1
  27. package/dist/PayoutsDashboard.js +7 -7
  28. package/dist/PayoutsDashboard.js.map +1 -1
  29. package/dist/PayoutsPage.js +5 -5
  30. package/dist/PayoutsPage.js.map +1 -1
  31. package/dist/RazorpayConnect.js +4 -4
  32. package/dist/RazorpayConnect.js.map +1 -1
  33. package/dist/RazorpayLinkedAccountForm.js +3 -3
  34. package/dist/RazorpayLinkedAccountForm.js.map +1 -1
  35. package/dist/RazorpayPaymentButton.js +2 -2
  36. package/dist/RazorpayPaymentButton.js.map +1 -1
  37. package/dist/RecurringPaymentSettings.js +3 -3
  38. package/dist/RecurringPaymentSettings.js.map +1 -1
  39. package/dist/RefundsDashboard.js +8 -10
  40. package/dist/RefundsDashboard.js.map +1 -1
  41. package/dist/SplitTransfersDashboard.js +11 -11
  42. package/dist/SplitTransfersDashboard.js.map +1 -1
  43. package/dist/StripeCheckoutSetting.js +2 -2
  44. package/dist/StripeCheckoutSetting.js.map +1 -1
  45. package/dist/StripeConnect.js +6 -6
  46. package/dist/StripeConnect.js.map +1 -1
  47. package/dist/StripeManage.js +3 -3
  48. package/dist/TaxesDashboard.js +2 -2
  49. package/dist/TaxesDashboard.js.map +1 -1
  50. package/dist/buildStripeTransactionLink.js +1 -1
  51. package/dist/cjs/AccountsDashboard.js +4 -4
  52. package/dist/cjs/AccountsDashboard.js.map +1 -1
  53. package/dist/cjs/AdminCancelRecurringPaymentButton.js.map +1 -1
  54. package/dist/cjs/CashPaymentButton.js.map +1 -1
  55. package/dist/cjs/ConfirmCashPaymentButton.js.map +1 -1
  56. package/dist/cjs/{CopyButtonWrapper-I-kdKiiB.js → CopyButtonWrapper-DZ9rE5UR.js} +2 -2
  57. package/dist/cjs/CopyButtonWrapper-DZ9rE5UR.js.map +1 -0
  58. package/dist/cjs/CustomerCancelRecurringPaymentForm.js +1 -1
  59. package/dist/cjs/CustomerCancelRecurringPaymentForm.js.map +1 -1
  60. package/dist/cjs/ExportModal-BFe0tF5L.js.map +1 -1
  61. package/dist/cjs/ManualUpiConnect.js +1 -1
  62. package/dist/cjs/ManualUpiConnect.js.map +1 -1
  63. package/dist/cjs/ManualUpiPayment.js +125 -19
  64. package/dist/cjs/ManualUpiPayment.js.map +1 -1
  65. package/dist/cjs/ManualUpiPaymentConfirmButton.js +2 -2
  66. package/dist/cjs/ManualUpiPaymentConfirmButton.js.map +1 -1
  67. package/dist/cjs/ManualUpiPaymentRejectButton.js +2 -2
  68. package/dist/cjs/ManualUpiPaymentRejectButton.js.map +1 -1
  69. package/dist/cjs/PaymentKindRestrictionAlert.js.map +1 -1
  70. package/dist/cjs/PaymentsDashboard.js +18 -7
  71. package/dist/cjs/PaymentsDashboard.js.map +1 -1
  72. package/dist/cjs/PayoutsDashboard.js +4 -4
  73. package/dist/cjs/PayoutsDashboard.js.map +1 -1
  74. package/dist/cjs/PayoutsPage.js +4 -4
  75. package/dist/cjs/PayoutsPage.js.map +1 -1
  76. package/dist/cjs/RazorpayConnect.js +2 -2
  77. package/dist/cjs/RazorpayConnect.js.map +1 -1
  78. package/dist/cjs/RazorpayLinkedAccountForm.js +1 -1
  79. package/dist/cjs/RazorpayLinkedAccountForm.js.map +1 -1
  80. package/dist/cjs/RazorpayPaymentButton.js +1 -1
  81. package/dist/cjs/RazorpayPaymentButton.js.map +1 -1
  82. package/dist/cjs/RecurringPaymentSettings.js +1 -1
  83. package/dist/cjs/RecurringPaymentSettings.js.map +1 -1
  84. package/dist/cjs/RefundsDashboard.js +3 -5
  85. package/dist/cjs/RefundsDashboard.js.map +1 -1
  86. package/dist/cjs/SplitTransfersDashboard.js +6 -6
  87. package/dist/cjs/SplitTransfersDashboard.js.map +1 -1
  88. package/dist/cjs/StripeCheckoutSetting.js +1 -1
  89. package/dist/cjs/StripeCheckoutSetting.js.map +1 -1
  90. package/dist/cjs/StripeConnect.js +3 -3
  91. package/dist/cjs/StripeConnect.js.map +1 -1
  92. package/dist/cjs/StripeManage.js +1 -1
  93. package/dist/cjs/TaxesDashboard.js +1 -1
  94. package/dist/cjs/TaxesDashboard.js.map +1 -1
  95. package/dist/cjs/dashboard-BWh6P9BB.js.map +1 -1
  96. package/dist/cjs/exportChannel-BL2RGGhP.js.map +1 -1
  97. package/dist/cjs/index-vUzevy4J.js.map +1 -1
  98. package/dist/cjs/index.js +9 -8
  99. package/dist/cjs/index.js.map +1 -1
  100. package/dist/cjs/{queryConstants-Dc6wh21D.js → queryConstants-CGUF7zol.js} +1 -12
  101. package/dist/cjs/{queryConstants-Dc6wh21D.js.map → queryConstants-CGUF7zol.js.map} +1 -1
  102. package/dist/cjs/{renderFunctions-9r2F0DaL.js → renderFunctions-B61EfbIp.js} +2 -2
  103. package/dist/cjs/{renderFunctions-9r2F0DaL.js.map → renderFunctions-B61EfbIp.js.map} +1 -1
  104. package/dist/cjs/{stripe.esm-CrNYjPcC.js → stripe.esm-DCCiiIbR.js} +2 -8
  105. package/dist/cjs/{stripe.esm-CrNYjPcC.js.map → stripe.esm-DCCiiIbR.js.map} +1 -1
  106. package/dist/cjs/{useAccountsApi-FFJUTaYQ.js → useAccountsApi-B1riDzpb.js} +2 -2
  107. package/dist/cjs/{useAccountsApi-FFJUTaYQ.js.map → useAccountsApi-B1riDzpb.js.map} +1 -1
  108. package/dist/cjs/useExportsApi-FDe0ucYU.js.map +1 -1
  109. package/dist/cjs/{useIntegrationsApi-D7HNuBW7.js → useIntegrationsApi-Cqu9MBJR.js} +2 -2
  110. package/dist/cjs/{useIntegrationsApi-D7HNuBW7.js.map → useIntegrationsApi-Cqu9MBJR.js.map} +1 -1
  111. package/dist/cjs/usePaymentApi-B-L0nxtr.js.map +1 -1
  112. package/dist/cjs/{usePaymentApi-fBUnau7x.js → usePaymentApi-BoLmrCje.js} +2 -2
  113. package/dist/cjs/{usePaymentApi-fBUnau7x.js.map → usePaymentApi-BoLmrCje.js.map} +1 -1
  114. package/dist/cjs/{usePaymentApi-Bbtzf9ST.js → usePaymentApi-CgsZjRBj.js} +1 -9
  115. package/dist/cjs/{usePaymentApi-Bbtzf9ST.js.map → usePaymentApi-CgsZjRBj.js.map} +1 -1
  116. package/dist/cjs/{usePlatformApi-BEa-Cs3V.js → usePlatformApi-D3yfxsMP.js} +2 -2
  117. package/dist/cjs/{usePlatformApi-BEa-Cs3V.js.map → usePlatformApi-D3yfxsMP.js.map} +1 -1
  118. package/dist/cjs/useRazorpayPayment.js +1 -1
  119. package/dist/cjs/useRazorpayPayment.js.map +1 -1
  120. package/dist/cjs/useStripePromise.js +1 -1
  121. package/dist/cjs/useStripePromise.js.map +1 -1
  122. package/dist/constants.js +1 -1
  123. package/dist/{dashboard-Cr6UEj9o.js → dashboard-CZOZ1Oxi.js} +3 -3
  124. package/dist/{dashboard-Cr6UEj9o.js.map → dashboard-CZOZ1Oxi.js.map} +1 -1
  125. package/dist/exportChannel-Db0U5gc1.js.map +1 -1
  126. package/dist/getAddressElementOptions.js +1 -1
  127. package/dist/getAmountInLargestCurrencyUnit.js +1 -1
  128. package/dist/getAmountInSmallestCurrencyUnit.js +1 -1
  129. package/dist/getAmountWithAppliedTax.js +1 -1
  130. package/dist/getFormattedAmount.js +1 -1
  131. package/dist/getFormattedDiscountedAmount.js +1 -1
  132. package/dist/getFormattedDiscountedPercentage.js +1 -1
  133. package/dist/getFormattedTaxAmount.js +1 -1
  134. package/dist/getFormattedTipAmount.js +1 -1
  135. package/dist/getQrCodeValue.js +1 -1
  136. package/dist/getTaxAmount.js +1 -1
  137. package/dist/getTipAmount.js +1 -1
  138. package/dist/hasAmountToPay.js +1 -1
  139. package/dist/{index-DqpYJN4W.js → index-15RrM-W8.js} +4 -4
  140. package/dist/{index-DqpYJN4W.js.map → index-15RrM-W8.js.map} +1 -1
  141. package/dist/index.js +14 -13
  142. package/dist/index.js.map +1 -1
  143. package/dist/{queryConstants-C7AqdemO.js → queryConstants-8c7Nd8ML.js} +1 -12
  144. package/dist/queryConstants-8c7Nd8ML.js.map +1 -0
  145. package/dist/{renderFunctions-CmT7DuRQ.js → renderFunctions-C5m30W0E.js} +4 -4
  146. package/dist/{renderFunctions-CmT7DuRQ.js.map → renderFunctions-C5m30W0E.js.map} +1 -1
  147. package/dist/{stripe.esm-DuZ_gsAa.js → stripe.esm-CFEGjV29.js} +2 -8
  148. package/dist/{stripe.esm-DuZ_gsAa.js.map → stripe.esm-CFEGjV29.js.map} +1 -1
  149. package/dist/{useAccountsApi-Cxvp_Jcf.js → useAccountsApi-Cbfz0yG4.js} +3 -3
  150. package/dist/{useAccountsApi-Cxvp_Jcf.js.map → useAccountsApi-Cbfz0yG4.js.map} +1 -1
  151. package/dist/{useExportsApi-C_UN1GVL.js → useExportsApi-DBBXhnqr.js} +3 -3
  152. package/dist/{useExportsApi-C_UN1GVL.js.map → useExportsApi-DBBXhnqr.js.map} +1 -1
  153. package/dist/{useIntegrationsApi-v_nhBcdZ.js → useIntegrationsApi-C3K1aAvJ.js} +3 -3
  154. package/dist/{useIntegrationsApi-v_nhBcdZ.js.map → useIntegrationsApi-C3K1aAvJ.js.map} +1 -1
  155. package/dist/{usePaymentApi-DrpxsySj.js → usePaymentApi-BqNzxqL8.js} +2 -10
  156. package/dist/{usePaymentApi-DrpxsySj.js.map → usePaymentApi-BqNzxqL8.js.map} +1 -1
  157. package/dist/{usePaymentApi-D1xXtOAq.js → usePaymentApi-Cf_jWBQK.js} +2 -2
  158. package/dist/{usePaymentApi-D1xXtOAq.js.map → usePaymentApi-Cf_jWBQK.js.map} +1 -1
  159. package/dist/{usePaymentApi-D-8CnzxZ.js → usePaymentApi-DHDDzZkq.js} +3 -3
  160. package/dist/{usePaymentApi-D-8CnzxZ.js.map → usePaymentApi-DHDDzZkq.js.map} +1 -1
  161. package/dist/{usePlatformApi-BrtHM9LM.js → usePlatformApi-CCMB7CBj.js} +3 -3
  162. package/dist/{usePlatformApi-BrtHM9LM.js.map → usePlatformApi-CCMB7CBj.js.map} +1 -1
  163. package/dist/useRazorpayPayment.js +2 -2
  164. package/dist/useRazorpayPayment.js.map +1 -1
  165. package/dist/useStripePromise.js +1 -1
  166. package/dist/useStripePromise.js.map +1 -1
  167. package/package.json +11 -11
  168. package/dist/CopyButtonWrapper-Bp5IVO76.js.map +0 -1
  169. package/dist/cjs/CopyButtonWrapper-I-kdKiiB.js.map +0 -1
  170. package/dist/queryConstants-C7AqdemO.js.map +0 -1
@@ -4,7 +4,7 @@ var neetocist = require('neetocist');
4
4
  var CopyToClipboardButton = require('@bigbinary/neeto-molecules/CopyToClipboardButton');
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
 
7
- var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
7
+ var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=true===r.prepend?"prepend":"append",d=true===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
8
8
 
9
9
  var css = ".ant-table-cell-row-hover .identifier-copy-button{visibility:visible!important}";
10
10
  n(css,{});
@@ -26,4 +26,4 @@ const CopyButtonWrapper = ({
26
26
 
27
27
  exports.CopyButtonWrapper = CopyButtonWrapper;
28
28
  exports.n = n;
29
- //# sourceMappingURL=CopyButtonWrapper-I-kdKiiB.js.map
29
+ //# sourceMappingURL=CopyButtonWrapper-DZ9rE5UR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CopyButtonWrapper-DZ9rE5UR.js","sources":["../../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../../app/javascript/src/components/Common/CopyButtonWrapper.jsx"],"sourcesContent":["var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n","import { isPresent } from \"neetocist\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\n\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/copy-button.css\";\n\nconst CopyButtonWrapper = ({ content, children }) => (\n <div className=\"flex items-center space-x-2\">\n {children}\n {isPresent(content) && (\n <div className=\"identifier-copy-button invisible\">\n <CopyToClipboardButton size=\"small\" style=\"text\" value={content} />\n </div>\n )}\n </div>\n);\n\nexport default CopyButtonWrapper;\n"],"names":["CopyButtonWrapper","content","children","_jsxs","className","isPresent","_jsx","CopyToClipboardButton","size","style","value"],"mappings":";;;;;;AAAA,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAE,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAC,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;;;ACMruB,MAAMA,iBAAiB,GAAGA,CAAC;EAAEC,OAAO;AAAEC,EAAAA;AAAS,CAAC,kBAC9CC,eAAA,CAAA,KAAA,EAAA;AAAKC,EAAAA,SAAS,EAAC,6BAA6B;EAAAF,QAAA,EAAA,CACzCA,QAAQ,EACRG,mBAAS,CAACJ,OAAO,CAAC,iBACjBK,cAAA,CAAA,KAAA,EAAA;AAAKF,IAAAA,SAAS,EAAC,kCAAkC;IAAAF,QAAA,eAC/CI,cAAA,CAACC,qBAAqB,EAAA;AAACC,MAAAA,IAAI,EAAC,OAAO;AAACC,MAAAA,KAAK,EAAC,MAAM;AAACC,MAAAA,KAAK,EAAET;KAAU;AAAC,GAChE,CACN;AAAA,CACE;;;;;","x_google_ignoreList":[0]}
@@ -6,7 +6,7 @@ var axios = require('axios');
6
6
  var constants = require('./index-vUzevy4J.js');
7
7
  var reactQuery = require('@tanstack/react-query');
8
8
  var ramda = require('ramda');
9
- var queryConstants = require('./queryConstants-Dc6wh21D.js');
9
+ var queryConstants = require('./queryConstants-CGUF7zol.js');
10
10
  var neetoui = require('@bigbinary/neetoui');
11
11
  var formik = require('@bigbinary/neetoui/formik');
12
12
  var jsxRuntime = require('react/jsx-runtime');
@@ -1 +1 @@
1
- {"version":3,"file":"CustomerCancelRecurringPaymentForm.js","sources":["../../app/javascript/src/apis/public/recurring_payments.js","../../app/javascript/src/hooks/reactQuery/public/useRecurringPaymentsApi.js","../../app/javascript/src/components/CustomerCancelRecurringPaymentForm/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst show = payableId =>\n axios.get(`${BASE_URL}/api/v1/public/recurring_payments/${payableId}`);\n\nconst update = ({ payableId, payload }) =>\n axios.put(`${BASE_URL}/api/v1/public/recurring_payments/${payableId}`, {\n recurring_payment: payload,\n });\n\nconst recurringPaymentsApi = { show, update };\n\nexport default recurringPaymentsApi;\n","import { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport recurringPaymentsApi from \"apis/public/recurring_payments\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport { isNotNil } from \"ramda\";\n\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchRecurringPayment = payableId =>\n useQuery({\n queryKey: [QUERY_KEYS.RECURRING_PAYMENT, payableId],\n queryFn: () => recurringPaymentsApi.show(payableId),\n enabled: isNotNil(payableId),\n });\n\nexport const useUpdateRecurringPayments = payableId =>\n useMutationWithInvalidation(recurringPaymentsApi.update, {\n keysToInvalidate: [QUERY_KEYS.RECURRING_PAYMENT, payableId],\n });\n","import { useTranslation } from \"react-i18next\";\n\nimport {\n useUpdateRecurringPayments,\n useFetchRecurringPayment,\n} from \"hooks/reactQuery/public/useRecurringPaymentsApi\";\nimport { Typography, Spinner } from \"neetoui\";\nimport { Form, Textarea, Button } from \"neetoui/formik\";\n\nconst CustomerCancelRecurringPaymentForm = ({ payableId }) => {\n const { t } = useTranslation();\n\n const { isLoading, data: { recurringPayment } = {} } =\n useFetchRecurringPayment(payableId);\n\n const { isPending, mutate: updateRecurringPayment } =\n useUpdateRecurringPayments(payableId);\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (recurringPayment?.status === \"cancelled\") {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Typography>\n {t(\"neetoPayments.recurringPaymentCancel.message\")}\n </Typography>\n </div>\n );\n }\n\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Form\n className=\"space-y-6\"\n formikProps={{\n onSubmit: ({ cancelReason }) =>\n updateRecurringPayment({\n payableId,\n payload: { status: \"cancelled\", cancelReason },\n }),\n initialValues: { cancelReason: \"\" },\n }}\n >\n <Textarea\n data-testid=\"cancel-meeting-input-textfield\"\n label={t(\"neetoPayments.recurringPaymentCancel.reasonLabel\")}\n name=\"cancelReason\"\n placeholder={t(\n \"neetoPayments.recurringPaymentCancel.reasonPlaceholder\"\n )}\n />\n <Button\n data-testid=\"cancel-meeting-submit-button\"\n disabled={isPending}\n label={t(\"neetoPayments.recurringPaymentCancel.buttonLabel\")}\n loading={isPending}\n style=\"danger\"\n />\n </Form>\n </div>\n );\n};\n\nexport default CustomerCancelRecurringPaymentForm;\n"],"names":["show","payableId","axios","get","BASE_URL","update","payload","put","recurring_payment","recurringPaymentsApi","useFetchRecurringPayment","useQuery","queryKey","QUERY_KEYS","RECURRING_PAYMENT","queryFn","enabled","isNotNil","useUpdateRecurringPayments","useMutationWithInvalidation","keysToInvalidate","CustomerCancelRecurringPaymentForm","t","useTranslation","isLoading","data","recurringPayment","isPending","mutate","updateRecurringPayment","_jsx","className","children","Spinner","status","Typography","_jsxs","Form","formikProps","onSubmit","cancelReason","initialValues","Textarea","label","name","placeholder","Button","disabled","loading","style"],"mappings":"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"}
1
+ {"version":3,"file":"CustomerCancelRecurringPaymentForm.js","sources":["../../app/javascript/src/apis/public/recurring_payments.js","../../app/javascript/src/hooks/reactQuery/public/useRecurringPaymentsApi.js","../../app/javascript/src/components/CustomerCancelRecurringPaymentForm/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst show = payableId =>\n axios.get(`${BASE_URL}/api/v1/public/recurring_payments/${payableId}`);\n\nconst update = ({ payableId, payload }) =>\n axios.put(`${BASE_URL}/api/v1/public/recurring_payments/${payableId}`, {\n recurring_payment: payload,\n });\n\nconst recurringPaymentsApi = { show, update };\n\nexport default recurringPaymentsApi;\n","import { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport recurringPaymentsApi from \"apis/public/recurring_payments\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport { isNotNil } from \"ramda\";\n\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchRecurringPayment = payableId =>\n useQuery({\n queryKey: [QUERY_KEYS.RECURRING_PAYMENT, payableId],\n queryFn: () => recurringPaymentsApi.show(payableId),\n enabled: isNotNil(payableId),\n });\n\nexport const useUpdateRecurringPayments = payableId =>\n useMutationWithInvalidation(recurringPaymentsApi.update, {\n keysToInvalidate: [QUERY_KEYS.RECURRING_PAYMENT, payableId],\n });\n","import { useTranslation } from \"react-i18next\";\n\nimport {\n useUpdateRecurringPayments,\n useFetchRecurringPayment,\n} from \"hooks/reactQuery/public/useRecurringPaymentsApi\";\nimport { Typography, Spinner } from \"neetoui\";\nimport { Form, Textarea, Button } from \"neetoui/formik\";\n\nconst CustomerCancelRecurringPaymentForm = ({ payableId }) => {\n const { t } = useTranslation();\n\n const { isLoading, data: { recurringPayment } = {} } =\n useFetchRecurringPayment(payableId);\n\n const { isPending, mutate: updateRecurringPayment } =\n useUpdateRecurringPayments(payableId);\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (recurringPayment?.status === \"cancelled\") {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Typography>\n {t(\"neetoPayments.recurringPaymentCancel.message\")}\n </Typography>\n </div>\n );\n }\n\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Form\n className=\"space-y-6\"\n formikProps={{\n onSubmit: ({ cancelReason }) =>\n updateRecurringPayment({\n payableId,\n payload: { status: \"cancelled\", cancelReason },\n }),\n initialValues: { cancelReason: \"\" },\n }}\n >\n <Textarea\n data-testid=\"cancel-meeting-input-textfield\"\n label={t(\"neetoPayments.recurringPaymentCancel.reasonLabel\")}\n name=\"cancelReason\"\n placeholder={t(\n \"neetoPayments.recurringPaymentCancel.reasonPlaceholder\"\n )}\n />\n <Button\n data-testid=\"cancel-meeting-submit-button\"\n disabled={isPending}\n label={t(\"neetoPayments.recurringPaymentCancel.buttonLabel\")}\n loading={isPending}\n style=\"danger\"\n />\n </Form>\n </div>\n );\n};\n\nexport default CustomerCancelRecurringPaymentForm;\n"],"names":["show","payableId","axios","get","BASE_URL","update","payload","put","recurring_payment","recurringPaymentsApi","useFetchRecurringPayment","useQuery","queryKey","QUERY_KEYS","RECURRING_PAYMENT","queryFn","enabled","isNotNil","useUpdateRecurringPayments","useMutationWithInvalidation","keysToInvalidate","CustomerCancelRecurringPaymentForm","t","useTranslation","isLoading","data","recurringPayment","isPending","mutate","updateRecurringPayment","_jsx","className","children","Spinner","status","Typography","_jsxs","Form","formikProps","onSubmit","cancelReason","initialValues","Textarea","label","name","placeholder","Button","disabled","loading","style"],"mappings":";;;;;;;;;;;;;;;;;;AAIA,MAAMA,IAAI,GAAGC,SAAS,IACpBC,KAAK,CAACC,GAAG,CAAC,CAAA,EAAGC,kBAAQ,CAAA,kCAAA,EAAqCH,SAAS,EAAE,CAAC;AAExE,MAAMI,MAAM,GAAGA,CAAC;EAAEJ,SAAS;AAAEK,EAAAA;AAAQ,CAAC,KACpCJ,KAAK,CAACK,GAAG,CAAC,GAAGH,kBAAQ,CAAA,kCAAA,EAAqCH,SAAS,CAAA,CAAE,EAAE;AACrEO,EAAAA,iBAAiB,EAAEF;AACrB,CAAC,CAAC;AAEJ,MAAMG,oBAAoB,GAAG;EAAET,IAAI;AAAEK,EAAAA;AAAO,CAAC;;ACHtC,MAAMK,wBAAwB,GAAGT,SAAS,IAC/CU,mBAAQ,CAAC;AACPC,EAAAA,QAAQ,EAAE,CAACC,yBAAU,CAACC,iBAAiB,EAAEb,SAAS,CAAC;EACnDc,OAAO,EAAEA,MAAMN,oBAAoB,CAACT,IAAI,CAACC,SAAS,CAAC;EACnDe,OAAO,EAAEC,cAAQ,CAAChB,SAAS;AAC7B,CAAC,CAAC;AAEG,MAAMiB,0BAA0B,GAAGjB,SAAS,IACjDkB,sCAA2B,CAACV,oBAAoB,CAACJ,MAAM,EAAE;AACvDe,EAAAA,gBAAgB,EAAE,CAACP,yBAAU,CAACC,iBAAiB,EAAEb,SAAS;AAC5D,CAAC,CAAC;;ACVJ,MAAMoB,kCAAkC,GAAGA,CAAC;AAAEpB,EAAAA;AAAU,CAAC,KAAK;EAC5D,MAAM;AAAEqB,IAAAA;GAAG,GAAGC,2BAAc,EAAE;EAE9B,MAAM;IAAEC,SAAS;AAAEC,IAAAA,IAAI,EAAE;AAAEC,MAAAA;AAAiB,KAAC,GAAG;AAAG,GAAC,GAClDhB,wBAAwB,CAACT,SAAS,CAAC;EAErC,MAAM;IAAE0B,SAAS;AAAEC,IAAAA,MAAM,EAAEC;AAAuB,GAAC,GACjDX,0BAA0B,CAACjB,SAAS,CAAC;AAEvC,EAAA,IAAIuB,SAAS,EAAE;AACb,IAAA,oBACEM,cAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,gDAAgD;AAAAC,MAAAA,QAAA,eAC7DF,cAAA,CAACG,eAAO,EAAA,EAAE;AAAC,KACR,CAAC;AAEV,EAAA;AAEA,EAAA,IAAIP,gBAAgB,EAAEQ,MAAM,KAAK,WAAW,EAAE;AAC5C,IAAA,oBACEJ,cAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,gDAAgD;MAAAC,QAAA,eAC7DF,cAAA,CAACK,kBAAU,EAAA;QAAAH,QAAA,EACRV,CAAC,CAAC,8CAA8C;OACvC;AAAC,KACV,CAAC;AAEV,EAAA;AAEA,EAAA,oBACEQ,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,gDAAgD;IAAAC,QAAA,eAC7DI,eAAA,CAACC,WAAI,EAAA;AACHN,MAAAA,SAAS,EAAC,WAAW;AACrBO,MAAAA,WAAW,EAAE;AACXC,QAAAA,QAAQ,EAAEA,CAAC;AAAEC,UAAAA;SAAc,KACzBX,sBAAsB,CAAC;UACrB5B,SAAS;AACTK,UAAAA,OAAO,EAAE;AAAE4B,YAAAA,MAAM,EAAE,WAAW;AAAEM,YAAAA;AAAa;AAC/C,SAAC,CAAC;AACJC,QAAAA,aAAa,EAAE;AAAED,UAAAA,YAAY,EAAE;AAAG;OAClC;MAAAR,QAAA,EAAA,cAEFF,cAAA,CAACY,eAAQ,EAAA;AACP,QAAA,aAAA,EAAY,gCAAgC;AAC5CC,QAAAA,KAAK,EAAErB,CAAC,CAAC,kDAAkD,CAAE;AAC7DsB,QAAAA,IAAI,EAAC,cAAc;QACnBC,WAAW,EAAEvB,CAAC,CACZ,wDACF;AAAE,OACH,CAAC,eACFQ,cAAA,CAACgB,aAAM,EAAA;AACL,QAAA,aAAA,EAAY,8BAA8B;AAC1CC,QAAAA,QAAQ,EAAEpB,SAAU;AACpBgB,QAAAA,KAAK,EAAErB,CAAC,CAAC,kDAAkD,CAAE;AAC7D0B,QAAAA,OAAO,EAAErB,SAAU;AACnBsB,QAAAA,KAAK,EAAC;AAAQ,OACf,CAAC;KACE;AAAC,GACJ,CAAC;AAEV;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExportModal-BFe0tF5L.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-BFe0tF5L.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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"}
@@ -5,7 +5,7 @@ var reactQuery = require('@tanstack/react-query');
5
5
  var reactUtils = require('neetocommons/react-utils');
6
6
  var axios = require('axios');
7
7
  var constants = require('./index-vUzevy4J.js');
8
- var queryConstants = require('./queryConstants-Dc6wh21D.js');
8
+ var queryConstants = require('./queryConstants-CGUF7zol.js');
9
9
  var CardLayout = require('@bigbinary/neeto-molecules/CardLayout');
10
10
  var formik = require('@bigbinary/neetoui/formik');
11
11
  var reactI18next = require('react-i18next');
@@ -1 +1 @@
1
- {"version":3,"file":"ManualUpiConnect.js","sources":["../../app/javascript/src/apis/manual_upi/vpas.js","../../app/javascript/src/hooks/reactQuery/manualUpi/useVpasApi.js","../../app/javascript/src/components/ManualUpiConnect/constants.js","../../app/javascript/src/components/ManualUpiConnect/Add.jsx","../../app/javascript/src/components/ManualUpiConnect/utils.jsx","../../app/javascript/src/components/ManualUpiConnect/List.jsx","../../app/javascript/src/components/ManualUpiConnect/index.jsx"],"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","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const VALIDATION_SCHEMA = yup.object({\n upiId: yup\n .string()\n .matches(\n /^[a-zA-Z0-9][a-zA-Z0-9._-]{2,30}@[a-zA-Z][a-zA-Z0-9]{2,20}$/,\n t(\"neetoPayments.upi.form.validation.invalidUpi\")\n )\n .required(t(\"neetoPayments.upi.form.validation.required\")),\n});\n","import CardLayout from \"neetomolecules/CardLayout\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useCreateVpa } from \"hooks/reactQuery/manualUpi/useVpasApi\";\n\nimport { VALIDATION_SCHEMA } from \"./constants\";\n\nconst Add = ({ holdableId, keysToInvalidateOnCreate }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const { isPending: isCreatingVpa, mutate: createVpa } = useCreateVpa(\n keysToInvalidateOnCreate\n );\n\n return (\n <Form\n className=\"w-full\"\n formikProps={{\n initialValues: { upiId: \"\" },\n onSubmit: (values, { resetForm }) => {\n createVpa({ holdableId, address: values.upiId });\n resetForm();\n },\n validationSchema: VALIDATION_SCHEMA,\n }}\n >\n {({ dirty }) => (\n <CardLayout\n actionBlock={\n <ActionBlock\n cancelButtonProps={{ onClick: history.goBack }}\n isSubmitting={isCreatingVpa}\n submitButtonProps={{\n label: t(\"neetoPayments.upi.form.add\"),\n disabled: !dirty || isCreatingVpa,\n }}\n />\n }\n >\n <Input\n className=\"w-full\"\n label={t(\"neetoPayments.upi.form.enterUpi\")}\n name=\"upiId\"\n placeholder={t(\"neetoPayments.upi.form.enterUpi\")}\n />\n </CardLayout>\n )}\n </Form>\n );\n};\n\nexport default Add;\n","import { t } from \"i18next\";\n\nimport { dateFormat } from \"neetocommons/utils\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\n\nexport const getColumnData = handleDeleteClick => [\n {\n title: t(\"neetoPayments.common.upiId\"),\n dataIndex: \"address\",\n key: \"address\",\n width: 272,\n render: (_, upiId) => (\n <div className=\"flex items-center justify-between gap-3\">\n <Typography className=\"w-4/5\" style=\"body2\">\n {upiId.address}\n </Typography>\n <MoreDropdown\n dropdownButtonProps={{ \"data-testid\": \"upi-more-dropdown\" }}\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n key: \"delete-meeting\",\n label: t(\"neetoPayments.common.delete\"),\n onClick: () => handleDeleteClick(upiId),\n \"data-testid\": \"menu-dropdown-delete-btn\",\n },\n ]}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoPayments.common.createdAt\"),\n dataIndex: \"createdAt\",\n key: \"createdAt\",\n render: dateFormat.dateTime,\n },\n];\n","import { useState } from \"react\";\n\nimport { Alert, Table } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useDestroyVpa } from \"hooks/reactQuery/manualUpi/useVpasApi\";\n\nimport { getColumnData } from \"./utils\";\n\nconst List = ({ holdableId, upiIds, keysToInvalidateOnDelete }) => {\n const { t } = useTranslation();\n\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const [selectedUpiId, setSelectedUpiId] = useState({});\n\n const { mutate: deleteVpa } = useDestroyVpa(keysToInvalidateOnDelete);\n\n const handleOpenDeleteModal = id => {\n setSelectedUpiId(id);\n setIsAlertOpen(true);\n };\n\n const handleAlertClose = () => {\n setSelectedUpiId({});\n setIsAlertOpen(false);\n };\n\n const handleAlertSubmit = () => {\n deleteVpa({ id: selectedUpiId?.id, holdableId });\n setIsAlertOpen(false);\n };\n\n if (isEmpty(upiIds)) {\n return null;\n }\n\n return (\n <div className=\"w-full max-w-3xl mx-auto\">\n <Table\n columnData={getColumnData(handleOpenDeleteModal)}\n rowData={upiIds}\n />\n <Alert\n isOpen={isAlertOpen}\n title={t(\"neetoPayments.upi.alert.title\")}\n message={\n <Trans\n components={{ b: <strong /> }}\n i18nKey=\"neetoPayments.upi.alert.message\"\n values={{ upiId: selectedUpiId.address }}\n />\n }\n onClose={handleAlertClose}\n onSubmit={handleAlertSubmit}\n />\n </div>\n );\n};\n\nexport default List;\n","import { Spinner } from \"neetoui\";\n\nimport { useFetchVpas } from \"hooks/reactQuery/manualUpi/useVpasApi\";\n\nimport Add from \"./Add\";\nimport List from \"./List\";\n\nconst ManualUpiConnect = ({\n holdableId,\n keysToInvalidateOnDelete = [],\n keysToInvalidateOnCreate = [],\n}) => {\n const { data: { vpas: upiIds = [] } = {}, isLoading } =\n useFetchVpas(holdableId);\n\n if (isLoading) {\n return (\n <div className=\"flex items-center justify-center w-full h-full\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col items-start w-full\">\n {upiIds.length < 3 && (\n <Add {...{ holdableId, keysToInvalidateOnCreate }} />\n )}\n <List {...{ holdableId, keysToInvalidateOnDelete, upiIds }} />\n </div>\n );\n};\n\nexport default ManualUpiConnect;\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","VALIDATION_SCHEMA","yup","object","upiId","string","matches","t","required","Add","useTranslation","history","useHistory","isPending","isCreatingVpa","mutate","createVpa","_jsx","Form","className","formikProps","initialValues","onSubmit","values","resetForm","address","validationSchema","children","dirty","CardLayout","actionBlock","ActionBlock","cancelButtonProps","onClick","goBack","isSubmitting","submitButtonProps","label","disabled","Input","name","placeholder","getColumnData","handleDeleteClick","title","dataIndex","key","width","render","_","_jsxs","Typography","style","MoreDropdown","dropdownButtonProps","dropdownProps","strategy","menuItems","dateFormat","dateTime","List","upiIds","isAlertOpen","setIsAlertOpen","useState","selectedUpiId","setSelectedUpiId","deleteVpa","handleOpenDeleteModal","handleAlertClose","handleAlertSubmit","isEmpty","Table","columnData","rowData","Alert","isOpen","message","Trans","components","b","i18nKey","onClose","ManualUpiConnect","data","vpas","isLoading","Spinner","length"],"mappings":"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"}
1
+ {"version":3,"file":"ManualUpiConnect.js","sources":["../../app/javascript/src/apis/manual_upi/vpas.js","../../app/javascript/src/hooks/reactQuery/manualUpi/useVpasApi.js","../../app/javascript/src/components/ManualUpiConnect/constants.js","../../app/javascript/src/components/ManualUpiConnect/Add.jsx","../../app/javascript/src/components/ManualUpiConnect/utils.jsx","../../app/javascript/src/components/ManualUpiConnect/List.jsx","../../app/javascript/src/components/ManualUpiConnect/index.jsx"],"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","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const VALIDATION_SCHEMA = yup.object({\n upiId: yup\n .string()\n .matches(\n /^[a-zA-Z0-9][a-zA-Z0-9._-]{2,30}@[a-zA-Z][a-zA-Z0-9]{2,20}$/,\n t(\"neetoPayments.upi.form.validation.invalidUpi\")\n )\n .required(t(\"neetoPayments.upi.form.validation.required\")),\n});\n","import CardLayout from \"neetomolecules/CardLayout\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useCreateVpa } from \"hooks/reactQuery/manualUpi/useVpasApi\";\n\nimport { VALIDATION_SCHEMA } from \"./constants\";\n\nconst Add = ({ holdableId, keysToInvalidateOnCreate }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const { isPending: isCreatingVpa, mutate: createVpa } = useCreateVpa(\n keysToInvalidateOnCreate\n );\n\n return (\n <Form\n className=\"w-full\"\n formikProps={{\n initialValues: { upiId: \"\" },\n onSubmit: (values, { resetForm }) => {\n createVpa({ holdableId, address: values.upiId });\n resetForm();\n },\n validationSchema: VALIDATION_SCHEMA,\n }}\n >\n {({ dirty }) => (\n <CardLayout\n actionBlock={\n <ActionBlock\n cancelButtonProps={{ onClick: history.goBack }}\n isSubmitting={isCreatingVpa}\n submitButtonProps={{\n label: t(\"neetoPayments.upi.form.add\"),\n disabled: !dirty || isCreatingVpa,\n }}\n />\n }\n >\n <Input\n className=\"w-full\"\n label={t(\"neetoPayments.upi.form.enterUpi\")}\n name=\"upiId\"\n placeholder={t(\"neetoPayments.upi.form.enterUpi\")}\n />\n </CardLayout>\n )}\n </Form>\n );\n};\n\nexport default Add;\n","import { t } from \"i18next\";\n\nimport { dateFormat } from \"neetocommons/utils\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\n\nexport const getColumnData = handleDeleteClick => [\n {\n title: t(\"neetoPayments.common.upiId\"),\n dataIndex: \"address\",\n key: \"address\",\n width: 272,\n render: (_, upiId) => (\n <div className=\"flex items-center justify-between gap-3\">\n <Typography className=\"w-4/5\" style=\"body2\">\n {upiId.address}\n </Typography>\n <MoreDropdown\n dropdownButtonProps={{ \"data-testid\": \"upi-more-dropdown\" }}\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n key: \"delete-meeting\",\n label: t(\"neetoPayments.common.delete\"),\n onClick: () => handleDeleteClick(upiId),\n \"data-testid\": \"menu-dropdown-delete-btn\",\n },\n ]}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoPayments.common.createdAt\"),\n dataIndex: \"createdAt\",\n key: \"createdAt\",\n render: dateFormat.dateTime,\n },\n];\n","import { useState } from \"react\";\n\nimport { Alert, Table } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useDestroyVpa } from \"hooks/reactQuery/manualUpi/useVpasApi\";\n\nimport { getColumnData } from \"./utils\";\n\nconst List = ({ holdableId, upiIds, keysToInvalidateOnDelete }) => {\n const { t } = useTranslation();\n\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const [selectedUpiId, setSelectedUpiId] = useState({});\n\n const { mutate: deleteVpa } = useDestroyVpa(keysToInvalidateOnDelete);\n\n const handleOpenDeleteModal = id => {\n setSelectedUpiId(id);\n setIsAlertOpen(true);\n };\n\n const handleAlertClose = () => {\n setSelectedUpiId({});\n setIsAlertOpen(false);\n };\n\n const handleAlertSubmit = () => {\n deleteVpa({ id: selectedUpiId?.id, holdableId });\n setIsAlertOpen(false);\n };\n\n if (isEmpty(upiIds)) {\n return null;\n }\n\n return (\n <div className=\"w-full max-w-3xl mx-auto\">\n <Table\n columnData={getColumnData(handleOpenDeleteModal)}\n rowData={upiIds}\n />\n <Alert\n isOpen={isAlertOpen}\n title={t(\"neetoPayments.upi.alert.title\")}\n message={\n <Trans\n components={{ b: <strong /> }}\n i18nKey=\"neetoPayments.upi.alert.message\"\n values={{ upiId: selectedUpiId.address }}\n />\n }\n onClose={handleAlertClose}\n onSubmit={handleAlertSubmit}\n />\n </div>\n );\n};\n\nexport default List;\n","import { Spinner } from \"neetoui\";\n\nimport { useFetchVpas } from \"hooks/reactQuery/manualUpi/useVpasApi\";\n\nimport Add from \"./Add\";\nimport List from \"./List\";\n\nconst ManualUpiConnect = ({\n holdableId,\n keysToInvalidateOnDelete = [],\n keysToInvalidateOnCreate = [],\n}) => {\n const { data: { vpas: upiIds = [] } = {}, isLoading } =\n useFetchVpas(holdableId);\n\n if (isLoading) {\n return (\n <div className=\"flex items-center justify-center w-full h-full\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col items-start w-full\">\n {upiIds.length < 3 && (\n <Add {...{ holdableId, keysToInvalidateOnCreate }} />\n )}\n <List {...{ holdableId, keysToInvalidateOnDelete, upiIds }} />\n </div>\n );\n};\n\nexport default ManualUpiConnect;\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","VALIDATION_SCHEMA","yup","object","upiId","string","matches","t","required","Add","useTranslation","history","useHistory","isPending","isCreatingVpa","mutate","createVpa","_jsx","Form","className","formikProps","initialValues","onSubmit","values","resetForm","address","validationSchema","children","dirty","CardLayout","actionBlock","ActionBlock","cancelButtonProps","onClick","goBack","isSubmitting","submitButtonProps","label","disabled","Input","name","placeholder","getColumnData","handleDeleteClick","title","dataIndex","key","width","render","_","_jsxs","Typography","style","MoreDropdown","dropdownButtonProps","dropdownProps","strategy","menuItems","dateFormat","dateTime","List","upiIds","isAlertOpen","setIsAlertOpen","useState","selectedUpiId","setSelectedUpiId","deleteVpa","handleOpenDeleteModal","handleAlertClose","handleAlertSubmit","isEmpty","Table","columnData","rowData","Alert","isOpen","message","Trans","components","b","i18nKey","onClose","ManualUpiConnect","data","vpas","isLoading","Spinner","length"],"mappings":"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"}
@@ -1,12 +1,15 @@
1
1
  'use strict';
2
2
 
3
+ var react = require('react');
4
+ var activestorage = require('@rails/activestorage');
3
5
  var neetocist = require('neetocist');
6
+ var neetoIcons = require('@bigbinary/neeto-icons');
4
7
  var neetoui = require('@bigbinary/neetoui');
5
8
  var formik = require('@bigbinary/neetoui/formik');
6
9
  var QRCodeImage = require('qrcode.react');
7
10
  var ramda = require('ramda');
8
11
  var reactI18next = require('react-i18next');
9
- var usePaymentApi = require('./usePaymentApi-fBUnau7x.js');
12
+ var usePaymentApi = require('./usePaymentApi-BoLmrCje.js');
10
13
  var constants = require('./index-vUzevy4J.js');
11
14
  var i18next = require('i18next');
12
15
  var yup = require('yup');
@@ -14,7 +17,7 @@ var jsxRuntime = require('react/jsx-runtime');
14
17
  require('@tanstack/react-query');
15
18
  require('neetocommons/react-utils');
16
19
  require('axios');
17
- require('./queryConstants-Dc6wh21D.js');
20
+ require('./queryConstants-CGUF7zol.js');
18
21
  require('neetocommons/constants');
19
22
  require('decimal.js');
20
23
  require('neetocommons/utils');
@@ -38,14 +41,20 @@ function _interopNamespaceDefault(e) {
38
41
 
39
42
  var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
40
43
 
41
- const VALIDATION_SCHEMA = yup__namespace.object({
44
+ const ACCEPTED_SCREENSHOT_FORMATS = "image/png,image/jpeg,image/jpg";
45
+ const MAX_SCREENSHOT_SIZE_MB = 5;
46
+ const DIRECT_UPLOAD_URL = "/rails/active_storage/direct_uploads";
47
+ const INITIAL_VALUES = {
48
+ identifier: ""
49
+ };
50
+ const buildValidationSchema = screenshotFile => yup__namespace.object({
42
51
  identifier: yup__namespace.number().typeError(i18next.t("neetoPayments.validations.invalidField", {
43
52
  entity: i18next.t("neetoPayments.common.transactionId")
44
- })).required(i18next.t("neetoPayments.upi.payment.transaction.required")).test("is-integer", i18next.t("neetoPayments.validations.invalidField", {
53
+ })).nullable().transform((value, originalValue) => originalValue === "" ? null : value).test("identifier-or-screenshot", i18next.t("neetoPayments.upi.payment.transaction.identifierOrScreenshot"), value => neetocist.isPresent(value) || neetocist.isPresent(screenshotFile)).test("is-integer", i18next.t("neetoPayments.validations.invalidField", {
45
54
  entity: i18next.t("neetoPayments.common.transactionId")
46
- }), value => Number.isInteger(value)).test("len", i18next.t("neetoPayments.validations.length", {
55
+ }), value => neetocist.isNotPresent(value) || Number.isInteger(value)).test("len", i18next.t("neetoPayments.validations.length", {
47
56
  length: 12
48
- }), value => value?.toString().length === 12)
57
+ }), value => neetocist.isNotPresent(value) || value?.toString().length === 12)
49
58
  });
50
59
 
51
60
  const ManualUpiPayment = ({
@@ -64,6 +73,13 @@ const ManualUpiPayment = ({
64
73
  const {
65
74
  t
66
75
  } = reactI18next.useTranslation();
76
+ const fileInputRef = react.useRef(null);
77
+ const [screenshotFile, setScreenshotFile] = react.useState(null);
78
+ const [isUploading, setIsUploading] = react.useState(false);
79
+ const screenshotPreview = react.useMemo(() => screenshotFile ? URL.createObjectURL(screenshotFile) : null, [screenshotFile]);
80
+ react.useEffect(() => () => {
81
+ if (screenshotPreview) URL.revokeObjectURL(screenshotPreview);
82
+ }, [screenshotPreview]);
67
83
  const vpaIds = ramda.pluck("address", fee?.vpas);
68
84
  const amountToUpi = customAmount || amount;
69
85
  const {
@@ -73,27 +89,58 @@ const ManualUpiPayment = ({
73
89
  onSuccess: onSuccessfulPayment,
74
90
  onError: onFailedPayment
75
91
  });
76
- const handleSubmit = values => {
92
+ const validationSchema = react.useMemo(() => buildValidationSchema(screenshotFile), [screenshotFile]);
93
+ const handleScreenshotSelect = event => {
94
+ const file = event.target.files[0];
95
+ if (!file) return;
96
+ if (file.size > MAX_SCREENSHOT_SIZE_MB * 1024 * 1024) {
97
+ neetoui.Toastr.error(t("neetoPayments.upi.payment.screenshot.tooLarge", {
98
+ maxSize: MAX_SCREENSHOT_SIZE_MB
99
+ }));
100
+ return;
101
+ }
102
+ setScreenshotFile(file);
103
+ };
104
+ const handleRemoveScreenshot = () => {
105
+ setScreenshotFile(null);
106
+ if (fileInputRef.current) fileInputRef.current.value = "";
107
+ };
108
+ const uploadScreenshot = file => new Promise((resolve, reject) => {
109
+ const upload = new activestorage.DirectUpload(file, DIRECT_UPLOAD_URL);
110
+ upload.create((error, blob) => {
111
+ if (error) reject(error);else resolve(blob.signed_id);
112
+ });
113
+ });
114
+ const handleSubmit = async values => {
77
115
  onBeforePayment();
78
- const payload = {
116
+ let paymentScreenshot = null;
117
+ if (screenshotFile) {
118
+ try {
119
+ setIsUploading(true);
120
+ paymentScreenshot = await uploadScreenshot(screenshotFile);
121
+ } catch {
122
+ onFailedPayment();
123
+ return;
124
+ } finally {
125
+ setIsUploading(false);
126
+ }
127
+ }
128
+ createPayment({
79
129
  ...values,
80
130
  payableId,
81
131
  customAmount,
82
132
  payableType,
83
133
  discountCode,
84
- tipAttributes: tip
85
- };
86
- createPayment(payload);
134
+ tipAttributes: tip,
135
+ paymentScreenshot
136
+ });
87
137
  };
88
138
  return /*#__PURE__*/jsxRuntime.jsx(formik.Form, {
89
139
  className: "space-y-4",
90
140
  formikProps: {
91
141
  onSubmit: handleSubmit,
92
- initialValues: {
93
- identifier: ""
94
- },
95
- enableReinitialize: true,
96
- validationSchema: VALIDATION_SCHEMA
142
+ initialValues: INITIAL_VALUES,
143
+ validationSchema
97
144
  },
98
145
  children: ({
99
146
  dirty
@@ -121,11 +168,70 @@ const ManualUpiPayment = ({
121
168
  })]
122
169
  }, vpaId))
123
170
  }), /*#__PURE__*/jsxRuntime.jsx(formik.Input, {
124
- required: true,
125
171
  label: t("neetoPayments.upi.payment.transaction.label"),
126
172
  name: "identifier",
127
173
  placeholder: t("neetoPayments.upi.payment.transaction.placeholder"),
128
174
  type: "number"
175
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
176
+ className: "flex items-center gap-3",
177
+ children: [/*#__PURE__*/jsxRuntime.jsx("hr", {
178
+ className: "flex-1 border-gray-300"
179
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoui.Typography, {
180
+ className: "text-gray-500 uppercase",
181
+ style: "body2",
182
+ children: t("neetoPayments.common.or")
183
+ }), /*#__PURE__*/jsxRuntime.jsx("hr", {
184
+ className: "flex-1 border-gray-300"
185
+ })]
186
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
187
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoui.Typography, {
188
+ className: "mb-2",
189
+ style: "body2",
190
+ weight: "medium",
191
+ children: t("neetoPayments.upi.payment.screenshot.label")
192
+ }), screenshotPreview ? /*#__PURE__*/jsxRuntime.jsxs("div", {
193
+ className: "relative inline-block",
194
+ children: [/*#__PURE__*/jsxRuntime.jsx("img", {
195
+ alt: t("neetoPayments.upi.payment.screenshot.alt"),
196
+ className: "max-h-40 rounded border border-gray-200",
197
+ src: screenshotPreview
198
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoui.Button, {
199
+ className: "absolute -right-2 -top-2 neeto-ui-rounded-full neeto-ui-bg-white neeto-ui-shadow-sm",
200
+ icon: neetoIcons.Close,
201
+ size: "small",
202
+ style: "text",
203
+ onClick: handleRemoveScreenshot
204
+ })]
205
+ }) : /*#__PURE__*/jsxRuntime.jsxs("div", {
206
+ 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",
207
+ role: "button",
208
+ tabIndex: 0,
209
+ onClick: () => fileInputRef.current?.click(),
210
+ onKeyDown: e => {
211
+ if (e.key === "Enter" || e.key === " ") {
212
+ fileInputRef.current?.click();
213
+ }
214
+ },
215
+ children: [/*#__PURE__*/jsxRuntime.jsx("i", {
216
+ className: "ri-upload-2-line text-2xl text-gray-400"
217
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoui.Typography, {
218
+ className: "mt-1 text-gray-500",
219
+ style: "body3",
220
+ children: t("neetoPayments.upi.payment.screenshot.uploadText")
221
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoui.Typography, {
222
+ className: "text-gray-400",
223
+ style: "nano",
224
+ children: t("neetoPayments.upi.payment.screenshot.formatHint", {
225
+ maxSize: MAX_SCREENSHOT_SIZE_MB
226
+ })
227
+ })]
228
+ }), /*#__PURE__*/jsxRuntime.jsx("input", {
229
+ accept: ACCEPTED_SCREENSHOT_FORMATS,
230
+ className: "hidden",
231
+ ref: fileInputRef,
232
+ type: "file",
233
+ onChange: handleScreenshotSelect
234
+ })]
129
235
  }), /*#__PURE__*/jsxRuntime.jsx(formik.ActionBlock, {
130
236
  cancelButtonProps: {
131
237
  label: t("neetoPayments.upi.payment.buttons.back"),
@@ -134,8 +240,8 @@ const ManualUpiPayment = ({
134
240
  },
135
241
  submitButtonProps: {
136
242
  label: t("neetoPayments.upi.payment.buttons.submit"),
137
- disabled: !dirty || isPending,
138
- loading: isPending
243
+ disabled: !dirty && !screenshotFile || isPending || isUploading,
244
+ loading: isPending || isUploading
139
245
  }
140
246
  })]
141
247
  })
@@ -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 * as yup from \"yup\";\n\nexport const VALIDATION_SCHEMA = yup.object({\n identifier: yup\n .number()\n .typeError(\n t(\"neetoPayments.validations.invalidField\", {\n entity: t(\"neetoPayments.common.transactionId\"),\n })\n )\n .required(t(\"neetoPayments.upi.payment.transaction.required\"))\n .test(\n \"is-integer\",\n t(\"neetoPayments.validations.invalidField\", {\n entity: t(\"neetoPayments.common.transactionId\"),\n }),\n value => Number.isInteger(value)\n )\n .test(\n \"len\",\n t(\"neetoPayments.validations.length\", { length: 12 }),\n value => value?.toString().length === 12\n ),\n});\n","import { noop, isPresent } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport QRCodeImage from \"qrcode.react\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateUpiPayment } from \"hooks/reactQuery/manualUpi/usePaymentApi\";\nimport { getQrCodeValue } from \"utils\";\n\nimport { VALIDATION_SCHEMA } 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\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 handleSubmit = values => {\n onBeforePayment();\n const payload = {\n ...values,\n payableId,\n customAmount,\n payableType,\n discountCode,\n tipAttributes: tip,\n };\n createPayment(payload);\n };\n\n return (\n <Form\n className=\"space-y-4\"\n formikProps={{\n onSubmit: handleSubmit,\n initialValues: { identifier: \"\" },\n enableReinitialize: true,\n validationSchema: VALIDATION_SCHEMA,\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 required\n label={t(\"neetoPayments.upi.payment.transaction.label\")}\n name=\"identifier\"\n placeholder={t(\"neetoPayments.upi.payment.transaction.placeholder\")}\n type=\"number\"\n />\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 || isPending,\n loading: isPending,\n }}\n />\n </>\n )}\n </Form>\n );\n};\n\nexport default ManualUpiPayment;\n"],"names":["VALIDATION_SCHEMA","yup","object","identifier","number","typeError","t","entity","required","test","value","Number","isInteger","length","toString","ManualUpiPayment","fee","payableId","tip","amount","discountCode","customAmount","handleCancel","payableType","onBeforePayment","noop","onFailedPayment","onSuccessfulPayment","useTranslation","vpaIds","pluck","vpas","amountToUpi","isPending","mutate","createPayment","useCreateUpiPayment","onSuccess","onError","handleSubmit","values","payload","tipAttributes","_jsx","Form","className","formikProps","onSubmit","initialValues","enableReinitialize","validationSchema","children","dirty","_jsxs","_Fragment","Typography","style","count","isPresent","map","vpaId","QRCodeImage","size","width","height","getQrCodeValue","Input","label","name","placeholder","type","ActionBlock","cancelButtonProps","onClick","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 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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"}
@@ -4,7 +4,7 @@ var react = require('react');
4
4
  var neetocist = require('neetocist');
5
5
  var ramda = require('ramda');
6
6
  var reactI18next = require('react-i18next');
7
- var usePaymentApi = require('./usePaymentApi-fBUnau7x.js');
7
+ var usePaymentApi = require('./usePaymentApi-BoLmrCje.js');
8
8
  var neetoui = require('@bigbinary/neetoui');
9
9
  var formik = require('@bigbinary/neetoui/formik');
10
10
  var i18next = require('i18next');
@@ -17,7 +17,7 @@ require('./index-vUzevy4J.js');
17
17
  require('neetocommons/constants');
18
18
  require('decimal.js');
19
19
  require('neetocommons/utils');
20
- require('./queryConstants-Dc6wh21D.js');
20
+ require('./queryConstants-CGUF7zol.js');
21
21
 
22
22
  function _interopNamespaceDefault(e) {
23
23
  var n = Object.create(null);
@@ -1 +1 @@
1
- {"version":3,"file":"ManualUpiPaymentConfirmButton.js","sources":["../../app/javascript/src/components/ManualUpiPaymentConfirmButton/constants.js","../../app/javascript/src/components/ManualUpiPaymentConfirmButton/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_VALUE = { vpaId: \"\", notes: \"\" };\n\nexport const VALIDATION_SCHEMA = yup.object({\n vpaId: yup\n .string()\n .required(t(\"neetoPayments.upi.confirmModal.vpasIdRequired\")),\n});\n","import { useState } from \"react\";\n\nimport { findBy, noop } from \"neetocist\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateUpiPayment } from \"hooks/reactQuery/manualUpi/usePaymentApi\";\nimport { Button, Modal, Typography } from \"neetoui\";\nimport { Form, Textarea, Select, ActionBlock } from \"neetoui/formik\";\n\nimport { INITIAL_VALUE, VALIDATION_SCHEMA } from \"./constants\";\n\nconst ManualUpiPaymentConfirmButton = ({\n vpas,\n identifier,\n paymentId,\n manualUpiId,\n payableId,\n onSuccess = noop,\n keysToInvalidate = [],\n children,\n}) => {\n const [isModalOpen, setIsModalOpen] = useState(false);\n\n const { t } = useTranslation();\n\n const onSuccessfulUpdate = () => {\n setIsModalOpen(false);\n onSuccess();\n };\n\n const { mutate: updateUpiPayment, isPending } = useUpdateUpiPayment({\n id: paymentId,\n manualUpiId,\n keysToInvalidate,\n options: { onSuccess: onSuccessfulUpdate },\n });\n\n const initialValues =\n vpas.length === 1\n ? mergeLeft({ vpaId: vpas[0].id }, INITIAL_VALUE)\n : INITIAL_VALUE;\n\n const onClose = () => setIsModalOpen(false);\n\n const handleSubmit = ({ vpaId, notes }) => {\n const vpa = findBy({ id: vpaId }, vpas);\n const payload = {\n notes,\n vpaId,\n payableId,\n upiId: vpa.upiId,\n status: \"successful\",\n };\n updateUpiPayment(payload);\n };\n\n return (\n <>\n <Button\n data-testid=\"confirm-payment-btn\"\n label={t(\"neetoPayments.upi.payment.buttons.confirmPayment\")}\n loading={isPending}\n size=\"small\"\n onClick={() => setIsModalOpen(true)}\n />\n <Modal {...{ onClose }} isOpen={isModalOpen} size=\"large\">\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoPayments.upi.confirmModal.title\")}\n </Typography>\n </Modal.Header>\n <Form\n formikProps={{\n initialValues,\n enableReinitialize: true,\n onSubmit: handleSubmit,\n validationSchema: VALIDATION_SCHEMA,\n }}\n >\n {({ setFieldValue, dirty, isSubmitting }) => (\n <>\n <Modal.Body>\n {children}\n <div className=\"flex flex-col space-y-4\">\n <Typography lineHeight=\"normal\" style=\"body2\">\n {t(\"neetoPayments.upi.confirmModal.upiTransactionId\", {\n identifier,\n })}\n </Typography>\n <Select\n label={t(\"neetoPayments.upi.confirmModal.accountIdLabel\")}\n name=\"vpaId\"\n options={vpas?.map(({ address, id }) => ({\n label: address,\n value: id,\n }))}\n onChange={({ value }) => setFieldValue(\"vpaId\", value)}\n />\n <Textarea\n data-testid=\"confirm-booking-modal-input-textfield\"\n label={t(\"neetoPayments.upi.confirmModal.notes\")}\n name=\"notes\"\n placeholder={t(\n \"neetoPayments.upi.confirmModal.notesPlaceholder\"\n )}\n />\n </div>\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <ActionBlock\n isSubmitting={isPending}\n position=\"right\"\n cancelButtonProps={{\n onClick: onClose,\n style: \"tertiary\",\n }}\n submitButtonProps={{\n disabled:\n isSubmitting ||\n isPending ||\n (vpas.length !== 1 && !dirty),\n label: t(\"neetoPayments.common.confirm\"),\n }}\n />\n </Modal.Footer>\n </>\n )}\n </Form>\n </Modal>\n </>\n );\n};\n\nexport default ManualUpiPaymentConfirmButton;\n"],"names":["INITIAL_VALUE","vpaId","notes","VALIDATION_SCHEMA","yup","object","string","required","t","ManualUpiPaymentConfirmButton","vpas","identifier","paymentId","manualUpiId","payableId","onSuccess","noop","keysToInvalidate","children","isModalOpen","setIsModalOpen","useState","useTranslation","onSuccessfulUpdate","mutate","updateUpiPayment","isPending","useUpdateUpiPayment","id","options","initialValues","length","mergeLeft","onClose","handleSubmit","vpa","findBy","payload","upiId","status","_jsxs","_Fragment","_jsx","Button","label","loading","size","onClick","Modal","isOpen","Header","Typography","style","Form","formikProps","enableReinitialize","onSubmit","validationSchema","setFieldValue","dirty","isSubmitting","Body","className","lineHeight","Select","name","map","address","value","onChange","Textarea","placeholder","Footer","ActionBlock","position","cancelButtonProps","submitButtonProps","disabled"],"mappings":"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"}
1
+ {"version":3,"file":"ManualUpiPaymentConfirmButton.js","sources":["../../app/javascript/src/components/ManualUpiPaymentConfirmButton/constants.js","../../app/javascript/src/components/ManualUpiPaymentConfirmButton/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_VALUE = { vpaId: \"\", notes: \"\" };\n\nexport const VALIDATION_SCHEMA = yup.object({\n vpaId: yup\n .string()\n .required(t(\"neetoPayments.upi.confirmModal.vpasIdRequired\")),\n});\n","import { useState } from \"react\";\n\nimport { findBy, noop } from \"neetocist\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateUpiPayment } from \"hooks/reactQuery/manualUpi/usePaymentApi\";\nimport { Button, Modal, Typography } from \"neetoui\";\nimport { Form, Textarea, Select, ActionBlock } from \"neetoui/formik\";\n\nimport { INITIAL_VALUE, VALIDATION_SCHEMA } from \"./constants\";\n\nconst ManualUpiPaymentConfirmButton = ({\n vpas,\n identifier,\n paymentId,\n manualUpiId,\n payableId,\n onSuccess = noop,\n keysToInvalidate = [],\n children,\n}) => {\n const [isModalOpen, setIsModalOpen] = useState(false);\n\n const { t } = useTranslation();\n\n const onSuccessfulUpdate = () => {\n setIsModalOpen(false);\n onSuccess();\n };\n\n const { mutate: updateUpiPayment, isPending } = useUpdateUpiPayment({\n id: paymentId,\n manualUpiId,\n keysToInvalidate,\n options: { onSuccess: onSuccessfulUpdate },\n });\n\n const initialValues =\n vpas.length === 1\n ? mergeLeft({ vpaId: vpas[0].id }, INITIAL_VALUE)\n : INITIAL_VALUE;\n\n const onClose = () => setIsModalOpen(false);\n\n const handleSubmit = ({ vpaId, notes }) => {\n const vpa = findBy({ id: vpaId }, vpas);\n const payload = {\n notes,\n vpaId,\n payableId,\n upiId: vpa.upiId,\n status: \"successful\",\n };\n updateUpiPayment(payload);\n };\n\n return (\n <>\n <Button\n data-testid=\"confirm-payment-btn\"\n label={t(\"neetoPayments.upi.payment.buttons.confirmPayment\")}\n loading={isPending}\n size=\"small\"\n onClick={() => setIsModalOpen(true)}\n />\n <Modal {...{ onClose }} isOpen={isModalOpen} size=\"large\">\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoPayments.upi.confirmModal.title\")}\n </Typography>\n </Modal.Header>\n <Form\n formikProps={{\n initialValues,\n enableReinitialize: true,\n onSubmit: handleSubmit,\n validationSchema: VALIDATION_SCHEMA,\n }}\n >\n {({ setFieldValue, dirty, isSubmitting }) => (\n <>\n <Modal.Body>\n {children}\n <div className=\"flex flex-col space-y-4\">\n <Typography lineHeight=\"normal\" style=\"body2\">\n {t(\"neetoPayments.upi.confirmModal.upiTransactionId\", {\n identifier,\n })}\n </Typography>\n <Select\n label={t(\"neetoPayments.upi.confirmModal.accountIdLabel\")}\n name=\"vpaId\"\n options={vpas?.map(({ address, id }) => ({\n label: address,\n value: id,\n }))}\n onChange={({ value }) => setFieldValue(\"vpaId\", value)}\n />\n <Textarea\n data-testid=\"confirm-booking-modal-input-textfield\"\n label={t(\"neetoPayments.upi.confirmModal.notes\")}\n name=\"notes\"\n placeholder={t(\n \"neetoPayments.upi.confirmModal.notesPlaceholder\"\n )}\n />\n </div>\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <ActionBlock\n isSubmitting={isPending}\n position=\"right\"\n cancelButtonProps={{\n onClick: onClose,\n style: \"tertiary\",\n }}\n submitButtonProps={{\n disabled:\n isSubmitting ||\n isPending ||\n (vpas.length !== 1 && !dirty),\n label: t(\"neetoPayments.common.confirm\"),\n }}\n />\n </Modal.Footer>\n </>\n )}\n </Form>\n </Modal>\n </>\n );\n};\n\nexport default ManualUpiPaymentConfirmButton;\n"],"names":["INITIAL_VALUE","vpaId","notes","VALIDATION_SCHEMA","yup","object","string","required","t","ManualUpiPaymentConfirmButton","vpas","identifier","paymentId","manualUpiId","payableId","onSuccess","noop","keysToInvalidate","children","isModalOpen","setIsModalOpen","useState","useTranslation","onSuccessfulUpdate","mutate","updateUpiPayment","isPending","useUpdateUpiPayment","id","options","initialValues","length","mergeLeft","onClose","handleSubmit","vpa","findBy","payload","upiId","status","_jsxs","_Fragment","_jsx","Button","label","loading","size","onClick","Modal","isOpen","Header","Typography","style","Form","formikProps","enableReinitialize","onSubmit","validationSchema","setFieldValue","dirty","isSubmitting","Body","className","lineHeight","Select","name","map","address","value","onChange","Textarea","placeholder","Footer","ActionBlock","position","cancelButtonProps","submitButtonProps","disabled"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  var react = require('react');
4
4
  var neetocist = require('neetocist');
5
5
  var reactI18next = require('react-i18next');
6
- var usePaymentApi = require('./usePaymentApi-fBUnau7x.js');
6
+ var usePaymentApi = require('./usePaymentApi-BoLmrCje.js');
7
7
  var neetoui = require('@bigbinary/neetoui');
8
8
  var formik = require('@bigbinary/neetoui/formik');
9
9
  var jsxRuntime = require('react/jsx-runtime');
@@ -16,7 +16,7 @@ require('neetocommons/constants');
16
16
  require('decimal.js');
17
17
  require('neetocommons/utils');
18
18
  require('ramda');
19
- require('./queryConstants-Dc6wh21D.js');
19
+ require('./queryConstants-CGUF7zol.js');
20
20
 
21
21
  const INITIAL_VALUE = {
22
22
  notes: ""