@bigbinary/neeto-payments-frontend 6.1.30 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/README.md +1 -1
  2. package/app/javascript/src/translations/ar.json +1 -1
  3. package/app/javascript/src/translations/bg.json +1 -1
  4. package/app/javascript/src/translations/ca.json +1 -1
  5. package/app/javascript/src/translations/cs.json +1 -1
  6. package/app/javascript/src/translations/da.json +1 -1
  7. package/app/javascript/src/translations/de.json +1 -1
  8. package/app/javascript/src/translations/es-MX.json +1 -1
  9. package/app/javascript/src/translations/es.json +1 -1
  10. package/app/javascript/src/translations/et.json +1 -1
  11. package/app/javascript/src/translations/fi.json +1 -1
  12. package/app/javascript/src/translations/fil.json +1 -1
  13. package/app/javascript/src/translations/fr.json +1 -1
  14. package/app/javascript/src/translations/he.json +1 -1
  15. package/app/javascript/src/translations/hi.json +1 -1
  16. package/app/javascript/src/translations/hr.json +1 -1
  17. package/app/javascript/src/translations/hu.json +1 -1
  18. package/app/javascript/src/translations/id.json +1 -1
  19. package/app/javascript/src/translations/it.json +1 -1
  20. package/app/javascript/src/translations/ja.json +1 -1
  21. package/app/javascript/src/translations/ko.json +1 -1
  22. package/app/javascript/src/translations/nl.json +1 -1
  23. package/app/javascript/src/translations/pl.json +1 -1
  24. package/app/javascript/src/translations/pt-BR.json +1 -1
  25. package/app/javascript/src/translations/pt.json +1 -1
  26. package/app/javascript/src/translations/ro.json +1 -1
  27. package/app/javascript/src/translations/ru.json +1 -1
  28. package/app/javascript/src/translations/sk.json +1 -1
  29. package/app/javascript/src/translations/sl.json +1 -1
  30. package/app/javascript/src/translations/sv.json +1 -1
  31. package/app/javascript/src/translations/th.json +1 -1
  32. package/app/javascript/src/translations/tr.json +1 -1
  33. package/app/javascript/src/translations/uk.json +1 -1
  34. package/app/javascript/src/translations/vi.json +1 -1
  35. package/app/javascript/src/translations/zh-CN.json +1 -1
  36. package/app/javascript/src/translations/zh-TW.json +1 -1
  37. package/dist/AccountsDashboard.js +5 -5
  38. package/dist/AdminCancelRecurringPaymentButton.js +1 -1
  39. package/dist/CashPaymentButton.js +2 -2
  40. package/dist/ConfirmCashPaymentButton.js +2 -2
  41. package/dist/CustomerCancelRecurringPaymentForm.js +1 -1
  42. package/dist/{ExportModal-r0L3_JqO.js → ExportModal-DGOx1b6l.js} +2 -2
  43. package/dist/{ExportModal-r0L3_JqO.js.map → ExportModal-DGOx1b6l.js.map} +1 -1
  44. package/dist/ManualUpiConnect.js +1 -1
  45. package/dist/ManualUpiPayment.js +3 -2
  46. package/dist/ManualUpiPayment.js.map +1 -1
  47. package/dist/ManualUpiPaymentConfirmButton.js +2 -2
  48. package/dist/ManualUpiPaymentRejectButton.js +2 -2
  49. package/dist/PaymentsDashboard.js +3 -3
  50. package/dist/PayoutsDashboard.js +5 -5
  51. package/dist/PayoutsPage.js +3 -3
  52. package/dist/RazorpayConnect.js +2 -2
  53. package/dist/RazorpayLinkedAccountForm.js +1 -1
  54. package/dist/RazorpayPaymentButton.js +2 -2
  55. package/dist/RecurringPaymentSettings.js +1 -1
  56. package/dist/RefundsDashboard.js +3 -3
  57. package/dist/SplitTransfersDashboard.js +2 -2
  58. package/dist/StripeCheckoutSetting.js +1 -1
  59. package/dist/StripeConnect.js +3 -3
  60. package/dist/StripeManage.js +1 -1
  61. package/dist/TaxesDashboard.js +1 -1
  62. package/dist/buildStripeTransactionLink.js +1 -1
  63. package/dist/cjs/AccountsDashboard.js +5 -5
  64. package/dist/cjs/AdminCancelRecurringPaymentButton.js +1 -1
  65. package/dist/cjs/CashPaymentButton.js +2 -2
  66. package/dist/cjs/ConfirmCashPaymentButton.js +2 -2
  67. package/dist/cjs/CustomerCancelRecurringPaymentForm.js +1 -1
  68. package/dist/cjs/{ExportModal-Bo-VRErR.js → ExportModal-CJlEDIWM.js} +2 -2
  69. package/dist/cjs/{ExportModal-Bo-VRErR.js.map → ExportModal-CJlEDIWM.js.map} +1 -1
  70. package/dist/cjs/ManualUpiConnect.js +1 -1
  71. package/dist/cjs/ManualUpiPayment.js +3 -2
  72. package/dist/cjs/ManualUpiPayment.js.map +1 -1
  73. package/dist/cjs/ManualUpiPaymentConfirmButton.js +2 -2
  74. package/dist/cjs/ManualUpiPaymentRejectButton.js +2 -2
  75. package/dist/cjs/PaymentsDashboard.js +3 -3
  76. package/dist/cjs/PayoutsDashboard.js +5 -5
  77. package/dist/cjs/PayoutsPage.js +3 -3
  78. package/dist/cjs/RazorpayConnect.js +2 -2
  79. package/dist/cjs/RazorpayLinkedAccountForm.js +1 -1
  80. package/dist/cjs/RazorpayPaymentButton.js +2 -2
  81. package/dist/cjs/RecurringPaymentSettings.js +1 -1
  82. package/dist/cjs/RefundsDashboard.js +3 -3
  83. package/dist/cjs/SplitTransfersDashboard.js +2 -2
  84. package/dist/cjs/StripeCheckoutSetting.js +1 -1
  85. package/dist/cjs/StripeConnect.js +3 -3
  86. package/dist/cjs/StripeManage.js +1 -1
  87. package/dist/cjs/TaxesDashboard.js +1 -1
  88. package/dist/cjs/buildStripeTransactionLink.js +1 -1
  89. package/dist/cjs/constants.js +1 -1
  90. package/dist/cjs/{dashboard-ByRrf_OD.js → dashboard-0e4qOr6Q.js} +2 -2
  91. package/dist/cjs/{dashboard-ByRrf_OD.js.map → dashboard-0e4qOr6Q.js.map} +1 -1
  92. package/dist/cjs/getAddressElementOptions.js +1 -1
  93. package/dist/cjs/getAmountInLargestCurrencyUnit.js +1 -1
  94. package/dist/cjs/getAmountInSmallestCurrencyUnit.js +1 -1
  95. package/dist/cjs/getAmountWithAppliedTax.js +1 -1
  96. package/dist/cjs/getFormattedAmount.js +1 -1
  97. package/dist/cjs/getFormattedDiscountedAmount.js +1 -1
  98. package/dist/cjs/getFormattedDiscountedPercentage.js +1 -1
  99. package/dist/cjs/getFormattedTaxAmount.js +1 -1
  100. package/dist/cjs/getFormattedTipAmount.js +1 -1
  101. package/dist/cjs/getQrCodeValue.js +1 -1
  102. package/dist/cjs/getTaxAmount.js +1 -1
  103. package/dist/cjs/getTipAmount.js +1 -1
  104. package/dist/cjs/hasAmountToPay.js +1 -1
  105. package/dist/cjs/{index-C3dlLi3r.js → index-d81RoerD.js} +16 -13
  106. package/dist/cjs/index-d81RoerD.js.map +1 -0
  107. package/dist/cjs/index.js +11 -11
  108. package/dist/cjs/{renderFunctions-DuZlWOmX.js → renderFunctions-Bti0TEIP.js} +2 -2
  109. package/dist/cjs/{renderFunctions-DuZlWOmX.js.map → renderFunctions-Bti0TEIP.js.map} +1 -1
  110. package/dist/cjs/{useAccountsApi-DPB2aG4H.js → useAccountsApi-DsrOzkcV.js} +2 -2
  111. package/dist/cjs/{useAccountsApi-DPB2aG4H.js.map → useAccountsApi-DsrOzkcV.js.map} +1 -1
  112. package/dist/cjs/{useExportsApi-eSMwoLoJ.js → useExportsApi-damWskqN.js} +2 -2
  113. package/dist/cjs/{useExportsApi-eSMwoLoJ.js.map → useExportsApi-damWskqN.js.map} +1 -1
  114. package/dist/cjs/{useIntegrationsApi-CmJgHHH1.js → useIntegrationsApi-Cdm9Q9F_.js} +2 -2
  115. package/dist/cjs/{useIntegrationsApi-CmJgHHH1.js.map → useIntegrationsApi-Cdm9Q9F_.js.map} +1 -1
  116. package/dist/cjs/{usePaymentApi-CbNuVb24.js → usePaymentApi-CGzEYmcs.js} +2 -2
  117. package/dist/cjs/{usePaymentApi-CbNuVb24.js.map → usePaymentApi-CGzEYmcs.js.map} +1 -1
  118. package/dist/cjs/{usePaymentApi-BjWrpZLW.js → usePaymentApi-DmaCm5ok.js} +2 -2
  119. package/dist/cjs/{usePaymentApi-BjWrpZLW.js.map → usePaymentApi-DmaCm5ok.js.map} +1 -1
  120. package/dist/cjs/{usePaymentApi-DXJeVvg3.js → usePaymentApi-tvigxwUS.js} +2 -2
  121. package/dist/cjs/{usePaymentApi-DXJeVvg3.js.map → usePaymentApi-tvigxwUS.js.map} +1 -1
  122. package/dist/cjs/{usePlatformApi-B1n8h0bi.js → usePlatformApi-D6ns278e.js} +2 -2
  123. package/dist/cjs/{usePlatformApi-B1n8h0bi.js.map → usePlatformApi-D6ns278e.js.map} +1 -1
  124. package/dist/cjs/useRazorpayPayment.js +2 -2
  125. package/dist/constants.js +1 -1
  126. package/dist/{dashboard-Uo2nRTH0.js → dashboard-Bu-kKlqX.js} +2 -2
  127. package/dist/{dashboard-Uo2nRTH0.js.map → dashboard-Bu-kKlqX.js.map} +1 -1
  128. package/dist/getAddressElementOptions.js +1 -1
  129. package/dist/getAmountInLargestCurrencyUnit.js +1 -1
  130. package/dist/getAmountInSmallestCurrencyUnit.js +1 -1
  131. package/dist/getAmountWithAppliedTax.js +1 -1
  132. package/dist/getFormattedAmount.js +1 -1
  133. package/dist/getFormattedDiscountedAmount.js +1 -1
  134. package/dist/getFormattedDiscountedPercentage.js +1 -1
  135. package/dist/getFormattedTaxAmount.js +1 -1
  136. package/dist/getFormattedTipAmount.js +1 -1
  137. package/dist/getQrCodeValue.js +1 -1
  138. package/dist/getTaxAmount.js +1 -1
  139. package/dist/getTipAmount.js +1 -1
  140. package/dist/hasAmountToPay.js +1 -1
  141. package/dist/{index-BbPuNCbC.js → index-BFPr9LL_.js} +16 -13
  142. package/dist/index-BFPr9LL_.js.map +1 -0
  143. package/dist/index.js +11 -11
  144. package/dist/{renderFunctions-dslScg6B.js → renderFunctions-Cj94YzPn.js} +2 -2
  145. package/dist/{renderFunctions-dslScg6B.js.map → renderFunctions-Cj94YzPn.js.map} +1 -1
  146. package/dist/{useAccountsApi-C9W3YdvO.js → useAccountsApi-BYO3jcvn.js} +2 -2
  147. package/dist/{useAccountsApi-C9W3YdvO.js.map → useAccountsApi-BYO3jcvn.js.map} +1 -1
  148. package/dist/{useExportsApi-B0u8EW7i.js → useExportsApi-Kh-sIsaX.js} +2 -2
  149. package/dist/{useExportsApi-B0u8EW7i.js.map → useExportsApi-Kh-sIsaX.js.map} +1 -1
  150. package/dist/{useIntegrationsApi-AF3A7YvI.js → useIntegrationsApi-4-kw1M93.js} +2 -2
  151. package/dist/{useIntegrationsApi-AF3A7YvI.js.map → useIntegrationsApi-4-kw1M93.js.map} +1 -1
  152. package/dist/{usePaymentApi-CUHHIncv.js → usePaymentApi-BQyWVrBI.js} +2 -2
  153. package/dist/{usePaymentApi-CUHHIncv.js.map → usePaymentApi-BQyWVrBI.js.map} +1 -1
  154. package/dist/{usePaymentApi-BGN0_zsw.js → usePaymentApi-D6FQUiYT.js} +2 -2
  155. package/dist/{usePaymentApi-BGN0_zsw.js.map → usePaymentApi-D6FQUiYT.js.map} +1 -1
  156. package/dist/{usePaymentApi-qo71Ol63.js → usePaymentApi-DsXrGrJF.js} +2 -2
  157. package/dist/{usePaymentApi-qo71Ol63.js.map → usePaymentApi-DsXrGrJF.js.map} +1 -1
  158. package/dist/{usePlatformApi-KlkpSYlq.js → usePlatformApi-CQY4MOWy.js} +2 -2
  159. package/dist/{usePlatformApi-KlkpSYlq.js.map → usePlatformApi-CQY4MOWy.js.map} +1 -1
  160. package/dist/useRazorpayPayment.js +2 -2
  161. package/package.json +15 -17
  162. package/dist/cjs/index-C3dlLi3r.js.map +0 -1
  163. package/dist/index-BbPuNCbC.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ManualUpiPayment.js","sources":["../../app/javascript/src/components/ManualUpiPayment/constants.js","../../app/javascript/src/components/ManualUpiPayment/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isPresent, isNotPresent } from \"neetocist\";\nimport * as yup from \"yup\";\n\nexport const ACCEPTED_SCREENSHOT_FORMATS = \"image/png,image/jpeg,image/jpg\";\n\nexport const MAX_SCREENSHOT_SIZE_MB = 5;\n\nexport const DIRECT_UPLOAD_URL = \"/rails/active_storage/direct_uploads\";\n\nexport const INITIAL_VALUES = { identifier: \"\" };\n\nexport const buildValidationSchema = screenshotFile =>\n yup.object({\n identifier: yup\n .number()\n .typeError(\n t(\"neetoPayments.validations.invalidField\", {\n entity: t(\"neetoPayments.common.transactionId\"),\n })\n )\n .nullable()\n .transform((value, originalValue) =>\n originalValue === \"\" ? null : value\n )\n .test(\n \"identifier-or-screenshot\",\n t(\"neetoPayments.upi.payment.transaction.identifierOrScreenshot\"),\n value => isPresent(value) || isPresent(screenshotFile)\n )\n .test(\n \"is-integer\",\n t(\"neetoPayments.validations.invalidField\", {\n entity: t(\"neetoPayments.common.transactionId\"),\n }),\n value => isNotPresent(value) || Number.isInteger(value)\n )\n .test(\n \"len\",\n t(\"neetoPayments.validations.length\", { length: 12 }),\n value => isNotPresent(value) || value?.toString().length === 12\n ),\n });\n","import { useRef, useState, useMemo, useEffect } from \"react\";\n\nimport { DirectUpload } from \"@rails/activestorage\";\nimport { noop, isPresent } from \"neetocist\";\nimport { Close } from \"neetoicons\";\nimport { Button, Toastr, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport QRCodeImage from \"qrcode.react\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateUpiPayment } from \"hooks/reactQuery/manualUpi/usePaymentApi\";\nimport { getQrCodeValue } from \"utils\";\n\nimport {\n buildValidationSchema,\n ACCEPTED_SCREENSHOT_FORMATS,\n MAX_SCREENSHOT_SIZE_MB,\n DIRECT_UPLOAD_URL,\n INITIAL_VALUES,\n} from \"./constants\";\n\nconst ManualUpiPayment = ({\n fee,\n payableId,\n tip,\n amount,\n discountCode,\n customAmount,\n handleCancel,\n payableType = null,\n onBeforePayment = noop,\n onFailedPayment = noop,\n onSuccessfulPayment = noop,\n}) => {\n const { t } = useTranslation();\n const fileInputRef = useRef(null);\n const [screenshotFile, setScreenshotFile] = useState(null);\n const [isUploading, setIsUploading] = useState(false);\n\n const screenshotPreview = useMemo(\n () => (screenshotFile ? URL.createObjectURL(screenshotFile) : null),\n [screenshotFile]\n );\n\n useEffect(\n () => () => {\n if (screenshotPreview) URL.revokeObjectURL(screenshotPreview);\n },\n [screenshotPreview]\n );\n\n const vpaIds = pluck(\"address\", fee?.vpas);\n const amountToUpi = customAmount || amount;\n\n const { isPending, mutate: createPayment } = useCreateUpiPayment({\n onSuccess: onSuccessfulPayment,\n onError: onFailedPayment,\n });\n\n const validationSchema = useMemo(\n () => buildValidationSchema(screenshotFile),\n [screenshotFile]\n );\n\n const handleScreenshotSelect = event => {\n const file = event.target.files[0];\n if (!file) return;\n\n if (file.size > MAX_SCREENSHOT_SIZE_MB * 1024 * 1024) {\n Toastr.error(\n t(\"neetoPayments.upi.payment.screenshot.tooLarge\", {\n maxSize: MAX_SCREENSHOT_SIZE_MB,\n })\n );\n\n return;\n }\n\n setScreenshotFile(file);\n };\n\n const handleRemoveScreenshot = () => {\n setScreenshotFile(null);\n if (fileInputRef.current) fileInputRef.current.value = \"\";\n };\n\n const uploadScreenshot = file =>\n new Promise((resolve, reject) => {\n const upload = new DirectUpload(file, DIRECT_UPLOAD_URL);\n upload.create((error, blob) => {\n if (error) reject(error);\n else resolve(blob.signed_id);\n });\n });\n\n const handleSubmit = async values => {\n onBeforePayment();\n\n let paymentScreenshot = null;\n if (screenshotFile) {\n try {\n setIsUploading(true);\n paymentScreenshot = await uploadScreenshot(screenshotFile);\n } catch {\n onFailedPayment();\n\n return;\n } finally {\n setIsUploading(false);\n }\n }\n\n createPayment({\n ...values,\n payableId,\n customAmount,\n payableType,\n discountCode,\n tipAttributes: tip,\n paymentScreenshot,\n });\n };\n\n return (\n <Form\n className=\"space-y-4\"\n formikProps={{\n onSubmit: handleSubmit,\n initialValues: INITIAL_VALUES,\n validationSchema,\n }}\n >\n {({ dirty }) => (\n <>\n <Typography style=\"body1\">\n {t(\"neetoPayments.upi.payment.vpaText\", { count: vpaIds.length })}\n </Typography>\n {isPresent(vpaIds) && (\n <div className=\"grid grid-cols-1 gap-8 gap-y-4 sm:grid-cols-2\">\n {vpaIds.map(vpaId => (\n <div\n className=\"flex flex-col items-center justify-center\"\n key={vpaId}\n >\n <QRCodeImage\n size={256}\n style={{ width: 80, height: 80 }}\n value={getQrCodeValue(vpaId, amountToUpi)}\n />\n <Typography\n className=\"w-full mt-2 text-center wrap-break-word\"\n style=\"body2\"\n >\n {vpaId}\n </Typography>\n </div>\n ))}\n </div>\n )}\n <Input\n label={t(\"neetoPayments.upi.payment.transaction.label\")}\n name=\"identifier\"\n placeholder={t(\"neetoPayments.upi.payment.transaction.placeholder\")}\n type=\"number\"\n />\n <div className=\"flex items-center gap-3\">\n <hr className=\"flex-1 border-gray-300\" />\n <Typography className=\"text-gray-500 uppercase\" style=\"body2\">\n {t(\"neetoPayments.common.or\")}\n </Typography>\n <hr className=\"flex-1 border-gray-300\" />\n </div>\n <div>\n <Typography className=\"mb-2\" style=\"body2\" weight=\"medium\">\n {t(\"neetoPayments.upi.payment.screenshot.label\")}\n </Typography>\n {screenshotPreview ? (\n <div className=\"relative inline-block\">\n <img\n alt={t(\"neetoPayments.upi.payment.screenshot.alt\")}\n className=\"max-h-40 rounded border border-gray-200\"\n src={screenshotPreview}\n />\n <Button\n className=\"absolute -right-2 -top-2 neeto-ui-rounded-full neeto-ui-bg-white neeto-ui-shadow-sm\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n onClick={handleRemoveScreenshot}\n />\n </div>\n ) : (\n <div\n className=\"flex cursor-pointer flex-col items-center justify-center rounded border-2 border-dashed border-gray-300 p-6 transition-colors hover:border-gray-400\"\n role=\"button\"\n tabIndex={0}\n onClick={() => fileInputRef.current?.click()}\n onKeyDown={e => {\n if (e.key === \"Enter\" || e.key === \" \") {\n fileInputRef.current?.click();\n }\n }}\n >\n <i className=\"ri-upload-2-line text-2xl text-gray-400\" />\n <Typography className=\"mt-1 text-gray-500\" style=\"body3\">\n {t(\"neetoPayments.upi.payment.screenshot.uploadText\")}\n </Typography>\n <Typography className=\"text-gray-400\" style=\"nano\">\n {t(\"neetoPayments.upi.payment.screenshot.formatHint\", {\n maxSize: MAX_SCREENSHOT_SIZE_MB,\n })}\n </Typography>\n </div>\n )}\n <input\n accept={ACCEPTED_SCREENSHOT_FORMATS}\n className=\"hidden\"\n ref={fileInputRef}\n type=\"file\"\n onChange={handleScreenshotSelect}\n />\n </div>\n <ActionBlock\n cancelButtonProps={{\n label: t(\"neetoPayments.upi.payment.buttons.back\"),\n onClick: handleCancel,\n disabled: isPending,\n }}\n submitButtonProps={{\n label: t(\"neetoPayments.upi.payment.buttons.submit\"),\n disabled: (!dirty && !screenshotFile) || isPending || isUploading,\n loading: isPending || isUploading,\n }}\n />\n </>\n )}\n </Form>\n );\n};\n\nexport default ManualUpiPayment;\n"],"names":["ACCEPTED_SCREENSHOT_FORMATS","MAX_SCREENSHOT_SIZE_MB","DIRECT_UPLOAD_URL","INITIAL_VALUES","identifier","buildValidationSchema","screenshotFile","yup","object","number","typeError","t","entity","nullable","transform","value","originalValue","test","isPresent","isNotPresent","Number","isInteger","length","toString","ManualUpiPayment","fee","payableId","tip","amount","discountCode","customAmount","handleCancel","payableType","onBeforePayment","noop","onFailedPayment","onSuccessfulPayment","useTranslation","fileInputRef","useRef","setScreenshotFile","useState","isUploading","setIsUploading","screenshotPreview","useMemo","URL","createObjectURL","useEffect","revokeObjectURL","vpaIds","pluck","vpas","amountToUpi","isPending","mutate","createPayment","useCreateUpiPayment","onSuccess","onError","validationSchema","handleScreenshotSelect","event","file","target","files","size","Toastr","error","maxSize","handleRemoveScreenshot","current","uploadScreenshot","Promise","resolve","reject","upload","DirectUpload","create","blob","signed_id","handleSubmit","values","paymentScreenshot","tipAttributes","_jsx","Form","className","formikProps","onSubmit","initialValues","children","dirty","_jsxs","_Fragment","Typography","style","count","map","vpaId","QRCodeImage","width","height","getQrCodeValue","Input","label","name","placeholder","type","weight","alt","src","Button","icon","Close","onClick","role","tabIndex","click","onKeyDown","e","key","accept","ref","onChange","ActionBlock","cancelButtonProps","disabled","submitButtonProps","loading"],"mappings":"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"}
1
+ {"version":3,"file":"ManualUpiPayment.js","sources":["../../app/javascript/src/components/ManualUpiPayment/constants.js","../../app/javascript/src/components/ManualUpiPayment/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isPresent, isNotPresent } from \"neetocist\";\nimport * as yup from \"yup\";\n\nexport const ACCEPTED_SCREENSHOT_FORMATS = \"image/png,image/jpeg,image/jpg\";\n\nexport const MAX_SCREENSHOT_SIZE_MB = 5;\n\nexport const DIRECT_UPLOAD_URL = \"/rails/active_storage/direct_uploads\";\n\nexport const INITIAL_VALUES = { identifier: \"\" };\n\nexport const buildValidationSchema = screenshotFile =>\n yup.object({\n identifier: yup\n .number()\n .typeError(\n t(\"neetoPayments.validations.invalidField\", {\n entity: t(\"neetoPayments.common.transactionId\"),\n })\n )\n .nullable()\n .transform((value, originalValue) =>\n originalValue === \"\" ? null : value\n )\n .test(\n \"identifier-or-screenshot\",\n t(\"neetoPayments.upi.payment.transaction.identifierOrScreenshot\"),\n value => isPresent(value) || isPresent(screenshotFile)\n )\n .test(\n \"is-integer\",\n t(\"neetoPayments.validations.invalidField\", {\n entity: t(\"neetoPayments.common.transactionId\"),\n }),\n value => isNotPresent(value) || Number.isInteger(value)\n )\n .test(\n \"len\",\n t(\"neetoPayments.validations.length\", { length: 12 }),\n value => isNotPresent(value) || value?.toString().length === 12\n ),\n });\n","import { useRef, useState, useMemo, useEffect } from \"react\";\n\nimport { DirectUpload } from \"@rails/activestorage\";\nimport { noop, isPresent } from \"neetocist\";\nimport { Close } from \"neetoicons\";\nimport { Button, Toastr, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport QRCodeImage from \"qrcode.react\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateUpiPayment } from \"hooks/reactQuery/manualUpi/usePaymentApi\";\nimport { getQrCodeValue } from \"utils\";\n\nimport {\n buildValidationSchema,\n ACCEPTED_SCREENSHOT_FORMATS,\n MAX_SCREENSHOT_SIZE_MB,\n DIRECT_UPLOAD_URL,\n INITIAL_VALUES,\n} from \"./constants\";\n\nconst ManualUpiPayment = ({\n fee,\n payableId,\n tip,\n amount,\n discountCode,\n customAmount,\n handleCancel,\n payableType = null,\n onBeforePayment = noop,\n onFailedPayment = noop,\n onSuccessfulPayment = noop,\n}) => {\n const { t } = useTranslation();\n const fileInputRef = useRef(null);\n const [screenshotFile, setScreenshotFile] = useState(null);\n const [isUploading, setIsUploading] = useState(false);\n\n const screenshotPreview = useMemo(\n () => (screenshotFile ? URL.createObjectURL(screenshotFile) : null),\n [screenshotFile]\n );\n\n useEffect(\n () => () => {\n if (screenshotPreview) URL.revokeObjectURL(screenshotPreview);\n },\n [screenshotPreview]\n );\n\n const vpaIds = pluck(\"address\", fee?.vpas);\n const amountToUpi = customAmount || amount;\n\n const { isPending, mutate: createPayment } = useCreateUpiPayment({\n onSuccess: onSuccessfulPayment,\n onError: onFailedPayment,\n });\n\n const validationSchema = useMemo(\n () => buildValidationSchema(screenshotFile),\n [screenshotFile]\n );\n\n const handleScreenshotSelect = event => {\n const file = event.target.files[0];\n if (!file) return;\n\n if (file.size > MAX_SCREENSHOT_SIZE_MB * 1024 * 1024) {\n Toastr.error(\n t(\"neetoPayments.upi.payment.screenshot.tooLarge\", {\n maxSize: MAX_SCREENSHOT_SIZE_MB,\n })\n );\n\n return;\n }\n\n setScreenshotFile(file);\n };\n\n const handleRemoveScreenshot = () => {\n setScreenshotFile(null);\n if (fileInputRef.current) fileInputRef.current.value = \"\";\n };\n\n const uploadScreenshot = file =>\n new Promise((resolve, reject) => {\n const upload = new DirectUpload(file, DIRECT_UPLOAD_URL);\n upload.create((error, blob) => {\n if (error) reject(error);\n else resolve(blob.signed_id);\n });\n });\n\n const handleSubmit = async values => {\n onBeforePayment();\n\n let paymentScreenshot = null;\n if (screenshotFile) {\n try {\n setIsUploading(true);\n paymentScreenshot = await uploadScreenshot(screenshotFile);\n } catch {\n onFailedPayment();\n\n return;\n } finally {\n setIsUploading(false);\n }\n }\n\n createPayment({\n ...values,\n payableId,\n customAmount,\n payableType,\n discountCode,\n tipAttributes: tip,\n paymentScreenshot,\n });\n };\n\n return (\n <Form\n className=\"space-y-4\"\n formikProps={{\n onSubmit: handleSubmit,\n initialValues: INITIAL_VALUES,\n validationSchema,\n }}\n >\n {({ dirty }) => (\n <>\n <Typography style=\"body1\">\n {t(\"neetoPayments.upi.payment.vpaText\", { count: vpaIds.length })}\n </Typography>\n {isPresent(vpaIds) && (\n <div className=\"grid grid-cols-1 gap-8 gap-y-4 sm:grid-cols-2\">\n {vpaIds.map(vpaId => (\n <div\n className=\"flex flex-col items-center justify-center\"\n key={vpaId}\n >\n <QRCodeImage\n size={256}\n style={{ width: 80, height: 80 }}\n value={getQrCodeValue(vpaId, amountToUpi)}\n />\n <Typography\n className=\"w-full mt-2 text-center wrap-break-word\"\n style=\"body2\"\n >\n {vpaId}\n </Typography>\n </div>\n ))}\n </div>\n )}\n <Input\n label={t(\"neetoPayments.upi.payment.transaction.label\")}\n name=\"identifier\"\n placeholder={t(\"neetoPayments.upi.payment.transaction.placeholder\")}\n type=\"number\"\n />\n <div className=\"flex items-center gap-3\">\n <hr className=\"flex-1 border-gray-300\" />\n <Typography className=\"text-gray-500 uppercase\" style=\"body2\">\n {t(\"neetoPayments.common.or\")}\n </Typography>\n <hr className=\"flex-1 border-gray-300\" />\n </div>\n <div>\n <Typography className=\"mb-2\" style=\"body2\" weight=\"medium\">\n {t(\"neetoPayments.upi.payment.screenshot.label\")}\n </Typography>\n {screenshotPreview ? (\n <div className=\"relative inline-block\">\n <img\n alt={t(\"neetoPayments.upi.payment.screenshot.alt\")}\n className=\"max-h-40 rounded border border-gray-200\"\n src={screenshotPreview}\n />\n <Button\n className=\"absolute -right-2 -top-2 neeto-ui-rounded-full neeto-ui-bg-white neeto-ui-shadow-sm\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n onClick={handleRemoveScreenshot}\n />\n </div>\n ) : (\n <div\n className=\"flex cursor-pointer flex-col items-center justify-center rounded border-2 border-dashed border-gray-300 p-6 transition-colors hover:border-gray-400\"\n role=\"button\"\n tabIndex={0}\n onClick={() => fileInputRef.current?.click()}\n onKeyDown={e => {\n if (e.key === \"Enter\" || e.key === \" \") {\n fileInputRef.current?.click();\n }\n }}\n >\n <i className=\"ri-upload-2-line text-2xl text-gray-400\" />\n <Typography className=\"mt-1 text-gray-500\" style=\"body3\">\n {t(\"neetoPayments.upi.payment.screenshot.uploadText\")}\n </Typography>\n <Typography className=\"text-gray-400\" style=\"nano\">\n {t(\"neetoPayments.upi.payment.screenshot.formatHint\", {\n maxSize: MAX_SCREENSHOT_SIZE_MB,\n })}\n </Typography>\n </div>\n )}\n <input\n accept={ACCEPTED_SCREENSHOT_FORMATS}\n className=\"hidden\"\n data-testid=\"manual-upi-screenshot-upload-input-field\"\n ref={fileInputRef}\n type=\"file\"\n onChange={handleScreenshotSelect}\n />\n </div>\n <ActionBlock\n cancelButtonProps={{\n label: t(\"neetoPayments.upi.payment.buttons.back\"),\n onClick: handleCancel,\n disabled: isPending,\n }}\n submitButtonProps={{\n label: t(\"neetoPayments.upi.payment.buttons.submit\"),\n disabled: (!dirty && !screenshotFile) || isPending || isUploading,\n loading: isPending || isUploading,\n }}\n />\n </>\n )}\n </Form>\n );\n};\n\nexport default ManualUpiPayment;\n"],"names":["ACCEPTED_SCREENSHOT_FORMATS","MAX_SCREENSHOT_SIZE_MB","DIRECT_UPLOAD_URL","INITIAL_VALUES","identifier","buildValidationSchema","screenshotFile","yup","object","number","typeError","t","entity","nullable","transform","value","originalValue","test","isPresent","isNotPresent","Number","isInteger","length","toString","ManualUpiPayment","fee","payableId","tip","amount","discountCode","customAmount","handleCancel","payableType","onBeforePayment","noop","onFailedPayment","onSuccessfulPayment","useTranslation","fileInputRef","useRef","setScreenshotFile","useState","isUploading","setIsUploading","screenshotPreview","useMemo","URL","createObjectURL","useEffect","revokeObjectURL","vpaIds","pluck","vpas","amountToUpi","isPending","mutate","createPayment","useCreateUpiPayment","onSuccess","onError","validationSchema","handleScreenshotSelect","event","file","target","files","size","Toastr","error","maxSize","handleRemoveScreenshot","current","uploadScreenshot","Promise","resolve","reject","upload","DirectUpload","create","blob","signed_id","handleSubmit","values","paymentScreenshot","tipAttributes","_jsx","Form","className","formikProps","onSubmit","initialValues","children","dirty","_jsxs","_Fragment","Typography","style","count","map","vpaId","QRCodeImage","width","height","getQrCodeValue","Input","label","name","placeholder","type","weight","alt","src","Button","icon","Close","onClick","role","tabIndex","click","onKeyDown","e","key","accept","ref","onChange","ActionBlock","cancelButtonProps","disabled","submitButtonProps","loading"],"mappings":"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"}
@@ -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-DXJeVvg3.js');
7
+ var usePaymentApi = require('./usePaymentApi-tvigxwUS.js');
8
8
  var neetoui = require('@bigbinary/neetoui');
9
9
  var formik = require('@bigbinary/neetoui/formik');
10
10
  var i18next = require('i18next');
@@ -13,7 +13,7 @@ var jsxRuntime = require('react/jsx-runtime');
13
13
  require('@tanstack/react-query');
14
14
  require('neetocommons/react-utils');
15
15
  require('axios');
16
- require('./index-C3dlLi3r.js');
16
+ require('./index-d81RoerD.js');
17
17
  require('neetocommons/constants');
18
18
  require('decimal.js');
19
19
  require('neetocommons/utils');
@@ -3,14 +3,14 @@
3
3
  var react = require('react');
4
4
  var neetocist = require('neetocist');
5
5
  var reactI18next = require('react-i18next');
6
- var usePaymentApi = require('./usePaymentApi-DXJeVvg3.js');
6
+ var usePaymentApi = require('./usePaymentApi-tvigxwUS.js');
7
7
  var neetoui = require('@bigbinary/neetoui');
8
8
  var formik = require('@bigbinary/neetoui/formik');
9
9
  var jsxRuntime = require('react/jsx-runtime');
10
10
  require('@tanstack/react-query');
11
11
  require('neetocommons/react-utils');
12
12
  require('axios');
13
- require('./index-C3dlLi3r.js');
13
+ require('./index-d81RoerD.js');
14
14
  require('i18next');
15
15
  require('neetocommons/constants');
16
16
  require('decimal.js');
@@ -7,12 +7,12 @@ var neetoFiltersFrontend = require('@bigbinary/neeto-filters-frontend');
7
7
  var neetoui = require('@bigbinary/neetoui');
8
8
  var ramda = require('ramda');
9
9
  var reactRouterDom = require('react-router-dom');
10
- var ExportModal = require('./ExportModal-Bo-VRErR.js');
10
+ var ExportModal = require('./ExportModal-CJlEDIWM.js');
11
11
  var reactQuery = require('@tanstack/react-query');
12
12
  var axios = require('axios');
13
- var constants = require('./index-C3dlLi3r.js');
13
+ var constants = require('./index-d81RoerD.js');
14
14
  var queryConstants = require('./queryConstants-CGUF7zol.js');
15
- var dashboard = require('./dashboard-ByRrf_OD.js');
15
+ var dashboard = require('./dashboard-0e4qOr6Q.js');
16
16
  var i18next = require('i18next');
17
17
  var neetocist = require('neetocist');
18
18
  var Columns = require('@bigbinary/neeto-molecules/Columns');
@@ -8,22 +8,22 @@ var Header = require('@bigbinary/neeto-molecules/Header');
8
8
  var SubHeader = require('@bigbinary/neeto-molecules/SubHeader');
9
9
  var neetoui = require('@bigbinary/neetoui');
10
10
  var reactI18next = require('react-i18next');
11
- var useExportsApi = require('./useExportsApi-eSMwoLoJ.js');
11
+ var useExportsApi = require('./useExportsApi-damWskqN.js');
12
12
  var exportChannel = require('./exportChannel-BL2RGGhP.js');
13
13
  var neetoIcons = require('@bigbinary/neeto-icons');
14
- var constants = require('./index-C3dlLi3r.js');
14
+ var constants = require('./index-d81RoerD.js');
15
15
  var jsxRuntime = require('react/jsx-runtime');
16
16
  var neetocist = require('neetocist');
17
17
  var utils = require('neetocommons/utils');
18
18
  var ramda = require('ramda');
19
19
  var reactRouterDom = require('react-router-dom');
20
- var dashboard = require('./dashboard-ByRrf_OD.js');
21
- var renderFunctions = require('./renderFunctions-DuZlWOmX.js');
20
+ var dashboard = require('./dashboard-0e4qOr6Q.js');
21
+ var renderFunctions = require('./renderFunctions-Bti0TEIP.js');
22
22
  var CopyButtonWrapper = require('./CopyButtonWrapper-DZ9rE5UR.js');
23
23
  var constants$1 = require('neetocommons/constants');
24
24
  var Columns = require('@bigbinary/neeto-molecules/Columns');
25
25
  var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
26
- var usePlatformApi = require('./usePlatformApi-B1n8h0bi.js');
26
+ var usePlatformApi = require('./usePlatformApi-D6ns278e.js');
27
27
  require('@tanstack/react-query');
28
28
  require('@tanstack/react-query-devtools');
29
29
  require('axios');
@@ -5,10 +5,10 @@ var Header = require('@bigbinary/neeto-molecules/Header');
5
5
  var neetoui = require('@bigbinary/neetoui');
6
6
  var reactI18next = require('react-i18next');
7
7
  var reactRouterDom = require('react-router-dom/cjs/react-router-dom');
8
- var renderFunctions = require('./renderFunctions-DuZlWOmX.js');
9
- var usePlatformApi = require('./usePlatformApi-B1n8h0bi.js');
8
+ var renderFunctions = require('./renderFunctions-Bti0TEIP.js');
9
+ var usePlatformApi = require('./usePlatformApi-D6ns278e.js');
10
10
  var CopyButtonWrapper = require('./CopyButtonWrapper-DZ9rE5UR.js');
11
- var constants = require('./index-C3dlLi3r.js');
11
+ var constants = require('./index-d81RoerD.js');
12
12
  var jsxRuntime = require('react/jsx-runtime');
13
13
  require('i18next');
14
14
  require('@bigbinary/neeto-molecules/DateFormat');
@@ -11,9 +11,9 @@ var Header = require('@bigbinary/neeto-molecules/Header');
11
11
  var neetoui = require('@bigbinary/neetoui');
12
12
  var reactI18next = require('react-i18next');
13
13
  var reactRouterDom = require('react-router-dom');
14
- var useIntegrationsApi = require('./useIntegrationsApi-CmJgHHH1.js');
14
+ var useIntegrationsApi = require('./useIntegrationsApi-Cdm9Q9F_.js');
15
15
  var queryConstants = require('./queryConstants-CGUF7zol.js');
16
- var constants = require('./index-C3dlLi3r.js');
16
+ var constants = require('./index-d81RoerD.js');
17
17
  var jsxRuntime = require('react/jsx-runtime');
18
18
  require('axios');
19
19
  require('i18next');
@@ -8,7 +8,7 @@ var reactI18next = require('react-i18next');
8
8
  var reactRouterDom = require('react-router-dom');
9
9
  var reactQuery = require('@tanstack/react-query');
10
10
  var axios = require('axios');
11
- var constants = require('./index-C3dlLi3r.js');
11
+ var constants = require('./index-d81RoerD.js');
12
12
  var queryConstants = require('./queryConstants-CGUF7zol.js');
13
13
  var neetocist = require('neetocist');
14
14
  var jsxRuntime = require('react/jsx-runtime');
@@ -3,9 +3,9 @@
3
3
  var neetocist = require('neetocist');
4
4
  var ramda = require('ramda');
5
5
  var reactI18next = require('react-i18next');
6
- var usePaymentApi = require('./usePaymentApi-BjWrpZLW.js');
6
+ var usePaymentApi = require('./usePaymentApi-DmaCm5ok.js');
7
7
  var neetoui = require('@bigbinary/neetoui');
8
- var constants = require('./index-C3dlLi3r.js');
8
+ var constants = require('./index-d81RoerD.js');
9
9
  var jsxRuntime = require('react/jsx-runtime');
10
10
  require('@tanstack/react-query');
11
11
  require('axios');
@@ -6,7 +6,7 @@ var reactI18next = require('react-i18next');
6
6
  var reactQuery = require('@tanstack/react-query');
7
7
  var reactUtils = require('neetocommons/react-utils');
8
8
  var axios = require('axios');
9
- var constants = require('./index-C3dlLi3r.js');
9
+ var constants = require('./index-d81RoerD.js');
10
10
  var queryConstants = require('./queryConstants-CGUF7zol.js');
11
11
  var CardLayout = require('@bigbinary/neeto-molecules/CardLayout');
12
12
  var Container = require('@bigbinary/neeto-molecules/Container');
@@ -7,12 +7,12 @@ var neetoFiltersFrontend = require('@bigbinary/neeto-filters-frontend');
7
7
  var neetoui = require('@bigbinary/neetoui');
8
8
  var ramda = require('ramda');
9
9
  var reactRouterDom = require('react-router-dom');
10
- var ExportModal = require('./ExportModal-Bo-VRErR.js');
10
+ var ExportModal = require('./ExportModal-CJlEDIWM.js');
11
11
  var reactQuery = require('@tanstack/react-query');
12
12
  var axios = require('axios');
13
- var constants = require('./index-C3dlLi3r.js');
13
+ var constants = require('./index-d81RoerD.js');
14
14
  var queryConstants = require('./queryConstants-CGUF7zol.js');
15
- var dashboard = require('./dashboard-ByRrf_OD.js');
15
+ var dashboard = require('./dashboard-0e4qOr6Q.js');
16
16
  var i18next = require('i18next');
17
17
  var neetocist = require('neetocist');
18
18
  var Columns = require('@bigbinary/neeto-molecules/Columns');
@@ -7,11 +7,11 @@ var neetoFiltersFrontend = require('@bigbinary/neeto-filters-frontend');
7
7
  var neetoui = require('@bigbinary/neetoui');
8
8
  var ramda = require('ramda');
9
9
  var reactRouterDom = require('react-router-dom');
10
- var ExportModal = require('./ExportModal-Bo-VRErR.js');
10
+ var ExportModal = require('./ExportModal-CJlEDIWM.js');
11
11
  var reactQuery = require('@tanstack/react-query');
12
12
  var reactUtils = require('neetocommons/react-utils');
13
13
  var axios = require('axios');
14
- var constants = require('./index-C3dlLi3r.js');
14
+ var constants = require('./index-d81RoerD.js');
15
15
  var queryConstants = require('./queryConstants-CGUF7zol.js');
16
16
  var formik = require('@bigbinary/neetoui/formik');
17
17
  var reactI18next = require('react-i18next');
@@ -6,7 +6,7 @@ var reactQuery = require('@tanstack/react-query');
6
6
  var reactUtils = require('neetocommons/react-utils');
7
7
  var ramda = require('ramda');
8
8
  var axios = require('axios');
9
- var constants = require('./index-C3dlLi3r.js');
9
+ var constants = require('./index-d81RoerD.js');
10
10
  var queryConstants = require('./queryConstants-CGUF7zol.js');
11
11
  var jsxRuntime = require('react/jsx-runtime');
12
12
  require('i18next');
@@ -11,13 +11,13 @@ var utils = require('neetocommons/utils');
11
11
  var misc = require('@bigbinary/neeto-icons/misc');
12
12
  var CardLayout = require('@bigbinary/neeto-molecules/CardLayout');
13
13
  var neetoui = require('@bigbinary/neetoui');
14
- var useIntegrationsApi = require('./useIntegrationsApi-CmJgHHH1.js');
15
- var constants = require('./index-C3dlLi3r.js');
14
+ var useIntegrationsApi = require('./useIntegrationsApi-Cdm9Q9F_.js');
15
+ var constants = require('./index-d81RoerD.js');
16
16
  var i18next = require('i18next');
17
17
  var yup = require('yup');
18
18
  var jsxRuntime = require('react/jsx-runtime');
19
19
  var formik = require('@bigbinary/neetoui/formik');
20
- var useAccountsApi = require('./useAccountsApi-DPB2aG4H.js');
20
+ var useAccountsApi = require('./useAccountsApi-DsrOzkcV.js');
21
21
  var reactQuery = require('@tanstack/react-query');
22
22
  var axios = require('axios');
23
23
  var queryConstants = require('./queryConstants-CGUF7zol.js');
@@ -10,7 +10,7 @@ require('react-i18next');
10
10
  require('@tanstack/react-query');
11
11
  require('ramda');
12
12
  require('axios');
13
- require('./index-C3dlLi3r.js');
13
+ require('./index-d81RoerD.js');
14
14
  require('i18next');
15
15
  require('neetocommons/constants');
16
16
  require('decimal.js');
@@ -10,7 +10,7 @@ var reactI18next = require('react-i18next');
10
10
  var reactQuery = require('@tanstack/react-query');
11
11
  var reactUtils = require('neetocommons/react-utils');
12
12
  var axios = require('axios');
13
- var constants = require('./index-C3dlLi3r.js');
13
+ var constants = require('./index-d81RoerD.js');
14
14
  var queryConstants = require('./queryConstants-CGUF7zol.js');
15
15
  var neetoui = require('@bigbinary/neetoui');
16
16
  var formik = require('@bigbinary/neetoui/formik');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var constants = require('./index-C3dlLi3r.js');
3
+ var constants = require('./index-d81RoerD.js');
4
4
  require('i18next');
5
5
  require('neetocommons/constants');
6
6
  require('decimal.js');
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('i18next');
4
4
  require('neetocommons/constants');
5
- var constants = require('./index-C3dlLi3r.js');
5
+ var constants = require('./index-d81RoerD.js');
6
6
  require('decimal.js');
7
7
  require('neetocist');
8
8
  require('neetocommons/utils');
@@ -2,7 +2,7 @@
2
2
 
3
3
  var neetocist = require('neetocist');
4
4
  var ramda = require('ramda');
5
- var constants = require('./index-C3dlLi3r.js');
5
+ var constants = require('./index-d81RoerD.js');
6
6
 
7
7
  const buildEnforcedFilter = (enforceFilter, filterableColumns) => {
8
8
  const {
@@ -79,4 +79,4 @@ exports.buildDefaultPageProperties = buildDefaultPageProperties;
79
79
  exports.buildPayload = buildPayload;
80
80
  exports.buildRowData = buildRowData;
81
81
  exports.mergeEnforcedFilters = mergeEnforcedFilters;
82
- //# sourceMappingURL=dashboard-ByRrf_OD.js.map
82
+ //# sourceMappingURL=dashboard-0e4qOr6Q.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-ByRrf_OD.js","sources":["../../app/javascript/src/utils/dashboard.js"],"sourcesContent":["import { camelToSnakeCase } from \"neetocist\";\nimport { assoc, concat, isEmpty, modify } from \"ramda\";\n\nconst buildEnforcedFilter = (enforceFilter, filterableColumns) => {\n const { key, value, rule, node } = enforceFilter;\n const filterConfig = filterableColumns.find(col => col.key === key);\n\n if (!filterConfig) return null;\n\n return {\n conditions: [\n {\n key,\n node: node || filterConfig.node,\n model: filterConfig.model,\n type: filterConfig.type,\n values: value,\n rule,\n value,\n },\n ],\n };\n};\n\nexport const mergeEnforcedFilters = (\n filters = [],\n enforceFilterValues = [],\n filterableColumns = []\n) => {\n if (isEmpty(enforceFilterValues)) return filters;\n\n // Build full filter objects from enforced values using filterableColumns config\n const enforcedFilters = enforceFilterValues\n .map(enforceFilter => buildEnforcedFilter(enforceFilter, filterableColumns))\n .filter(Boolean);\n\n // Simply append enforced filters to existing filters\n return concat(filters, enforcedFilters);\n};\n\nimport { DEFAULT_PAGE_VALUES } from \"src/constants\";\n\nconst processSortProperties = sortProperties => {\n if (sortProperties.sortBy === \"payment_amount\") {\n return assoc(\n \"sortBy\",\n \"neeto_payments_engine_payments.amount\",\n sortProperties\n );\n }\n\n if (\n sortProperties.sortBy === \"email\" ||\n sortProperties.sortBy === \"first_name\"\n ) {\n return modify(\"sortBy\", concat(\"users.\"), sortProperties);\n }\n\n if (sortProperties.sortBy === \"payable,ends_at\") {\n return assoc(\"sortBy\", \"bookings.ends_at\", sortProperties);\n }\n\n return sortProperties;\n};\n\nexport const buildDefaultPageProperties = tabs =>\n tabs.reduce(\n (pageProperties, tab) => ({\n ...pageProperties,\n [tab]: DEFAULT_PAGE_VALUES,\n }),\n {}\n );\n\nexport const buildPayload = ({\n tab,\n filters,\n pageProperties,\n sortProperties = {},\n payoutId = null,\n}) => ({\n tab: camelToSnakeCase(tab),\n payoutId,\n page: pageProperties[tab]?.page,\n pageSize: pageProperties[tab]?.pageSize,\n filters,\n ...processSortProperties(sortProperties),\n});\n\nexport const buildRowData = ({ data, pageProperties = {}, tab = \"all\" }) =>\n data.map((element, index) => ({\n ...element,\n payable: element.payable,\n identifier: element,\n id: isEmpty(pageProperties)\n ? index + 1\n : pageProperties[tab]?.pageSize * (pageProperties[tab]?.page - 1) +\n index +\n 1,\n }));\n"],"names":["buildEnforcedFilter","enforceFilter","filterableColumns","key","value","rule","node","filterConfig","find","col","conditions","model","type","values","mergeEnforcedFilters","filters","enforceFilterValues","isEmpty","enforcedFilters","map","filter","Boolean","concat","processSortProperties","sortProperties","sortBy","assoc","modify","buildDefaultPageProperties","tabs","reduce","pageProperties","tab","DEFAULT_PAGE_VALUES","buildPayload","payoutId","camelToSnakeCase","page","pageSize","buildRowData","data","element","index","payable","identifier","id"],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-0e4qOr6Q.js","sources":["../../app/javascript/src/utils/dashboard.js"],"sourcesContent":["import { camelToSnakeCase } from \"neetocist\";\nimport { assoc, concat, isEmpty, modify } from \"ramda\";\n\nconst buildEnforcedFilter = (enforceFilter, filterableColumns) => {\n const { key, value, rule, node } = enforceFilter;\n const filterConfig = filterableColumns.find(col => col.key === key);\n\n if (!filterConfig) return null;\n\n return {\n conditions: [\n {\n key,\n node: node || filterConfig.node,\n model: filterConfig.model,\n type: filterConfig.type,\n values: value,\n rule,\n value,\n },\n ],\n };\n};\n\nexport const mergeEnforcedFilters = (\n filters = [],\n enforceFilterValues = [],\n filterableColumns = []\n) => {\n if (isEmpty(enforceFilterValues)) return filters;\n\n // Build full filter objects from enforced values using filterableColumns config\n const enforcedFilters = enforceFilterValues\n .map(enforceFilter => buildEnforcedFilter(enforceFilter, filterableColumns))\n .filter(Boolean);\n\n // Simply append enforced filters to existing filters\n return concat(filters, enforcedFilters);\n};\n\nimport { DEFAULT_PAGE_VALUES } from \"src/constants\";\n\nconst processSortProperties = sortProperties => {\n if (sortProperties.sortBy === \"payment_amount\") {\n return assoc(\n \"sortBy\",\n \"neeto_payments_engine_payments.amount\",\n sortProperties\n );\n }\n\n if (\n sortProperties.sortBy === \"email\" ||\n sortProperties.sortBy === \"first_name\"\n ) {\n return modify(\"sortBy\", concat(\"users.\"), sortProperties);\n }\n\n if (sortProperties.sortBy === \"payable,ends_at\") {\n return assoc(\"sortBy\", \"bookings.ends_at\", sortProperties);\n }\n\n return sortProperties;\n};\n\nexport const buildDefaultPageProperties = tabs =>\n tabs.reduce(\n (pageProperties, tab) => ({\n ...pageProperties,\n [tab]: DEFAULT_PAGE_VALUES,\n }),\n {}\n );\n\nexport const buildPayload = ({\n tab,\n filters,\n pageProperties,\n sortProperties = {},\n payoutId = null,\n}) => ({\n tab: camelToSnakeCase(tab),\n payoutId,\n page: pageProperties[tab]?.page,\n pageSize: pageProperties[tab]?.pageSize,\n filters,\n ...processSortProperties(sortProperties),\n});\n\nexport const buildRowData = ({ data, pageProperties = {}, tab = \"all\" }) =>\n data.map((element, index) => ({\n ...element,\n payable: element.payable,\n identifier: element,\n id: isEmpty(pageProperties)\n ? index + 1\n : pageProperties[tab]?.pageSize * (pageProperties[tab]?.page - 1) +\n index +\n 1,\n }));\n"],"names":["buildEnforcedFilter","enforceFilter","filterableColumns","key","value","rule","node","filterConfig","find","col","conditions","model","type","values","mergeEnforcedFilters","filters","enforceFilterValues","isEmpty","enforcedFilters","map","filter","Boolean","concat","processSortProperties","sortProperties","sortBy","assoc","modify","buildDefaultPageProperties","tabs","reduce","pageProperties","tab","DEFAULT_PAGE_VALUES","buildPayload","payoutId","camelToSnakeCase","page","pageSize","buildRowData","data","element","index","payable","identifier","id"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var constants = require('./index-C3dlLi3r.js');
3
+ var constants = require('./index-d81RoerD.js');
4
4
  require('i18next');
5
5
  require('neetocommons/constants');
6
6
  require('decimal.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var constants = require('./index-C3dlLi3r.js');
3
+ var constants = require('./index-d81RoerD.js');
4
4
  require('i18next');
5
5
  require('neetocommons/constants');
6
6
  require('decimal.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var constants = require('./index-C3dlLi3r.js');
3
+ var constants = require('./index-d81RoerD.js');
4
4
  require('i18next');
5
5
  require('neetocommons/constants');
6
6
  require('decimal.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var constants = require('./index-C3dlLi3r.js');
3
+ var constants = require('./index-d81RoerD.js');
4
4
  require('i18next');
5
5
  require('neetocommons/constants');
6
6
  require('decimal.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var constants = require('./index-C3dlLi3r.js');
3
+ var constants = require('./index-d81RoerD.js');
4
4
  require('i18next');
5
5
  require('neetocommons/constants');
6
6
  require('decimal.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var constants = require('./index-C3dlLi3r.js');
3
+ var constants = require('./index-d81RoerD.js');
4
4
  require('i18next');
5
5
  require('neetocommons/constants');
6
6
  require('decimal.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var constants = require('./index-C3dlLi3r.js');
3
+ var constants = require('./index-d81RoerD.js');
4
4
  require('i18next');
5
5
  require('neetocommons/constants');
6
6
  require('decimal.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var constants = require('./index-C3dlLi3r.js');
3
+ var constants = require('./index-d81RoerD.js');
4
4
  require('i18next');
5
5
  require('neetocommons/constants');
6
6
  require('decimal.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var constants = require('./index-C3dlLi3r.js');
3
+ var constants = require('./index-d81RoerD.js');
4
4
  require('i18next');
5
5
  require('neetocommons/constants');
6
6
  require('decimal.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var constants = require('./index-C3dlLi3r.js');
3
+ var constants = require('./index-d81RoerD.js');
4
4
  require('i18next');
5
5
  require('neetocommons/constants');
6
6
  require('decimal.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var constants = require('./index-C3dlLi3r.js');
3
+ var constants = require('./index-d81RoerD.js');
4
4
  require('i18next');
5
5
  require('neetocommons/constants');
6
6
  require('decimal.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var constants = require('./index-C3dlLi3r.js');
3
+ var constants = require('./index-d81RoerD.js');
4
4
  require('i18next');
5
5
  require('neetocommons/constants');
6
6
  require('decimal.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var constants = require('./index-C3dlLi3r.js');
3
+ var constants = require('./index-d81RoerD.js');
4
4
  require('i18next');
5
5
  require('neetocommons/constants');
6
6
  require('decimal.js');
@@ -11,13 +11,9 @@ const RAZORPAY_CURRENCIES = ["AED", "ALL", "AMD", "ARS", "AUD", "AWG", "AZN", "B
11
11
  const STRIPE_CURRENCIES = ["USD", "AED", "AFN", "ALL", "AMD", "ANG", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BIF", "BMD", "BND", "BOB", "BRL", "BSD", "BWP", "BYN", "BZD", "CAD", "CDF", "CHF", "CLP", "CNY", "COP", "CRC", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EGP", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GIP", "GMD", "GNF", "GTQ", "GYD", "HKD", "HNL", "HTG", "HUF", "IDR", "ILS", "INR", "ISK", "JMD", "JPY", "KES", "KGS", "KHR", "KMF", "KRW", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MUR", "MVR", "MWK", "MXN", "MYR", "MZN", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR", "SBD", "SCR", "SEK", "SGD", "SHP", "SLE", "SOS", "SRD", "STD", "SZL", "THB", "TJS", "TOP", "TRY", "TTD", "TWD", "TZS", "UAH", "UGX", "UYU", "UZS", "VND", "VUV", "WST", "XAF", "XCD", "XOF", "XPF", "YER", "ZAR", "ZMW"];
12
12
 
13
13
  Decimal.set({
14
- rounding: Decimal.ROUND_HALF_UP
14
+ rounding: Decimal.ROUND_HALF_EVEN
15
15
  });
16
- const roundAmount = amount => {
17
- const factor = new Decimal(100); // 10^2 → for 2 decimal places
18
-
19
- return new Decimal(amount).mul(factor).floor().div(factor);
20
- };
16
+ const roundAmount = amount => new Decimal(amount).toDecimalPlaces(2, Decimal.ROUND_HALF_EVEN);
21
17
  const buildStripeTransactionLink = (identifier, isLive = true) => `${STRIPE_DASHBOARD_LINK}${isLive ? "" : "test/"}payments/${identifier}`;
22
18
  const buildStripeAccountLink = (identifier, isLive = true) => `${STRIPE_DASHBOARD_LINK}${isLive ? "" : "test/"}connect/accounts/${identifier}`;
23
19
  const uuidV4 = () => ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16));
@@ -178,12 +174,11 @@ const getAmountToApplyTax = ({
178
174
  return neetocist.isPresent(tip?.value) && isTaxApplicableOnTip ? amountAfterDiscount.plus(tipAmount) : amountAfterDiscount;
179
175
  };
180
176
 
181
- /*
182
- Formats a monetary amount by applying tax (if enabled) and truncating to 2 decimal places to avoid rounding errors in Intl.NumberFormat.
183
-
184
- Why truncate? Rounding can introduce discrepancies between frontend and backend in billing, tax, or total calculations.
185
- Truncation ensures predictable, consistent results.
186
- */
177
+ /**
178
+ * @deprecated Use POST /api/v1/public/amount_breakdowns (single source of truth).
179
+ * Host apps should migrate to the server-formatted breakdown; this function
180
+ * will be removed once all consumers are migrated.
181
+ */
187
182
  const getFormattedAmount = ({
188
183
  amount,
189
184
  discountCode = {},
@@ -212,6 +207,8 @@ const getFormattedAmount = ({
212
207
  const finalAmount = neetocist.isPresent(tip?.value) && !isTaxApplicableOnTip ? taxedAmount.plus(tipAmount) : taxedAmount;
213
208
  return roundAmount(finalAmount).toString();
214
209
  };
210
+
211
+ /** @deprecated Use POST /api/v1/public/amount_breakdowns. */
215
212
  const getFormattedTaxAmount = ({
216
213
  amount,
217
214
  discountCode = {},
@@ -227,6 +224,8 @@ const getFormattedTaxAmount = ({
227
224
  });
228
225
  return roundAmount(getTaxAmount(taxes, amountToApplyTax)).toString();
229
226
  };
227
+
228
+ /** @deprecated Use POST /api/v1/public/amount_breakdowns. */
230
229
  const getFormattedTipAmount = ({
231
230
  amount,
232
231
  tip = {},
@@ -236,6 +235,8 @@ const getFormattedTipAmount = ({
236
235
  tip,
237
236
  discountCode
238
237
  })).toString();
238
+
239
+ /** @deprecated Use POST /api/v1/public/amount_breakdowns. */
239
240
  const getFormattedDiscountedAmount = ({
240
241
  amount,
241
242
  discountCode = {}
@@ -243,6 +244,8 @@ const getFormattedDiscountedAmount = ({
243
244
  amount,
244
245
  discountCode
245
246
  })).toString();
247
+
248
+ /** @deprecated Use POST /api/v1/public/amount_breakdowns. */
246
249
  const getFormattedDiscountedPercentage = ({
247
250
  amount,
248
251
  discountCode = {}
@@ -853,4 +856,4 @@ exports.preProcessStatus = preProcessStatus;
853
856
  exports.processDataIndex = processDataIndex;
854
857
  exports.shouldTabsVisible = shouldTabsVisible;
855
858
  exports.uuidV4 = uuidV4;
856
- //# sourceMappingURL=index-C3dlLi3r.js.map
859
+ //# sourceMappingURL=index-d81RoerD.js.map