@bigbinary/neeto-payments-frontend 6.3.6 → 6.3.8

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 (44) hide show
  1. package/app/javascript/src/translations/ar.json +3 -3
  2. package/app/javascript/src/translations/bg.json +3 -3
  3. package/app/javascript/src/translations/ca.json +3 -3
  4. package/app/javascript/src/translations/cs.json +3 -3
  5. package/app/javascript/src/translations/da.json +3 -3
  6. package/app/javascript/src/translations/de.json +3 -3
  7. package/app/javascript/src/translations/es-MX.json +3 -3
  8. package/app/javascript/src/translations/es.json +3 -3
  9. package/app/javascript/src/translations/et.json +3 -3
  10. package/app/javascript/src/translations/fi.json +3 -3
  11. package/app/javascript/src/translations/fil.json +3 -3
  12. package/app/javascript/src/translations/fr.json +3 -3
  13. package/app/javascript/src/translations/he.json +3 -3
  14. package/app/javascript/src/translations/hi.json +3 -3
  15. package/app/javascript/src/translations/hr.json +3 -3
  16. package/app/javascript/src/translations/hu.json +3 -3
  17. package/app/javascript/src/translations/id.json +3 -3
  18. package/app/javascript/src/translations/it.json +3 -3
  19. package/app/javascript/src/translations/ja.json +3 -3
  20. package/app/javascript/src/translations/ko.json +3 -3
  21. package/app/javascript/src/translations/nl.json +3 -3
  22. package/app/javascript/src/translations/pl.json +3 -3
  23. package/app/javascript/src/translations/pt-BR.json +3 -3
  24. package/app/javascript/src/translations/pt.json +3 -3
  25. package/app/javascript/src/translations/ro.json +3 -3
  26. package/app/javascript/src/translations/ru.json +3 -3
  27. package/app/javascript/src/translations/sk.json +3 -3
  28. package/app/javascript/src/translations/sl.json +3 -3
  29. package/app/javascript/src/translations/sv.json +3 -3
  30. package/app/javascript/src/translations/th.json +3 -3
  31. package/app/javascript/src/translations/tr.json +3 -3
  32. package/app/javascript/src/translations/uk.json +3 -3
  33. package/app/javascript/src/translations/vi.json +3 -3
  34. package/app/javascript/src/translations/zh-CN.json +3 -3
  35. package/app/javascript/src/translations/zh-TW.json +3 -3
  36. package/dist/cjs/v2/ManualUpiPayment.js +3 -3
  37. package/dist/cjs/v2/ManualUpiPayment.js.map +1 -1
  38. package/dist/cjs/v2/RazorpayWebsiteNotice.js +2 -2
  39. package/dist/cjs/v2/RazorpayWebsiteNotice.js.map +1 -1
  40. package/dist/v2/ManualUpiPayment.js +3 -3
  41. package/dist/v2/ManualUpiPayment.js.map +1 -1
  42. package/dist/v2/RazorpayWebsiteNotice.js +2 -2
  43. package/dist/v2/RazorpayWebsiteNotice.js.map +1 -1
  44. package/package.json +7 -7
@@ -152,8 +152,8 @@
152
152
  "sixCharacters": "Transakcijska številka mora imeti 6 znakov",
153
153
  "identifierOrScreenshot": "Prosimo, vnesite identifikacijsko številko transakcije ali naložite plačilno sliko zaslona"
154
154
  },
155
- "vpaText": "Pošljite zgoraj omenjeni znesek na naslednjo UPI ID in vnesite UPI identifikacijsko številko transakcije ali naložite sliko zaslona plačila.",
156
- "vpaText_other": "Pošljite zgoraj omenjeni znesek na katero koli od naslednjih UPI ID-jev in vnesite UPI identifikacijsko številko transakcije ali naložite sliko zaslona plačila.",
155
+ "vpaText": "Prosimo, plačajte zgoraj omenjeno vsoto na naslednji UPI ID. Ko je plačilo končano, vpišite UPI transakcijsko ID ali naložite posnetek zaslona plačila.",
156
+ "vpaText_other": "Prosimo, plačajte zgoraj omenjeno vsoto na katerikoli od naslednjih UPI ID-jev. Ko je plačilo končano, vpišite UPI transakcijsko ID ali naložite posnetek zaslona plačila.",
157
157
  "buttons": {
158
158
  "submit": "Pošlji",
159
159
  "back": "Nazaj",
@@ -164,7 +164,7 @@
164
164
  "screenshot": {
165
165
  "label": "Naloži sliko zaslona plačila",
166
166
  "alt": "Slika zaslona plačila",
167
- "uploadText": "Kliknite za nalaganje slike zaslona plačila",
167
+ "uploadText": "Kliknite tukaj za nalaganje posnetka zaslona plačila",
168
168
  "formatHint": "PNG, JPG do {{maxSize}}MB",
169
169
  "tooLarge": "Velikost datoteke mora biti manjša od {{maxSize}}MB"
170
170
  }
@@ -152,8 +152,8 @@
152
152
  "sixCharacters": "Transaktions-ID ska ha 6 tecken",
153
153
  "identifierOrScreenshot": "Vänligen ange ett transaktions-ID eller ladda upp en betalningsskärmdump"
154
154
  },
155
- "vpaText": "Skicka det ovan nämnda beloppet till följande UPI-ID och ange UPI transaktions-ID:t eller ladda upp betalningsskärmdump.",
156
- "vpaText_other": "Skicka det ovan nämnda beloppet till något av följande UPI-ID:n och ange UPI transaktions-ID:t eller ladda upp betalningsskärmdump.",
155
+ "vpaText": "Vänligen betala det ovan angivna beloppet till följande UPI-ID. När betalningen är genomförd, ange UPI-transaktions-ID eller ladda upp betalningsskärmdump.",
156
+ "vpaText_other": "Vänligen betala det ovan angivna beloppet till något av följande UPI-ID:n. När betalningen är genomförd, ange UPI-transaktions-ID eller ladda upp betalningsskärmdump.",
157
157
  "buttons": {
158
158
  "submit": "Skicka",
159
159
  "back": "Tillbaka",
@@ -164,7 +164,7 @@
164
164
  "screenshot": {
165
165
  "label": "Ladda upp betalningsskärmdump",
166
166
  "alt": "Betalningsskärmdump",
167
- "uploadText": "Klicka för att ladda upp betalningsskärmdump",
167
+ "uploadText": "Klicka här för att ladda upp betalningsskärmdump",
168
168
  "formatHint": "PNG, JPG upp till {{maxSize}}MB",
169
169
  "tooLarge": "Filstorleken måste vara mindre än {{maxSize}}MB"
170
170
  }
@@ -152,8 +152,8 @@
152
152
  "sixCharacters": "รหัสรายการต้องมี 6 ตัวอักษร",
153
153
  "identifierOrScreenshot": "กรุณาใส่หมายเลขการทำธุรกรรมหรืออัปโหลดภาพหน้าจอการชำระเงิน"
154
154
  },
155
- "vpaText": "ส่งจำนวนเงินที่กล่าวถึงข้างต้นไปยัง UPI ID ดังต่อไปนี้และกรอกหมายเลขการทำธุรกรรม UPI หรืออัปโหลดภาพหน้าจอการชำระเงิน",
156
- "vpaText_other": "ส่งจำนวนเงินที่กล่าวถึงข้างต้นไปยัง UPI ID ใด ๆ ดังต่อไปนี้และกรอกหมายเลขการทำธุรกรรม UPI หรืออัปโหลดภาพหน้าจอการชำระเงิน",
155
+ "vpaText": "กรุณาชำระจำนวนเงินที่กล่าวถึงข้างต้นไปยัง UPI ID ต่อไปนี้ เมื่อการชำระเงินเสร็จสิ้น ให้ป้อนหมายเลขธุรกรรม UPI หรืออัปโหลดภาพหน้าจอการชำระเงิน",
156
+ "vpaText_other": "กรุณาชำระจำนวนเงินที่กล่าวถึงข้างต้นไปยัง UPI ID ใด ๆ ต่อไปนี้ เมื่อการชำระเงินเสร็จสิ้น ให้ป้อนหมายเลขธุรกรรม UPI หรืออัปโหลดภาพหน้าจอการชำระเงิน",
157
157
  "buttons": {
158
158
  "submit": "ส่ง",
159
159
  "back": "กลับ",
@@ -164,7 +164,7 @@
164
164
  "screenshot": {
165
165
  "label": "อัปโหลดภาพหน้าจอการชำระเงิน",
166
166
  "alt": "ภาพหน้าจอการชำระเงิน",
167
- "uploadText": "คลิกเพื่อลงภาพหน้าจอการชำระเงิน",
167
+ "uploadText": "คลิกที่นี่เพื่ออัปโหลดภาพหน้าจอการชำระเงิน",
168
168
  "formatHint": "PNG, JPG ขนาดสูงสุด {{maxSize}}MB",
169
169
  "tooLarge": "ขนาดไฟล์ต้องน้อยกว่า {{maxSize}}MB"
170
170
  }
@@ -152,8 +152,8 @@
152
152
  "sixCharacters": "İşlem kimliği 6 karakter olmalıdır",
153
153
  "identifierOrScreenshot": "Lütfen bir işlem kimliği girin veya bir ödeme ekran görüntüsü yükleyin"
154
154
  },
155
- "vpaText": "Yukarıda belirtilen tutarı aşağıdaki UPI ID'sine gönderin ve UPI işlem kimliğini girin veya ödeme ekran görüntüsünü yükleyin.",
156
- "vpaText_other": "Yukarıda belirtilen tutarı aşağıdaki UPI ID'lerinden herhangi birine gönderin ve UPI işlem kimliğini girin veya ödeme ekran görüntüsünü yükleyin.",
155
+ "vpaText": "Lütfen yukarıda belirtilen tutarı aşağıdaki UPI ID'sine ödeyin. Ödeme tamamlandıktan sonra, UPI işlem kimliğini girin veya ödeme ekran görüntüsünü yükleyin.",
156
+ "vpaText_other": "Lütfen yukarıda belirtilen tutarı aşağıdaki UPI ID'lerinden herhangi birine ödeyin. Ödeme tamamlandıktan sonra, UPI işlem kimliğini girin veya ödeme ekran görüntüsünü yükleyin.",
157
157
  "buttons": {
158
158
  "submit": "Gönder",
159
159
  "back": "Geri",
@@ -164,7 +164,7 @@
164
164
  "screenshot": {
165
165
  "label": "Ödeme ekran görüntüsü yükleyin",
166
166
  "alt": "Ödeme ekran görüntüsü",
167
- "uploadText": "Ödeme ekran görüntüsü yüklemek için tıklayın",
167
+ "uploadText": "Ödeme ekran görüntüsünü yüklemek için buraya tıklayın",
168
168
  "formatHint": "{{maxSize}}MB'a kadar PNG, JPG",
169
169
  "tooLarge": "Dosya boyutu {{maxSize}}MB'tan küçük olmalıdır"
170
170
  }
@@ -152,8 +152,8 @@
152
152
  "sixCharacters": "Ідентифікатор транзакції має містити 6 символів",
153
153
  "identifierOrScreenshot": "Будь ласка, введіть ID транзакції або завантажте скріншот платежу"
154
154
  },
155
- "vpaText": "Надішліть вказану вище суму на наступний UPI ID та введіть ID транзакції UPI або завантажте скріншот платежу.",
156
- "vpaText_other": "Надішліть вказану вище суму на будь-який із наступних UPI ID та введіть ID транзакції UPI або завантажте скріншот платежу.",
155
+ "vpaText": "Будь ласка, сплатіть зазначену вище суму за наступним ідентифікатором UPI. Після завершення платежу введіть ідентифікатор транзакції UPI або завантажте скріншот платежу.",
156
+ "vpaText_other": "Будь ласка, сплатіть зазначену вище суму за будь-яким з наступних ідентифікаторів UPI. Після завершення платежу введіть ідентифікатор транзакції UPI або завантажте скріншот платежу.",
157
157
  "buttons": {
158
158
  "submit": "Надіслати",
159
159
  "back": "Назад",
@@ -164,7 +164,7 @@
164
164
  "screenshot": {
165
165
  "label": "Завантажити скріншот платежу",
166
166
  "alt": "Скріншот платежу",
167
- "uploadText": "Натисніть, щоб завантажити скріншот платежу",
167
+ "uploadText": "Натисніть тут, щоб завантажити скріншот платежу",
168
168
  "formatHint": "PNG, JPG до {{maxSize}}МБ",
169
169
  "tooLarge": "Розмір файлу має бути менше {{maxSize}}МБ"
170
170
  }
@@ -152,8 +152,8 @@
152
152
  "sixCharacters": "ID giao dịch phải có 6 ký tự",
153
153
  "identifierOrScreenshot": "Vui lòng nhập ID giao dịch hoặc tải lên ảnh chụp màn hình thanh toán"
154
154
  },
155
- "vpaText": "Gửi số tiền đã đề cập ở trên đến ID UPI sau nhập ID giao dịch UPI hoặc tải lên ảnh chụp màn hình thanh toán.",
156
- "vpaText_other": "Gửi số tiền đã đề cập ở trên đến bất kỳ ID UPI nào dưới đây nhập ID giao dịch UPI hoặc tải lên ảnh chụp màn hình thanh toán.",
155
+ "vpaText": "Vui lòng thanh toán số tiền đã đề cập ở trên cho ID UPI sau. Sau khi thanh toán hoàn tất, hãy nhập ID giao dịch UPI hoặc tải lên ảnh chụp màn hình thanh toán.",
156
+ "vpaText_other": "Vui lòng thanh toán số tiền đã đề cập ở trên cho bất kỳ ID UPI nào trong số sau. Sau khi thanh toán hoàn tất, hãy nhập ID giao dịch UPI hoặc tải lên ảnh chụp màn hình thanh toán.",
157
157
  "buttons": {
158
158
  "submit": "Gửi",
159
159
  "back": "Quay lại",
@@ -164,7 +164,7 @@
164
164
  "screenshot": {
165
165
  "label": "Tải lên ảnh chụp màn hình thanh toán",
166
166
  "alt": "Ảnh chụp màn hình thanh toán",
167
- "uploadText": "Nhấp để tải lên ảnh chụp màn hình thanh toán",
167
+ "uploadText": "Nhấn vào đây để tải lên ảnh chụp màn hình thanh toán",
168
168
  "formatHint": "PNG, JPG tối đa {{maxSize}}MB",
169
169
  "tooLarge": "Kích thước tệp phải nhỏ hơn {{maxSize}}MB"
170
170
  }
@@ -152,8 +152,8 @@
152
152
  "sixCharacters": "交易ID应为6个字符",
153
153
  "identifierOrScreenshot": "请输入交易ID或上传付款截图"
154
154
  },
155
- "vpaText": "将上述金额发送到以下UPI ID,并输入UPI交易ID或上传付款截图。",
156
- "vpaText_other": "将上述金额发送到以下任一UPI ID,并输入UPI交易ID或上传付款截图。",
155
+ "vpaText": "请将上述金额支付到以下 UPI ID。完成付款后,输入 UPI 交易 ID 或上传付款截图。",
156
+ "vpaText_other": "请将上述金额支付到以下任一 UPI ID。完成付款后,输入 UPI 交易 ID 或上传付款截图。",
157
157
  "buttons": {
158
158
  "submit": "提交",
159
159
  "back": "返回",
@@ -164,7 +164,7 @@
164
164
  "screenshot": {
165
165
  "label": "上传付款截图",
166
166
  "alt": "付款截图",
167
- "uploadText": "点击上传付款截图",
167
+ "uploadText": "点击这里上传付款截图",
168
168
  "formatHint": "PNG, JPG 最大 {{maxSize}}MB",
169
169
  "tooLarge": "文件大小必须小于 {{maxSize}}MB"
170
170
  }
@@ -152,8 +152,8 @@
152
152
  "sixCharacters": "交易 ID 必須有 6 個字符",
153
153
  "identifierOrScreenshot": "請輸入交易 ID 或上傳付款截圖"
154
154
  },
155
- "vpaText": "將上述金額發送到以下 UPI ID,並輸入 UPI 交易 ID 或上傳付款截圖。",
156
- "vpaText_other": "將上述金額發送到以下任何 UPI ID,並輸入 UPI 交易 ID 或上傳付款截圖。",
155
+ "vpaText": "請將上述金額支付到以下的 UPI ID。付款完成後,輸入 UPI 交易 ID 或上傳付款截圖。",
156
+ "vpaText_other": "請將上述金額支付到以下任何 UPI ID。付款完成後,輸入 UPI 交易 ID 或上傳付款截圖。",
157
157
  "buttons": {
158
158
  "submit": "提交",
159
159
  "back": "返回",
@@ -164,7 +164,7 @@
164
164
  "screenshot": {
165
165
  "label": "上傳付款截圖",
166
166
  "alt": "付款截圖",
167
- "uploadText": "點擊上傳付款截圖",
167
+ "uploadText": "點擊這裡上傳付款截圖",
168
168
  "formatHint": "PNG, JPG 最大 {{maxSize}}MB",
169
169
  "tooLarge": "檔案大小必須小於 {{maxSize}}MB"
170
170
  }
@@ -112,7 +112,7 @@ const UpiTransactionIdInput = ({
112
112
  onPaste: handlePaste,
113
113
  children: slots.map((slot, index) => /*#__PURE__*/jsxRuntime.jsx("input", {
114
114
  autoComplete: "off",
115
- className: "h-10 w-8 neeto-ui-rounded border neeto-ui-border-gray-300 text-center text-base focus:neeto-ui-border-gray-500 focus:outline-none",
115
+ className: "h-10 w-8 rounded border border-gray-300 text-center text-base focus:border-gray-500 focus:outline-none",
116
116
  "data-testid": `upi-transaction-id-box-${index}`,
117
117
  inputMode: "numeric",
118
118
  maxLength: 1,
@@ -125,7 +125,7 @@ const UpiTransactionIdInput = ({
125
125
  onKeyDown: event => handleKeyDown(index, event)
126
126
  }, index))
127
127
  }), showError && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
128
- className: "neeto-ui-text-error-500 mt-1",
128
+ className: "text-error-500 mt-1",
129
129
  variant: "body3",
130
130
  children: meta.error
131
131
  })]
@@ -221,7 +221,7 @@ const ManualUpiPayment = ({
221
221
  dirty
222
222
  }) => /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
223
223
  children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
224
- className: "neeto-ui-text-gray-600",
224
+ className: "text-gray-600",
225
225
  variant: "body2",
226
226
  children: t("neetoPayments.upi.payment.vpaText", {
227
227
  count: vpaIds.length
@@ -1 +1 @@
1
- {"version":3,"file":"ManualUpiPayment.js","sources":["../../../app/javascript/src/v2/components/ManualUpiPayment/constants.js","../../../app/javascript/src/v2/components/ManualUpiPayment/UpiTransactionIdInput.jsx","../../../app/javascript/src/v2/components/ManualUpiPayment/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isPresent, isNotPresent } from \"neetocist\";\nimport * as yup from \"yup\";\n\nexport const ACCEPTED_SCREENSHOT_FORMATS = \"image/png,image/jpeg,image/jpg\";\n\nexport const MAX_SCREENSHOT_SIZE_MB = 5;\n\nexport const DIRECT_UPLOAD_URL = \"/rails/active_storage/direct_uploads\";\n\nexport const INITIAL_VALUES = { identifier: \"\" };\n\nexport const UPI_TRANSACTION_ID_LENGTH = 12;\n\nexport const buildValidationSchema = screenshotFile =>\n yup.object({\n identifier: yup\n .number()\n .typeError(\n t(\"neetoPayments.validations.invalidField\", {\n entity: t(\"neetoPayments.common.transactionId\"),\n })\n )\n .nullable()\n .transform((value, originalValue) =>\n originalValue === \"\" ? null : value\n )\n .test(\n \"identifier-or-screenshot\",\n t(\"neetoPayments.upi.payment.transaction.identifierOrScreenshot\"),\n value => isPresent(value) || isPresent(screenshotFile)\n )\n .test(\n \"is-integer\",\n t(\"neetoPayments.validations.invalidField\", {\n entity: t(\"neetoPayments.common.transactionId\"),\n }),\n value => isNotPresent(value) || Number.isInteger(value)\n )\n .test(\n \"len\",\n t(\"neetoPayments.validations.length\", { length: 12 }),\n value => isNotPresent(value) || value?.toString().length === 12\n ),\n });\n","import { useRef, useState } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { useField } from \"formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { UPI_TRANSACTION_ID_LENGTH as LENGTH } from \"./constants\";\n\nconst toSlots = value =>\n Array.from({ length: LENGTH }, (_, index) => value[index] ?? \"\");\n\nconst UpiTransactionIdInput = ({ name = \"identifier\" }) => {\n const { t } = useTranslation();\n const [, meta, helpers] = useField(name);\n const inputsRef = useRef([]);\n const [slots, setSlots] = useState(() =>\n toSlots((meta.initialValue ?? \"\").toString())\n );\n\n const sync = nextSlots => {\n setSlots(nextSlots);\n helpers.setValue(nextSlots.join(\"\"));\n };\n\n const setDigit = (index, digit) =>\n sync(slots.map((slot, i) => (i === index ? digit : slot)));\n\n const focusBox = index => inputsRef.current[index]?.focus();\n\n const handleChange = (index, event) => {\n const sanitized = event.target.value.replace(/\\D/g, \"\");\n setDigit(index, sanitized ? sanitized[sanitized.length - 1] : \"\");\n if (sanitized && index < LENGTH - 1) focusBox(index + 1);\n };\n\n const handleKeyDown = (index, event) => {\n if (event.key === \"Backspace\" && !slots[index] && index > 0) {\n event.preventDefault();\n setDigit(index - 1, \"\");\n focusBox(index - 1);\n } else if (event.key === \"ArrowLeft\" && index > 0) {\n focusBox(index - 1);\n } else if (event.key === \"ArrowRight\" && index < LENGTH - 1) {\n focusBox(index + 1);\n }\n };\n\n const handlePaste = event => {\n event.preventDefault();\n const pasted = event.clipboardData\n .getData(\"text\")\n .replace(/\\D/g, \"\")\n .slice(0, LENGTH);\n if (!pasted) return;\n\n sync(toSlots(pasted));\n focusBox(Math.min(pasted.length, LENGTH - 1));\n };\n\n const showError = meta.touched && meta.error;\n\n return (\n <div>\n <Typography className=\"mb-2\" variant=\"body2\" weight=\"medium\">\n {t(\"neetoPayments.upi.payment.transaction.label\")}\n </Typography>\n <div className=\"flex flex-wrap gap-2\" onPaste={handlePaste}>\n {slots.map((slot, index) => (\n <input\n autoComplete=\"off\"\n className=\"h-10 w-8 neeto-ui-rounded border neeto-ui-border-gray-300 text-center text-base focus:neeto-ui-border-gray-500 focus:outline-none\"\n data-testid={`upi-transaction-id-box-${index}`}\n inputMode=\"numeric\"\n key={index}\n maxLength={1}\n ref={element => (inputsRef.current[index] = element)}\n type=\"text\"\n value={slot}\n onBlur={() => helpers.setTouched(true)}\n onChange={event => handleChange(index, event)}\n onFocus={event => event.target.select()}\n onKeyDown={event => handleKeyDown(index, event)}\n />\n ))}\n </div>\n {showError && (\n <Typography className=\"neeto-ui-text-error-500 mt-1\" variant=\"body3\">\n {meta.error}\n </Typography>\n )}\n </div>\n );\n};\n\nexport default UpiTransactionIdInput;\n","import { useRef, useState, useMemo, useEffect } from \"react\";\n\nimport { Button, Toastr, Typography } from \"@bigbinary/neeto-atoms\";\nimport { ActionBlock, Form } from \"@bigbinary/neeto-atoms/formik\";\nimport { DirectUpload } from \"@rails/activestorage\";\nimport { X } from \"lucide-react\";\nimport { noop, isPresent } from \"neetocist\";\nimport QRCodeImage from \"qrcode.react\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateUpiPayment } from \"hooks/reactQuery/manualUpi/usePaymentApi\";\nimport { getQrCodeValue } from \"utils\";\n\nimport {\n buildValidationSchema,\n ACCEPTED_SCREENSHOT_FORMATS,\n MAX_SCREENSHOT_SIZE_MB,\n DIRECT_UPLOAD_URL,\n INITIAL_VALUES,\n} from \"./constants\";\nimport UpiTransactionIdInput from \"./UpiTransactionIdInput\";\n\nconst ManualUpiPayment = ({\n fee,\n payableId,\n tip,\n amount,\n discountCode,\n customAmount,\n handleCancel,\n payableType = null,\n onBeforePayment = noop,\n onFailedPayment = noop,\n onSuccessfulPayment = noop,\n}) => {\n const { t } = useTranslation();\n const fileInputRef = useRef(null);\n const [screenshotFile, setScreenshotFile] = useState(null);\n const [isUploading, setIsUploading] = useState(false);\n\n const screenshotPreview = useMemo(\n () => (screenshotFile ? URL.createObjectURL(screenshotFile) : null),\n [screenshotFile]\n );\n\n useEffect(\n () => () => {\n if (screenshotPreview) URL.revokeObjectURL(screenshotPreview);\n },\n [screenshotPreview]\n );\n\n const vpaIds = pluck(\"address\", fee?.vpas);\n const amountToUpi = customAmount || amount;\n\n const { isPending, mutate: createPayment } = useCreateUpiPayment({\n onSuccess: onSuccessfulPayment,\n onError: onFailedPayment,\n });\n\n const validationSchema = useMemo(\n () => buildValidationSchema(screenshotFile),\n [screenshotFile]\n );\n\n const handleScreenshotSelect = event => {\n const file = event.target.files[0];\n if (!file) return;\n\n if (file.size > MAX_SCREENSHOT_SIZE_MB * 1024 * 1024) {\n Toastr.error(\n t(\"neetoPayments.upi.payment.screenshot.tooLarge\", {\n maxSize: MAX_SCREENSHOT_SIZE_MB,\n })\n );\n\n return;\n }\n\n setScreenshotFile(file);\n };\n\n const handleRemoveScreenshot = () => {\n setScreenshotFile(null);\n if (fileInputRef.current) fileInputRef.current.value = \"\";\n };\n\n const uploadScreenshot = file =>\n new Promise((resolve, reject) => {\n const upload = new DirectUpload(file, DIRECT_UPLOAD_URL);\n upload.create((error, blob) => {\n if (error) reject(error);\n else resolve(blob.signed_id);\n });\n });\n\n const handleSubmit = async values => {\n onBeforePayment();\n\n let paymentScreenshot = null;\n if (screenshotFile) {\n try {\n setIsUploading(true);\n paymentScreenshot = await uploadScreenshot(screenshotFile);\n } catch {\n onFailedPayment();\n\n return;\n } finally {\n setIsUploading(false);\n }\n }\n\n createPayment({\n ...values,\n payableId,\n customAmount,\n payableType,\n discountCode,\n tipAttributes: tip,\n paymentScreenshot,\n });\n };\n\n return (\n <Form\n className=\"space-y-4\"\n formikProps={{\n onSubmit: handleSubmit,\n initialValues: INITIAL_VALUES,\n validationSchema,\n }}\n >\n {({ dirty }) => (\n <>\n <Typography className=\"neeto-ui-text-gray-600\" variant=\"body2\">\n {t(\"neetoPayments.upi.payment.vpaText\", { count: vpaIds.length })}\n </Typography>\n {isPresent(vpaIds) && (\n <div className=\"flex flex-wrap gap-8\">\n {vpaIds.map(vpaId => (\n <div\n className=\"flex flex-col items-center justify-center\"\n key={vpaId}\n >\n <QRCodeImage\n size={256}\n style={{ width: 120, height: 120 }}\n value={getQrCodeValue(vpaId, amountToUpi)}\n />\n <Typography\n className=\"w-full mt-2 text-center wrap-break-word\"\n variant=\"body2\"\n weight=\"medium\"\n >\n {vpaId}\n </Typography>\n </div>\n ))}\n </div>\n )}\n <UpiTransactionIdInput name=\"identifier\" />\n <div className=\"flex items-center gap-3\">\n <hr className=\"flex-1 border-border\" />\n <Typography className=\"uppercase\" color=\"muted\" variant=\"body2\">\n {t(\"neetoPayments.common.or\")}\n </Typography>\n <hr className=\"flex-1 border-border\" />\n </div>\n <div>\n <Typography className=\"mb-2\" variant=\"body2\" weight=\"medium\">\n {t(\"neetoPayments.upi.payment.screenshot.label\")}\n </Typography>\n {screenshotPreview ? (\n <div className=\"relative inline-block\">\n <img\n alt={t(\"neetoPayments.upi.payment.screenshot.alt\")}\n className=\"max-h-40 rounded border border-border\"\n src={screenshotPreview}\n />\n <Button\n className=\"absolute -end-2 -top-2 rounded-full bg-background shadow-sm\"\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n onClick={handleRemoveScreenshot}\n />\n </div>\n ) : (\n <div\n className=\"flex cursor-pointer flex-col items-center justify-center rounded border-2 border-dashed border-border p-6 transition-colors hover:border-ring\"\n role=\"button\"\n tabIndex={0}\n onClick={() => fileInputRef.current?.click()}\n onKeyDown={e => {\n if (e.key === \"Enter\" || e.key === \" \") {\n fileInputRef.current?.click();\n }\n }}\n >\n <i className=\"ri-upload-2-line text-2xl text-muted-foreground\" />\n <Typography\n className=\"mt-1 text-blue-600 hover:underline\"\n variant=\"caption\"\n weight=\"medium\"\n >\n {t(\"neetoPayments.upi.payment.screenshot.uploadText\")}\n </Typography>\n <Typography color=\"muted\" variant=\"nano\">\n {t(\"neetoPayments.upi.payment.screenshot.formatHint\", {\n maxSize: MAX_SCREENSHOT_SIZE_MB,\n })}\n </Typography>\n </div>\n )}\n <input\n accept={ACCEPTED_SCREENSHOT_FORMATS}\n className=\"hidden\"\n data-testid=\"manual-upi-screenshot-upload-input-field\"\n ref={fileInputRef}\n type=\"file\"\n onChange={handleScreenshotSelect}\n />\n </div>\n <ActionBlock\n cancelButtonProps={{\n label: t(\"neetoPayments.upi.payment.buttons.back\"),\n onClick: handleCancel,\n disabled: isPending,\n }}\n submitButtonProps={{\n label: t(\"neetoPayments.upi.payment.buttons.submit\"),\n disabled: (!dirty && !screenshotFile) || isPending || isUploading,\n loading: isPending || isUploading,\n }}\n />\n </>\n )}\n </Form>\n );\n};\n\nexport default ManualUpiPayment;\n"],"names":["ACCEPTED_SCREENSHOT_FORMATS","MAX_SCREENSHOT_SIZE_MB","DIRECT_UPLOAD_URL","INITIAL_VALUES","identifier","UPI_TRANSACTION_ID_LENGTH","buildValidationSchema","screenshotFile","yup","object","number","typeError","t","entity","nullable","transform","value","originalValue","test","isPresent","isNotPresent","Number","isInteger","length","toString","toSlots","Array","from","LENGTH","_","index","UpiTransactionIdInput","name","useTranslation","meta","helpers","useField","inputsRef","useRef","slots","setSlots","useState","initialValue","sync","nextSlots","setValue","join","setDigit","digit","map","slot","i","focusBox","current","focus","handleChange","event","sanitized","target","replace","handleKeyDown","key","preventDefault","handlePaste","pasted","clipboardData","getData","slice","Math","min","showError","touched","error","_jsxs","children","_jsx","Typography","className","variant","weight","onPaste","autoComplete","inputMode","maxLength","ref","element","type","onBlur","setTouched","onChange","onFocus","select","onKeyDown","ManualUpiPayment","fee","payableId","tip","amount","discountCode","customAmount","handleCancel","payableType","onBeforePayment","noop","onFailedPayment","onSuccessfulPayment","fileInputRef","setScreenshotFile","isUploading","setIsUploading","screenshotPreview","useMemo","URL","createObjectURL","useEffect","revokeObjectURL","vpaIds","pluck","vpas","amountToUpi","isPending","mutate","createPayment","useCreateUpiPayment","onSuccess","onError","validationSchema","handleScreenshotSelect","file","files","size","Toastr","maxSize","handleRemoveScreenshot","uploadScreenshot","Promise","resolve","reject","upload","DirectUpload","create","blob","signed_id","handleSubmit","values","paymentScreenshot","tipAttributes","Form","formikProps","onSubmit","initialValues","dirty","_Fragment","count","vpaId","QRCodeImage","style","width","height","getQrCodeValue","color","alt","src","Button","icon","X","onClick","role","tabIndex","click","e","accept","ActionBlock","cancelButtonProps","label","disabled","submitButtonProps","loading"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,MAAMA,2BAA2B,GAAG,gCAAgC;AAEpE,MAAMC,sBAAsB,GAAG,CAAC;AAEhC,MAAMC,iBAAiB,GAAG,sCAAsC;AAEhE,MAAMC,cAAc,GAAG;AAAEC,EAAAA,UAAU,EAAE;AAAG,CAAC;AAEzC,MAAMC,yBAAyB,GAAG,EAAE;AAEpC,MAAMC,qBAAqB,GAAGC,cAAc,IACjDC,cAAG,CAACC,MAAM,CAAC;AACTL,EAAAA,UAAU,EAAEI,cAAG,CACZE,MAAM,EAAE,CACRC,SAAS,CACRC,SAAC,CAAC,wCAAwC,EAAE;IAC1CC,MAAM,EAAED,SAAC,CAAC,oCAAoC;GAC/C,CACH,CAAC,CACAE,QAAQ,EAAE,CACVC,SAAS,CAAC,CAACC,KAAK,EAAEC,aAAa,KAC9BA,aAAa,KAAK,EAAE,GAAG,IAAI,GAAGD,KAChC,CAAC,CACAE,IAAI,CACH,0BAA0B,EAC1BN,SAAC,CAAC,8DAA8D,CAAC,EACjEI,KAAK,IAAIG,mBAAS,CAACH,KAAK,CAAC,IAAIG,mBAAS,CAACZ,cAAc,CACvD,CAAC,CACAW,IAAI,CACH,YAAY,EACZN,SAAC,CAAC,wCAAwC,EAAE;IAC1CC,MAAM,EAAED,SAAC,CAAC,oCAAoC;GAC/C,CAAC,EACFI,KAAK,IAAII,sBAAY,CAACJ,KAAK,CAAC,IAAIK,MAAM,CAACC,SAAS,CAACN,KAAK,CACxD,CAAC,CACAE,IAAI,CACH,KAAK,EACLN,SAAC,CAAC,kCAAkC,EAAE;AAAEW,IAAAA,MAAM,EAAE;AAAG,GAAC,CAAC,EACrDP,KAAK,IAAII,sBAAY,CAACJ,KAAK,CAAC,IAAIA,KAAK,EAAEQ,QAAQ,EAAE,CAACD,MAAM,KAAK,EAC/D;AACJ,CAAC,CAAC;;ACpCJ,MAAME,OAAO,GAAGT,KAAK,IACnBU,KAAK,CAACC,IAAI,CAAC;AAAEJ,EAAAA,MAAM,EAAEK;AAAO,CAAC,EAAE,CAACC,CAAC,EAAEC,KAAK,KAAKd,KAAK,CAACc,KAAK,CAAC,IAAI,EAAE,CAAC;AAElE,MAAMC,qBAAqB,GAAGA,CAAC;AAAEC,EAAAA,IAAI,GAAG;AAAa,CAAC,KAAK;EACzD,MAAM;AAAEpB,IAAAA;GAAG,GAAGqB,2BAAc,EAAE;EAC9B,MAAM,GAAGC,IAAI,EAAEC,OAAO,CAAC,GAAGC,eAAQ,CAACJ,IAAI,CAAC;AACxC,EAAA,MAAMK,SAAS,GAAGC,YAAM,CAAC,EAAE,CAAC;EAC5B,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGC,cAAQ,CAAC,MACjChB,OAAO,CAAC,CAACS,IAAI,CAACQ,YAAY,IAAI,EAAE,EAAElB,QAAQ,EAAE,CAC9C,CAAC;EAED,MAAMmB,IAAI,GAAGC,SAAS,IAAI;IACxBJ,QAAQ,CAACI,SAAS,CAAC;IACnBT,OAAO,CAACU,QAAQ,CAACD,SAAS,CAACE,IAAI,CAAC,EAAE,CAAC,CAAC;EACtC,CAAC;EAED,MAAMC,QAAQ,GAAGA,CAACjB,KAAK,EAAEkB,KAAK,KAC5BL,IAAI,CAACJ,KAAK,CAACU,GAAG,CAAC,CAACC,IAAI,EAAEC,CAAC,KAAMA,CAAC,KAAKrB,KAAK,GAAGkB,KAAK,GAAGE,IAAK,CAAC,CAAC;AAE5D,EAAA,MAAME,QAAQ,GAAGtB,KAAK,IAAIO,SAAS,CAACgB,OAAO,CAACvB,KAAK,CAAC,EAAEwB,KAAK,EAAE;AAE3D,EAAA,MAAMC,YAAY,GAAGA,CAACzB,KAAK,EAAE0B,KAAK,KAAK;AACrC,IAAA,MAAMC,SAAS,GAAGD,KAAK,CAACE,MAAM,CAAC1C,KAAK,CAAC2C,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AACvDZ,IAAAA,QAAQ,CAACjB,KAAK,EAAE2B,SAAS,GAAGA,SAAS,CAACA,SAAS,CAAClC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;AACjE,IAAA,IAAIkC,SAAS,IAAI3B,KAAK,GAAGF,yBAAM,GAAG,CAAC,EAAEwB,QAAQ,CAACtB,KAAK,GAAG,CAAC,CAAC;EAC1D,CAAC;AAED,EAAA,MAAM8B,aAAa,GAAGA,CAAC9B,KAAK,EAAE0B,KAAK,KAAK;AACtC,IAAA,IAAIA,KAAK,CAACK,GAAG,KAAK,WAAW,IAAI,CAACtB,KAAK,CAACT,KAAK,CAAC,IAAIA,KAAK,GAAG,CAAC,EAAE;MAC3D0B,KAAK,CAACM,cAAc,EAAE;AACtBf,MAAAA,QAAQ,CAACjB,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC;AACvBsB,MAAAA,QAAQ,CAACtB,KAAK,GAAG,CAAC,CAAC;IACrB,CAAC,MAAM,IAAI0B,KAAK,CAACK,GAAG,KAAK,WAAW,IAAI/B,KAAK,GAAG,CAAC,EAAE;AACjDsB,MAAAA,QAAQ,CAACtB,KAAK,GAAG,CAAC,CAAC;AACrB,IAAA,CAAC,MAAM,IAAI0B,KAAK,CAACK,GAAG,KAAK,YAAY,IAAI/B,KAAK,GAAGF,yBAAM,GAAG,CAAC,EAAE;AAC3DwB,MAAAA,QAAQ,CAACtB,KAAK,GAAG,CAAC,CAAC;AACrB,IAAA;EACF,CAAC;EAED,MAAMiC,WAAW,GAAGP,KAAK,IAAI;IAC3BA,KAAK,CAACM,cAAc,EAAE;IACtB,MAAME,MAAM,GAAGR,KAAK,CAACS,aAAa,CAC/BC,OAAO,CAAC,MAAM,CAAC,CACfP,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAClBQ,KAAK,CAAC,CAAC,EAAEvC,yBAAM,CAAC;IACnB,IAAI,CAACoC,MAAM,EAAE;AAEbrB,IAAAA,IAAI,CAAClB,OAAO,CAACuC,MAAM,CAAC,CAAC;AACrBZ,IAAAA,QAAQ,CAACgB,IAAI,CAACC,GAAG,CAACL,MAAM,CAACzC,MAAM,EAAEK,yBAAM,GAAG,CAAC,CAAC,CAAC;EAC/C,CAAC;EAED,MAAM0C,SAAS,GAAGpC,IAAI,CAACqC,OAAO,IAAIrC,IAAI,CAACsC,KAAK;AAE5C,EAAA,oBACEC,eAAA,CAAA,KAAA,EAAA;IAAAC,QAAA,EAAA,cACEC,cAAA,CAACC,qBAAU,EAAA;AAACC,MAAAA,SAAS,EAAC,MAAM;AAACC,MAAAA,OAAO,EAAC,OAAO;AAACC,MAAAA,MAAM,EAAC,QAAQ;MAAAL,QAAA,EACzD9D,CAAC,CAAC,6CAA6C;KACtC,CAAC,eACb+D,cAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,sBAAsB;AAACG,MAAAA,OAAO,EAAEjB,WAAY;MAAAW,QAAA,EACxDnC,KAAK,CAACU,GAAG,CAAC,CAACC,IAAI,EAAEpB,KAAK,kBACrB6C,cAAA,CAAA,OAAA,EAAA;AACEM,QAAAA,YAAY,EAAC,KAAK;AAClBJ,QAAAA,SAAS,EAAC,mIAAmI;QAC7I,aAAA,EAAa,CAAA,uBAAA,EAA0B/C,KAAK,CAAA,CAAG;AAC/CoD,QAAAA,SAAS,EAAC,SAAS;AAEnBC,QAAAA,SAAS,EAAE,CAAE;QACbC,GAAG,EAAEC,OAAO,IAAKhD,SAAS,CAACgB,OAAO,CAACvB,KAAK,CAAC,GAAGuD,OAAS;AACrDC,QAAAA,IAAI,EAAC,MAAM;AACXtE,QAAAA,KAAK,EAAEkC,IAAK;QACZqC,MAAM,EAAEA,MAAMpD,OAAO,CAACqD,UAAU,CAAC,IAAI,CAAE;QACvCC,QAAQ,EAAEjC,KAAK,IAAID,YAAY,CAACzB,KAAK,EAAE0B,KAAK,CAAE;QAC9CkC,OAAO,EAAElC,KAAK,IAAIA,KAAK,CAACE,MAAM,CAACiC,MAAM,EAAG;AACxCC,QAAAA,SAAS,EAAEpC,KAAK,IAAII,aAAa,CAAC9B,KAAK,EAAE0B,KAAK;AAAE,OAAA,EAR3C1B,KASN,CACF;AAAC,KACC,CAAC,EACLwC,SAAS,iBACRK,cAAA,CAACC,qBAAU,EAAA;AAACC,MAAAA,SAAS,EAAC,8BAA8B;AAACC,MAAAA,OAAO,EAAC,OAAO;MAAAJ,QAAA,EACjExC,IAAI,CAACsC;AAAK,KACD,CACb;AAAA,GACE,CAAC;AAEV,CAAC;;ACrED,MAAMqB,gBAAgB,GAAGA,CAAC;EACxBC,GAAG;EACHC,SAAS;EACTC,GAAG;EACHC,MAAM;EACNC,YAAY;EACZC,YAAY;EACZC,YAAY;AACZC,EAAAA,WAAW,GAAG,IAAI;AAClBC,EAAAA,eAAe,GAAGC,cAAI;AACtBC,EAAAA,eAAe,GAAGD,cAAI;AACtBE,EAAAA,mBAAmB,GAAGF;AACxB,CAAC,KAAK;EACJ,MAAM;AAAE3F,IAAAA;GAAG,GAAGqB,2BAAc,EAAE;AAC9B,EAAA,MAAMyE,YAAY,GAAGpE,YAAM,CAAC,IAAI,CAAC;EACjC,MAAM,CAAC/B,cAAc,EAAEoG,iBAAiB,CAAC,GAAGlE,cAAQ,CAAC,IAAI,CAAC;EAC1D,MAAM,CAACmE,WAAW,EAAEC,cAAc,CAAC,GAAGpE,cAAQ,CAAC,KAAK,CAAC;AAErD,EAAA,MAAMqE,iBAAiB,GAAGC,aAAO,CAC/B,MAAOxG,cAAc,GAAGyG,GAAG,CAACC,eAAe,CAAC1G,cAAc,CAAC,GAAG,IAAK,EACnE,CAACA,cAAc,CACjB,CAAC;EAED2G,eAAS,CACP,MAAM,MAAM;AACV,IAAA,IAAIJ,iBAAiB,EAAEE,GAAG,CAACG,eAAe,CAACL,iBAAiB,CAAC;AAC/D,EAAA,CAAC,EACD,CAACA,iBAAiB,CACpB,CAAC;EAED,MAAMM,MAAM,GAAGC,WAAK,CAAC,SAAS,EAAEvB,GAAG,EAAEwB,IAAI,CAAC;AAC1C,EAAA,MAAMC,WAAW,GAAGpB,YAAY,IAAIF,MAAM;EAE1C,MAAM;IAAEuB,SAAS;AAAEC,IAAAA,MAAM,EAAEC;GAAe,GAAGC,iCAAmB,CAAC;AAC/DC,IAAAA,SAAS,EAAEnB,mBAAmB;AAC9BoB,IAAAA,OAAO,EAAErB;AACX,GAAC,CAAC;AAEF,EAAA,MAAMsB,gBAAgB,GAAGf,aAAO,CAC9B,MAAMzG,qBAAqB,CAACC,cAAc,CAAC,EAC3C,CAACA,cAAc,CACjB,CAAC;EAED,MAAMwH,sBAAsB,GAAGvE,KAAK,IAAI;IACtC,MAAMwE,IAAI,GAAGxE,KAAK,CAACE,MAAM,CAACuE,KAAK,CAAC,CAAC,CAAC;IAClC,IAAI,CAACD,IAAI,EAAE;IAEX,IAAIA,IAAI,CAACE,IAAI,GAAGjI,sBAAsB,GAAG,IAAI,GAAG,IAAI,EAAE;AACpDkI,MAAAA,iBAAM,CAAC3D,KAAK,CACV5D,CAAC,CAAC,+CAA+C,EAAE;AACjDwH,QAAAA,OAAO,EAAEnI;AACX,OAAC,CACH,CAAC;AAED,MAAA;AACF,IAAA;IAEA0G,iBAAiB,CAACqB,IAAI,CAAC;EACzB,CAAC;EAED,MAAMK,sBAAsB,GAAGA,MAAM;IACnC1B,iBAAiB,CAAC,IAAI,CAAC;IACvB,IAAID,YAAY,CAACrD,OAAO,EAAEqD,YAAY,CAACrD,OAAO,CAACrC,KAAK,GAAG,EAAE;EAC3D,CAAC;EAED,MAAMsH,gBAAgB,GAAGN,IAAI,IAC3B,IAAIO,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC/B,MAAMC,MAAM,GAAG,IAAIC,0BAAY,CAACX,IAAI,EAAE9H,iBAAiB,CAAC;AACxDwI,IAAAA,MAAM,CAACE,MAAM,CAAC,CAACpE,KAAK,EAAEqE,IAAI,KAAK;AAC7B,MAAA,IAAIrE,KAAK,EAAEiE,MAAM,CAACjE,KAAK,CAAC,CAAC,KACpBgE,OAAO,CAACK,IAAI,CAACC,SAAS,CAAC;AAC9B,IAAA,CAAC,CAAC;AACJ,EAAA,CAAC,CAAC;AAEJ,EAAA,MAAMC,YAAY,GAAG,MAAMC,MAAM,IAAI;AACnC1C,IAAAA,eAAe,EAAE;IAEjB,IAAI2C,iBAAiB,GAAG,IAAI;AAC5B,IAAA,IAAI1I,cAAc,EAAE;MAClB,IAAI;QACFsG,cAAc,CAAC,IAAI,CAAC;AACpBoC,QAAAA,iBAAiB,GAAG,MAAMX,gBAAgB,CAAC/H,cAAc,CAAC;AAC5D,MAAA,CAAC,CAAC,MAAM;AACNiG,QAAAA,eAAe,EAAE;AAEjB,QAAA;AACF,MAAA,CAAC,SAAS;QACRK,cAAc,CAAC,KAAK,CAAC;AACvB,MAAA;AACF,IAAA;AAEAa,IAAAA,aAAa,CAAC;AACZ,MAAA,GAAGsB,MAAM;MACTjD,SAAS;MACTI,YAAY;MACZE,WAAW;MACXH,YAAY;AACZgD,MAAAA,aAAa,EAAElD,GAAG;AAClBiD,MAAAA;AACF,KAAC,CAAC;EACJ,CAAC;EAED,oBACEtE,cAAA,CAACwE,aAAI,EAAA;AACHtE,IAAAA,SAAS,EAAC,WAAW;AACrBuE,IAAAA,WAAW,EAAE;AACXC,MAAAA,QAAQ,EAAEN,YAAY;AACtBO,MAAAA,aAAa,EAAEnJ,cAAc;AAC7B2H,MAAAA;KACA;AAAApD,IAAAA,QAAA,EAEDA,CAAC;AAAE6E,MAAAA;KAAO,kBACT9E,eAAA,CAAA+E,mBAAA,EAAA;MAAA9E,QAAA,EAAA,cACEC,cAAA,CAACC,qBAAU,EAAA;AAACC,QAAAA,SAAS,EAAC,wBAAwB;AAACC,QAAAA,OAAO,EAAC,OAAO;AAAAJ,QAAAA,QAAA,EAC3D9D,CAAC,CAAC,mCAAmC,EAAE;UAAE6I,KAAK,EAAErC,MAAM,CAAC7F;SAAQ;AAAC,OACvD,CAAC,EACZJ,mBAAS,CAACiG,MAAM,CAAC,iBAChBzC,cAAA,CAAA,KAAA,EAAA;AAAKE,QAAAA,SAAS,EAAC,sBAAsB;AAAAH,QAAAA,QAAA,EAClC0C,MAAM,CAACnE,GAAG,CAACyG,KAAK,iBACfjF,eAAA,CAAA,KAAA,EAAA;AACEI,UAAAA,SAAS,EAAC,2CAA2C;UAAAH,QAAA,EAAA,cAGrDC,cAAA,CAACgF,WAAW,EAAA;AACVzB,YAAAA,IAAI,EAAE,GAAI;AACV0B,YAAAA,KAAK,EAAE;AAAEC,cAAAA,KAAK,EAAE,GAAG;AAAEC,cAAAA,MAAM,EAAE;aAAM;AACnC9I,YAAAA,KAAK,EAAE+I,wBAAc,CAACL,KAAK,EAAEnC,WAAW;AAAE,WAC3C,CAAC,eACF5C,cAAA,CAACC,qBAAU,EAAA;AACTC,YAAAA,SAAS,EAAC,yCAAyC;AACnDC,YAAAA,OAAO,EAAC,OAAO;AACfC,YAAAA,MAAM,EAAC,QAAQ;AAAAL,YAAAA,QAAA,EAEdgF;AAAK,WACI,CAAC;AAAA,SAAA,EAbRA,KAcF,CACN;AAAC,OACC,CACN,eACD/E,cAAA,CAAC5C,qBAAqB,EAAA;AAACC,QAAAA,IAAI,EAAC;OAAc,CAAC,eAC3CyC,eAAA,CAAA,KAAA,EAAA;AAAKI,QAAAA,SAAS,EAAC,yBAAyB;AAAAH,QAAAA,QAAA,gBACtCC,cAAA,CAAA,IAAA,EAAA;AAAIE,UAAAA,SAAS,EAAC;AAAsB,SAAE,CAAC,eACvCF,cAAA,CAACC,qBAAU,EAAA;AAACC,UAAAA,SAAS,EAAC,WAAW;AAACmF,UAAAA,KAAK,EAAC,OAAO;AAAClF,UAAAA,OAAO,EAAC,OAAO;UAAAJ,QAAA,EAC5D9D,CAAC,CAAC,yBAAyB;SAClB,CAAC,eACb+D,cAAA,CAAA,IAAA,EAAA;AAAIE,UAAAA,SAAS,EAAC;AAAsB,SAAE,CAAC;OACpC,CAAC,eACNJ,eAAA,CAAA,KAAA,EAAA;QAAAC,QAAA,EAAA,cACEC,cAAA,CAACC,qBAAU,EAAA;AAACC,UAAAA,SAAS,EAAC,MAAM;AAACC,UAAAA,OAAO,EAAC,OAAO;AAACC,UAAAA,MAAM,EAAC,QAAQ;UAAAL,QAAA,EACzD9D,CAAC,CAAC,4CAA4C;AAAC,SACtC,CAAC,EACZkG,iBAAiB,gBAChBrC,eAAA,CAAA,KAAA,EAAA;AAAKI,UAAAA,SAAS,EAAC,uBAAuB;AAAAH,UAAAA,QAAA,gBACpCC,cAAA,CAAA,KAAA,EAAA;AACEsF,YAAAA,GAAG,EAAErJ,CAAC,CAAC,0CAA0C,CAAE;AACnDiE,YAAAA,SAAS,EAAC,uCAAuC;AACjDqF,YAAAA,GAAG,EAAEpD;AAAkB,WACxB,CAAC,eACFnC,cAAA,CAACwF,iBAAM,EAAA;AACLtF,YAAAA,SAAS,EAAC,6DAA6D;AACvEuF,YAAAA,IAAI,EAAEC,aAAE;AACRnC,YAAAA,IAAI,EAAC,IAAI;AACTpD,YAAAA,OAAO,EAAC,OAAO;AACfwF,YAAAA,OAAO,EAAEjC;AAAuB,WACjC,CAAC;SACC,CAAC,gBAEN5D,eAAA,CAAA,KAAA,EAAA;AACEI,UAAAA,SAAS,EAAC,+IAA+I;AACzJ0F,UAAAA,IAAI,EAAC,QAAQ;AACbC,UAAAA,QAAQ,EAAE,CAAE;UACZF,OAAO,EAAEA,MAAM5D,YAAY,CAACrD,OAAO,EAAEoH,KAAK,EAAG;UAC7C7E,SAAS,EAAE8E,CAAC,IAAI;YACd,IAAIA,CAAC,CAAC7G,GAAG,KAAK,OAAO,IAAI6G,CAAC,CAAC7G,GAAG,KAAK,GAAG,EAAE;AACtC6C,cAAAA,YAAY,CAACrD,OAAO,EAAEoH,KAAK,EAAE;AAC/B,YAAA;UACF,CAAE;AAAA/F,UAAAA,QAAA,gBAEFC,cAAA,CAAA,GAAA,EAAA;AAAGE,YAAAA,SAAS,EAAC;AAAiD,WAAE,CAAC,eACjEF,cAAA,CAACC,qBAAU,EAAA;AACTC,YAAAA,SAAS,EAAC,oCAAoC;AAC9CC,YAAAA,OAAO,EAAC,SAAS;AACjBC,YAAAA,MAAM,EAAC,QAAQ;YAAAL,QAAA,EAEd9D,CAAC,CAAC,iDAAiD;AAAC,WAC3C,CAAC,eACb+D,cAAA,CAACC,qBAAU,EAAA;AAACoF,YAAAA,KAAK,EAAC,OAAO;AAAClF,YAAAA,OAAO,EAAC,MAAM;AAAAJ,YAAAA,QAAA,EACrC9D,CAAC,CAAC,iDAAiD,EAAE;AACpDwH,cAAAA,OAAO,EAAEnI;aACV;AAAC,WACQ,CAAC;SACV,CACN,eACD0E,cAAA,CAAA,OAAA,EAAA;AACEgG,UAAAA,MAAM,EAAE3K,2BAA4B;AACpC6E,UAAAA,SAAS,EAAC,QAAQ;AAClB,UAAA,aAAA,EAAY,0CAA0C;AACtDO,UAAAA,GAAG,EAAEsB,YAAa;AAClBpB,UAAAA,IAAI,EAAC,MAAM;AACXG,UAAAA,QAAQ,EAAEsC;AAAuB,SAClC,CAAC;AAAA,OACC,CAAC,eACNpD,cAAA,CAACiG,oBAAW,EAAA;AACVC,QAAAA,iBAAiB,EAAE;AACjBC,UAAAA,KAAK,EAAElK,CAAC,CAAC,wCAAwC,CAAC;AAClD0J,UAAAA,OAAO,EAAElE,YAAY;AACrB2E,UAAAA,QAAQ,EAAEvD;SACV;AACFwD,QAAAA,iBAAiB,EAAE;AACjBF,UAAAA,KAAK,EAAElK,CAAC,CAAC,0CAA0C,CAAC;UACpDmK,QAAQ,EAAG,CAACxB,KAAK,IAAI,CAAChJ,cAAc,IAAKiH,SAAS,IAAIZ,WAAW;UACjEqE,OAAO,EAAEzD,SAAS,IAAIZ;AACxB;AAAE,OACH,CAAC;KACF;AACH,GACG,CAAC;AAEX;;;;"}
1
+ {"version":3,"file":"ManualUpiPayment.js","sources":["../../../app/javascript/src/v2/components/ManualUpiPayment/constants.js","../../../app/javascript/src/v2/components/ManualUpiPayment/UpiTransactionIdInput.jsx","../../../app/javascript/src/v2/components/ManualUpiPayment/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isPresent, isNotPresent } from \"neetocist\";\nimport * as yup from \"yup\";\n\nexport const ACCEPTED_SCREENSHOT_FORMATS = \"image/png,image/jpeg,image/jpg\";\n\nexport const MAX_SCREENSHOT_SIZE_MB = 5;\n\nexport const DIRECT_UPLOAD_URL = \"/rails/active_storage/direct_uploads\";\n\nexport const INITIAL_VALUES = { identifier: \"\" };\n\nexport const UPI_TRANSACTION_ID_LENGTH = 12;\n\nexport const buildValidationSchema = screenshotFile =>\n yup.object({\n identifier: yup\n .number()\n .typeError(\n t(\"neetoPayments.validations.invalidField\", {\n entity: t(\"neetoPayments.common.transactionId\"),\n })\n )\n .nullable()\n .transform((value, originalValue) =>\n originalValue === \"\" ? null : value\n )\n .test(\n \"identifier-or-screenshot\",\n t(\"neetoPayments.upi.payment.transaction.identifierOrScreenshot\"),\n value => isPresent(value) || isPresent(screenshotFile)\n )\n .test(\n \"is-integer\",\n t(\"neetoPayments.validations.invalidField\", {\n entity: t(\"neetoPayments.common.transactionId\"),\n }),\n value => isNotPresent(value) || Number.isInteger(value)\n )\n .test(\n \"len\",\n t(\"neetoPayments.validations.length\", { length: 12 }),\n value => isNotPresent(value) || value?.toString().length === 12\n ),\n });\n","import { useRef, useState } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { useField } from \"formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { UPI_TRANSACTION_ID_LENGTH as LENGTH } from \"./constants\";\n\nconst toSlots = value =>\n Array.from({ length: LENGTH }, (_, index) => value[index] ?? \"\");\n\nconst UpiTransactionIdInput = ({ name = \"identifier\" }) => {\n const { t } = useTranslation();\n const [, meta, helpers] = useField(name);\n const inputsRef = useRef([]);\n const [slots, setSlots] = useState(() =>\n toSlots((meta.initialValue ?? \"\").toString())\n );\n\n const sync = nextSlots => {\n setSlots(nextSlots);\n helpers.setValue(nextSlots.join(\"\"));\n };\n\n const setDigit = (index, digit) =>\n sync(slots.map((slot, i) => (i === index ? digit : slot)));\n\n const focusBox = index => inputsRef.current[index]?.focus();\n\n const handleChange = (index, event) => {\n const sanitized = event.target.value.replace(/\\D/g, \"\");\n setDigit(index, sanitized ? sanitized[sanitized.length - 1] : \"\");\n if (sanitized && index < LENGTH - 1) focusBox(index + 1);\n };\n\n const handleKeyDown = (index, event) => {\n if (event.key === \"Backspace\" && !slots[index] && index > 0) {\n event.preventDefault();\n setDigit(index - 1, \"\");\n focusBox(index - 1);\n } else if (event.key === \"ArrowLeft\" && index > 0) {\n focusBox(index - 1);\n } else if (event.key === \"ArrowRight\" && index < LENGTH - 1) {\n focusBox(index + 1);\n }\n };\n\n const handlePaste = event => {\n event.preventDefault();\n const pasted = event.clipboardData\n .getData(\"text\")\n .replace(/\\D/g, \"\")\n .slice(0, LENGTH);\n if (!pasted) return;\n\n sync(toSlots(pasted));\n focusBox(Math.min(pasted.length, LENGTH - 1));\n };\n\n const showError = meta.touched && meta.error;\n\n return (\n <div>\n <Typography className=\"mb-2\" variant=\"body2\" weight=\"medium\">\n {t(\"neetoPayments.upi.payment.transaction.label\")}\n </Typography>\n <div className=\"flex flex-wrap gap-2\" onPaste={handlePaste}>\n {slots.map((slot, index) => (\n <input\n autoComplete=\"off\"\n className=\"h-10 w-8 rounded border border-gray-300 text-center text-base focus:border-gray-500 focus:outline-none\"\n data-testid={`upi-transaction-id-box-${index}`}\n inputMode=\"numeric\"\n key={index}\n maxLength={1}\n ref={element => (inputsRef.current[index] = element)}\n type=\"text\"\n value={slot}\n onBlur={() => helpers.setTouched(true)}\n onChange={event => handleChange(index, event)}\n onFocus={event => event.target.select()}\n onKeyDown={event => handleKeyDown(index, event)}\n />\n ))}\n </div>\n {showError && (\n <Typography className=\"text-error-500 mt-1\" variant=\"body3\">\n {meta.error}\n </Typography>\n )}\n </div>\n );\n};\n\nexport default UpiTransactionIdInput;\n","import { useRef, useState, useMemo, useEffect } from \"react\";\n\nimport { Button, Toastr, Typography } from \"@bigbinary/neeto-atoms\";\nimport { ActionBlock, Form } from \"@bigbinary/neeto-atoms/formik\";\nimport { DirectUpload } from \"@rails/activestorage\";\nimport { X } from \"lucide-react\";\nimport { noop, isPresent } from \"neetocist\";\nimport QRCodeImage from \"qrcode.react\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateUpiPayment } from \"hooks/reactQuery/manualUpi/usePaymentApi\";\nimport { getQrCodeValue } from \"utils\";\n\nimport {\n buildValidationSchema,\n ACCEPTED_SCREENSHOT_FORMATS,\n MAX_SCREENSHOT_SIZE_MB,\n DIRECT_UPLOAD_URL,\n INITIAL_VALUES,\n} from \"./constants\";\nimport UpiTransactionIdInput from \"./UpiTransactionIdInput\";\n\nconst ManualUpiPayment = ({\n fee,\n payableId,\n tip,\n amount,\n discountCode,\n customAmount,\n handleCancel,\n payableType = null,\n onBeforePayment = noop,\n onFailedPayment = noop,\n onSuccessfulPayment = noop,\n}) => {\n const { t } = useTranslation();\n const fileInputRef = useRef(null);\n const [screenshotFile, setScreenshotFile] = useState(null);\n const [isUploading, setIsUploading] = useState(false);\n\n const screenshotPreview = useMemo(\n () => (screenshotFile ? URL.createObjectURL(screenshotFile) : null),\n [screenshotFile]\n );\n\n useEffect(\n () => () => {\n if (screenshotPreview) URL.revokeObjectURL(screenshotPreview);\n },\n [screenshotPreview]\n );\n\n const vpaIds = pluck(\"address\", fee?.vpas);\n const amountToUpi = customAmount || amount;\n\n const { isPending, mutate: createPayment } = useCreateUpiPayment({\n onSuccess: onSuccessfulPayment,\n onError: onFailedPayment,\n });\n\n const validationSchema = useMemo(\n () => buildValidationSchema(screenshotFile),\n [screenshotFile]\n );\n\n const handleScreenshotSelect = event => {\n const file = event.target.files[0];\n if (!file) return;\n\n if (file.size > MAX_SCREENSHOT_SIZE_MB * 1024 * 1024) {\n Toastr.error(\n t(\"neetoPayments.upi.payment.screenshot.tooLarge\", {\n maxSize: MAX_SCREENSHOT_SIZE_MB,\n })\n );\n\n return;\n }\n\n setScreenshotFile(file);\n };\n\n const handleRemoveScreenshot = () => {\n setScreenshotFile(null);\n if (fileInputRef.current) fileInputRef.current.value = \"\";\n };\n\n const uploadScreenshot = file =>\n new Promise((resolve, reject) => {\n const upload = new DirectUpload(file, DIRECT_UPLOAD_URL);\n upload.create((error, blob) => {\n if (error) reject(error);\n else resolve(blob.signed_id);\n });\n });\n\n const handleSubmit = async values => {\n onBeforePayment();\n\n let paymentScreenshot = null;\n if (screenshotFile) {\n try {\n setIsUploading(true);\n paymentScreenshot = await uploadScreenshot(screenshotFile);\n } catch {\n onFailedPayment();\n\n return;\n } finally {\n setIsUploading(false);\n }\n }\n\n createPayment({\n ...values,\n payableId,\n customAmount,\n payableType,\n discountCode,\n tipAttributes: tip,\n paymentScreenshot,\n });\n };\n\n return (\n <Form\n className=\"space-y-4\"\n formikProps={{\n onSubmit: handleSubmit,\n initialValues: INITIAL_VALUES,\n validationSchema,\n }}\n >\n {({ dirty }) => (\n <>\n <Typography className=\"text-gray-600\" variant=\"body2\">\n {t(\"neetoPayments.upi.payment.vpaText\", { count: vpaIds.length })}\n </Typography>\n {isPresent(vpaIds) && (\n <div className=\"flex flex-wrap gap-8\">\n {vpaIds.map(vpaId => (\n <div\n className=\"flex flex-col items-center justify-center\"\n key={vpaId}\n >\n <QRCodeImage\n size={256}\n style={{ width: 120, height: 120 }}\n value={getQrCodeValue(vpaId, amountToUpi)}\n />\n <Typography\n className=\"w-full mt-2 text-center wrap-break-word\"\n variant=\"body2\"\n weight=\"medium\"\n >\n {vpaId}\n </Typography>\n </div>\n ))}\n </div>\n )}\n <UpiTransactionIdInput name=\"identifier\" />\n <div className=\"flex items-center gap-3\">\n <hr className=\"flex-1 border-border\" />\n <Typography className=\"uppercase\" color=\"muted\" variant=\"body2\">\n {t(\"neetoPayments.common.or\")}\n </Typography>\n <hr className=\"flex-1 border-border\" />\n </div>\n <div>\n <Typography className=\"mb-2\" variant=\"body2\" weight=\"medium\">\n {t(\"neetoPayments.upi.payment.screenshot.label\")}\n </Typography>\n {screenshotPreview ? (\n <div className=\"relative inline-block\">\n <img\n alt={t(\"neetoPayments.upi.payment.screenshot.alt\")}\n className=\"max-h-40 rounded border border-border\"\n src={screenshotPreview}\n />\n <Button\n className=\"absolute -end-2 -top-2 rounded-full bg-background shadow-sm\"\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n onClick={handleRemoveScreenshot}\n />\n </div>\n ) : (\n <div\n className=\"flex cursor-pointer flex-col items-center justify-center rounded border-2 border-dashed border-border p-6 transition-colors hover:border-ring\"\n role=\"button\"\n tabIndex={0}\n onClick={() => fileInputRef.current?.click()}\n onKeyDown={e => {\n if (e.key === \"Enter\" || e.key === \" \") {\n fileInputRef.current?.click();\n }\n }}\n >\n <i className=\"ri-upload-2-line text-2xl text-muted-foreground\" />\n <Typography\n className=\"mt-1 text-blue-600 hover:underline\"\n variant=\"caption\"\n weight=\"medium\"\n >\n {t(\"neetoPayments.upi.payment.screenshot.uploadText\")}\n </Typography>\n <Typography color=\"muted\" variant=\"nano\">\n {t(\"neetoPayments.upi.payment.screenshot.formatHint\", {\n maxSize: MAX_SCREENSHOT_SIZE_MB,\n })}\n </Typography>\n </div>\n )}\n <input\n accept={ACCEPTED_SCREENSHOT_FORMATS}\n className=\"hidden\"\n data-testid=\"manual-upi-screenshot-upload-input-field\"\n ref={fileInputRef}\n type=\"file\"\n onChange={handleScreenshotSelect}\n />\n </div>\n <ActionBlock\n cancelButtonProps={{\n label: t(\"neetoPayments.upi.payment.buttons.back\"),\n onClick: handleCancel,\n disabled: isPending,\n }}\n submitButtonProps={{\n label: t(\"neetoPayments.upi.payment.buttons.submit\"),\n disabled: (!dirty && !screenshotFile) || isPending || isUploading,\n loading: isPending || isUploading,\n }}\n />\n </>\n )}\n </Form>\n );\n};\n\nexport default ManualUpiPayment;\n"],"names":["ACCEPTED_SCREENSHOT_FORMATS","MAX_SCREENSHOT_SIZE_MB","DIRECT_UPLOAD_URL","INITIAL_VALUES","identifier","UPI_TRANSACTION_ID_LENGTH","buildValidationSchema","screenshotFile","yup","object","number","typeError","t","entity","nullable","transform","value","originalValue","test","isPresent","isNotPresent","Number","isInteger","length","toString","toSlots","Array","from","LENGTH","_","index","UpiTransactionIdInput","name","useTranslation","meta","helpers","useField","inputsRef","useRef","slots","setSlots","useState","initialValue","sync","nextSlots","setValue","join","setDigit","digit","map","slot","i","focusBox","current","focus","handleChange","event","sanitized","target","replace","handleKeyDown","key","preventDefault","handlePaste","pasted","clipboardData","getData","slice","Math","min","showError","touched","error","_jsxs","children","_jsx","Typography","className","variant","weight","onPaste","autoComplete","inputMode","maxLength","ref","element","type","onBlur","setTouched","onChange","onFocus","select","onKeyDown","ManualUpiPayment","fee","payableId","tip","amount","discountCode","customAmount","handleCancel","payableType","onBeforePayment","noop","onFailedPayment","onSuccessfulPayment","fileInputRef","setScreenshotFile","isUploading","setIsUploading","screenshotPreview","useMemo","URL","createObjectURL","useEffect","revokeObjectURL","vpaIds","pluck","vpas","amountToUpi","isPending","mutate","createPayment","useCreateUpiPayment","onSuccess","onError","validationSchema","handleScreenshotSelect","file","files","size","Toastr","maxSize","handleRemoveScreenshot","uploadScreenshot","Promise","resolve","reject","upload","DirectUpload","create","blob","signed_id","handleSubmit","values","paymentScreenshot","tipAttributes","Form","formikProps","onSubmit","initialValues","dirty","_Fragment","count","vpaId","QRCodeImage","style","width","height","getQrCodeValue","color","alt","src","Button","icon","X","onClick","role","tabIndex","click","e","accept","ActionBlock","cancelButtonProps","label","disabled","submitButtonProps","loading"],"mappings":"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"}
@@ -40,7 +40,7 @@ const RazorpayWebsiteNotice = ({
40
40
  })
41
41
  }, host))
42
42
  }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
43
- className: "neeto-ui-text-gray-500",
43
+ className: "text-gray-500",
44
44
  variant: "body3",
45
45
  children: t("neetoPayments.razorpayWebsiteNotice.ignoreNote")
46
46
  })]
@@ -59,7 +59,7 @@ const RazorpayWebsiteNotice = ({
59
59
  hosts: usageHosts
60
60
  })
61
61
  }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
62
- className: "neeto-ui-text-gray-500",
62
+ className: "text-gray-500",
63
63
  variant: "body3",
64
64
  children: t("neetoPayments.razorpayWebsiteNotice.ignoreNote")
65
65
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"RazorpayWebsiteNotice.js","sources":["../../../app/javascript/src/v2/components/RazorpayWebsiteNotice.jsx"],"sourcesContent":["import { Callout, Typography } from \"@bigbinary/neeto-atoms\";\nimport { isPresent } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { pluck, uniq } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst RazorpayWebsiteNotice = ({\n websiteHosts = [],\n crossProductRazorpayUsage = null,\n}) => {\n const { t } = useTranslation();\n\n const usages = crossProductRazorpayUsage?.usages ?? [];\n const usageHosts = uniq(pluck(\"host\", usages)).join(\", \");\n\n return (\n <>\n {isPresent(websiteHosts) && (\n <Callout className=\"my-2\" variant=\"info\">\n <div className=\"flex flex-col gap-1\">\n <Typography variant=\"h5\">\n {t(\"neetoPayments.razorpayWebsiteNotice.addUrlTitle\", {\n product: globalProps.appName,\n })}\n </Typography>\n <Typography variant=\"body2\">\n {t(\"neetoPayments.razorpayWebsiteNotice.addUrlBody\")}\n </Typography>\n <ul className=\"list-disc pl-5\">\n {websiteHosts.map(host => (\n <li key={host}>\n <Typography variant=\"body2\" weight=\"semibold\">\n {host}\n </Typography>\n </li>\n ))}\n </ul>\n <Typography className=\"neeto-ui-text-gray-500\" variant=\"body3\">\n {t(\"neetoPayments.razorpayWebsiteNotice.ignoreNote\")}\n </Typography>\n </div>\n </Callout>\n )}\n {isPresent(usages) && (\n <Callout className=\"my-2\" variant=\"warning\">\n <div className=\"flex flex-col gap-1\">\n <Typography variant=\"h5\">\n {t(\"neetoPayments.razorpayWebsiteNotice.crossProductTitle\")}\n </Typography>\n <Typography variant=\"body2\">\n {t(\"neetoPayments.razorpayWebsiteNotice.crossProductBody\", {\n hosts: usageHosts,\n })}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-500\" variant=\"body3\">\n {t(\"neetoPayments.razorpayWebsiteNotice.ignoreNote\")}\n </Typography>\n </div>\n </Callout>\n )}\n </>\n );\n};\n\nexport default RazorpayWebsiteNotice;\n"],"names":["RazorpayWebsiteNotice","websiteHosts","crossProductRazorpayUsage","t","useTranslation","usages","usageHosts","uniq","pluck","join","_jsxs","_Fragment","children","isPresent","_jsx","Callout","className","variant","Typography","product","globalProps","appName","map","host","weight","hosts"],"mappings":";;;;;;;;;AAMA,MAAMA,qBAAqB,GAAGA,CAAC;AAC7BC,EAAAA,YAAY,GAAG,EAAE;AACjBC,EAAAA,yBAAyB,GAAG;AAC9B,CAAC,KAAK;EACJ,MAAM;AAAEC,IAAAA;GAAG,GAAGC,2BAAc,EAAE;AAE9B,EAAA,MAAMC,MAAM,GAAGH,yBAAyB,EAAEG,MAAM,IAAI,EAAE;AACtD,EAAA,MAAMC,UAAU,GAAGC,UAAI,CAACC,WAAK,CAAC,MAAM,EAAEH,MAAM,CAAC,CAAC,CAACI,IAAI,CAAC,IAAI,CAAC;EAEzD,oBACEC,eAAA,CAAAC,mBAAA,EAAA;IAAAC,QAAA,EAAA,CACGC,mBAAS,CAACZ,YAAY,CAAC,iBACtBa,cAAA,CAACC,kBAAO,EAAA;AAACC,MAAAA,SAAS,EAAC,MAAM;AAACC,MAAAA,OAAO,EAAC,MAAM;AAAAL,MAAAA,QAAA,eACtCF,eAAA,CAAA,KAAA,EAAA;AAAKM,QAAAA,SAAS,EAAC,qBAAqB;QAAAJ,QAAA,EAAA,cAClCE,cAAA,CAACI,qBAAU,EAAA;AAACD,UAAAA,OAAO,EAAC,IAAI;AAAAL,UAAAA,QAAA,EACrBT,CAAC,CAAC,iDAAiD,EAAE;YACpDgB,OAAO,EAAEC,wBAAW,CAACC;WACtB;AAAC,SACQ,CAAC,eACbP,cAAA,CAACI,qBAAU,EAAA;AAACD,UAAAA,OAAO,EAAC,OAAO;UAAAL,QAAA,EACxBT,CAAC,CAAC,gDAAgD;SACzC,CAAC,eACbW,cAAA,CAAA,IAAA,EAAA;AAAIE,UAAAA,SAAS,EAAC,gBAAgB;AAAAJ,UAAAA,QAAA,EAC3BX,YAAY,CAACqB,GAAG,CAACC,IAAI,iBACpBT,cAAA,CAAA,IAAA,EAAA;YAAAF,QAAA,eACEE,cAAA,CAACI,qBAAU,EAAA;AAACD,cAAAA,OAAO,EAAC,OAAO;AAACO,cAAAA,MAAM,EAAC,UAAU;AAAAZ,cAAAA,QAAA,EAC1CW;aACS;AAAC,WAAA,EAHNA,IAIL,CACL;AAAC,SACA,CAAC,eACLT,cAAA,CAACI,qBAAU,EAAA;AAACF,UAAAA,SAAS,EAAC,wBAAwB;AAACC,UAAAA,OAAO,EAAC,OAAO;UAAAL,QAAA,EAC3DT,CAAC,CAAC,gDAAgD;AAAC,SAC1C,CAAC;OACV;KACE,CACV,EACAU,mBAAS,CAACR,MAAM,CAAC,iBAChBS,cAAA,CAACC,kBAAO,EAAA;AAACC,MAAAA,SAAS,EAAC,MAAM;AAACC,MAAAA,OAAO,EAAC,SAAS;AAAAL,MAAAA,QAAA,eACzCF,eAAA,CAAA,KAAA,EAAA;AAAKM,QAAAA,SAAS,EAAC,qBAAqB;QAAAJ,QAAA,EAAA,cAClCE,cAAA,CAACI,qBAAU,EAAA;AAACD,UAAAA,OAAO,EAAC,IAAI;UAAAL,QAAA,EACrBT,CAAC,CAAC,uDAAuD;AAAC,SACjD,CAAC,eACbW,cAAA,CAACI,qBAAU,EAAA;AAACD,UAAAA,OAAO,EAAC,OAAO;AAAAL,UAAAA,QAAA,EACxBT,CAAC,CAAC,sDAAsD,EAAE;AACzDsB,YAAAA,KAAK,EAAEnB;WACR;AAAC,SACQ,CAAC,eACbQ,cAAA,CAACI,qBAAU,EAAA;AAACF,UAAAA,SAAS,EAAC,wBAAwB;AAACC,UAAAA,OAAO,EAAC,OAAO;UAAAL,QAAA,EAC3DT,CAAC,CAAC,gDAAgD;AAAC,SAC1C,CAAC;OACV;AAAC,KACC,CACV;AAAA,GACD,CAAC;AAEP;;;;"}
1
+ {"version":3,"file":"RazorpayWebsiteNotice.js","sources":["../../../app/javascript/src/v2/components/RazorpayWebsiteNotice.jsx"],"sourcesContent":["import { Callout, Typography } from \"@bigbinary/neeto-atoms\";\nimport { isPresent } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { pluck, uniq } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst RazorpayWebsiteNotice = ({\n websiteHosts = [],\n crossProductRazorpayUsage = null,\n}) => {\n const { t } = useTranslation();\n\n const usages = crossProductRazorpayUsage?.usages ?? [];\n const usageHosts = uniq(pluck(\"host\", usages)).join(\", \");\n\n return (\n <>\n {isPresent(websiteHosts) && (\n <Callout className=\"my-2\" variant=\"info\">\n <div className=\"flex flex-col gap-1\">\n <Typography variant=\"h5\">\n {t(\"neetoPayments.razorpayWebsiteNotice.addUrlTitle\", {\n product: globalProps.appName,\n })}\n </Typography>\n <Typography variant=\"body2\">\n {t(\"neetoPayments.razorpayWebsiteNotice.addUrlBody\")}\n </Typography>\n <ul className=\"list-disc pl-5\">\n {websiteHosts.map(host => (\n <li key={host}>\n <Typography variant=\"body2\" weight=\"semibold\">\n {host}\n </Typography>\n </li>\n ))}\n </ul>\n <Typography className=\"text-gray-500\" variant=\"body3\">\n {t(\"neetoPayments.razorpayWebsiteNotice.ignoreNote\")}\n </Typography>\n </div>\n </Callout>\n )}\n {isPresent(usages) && (\n <Callout className=\"my-2\" variant=\"warning\">\n <div className=\"flex flex-col gap-1\">\n <Typography variant=\"h5\">\n {t(\"neetoPayments.razorpayWebsiteNotice.crossProductTitle\")}\n </Typography>\n <Typography variant=\"body2\">\n {t(\"neetoPayments.razorpayWebsiteNotice.crossProductBody\", {\n hosts: usageHosts,\n })}\n </Typography>\n <Typography className=\"text-gray-500\" variant=\"body3\">\n {t(\"neetoPayments.razorpayWebsiteNotice.ignoreNote\")}\n </Typography>\n </div>\n </Callout>\n )}\n </>\n );\n};\n\nexport default RazorpayWebsiteNotice;\n"],"names":["RazorpayWebsiteNotice","websiteHosts","crossProductRazorpayUsage","t","useTranslation","usages","usageHosts","uniq","pluck","join","_jsxs","_Fragment","children","isPresent","_jsx","Callout","className","variant","Typography","product","globalProps","appName","map","host","weight","hosts"],"mappings":";;;;;;;;;AAMA,MAAMA,qBAAqB,GAAGA,CAAC;AAC7BC,EAAAA,YAAY,GAAG,EAAE;AACjBC,EAAAA,yBAAyB,GAAG;AAC9B,CAAC,KAAK;EACJ,MAAM;AAAEC,IAAAA;GAAG,GAAGC,2BAAc,EAAE;AAE9B,EAAA,MAAMC,MAAM,GAAGH,yBAAyB,EAAEG,MAAM,IAAI,EAAE;AACtD,EAAA,MAAMC,UAAU,GAAGC,UAAI,CAACC,WAAK,CAAC,MAAM,EAAEH,MAAM,CAAC,CAAC,CAACI,IAAI,CAAC,IAAI,CAAC;EAEzD,oBACEC,eAAA,CAAAC,mBAAA,EAAA;IAAAC,QAAA,EAAA,CACGC,mBAAS,CAACZ,YAAY,CAAC,iBACtBa,cAAA,CAACC,kBAAO,EAAA;AAACC,MAAAA,SAAS,EAAC,MAAM;AAACC,MAAAA,OAAO,EAAC,MAAM;AAAAL,MAAAA,QAAA,eACtCF,eAAA,CAAA,KAAA,EAAA;AAAKM,QAAAA,SAAS,EAAC,qBAAqB;QAAAJ,QAAA,EAAA,cAClCE,cAAA,CAACI,qBAAU,EAAA;AAACD,UAAAA,OAAO,EAAC,IAAI;AAAAL,UAAAA,QAAA,EACrBT,CAAC,CAAC,iDAAiD,EAAE;YACpDgB,OAAO,EAAEC,wBAAW,CAACC;WACtB;AAAC,SACQ,CAAC,eACbP,cAAA,CAACI,qBAAU,EAAA;AAACD,UAAAA,OAAO,EAAC,OAAO;UAAAL,QAAA,EACxBT,CAAC,CAAC,gDAAgD;SACzC,CAAC,eACbW,cAAA,CAAA,IAAA,EAAA;AAAIE,UAAAA,SAAS,EAAC,gBAAgB;AAAAJ,UAAAA,QAAA,EAC3BX,YAAY,CAACqB,GAAG,CAACC,IAAI,iBACpBT,cAAA,CAAA,IAAA,EAAA;YAAAF,QAAA,eACEE,cAAA,CAACI,qBAAU,EAAA;AAACD,cAAAA,OAAO,EAAC,OAAO;AAACO,cAAAA,MAAM,EAAC,UAAU;AAAAZ,cAAAA,QAAA,EAC1CW;aACS;AAAC,WAAA,EAHNA,IAIL,CACL;AAAC,SACA,CAAC,eACLT,cAAA,CAACI,qBAAU,EAAA;AAACF,UAAAA,SAAS,EAAC,eAAe;AAACC,UAAAA,OAAO,EAAC,OAAO;UAAAL,QAAA,EAClDT,CAAC,CAAC,gDAAgD;AAAC,SAC1C,CAAC;OACV;KACE,CACV,EACAU,mBAAS,CAACR,MAAM,CAAC,iBAChBS,cAAA,CAACC,kBAAO,EAAA;AAACC,MAAAA,SAAS,EAAC,MAAM;AAACC,MAAAA,OAAO,EAAC,SAAS;AAAAL,MAAAA,QAAA,eACzCF,eAAA,CAAA,KAAA,EAAA;AAAKM,QAAAA,SAAS,EAAC,qBAAqB;QAAAJ,QAAA,EAAA,cAClCE,cAAA,CAACI,qBAAU,EAAA;AAACD,UAAAA,OAAO,EAAC,IAAI;UAAAL,QAAA,EACrBT,CAAC,CAAC,uDAAuD;AAAC,SACjD,CAAC,eACbW,cAAA,CAACI,qBAAU,EAAA;AAACD,UAAAA,OAAO,EAAC,OAAO;AAAAL,UAAAA,QAAA,EACxBT,CAAC,CAAC,sDAAsD,EAAE;AACzDsB,YAAAA,KAAK,EAAEnB;WACR;AAAC,SACQ,CAAC,eACbQ,cAAA,CAACI,qBAAU,EAAA;AAACF,UAAAA,SAAS,EAAC,eAAe;AAACC,UAAAA,OAAO,EAAC,OAAO;UAAAL,QAAA,EAClDT,CAAC,CAAC,gDAAgD;AAAC,SAC1C,CAAC;OACV;AAAC,KACC,CACV;AAAA,GACD,CAAC;AAEP;;;;"}
@@ -91,7 +91,7 @@ const UpiTransactionIdInput = ({
91
91
  onPaste: handlePaste,
92
92
  children: slots.map((slot, index) => /*#__PURE__*/jsx("input", {
93
93
  autoComplete: "off",
94
- className: "h-10 w-8 neeto-ui-rounded border neeto-ui-border-gray-300 text-center text-base focus:neeto-ui-border-gray-500 focus:outline-none",
94
+ className: "h-10 w-8 rounded border border-gray-300 text-center text-base focus:border-gray-500 focus:outline-none",
95
95
  "data-testid": `upi-transaction-id-box-${index}`,
96
96
  inputMode: "numeric",
97
97
  maxLength: 1,
@@ -104,7 +104,7 @@ const UpiTransactionIdInput = ({
104
104
  onKeyDown: event => handleKeyDown(index, event)
105
105
  }, index))
106
106
  }), showError && /*#__PURE__*/jsx(Typography, {
107
- className: "neeto-ui-text-error-500 mt-1",
107
+ className: "text-error-500 mt-1",
108
108
  variant: "body3",
109
109
  children: meta.error
110
110
  })]
@@ -200,7 +200,7 @@ const ManualUpiPayment = ({
200
200
  dirty
201
201
  }) => /*#__PURE__*/jsxs(Fragment, {
202
202
  children: [/*#__PURE__*/jsx(Typography, {
203
- className: "neeto-ui-text-gray-600",
203
+ className: "text-gray-600",
204
204
  variant: "body2",
205
205
  children: t("neetoPayments.upi.payment.vpaText", {
206
206
  count: vpaIds.length
@@ -1 +1 @@
1
- {"version":3,"file":"ManualUpiPayment.js","sources":["../../app/javascript/src/v2/components/ManualUpiPayment/constants.js","../../app/javascript/src/v2/components/ManualUpiPayment/UpiTransactionIdInput.jsx","../../app/javascript/src/v2/components/ManualUpiPayment/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isPresent, isNotPresent } from \"neetocist\";\nimport * as yup from \"yup\";\n\nexport const ACCEPTED_SCREENSHOT_FORMATS = \"image/png,image/jpeg,image/jpg\";\n\nexport const MAX_SCREENSHOT_SIZE_MB = 5;\n\nexport const DIRECT_UPLOAD_URL = \"/rails/active_storage/direct_uploads\";\n\nexport const INITIAL_VALUES = { identifier: \"\" };\n\nexport const UPI_TRANSACTION_ID_LENGTH = 12;\n\nexport const buildValidationSchema = screenshotFile =>\n yup.object({\n identifier: yup\n .number()\n .typeError(\n t(\"neetoPayments.validations.invalidField\", {\n entity: t(\"neetoPayments.common.transactionId\"),\n })\n )\n .nullable()\n .transform((value, originalValue) =>\n originalValue === \"\" ? null : value\n )\n .test(\n \"identifier-or-screenshot\",\n t(\"neetoPayments.upi.payment.transaction.identifierOrScreenshot\"),\n value => isPresent(value) || isPresent(screenshotFile)\n )\n .test(\n \"is-integer\",\n t(\"neetoPayments.validations.invalidField\", {\n entity: t(\"neetoPayments.common.transactionId\"),\n }),\n value => isNotPresent(value) || Number.isInteger(value)\n )\n .test(\n \"len\",\n t(\"neetoPayments.validations.length\", { length: 12 }),\n value => isNotPresent(value) || value?.toString().length === 12\n ),\n });\n","import { useRef, useState } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { useField } from \"formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { UPI_TRANSACTION_ID_LENGTH as LENGTH } from \"./constants\";\n\nconst toSlots = value =>\n Array.from({ length: LENGTH }, (_, index) => value[index] ?? \"\");\n\nconst UpiTransactionIdInput = ({ name = \"identifier\" }) => {\n const { t } = useTranslation();\n const [, meta, helpers] = useField(name);\n const inputsRef = useRef([]);\n const [slots, setSlots] = useState(() =>\n toSlots((meta.initialValue ?? \"\").toString())\n );\n\n const sync = nextSlots => {\n setSlots(nextSlots);\n helpers.setValue(nextSlots.join(\"\"));\n };\n\n const setDigit = (index, digit) =>\n sync(slots.map((slot, i) => (i === index ? digit : slot)));\n\n const focusBox = index => inputsRef.current[index]?.focus();\n\n const handleChange = (index, event) => {\n const sanitized = event.target.value.replace(/\\D/g, \"\");\n setDigit(index, sanitized ? sanitized[sanitized.length - 1] : \"\");\n if (sanitized && index < LENGTH - 1) focusBox(index + 1);\n };\n\n const handleKeyDown = (index, event) => {\n if (event.key === \"Backspace\" && !slots[index] && index > 0) {\n event.preventDefault();\n setDigit(index - 1, \"\");\n focusBox(index - 1);\n } else if (event.key === \"ArrowLeft\" && index > 0) {\n focusBox(index - 1);\n } else if (event.key === \"ArrowRight\" && index < LENGTH - 1) {\n focusBox(index + 1);\n }\n };\n\n const handlePaste = event => {\n event.preventDefault();\n const pasted = event.clipboardData\n .getData(\"text\")\n .replace(/\\D/g, \"\")\n .slice(0, LENGTH);\n if (!pasted) return;\n\n sync(toSlots(pasted));\n focusBox(Math.min(pasted.length, LENGTH - 1));\n };\n\n const showError = meta.touched && meta.error;\n\n return (\n <div>\n <Typography className=\"mb-2\" variant=\"body2\" weight=\"medium\">\n {t(\"neetoPayments.upi.payment.transaction.label\")}\n </Typography>\n <div className=\"flex flex-wrap gap-2\" onPaste={handlePaste}>\n {slots.map((slot, index) => (\n <input\n autoComplete=\"off\"\n className=\"h-10 w-8 neeto-ui-rounded border neeto-ui-border-gray-300 text-center text-base focus:neeto-ui-border-gray-500 focus:outline-none\"\n data-testid={`upi-transaction-id-box-${index}`}\n inputMode=\"numeric\"\n key={index}\n maxLength={1}\n ref={element => (inputsRef.current[index] = element)}\n type=\"text\"\n value={slot}\n onBlur={() => helpers.setTouched(true)}\n onChange={event => handleChange(index, event)}\n onFocus={event => event.target.select()}\n onKeyDown={event => handleKeyDown(index, event)}\n />\n ))}\n </div>\n {showError && (\n <Typography className=\"neeto-ui-text-error-500 mt-1\" variant=\"body3\">\n {meta.error}\n </Typography>\n )}\n </div>\n );\n};\n\nexport default UpiTransactionIdInput;\n","import { useRef, useState, useMemo, useEffect } from \"react\";\n\nimport { Button, Toastr, Typography } from \"@bigbinary/neeto-atoms\";\nimport { ActionBlock, Form } from \"@bigbinary/neeto-atoms/formik\";\nimport { DirectUpload } from \"@rails/activestorage\";\nimport { X } from \"lucide-react\";\nimport { noop, isPresent } from \"neetocist\";\nimport QRCodeImage from \"qrcode.react\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateUpiPayment } from \"hooks/reactQuery/manualUpi/usePaymentApi\";\nimport { getQrCodeValue } from \"utils\";\n\nimport {\n buildValidationSchema,\n ACCEPTED_SCREENSHOT_FORMATS,\n MAX_SCREENSHOT_SIZE_MB,\n DIRECT_UPLOAD_URL,\n INITIAL_VALUES,\n} from \"./constants\";\nimport UpiTransactionIdInput from \"./UpiTransactionIdInput\";\n\nconst ManualUpiPayment = ({\n fee,\n payableId,\n tip,\n amount,\n discountCode,\n customAmount,\n handleCancel,\n payableType = null,\n onBeforePayment = noop,\n onFailedPayment = noop,\n onSuccessfulPayment = noop,\n}) => {\n const { t } = useTranslation();\n const fileInputRef = useRef(null);\n const [screenshotFile, setScreenshotFile] = useState(null);\n const [isUploading, setIsUploading] = useState(false);\n\n const screenshotPreview = useMemo(\n () => (screenshotFile ? URL.createObjectURL(screenshotFile) : null),\n [screenshotFile]\n );\n\n useEffect(\n () => () => {\n if (screenshotPreview) URL.revokeObjectURL(screenshotPreview);\n },\n [screenshotPreview]\n );\n\n const vpaIds = pluck(\"address\", fee?.vpas);\n const amountToUpi = customAmount || amount;\n\n const { isPending, mutate: createPayment } = useCreateUpiPayment({\n onSuccess: onSuccessfulPayment,\n onError: onFailedPayment,\n });\n\n const validationSchema = useMemo(\n () => buildValidationSchema(screenshotFile),\n [screenshotFile]\n );\n\n const handleScreenshotSelect = event => {\n const file = event.target.files[0];\n if (!file) return;\n\n if (file.size > MAX_SCREENSHOT_SIZE_MB * 1024 * 1024) {\n Toastr.error(\n t(\"neetoPayments.upi.payment.screenshot.tooLarge\", {\n maxSize: MAX_SCREENSHOT_SIZE_MB,\n })\n );\n\n return;\n }\n\n setScreenshotFile(file);\n };\n\n const handleRemoveScreenshot = () => {\n setScreenshotFile(null);\n if (fileInputRef.current) fileInputRef.current.value = \"\";\n };\n\n const uploadScreenshot = file =>\n new Promise((resolve, reject) => {\n const upload = new DirectUpload(file, DIRECT_UPLOAD_URL);\n upload.create((error, blob) => {\n if (error) reject(error);\n else resolve(blob.signed_id);\n });\n });\n\n const handleSubmit = async values => {\n onBeforePayment();\n\n let paymentScreenshot = null;\n if (screenshotFile) {\n try {\n setIsUploading(true);\n paymentScreenshot = await uploadScreenshot(screenshotFile);\n } catch {\n onFailedPayment();\n\n return;\n } finally {\n setIsUploading(false);\n }\n }\n\n createPayment({\n ...values,\n payableId,\n customAmount,\n payableType,\n discountCode,\n tipAttributes: tip,\n paymentScreenshot,\n });\n };\n\n return (\n <Form\n className=\"space-y-4\"\n formikProps={{\n onSubmit: handleSubmit,\n initialValues: INITIAL_VALUES,\n validationSchema,\n }}\n >\n {({ dirty }) => (\n <>\n <Typography className=\"neeto-ui-text-gray-600\" variant=\"body2\">\n {t(\"neetoPayments.upi.payment.vpaText\", { count: vpaIds.length })}\n </Typography>\n {isPresent(vpaIds) && (\n <div className=\"flex flex-wrap gap-8\">\n {vpaIds.map(vpaId => (\n <div\n className=\"flex flex-col items-center justify-center\"\n key={vpaId}\n >\n <QRCodeImage\n size={256}\n style={{ width: 120, height: 120 }}\n value={getQrCodeValue(vpaId, amountToUpi)}\n />\n <Typography\n className=\"w-full mt-2 text-center wrap-break-word\"\n variant=\"body2\"\n weight=\"medium\"\n >\n {vpaId}\n </Typography>\n </div>\n ))}\n </div>\n )}\n <UpiTransactionIdInput name=\"identifier\" />\n <div className=\"flex items-center gap-3\">\n <hr className=\"flex-1 border-border\" />\n <Typography className=\"uppercase\" color=\"muted\" variant=\"body2\">\n {t(\"neetoPayments.common.or\")}\n </Typography>\n <hr className=\"flex-1 border-border\" />\n </div>\n <div>\n <Typography className=\"mb-2\" variant=\"body2\" weight=\"medium\">\n {t(\"neetoPayments.upi.payment.screenshot.label\")}\n </Typography>\n {screenshotPreview ? (\n <div className=\"relative inline-block\">\n <img\n alt={t(\"neetoPayments.upi.payment.screenshot.alt\")}\n className=\"max-h-40 rounded border border-border\"\n src={screenshotPreview}\n />\n <Button\n className=\"absolute -end-2 -top-2 rounded-full bg-background shadow-sm\"\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n onClick={handleRemoveScreenshot}\n />\n </div>\n ) : (\n <div\n className=\"flex cursor-pointer flex-col items-center justify-center rounded border-2 border-dashed border-border p-6 transition-colors hover:border-ring\"\n role=\"button\"\n tabIndex={0}\n onClick={() => fileInputRef.current?.click()}\n onKeyDown={e => {\n if (e.key === \"Enter\" || e.key === \" \") {\n fileInputRef.current?.click();\n }\n }}\n >\n <i className=\"ri-upload-2-line text-2xl text-muted-foreground\" />\n <Typography\n className=\"mt-1 text-blue-600 hover:underline\"\n variant=\"caption\"\n weight=\"medium\"\n >\n {t(\"neetoPayments.upi.payment.screenshot.uploadText\")}\n </Typography>\n <Typography color=\"muted\" variant=\"nano\">\n {t(\"neetoPayments.upi.payment.screenshot.formatHint\", {\n maxSize: MAX_SCREENSHOT_SIZE_MB,\n })}\n </Typography>\n </div>\n )}\n <input\n accept={ACCEPTED_SCREENSHOT_FORMATS}\n className=\"hidden\"\n data-testid=\"manual-upi-screenshot-upload-input-field\"\n ref={fileInputRef}\n type=\"file\"\n onChange={handleScreenshotSelect}\n />\n </div>\n <ActionBlock\n cancelButtonProps={{\n label: t(\"neetoPayments.upi.payment.buttons.back\"),\n onClick: handleCancel,\n disabled: isPending,\n }}\n submitButtonProps={{\n label: t(\"neetoPayments.upi.payment.buttons.submit\"),\n disabled: (!dirty && !screenshotFile) || isPending || isUploading,\n loading: isPending || isUploading,\n }}\n />\n </>\n )}\n </Form>\n );\n};\n\nexport default ManualUpiPayment;\n"],"names":["ACCEPTED_SCREENSHOT_FORMATS","MAX_SCREENSHOT_SIZE_MB","DIRECT_UPLOAD_URL","INITIAL_VALUES","identifier","UPI_TRANSACTION_ID_LENGTH","buildValidationSchema","screenshotFile","yup","object","number","typeError","t","entity","nullable","transform","value","originalValue","test","isPresent","isNotPresent","Number","isInteger","length","toString","toSlots","Array","from","LENGTH","_","index","UpiTransactionIdInput","name","useTranslation","meta","helpers","useField","inputsRef","useRef","slots","setSlots","useState","initialValue","sync","nextSlots","setValue","join","setDigit","digit","map","slot","i","focusBox","current","focus","handleChange","event","sanitized","target","replace","handleKeyDown","key","preventDefault","handlePaste","pasted","clipboardData","getData","slice","Math","min","showError","touched","error","_jsxs","children","_jsx","Typography","className","variant","weight","onPaste","autoComplete","inputMode","maxLength","ref","element","type","onBlur","setTouched","onChange","onFocus","select","onKeyDown","ManualUpiPayment","fee","payableId","tip","amount","discountCode","customAmount","handleCancel","payableType","onBeforePayment","noop","onFailedPayment","onSuccessfulPayment","fileInputRef","setScreenshotFile","isUploading","setIsUploading","screenshotPreview","useMemo","URL","createObjectURL","useEffect","revokeObjectURL","vpaIds","pluck","vpas","amountToUpi","isPending","mutate","createPayment","useCreateUpiPayment","onSuccess","onError","validationSchema","handleScreenshotSelect","file","files","size","Toastr","maxSize","handleRemoveScreenshot","uploadScreenshot","Promise","resolve","reject","upload","DirectUpload","create","blob","signed_id","handleSubmit","values","paymentScreenshot","tipAttributes","Form","formikProps","onSubmit","initialValues","dirty","_Fragment","count","vpaId","QRCodeImage","style","width","height","getQrCodeValue","color","alt","src","Button","icon","X","onClick","role","tabIndex","click","e","accept","ActionBlock","cancelButtonProps","label","disabled","submitButtonProps","loading"],"mappings":"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"}
1
+ {"version":3,"file":"ManualUpiPayment.js","sources":["../../app/javascript/src/v2/components/ManualUpiPayment/constants.js","../../app/javascript/src/v2/components/ManualUpiPayment/UpiTransactionIdInput.jsx","../../app/javascript/src/v2/components/ManualUpiPayment/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isPresent, isNotPresent } from \"neetocist\";\nimport * as yup from \"yup\";\n\nexport const ACCEPTED_SCREENSHOT_FORMATS = \"image/png,image/jpeg,image/jpg\";\n\nexport const MAX_SCREENSHOT_SIZE_MB = 5;\n\nexport const DIRECT_UPLOAD_URL = \"/rails/active_storage/direct_uploads\";\n\nexport const INITIAL_VALUES = { identifier: \"\" };\n\nexport const UPI_TRANSACTION_ID_LENGTH = 12;\n\nexport const buildValidationSchema = screenshotFile =>\n yup.object({\n identifier: yup\n .number()\n .typeError(\n t(\"neetoPayments.validations.invalidField\", {\n entity: t(\"neetoPayments.common.transactionId\"),\n })\n )\n .nullable()\n .transform((value, originalValue) =>\n originalValue === \"\" ? null : value\n )\n .test(\n \"identifier-or-screenshot\",\n t(\"neetoPayments.upi.payment.transaction.identifierOrScreenshot\"),\n value => isPresent(value) || isPresent(screenshotFile)\n )\n .test(\n \"is-integer\",\n t(\"neetoPayments.validations.invalidField\", {\n entity: t(\"neetoPayments.common.transactionId\"),\n }),\n value => isNotPresent(value) || Number.isInteger(value)\n )\n .test(\n \"len\",\n t(\"neetoPayments.validations.length\", { length: 12 }),\n value => isNotPresent(value) || value?.toString().length === 12\n ),\n });\n","import { useRef, useState } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { useField } from \"formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { UPI_TRANSACTION_ID_LENGTH as LENGTH } from \"./constants\";\n\nconst toSlots = value =>\n Array.from({ length: LENGTH }, (_, index) => value[index] ?? \"\");\n\nconst UpiTransactionIdInput = ({ name = \"identifier\" }) => {\n const { t } = useTranslation();\n const [, meta, helpers] = useField(name);\n const inputsRef = useRef([]);\n const [slots, setSlots] = useState(() =>\n toSlots((meta.initialValue ?? \"\").toString())\n );\n\n const sync = nextSlots => {\n setSlots(nextSlots);\n helpers.setValue(nextSlots.join(\"\"));\n };\n\n const setDigit = (index, digit) =>\n sync(slots.map((slot, i) => (i === index ? digit : slot)));\n\n const focusBox = index => inputsRef.current[index]?.focus();\n\n const handleChange = (index, event) => {\n const sanitized = event.target.value.replace(/\\D/g, \"\");\n setDigit(index, sanitized ? sanitized[sanitized.length - 1] : \"\");\n if (sanitized && index < LENGTH - 1) focusBox(index + 1);\n };\n\n const handleKeyDown = (index, event) => {\n if (event.key === \"Backspace\" && !slots[index] && index > 0) {\n event.preventDefault();\n setDigit(index - 1, \"\");\n focusBox(index - 1);\n } else if (event.key === \"ArrowLeft\" && index > 0) {\n focusBox(index - 1);\n } else if (event.key === \"ArrowRight\" && index < LENGTH - 1) {\n focusBox(index + 1);\n }\n };\n\n const handlePaste = event => {\n event.preventDefault();\n const pasted = event.clipboardData\n .getData(\"text\")\n .replace(/\\D/g, \"\")\n .slice(0, LENGTH);\n if (!pasted) return;\n\n sync(toSlots(pasted));\n focusBox(Math.min(pasted.length, LENGTH - 1));\n };\n\n const showError = meta.touched && meta.error;\n\n return (\n <div>\n <Typography className=\"mb-2\" variant=\"body2\" weight=\"medium\">\n {t(\"neetoPayments.upi.payment.transaction.label\")}\n </Typography>\n <div className=\"flex flex-wrap gap-2\" onPaste={handlePaste}>\n {slots.map((slot, index) => (\n <input\n autoComplete=\"off\"\n className=\"h-10 w-8 rounded border border-gray-300 text-center text-base focus:border-gray-500 focus:outline-none\"\n data-testid={`upi-transaction-id-box-${index}`}\n inputMode=\"numeric\"\n key={index}\n maxLength={1}\n ref={element => (inputsRef.current[index] = element)}\n type=\"text\"\n value={slot}\n onBlur={() => helpers.setTouched(true)}\n onChange={event => handleChange(index, event)}\n onFocus={event => event.target.select()}\n onKeyDown={event => handleKeyDown(index, event)}\n />\n ))}\n </div>\n {showError && (\n <Typography className=\"text-error-500 mt-1\" variant=\"body3\">\n {meta.error}\n </Typography>\n )}\n </div>\n );\n};\n\nexport default UpiTransactionIdInput;\n","import { useRef, useState, useMemo, useEffect } from \"react\";\n\nimport { Button, Toastr, Typography } from \"@bigbinary/neeto-atoms\";\nimport { ActionBlock, Form } from \"@bigbinary/neeto-atoms/formik\";\nimport { DirectUpload } from \"@rails/activestorage\";\nimport { X } from \"lucide-react\";\nimport { noop, isPresent } from \"neetocist\";\nimport QRCodeImage from \"qrcode.react\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateUpiPayment } from \"hooks/reactQuery/manualUpi/usePaymentApi\";\nimport { getQrCodeValue } from \"utils\";\n\nimport {\n buildValidationSchema,\n ACCEPTED_SCREENSHOT_FORMATS,\n MAX_SCREENSHOT_SIZE_MB,\n DIRECT_UPLOAD_URL,\n INITIAL_VALUES,\n} from \"./constants\";\nimport UpiTransactionIdInput from \"./UpiTransactionIdInput\";\n\nconst ManualUpiPayment = ({\n fee,\n payableId,\n tip,\n amount,\n discountCode,\n customAmount,\n handleCancel,\n payableType = null,\n onBeforePayment = noop,\n onFailedPayment = noop,\n onSuccessfulPayment = noop,\n}) => {\n const { t } = useTranslation();\n const fileInputRef = useRef(null);\n const [screenshotFile, setScreenshotFile] = useState(null);\n const [isUploading, setIsUploading] = useState(false);\n\n const screenshotPreview = useMemo(\n () => (screenshotFile ? URL.createObjectURL(screenshotFile) : null),\n [screenshotFile]\n );\n\n useEffect(\n () => () => {\n if (screenshotPreview) URL.revokeObjectURL(screenshotPreview);\n },\n [screenshotPreview]\n );\n\n const vpaIds = pluck(\"address\", fee?.vpas);\n const amountToUpi = customAmount || amount;\n\n const { isPending, mutate: createPayment } = useCreateUpiPayment({\n onSuccess: onSuccessfulPayment,\n onError: onFailedPayment,\n });\n\n const validationSchema = useMemo(\n () => buildValidationSchema(screenshotFile),\n [screenshotFile]\n );\n\n const handleScreenshotSelect = event => {\n const file = event.target.files[0];\n if (!file) return;\n\n if (file.size > MAX_SCREENSHOT_SIZE_MB * 1024 * 1024) {\n Toastr.error(\n t(\"neetoPayments.upi.payment.screenshot.tooLarge\", {\n maxSize: MAX_SCREENSHOT_SIZE_MB,\n })\n );\n\n return;\n }\n\n setScreenshotFile(file);\n };\n\n const handleRemoveScreenshot = () => {\n setScreenshotFile(null);\n if (fileInputRef.current) fileInputRef.current.value = \"\";\n };\n\n const uploadScreenshot = file =>\n new Promise((resolve, reject) => {\n const upload = new DirectUpload(file, DIRECT_UPLOAD_URL);\n upload.create((error, blob) => {\n if (error) reject(error);\n else resolve(blob.signed_id);\n });\n });\n\n const handleSubmit = async values => {\n onBeforePayment();\n\n let paymentScreenshot = null;\n if (screenshotFile) {\n try {\n setIsUploading(true);\n paymentScreenshot = await uploadScreenshot(screenshotFile);\n } catch {\n onFailedPayment();\n\n return;\n } finally {\n setIsUploading(false);\n }\n }\n\n createPayment({\n ...values,\n payableId,\n customAmount,\n payableType,\n discountCode,\n tipAttributes: tip,\n paymentScreenshot,\n });\n };\n\n return (\n <Form\n className=\"space-y-4\"\n formikProps={{\n onSubmit: handleSubmit,\n initialValues: INITIAL_VALUES,\n validationSchema,\n }}\n >\n {({ dirty }) => (\n <>\n <Typography className=\"text-gray-600\" variant=\"body2\">\n {t(\"neetoPayments.upi.payment.vpaText\", { count: vpaIds.length })}\n </Typography>\n {isPresent(vpaIds) && (\n <div className=\"flex flex-wrap gap-8\">\n {vpaIds.map(vpaId => (\n <div\n className=\"flex flex-col items-center justify-center\"\n key={vpaId}\n >\n <QRCodeImage\n size={256}\n style={{ width: 120, height: 120 }}\n value={getQrCodeValue(vpaId, amountToUpi)}\n />\n <Typography\n className=\"w-full mt-2 text-center wrap-break-word\"\n variant=\"body2\"\n weight=\"medium\"\n >\n {vpaId}\n </Typography>\n </div>\n ))}\n </div>\n )}\n <UpiTransactionIdInput name=\"identifier\" />\n <div className=\"flex items-center gap-3\">\n <hr className=\"flex-1 border-border\" />\n <Typography className=\"uppercase\" color=\"muted\" variant=\"body2\">\n {t(\"neetoPayments.common.or\")}\n </Typography>\n <hr className=\"flex-1 border-border\" />\n </div>\n <div>\n <Typography className=\"mb-2\" variant=\"body2\" weight=\"medium\">\n {t(\"neetoPayments.upi.payment.screenshot.label\")}\n </Typography>\n {screenshotPreview ? (\n <div className=\"relative inline-block\">\n <img\n alt={t(\"neetoPayments.upi.payment.screenshot.alt\")}\n className=\"max-h-40 rounded border border-border\"\n src={screenshotPreview}\n />\n <Button\n className=\"absolute -end-2 -top-2 rounded-full bg-background shadow-sm\"\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n onClick={handleRemoveScreenshot}\n />\n </div>\n ) : (\n <div\n className=\"flex cursor-pointer flex-col items-center justify-center rounded border-2 border-dashed border-border p-6 transition-colors hover:border-ring\"\n role=\"button\"\n tabIndex={0}\n onClick={() => fileInputRef.current?.click()}\n onKeyDown={e => {\n if (e.key === \"Enter\" || e.key === \" \") {\n fileInputRef.current?.click();\n }\n }}\n >\n <i className=\"ri-upload-2-line text-2xl text-muted-foreground\" />\n <Typography\n className=\"mt-1 text-blue-600 hover:underline\"\n variant=\"caption\"\n weight=\"medium\"\n >\n {t(\"neetoPayments.upi.payment.screenshot.uploadText\")}\n </Typography>\n <Typography color=\"muted\" variant=\"nano\">\n {t(\"neetoPayments.upi.payment.screenshot.formatHint\", {\n maxSize: MAX_SCREENSHOT_SIZE_MB,\n })}\n </Typography>\n </div>\n )}\n <input\n accept={ACCEPTED_SCREENSHOT_FORMATS}\n className=\"hidden\"\n data-testid=\"manual-upi-screenshot-upload-input-field\"\n ref={fileInputRef}\n type=\"file\"\n onChange={handleScreenshotSelect}\n />\n </div>\n <ActionBlock\n cancelButtonProps={{\n label: t(\"neetoPayments.upi.payment.buttons.back\"),\n onClick: handleCancel,\n disabled: isPending,\n }}\n submitButtonProps={{\n label: t(\"neetoPayments.upi.payment.buttons.submit\"),\n disabled: (!dirty && !screenshotFile) || isPending || isUploading,\n loading: isPending || isUploading,\n }}\n />\n </>\n )}\n </Form>\n );\n};\n\nexport default ManualUpiPayment;\n"],"names":["ACCEPTED_SCREENSHOT_FORMATS","MAX_SCREENSHOT_SIZE_MB","DIRECT_UPLOAD_URL","INITIAL_VALUES","identifier","UPI_TRANSACTION_ID_LENGTH","buildValidationSchema","screenshotFile","yup","object","number","typeError","t","entity","nullable","transform","value","originalValue","test","isPresent","isNotPresent","Number","isInteger","length","toString","toSlots","Array","from","LENGTH","_","index","UpiTransactionIdInput","name","useTranslation","meta","helpers","useField","inputsRef","useRef","slots","setSlots","useState","initialValue","sync","nextSlots","setValue","join","setDigit","digit","map","slot","i","focusBox","current","focus","handleChange","event","sanitized","target","replace","handleKeyDown","key","preventDefault","handlePaste","pasted","clipboardData","getData","slice","Math","min","showError","touched","error","_jsxs","children","_jsx","Typography","className","variant","weight","onPaste","autoComplete","inputMode","maxLength","ref","element","type","onBlur","setTouched","onChange","onFocus","select","onKeyDown","ManualUpiPayment","fee","payableId","tip","amount","discountCode","customAmount","handleCancel","payableType","onBeforePayment","noop","onFailedPayment","onSuccessfulPayment","fileInputRef","setScreenshotFile","isUploading","setIsUploading","screenshotPreview","useMemo","URL","createObjectURL","useEffect","revokeObjectURL","vpaIds","pluck","vpas","amountToUpi","isPending","mutate","createPayment","useCreateUpiPayment","onSuccess","onError","validationSchema","handleScreenshotSelect","file","files","size","Toastr","maxSize","handleRemoveScreenshot","uploadScreenshot","Promise","resolve","reject","upload","DirectUpload","create","blob","signed_id","handleSubmit","values","paymentScreenshot","tipAttributes","Form","formikProps","onSubmit","initialValues","dirty","_Fragment","count","vpaId","QRCodeImage","style","width","height","getQrCodeValue","color","alt","src","Button","icon","X","onClick","role","tabIndex","click","e","accept","ActionBlock","cancelButtonProps","label","disabled","submitButtonProps","loading"],"mappings":"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"}
@@ -38,7 +38,7 @@ const RazorpayWebsiteNotice = ({
38
38
  })
39
39
  }, host))
40
40
  }), /*#__PURE__*/jsx(Typography, {
41
- className: "neeto-ui-text-gray-500",
41
+ className: "text-gray-500",
42
42
  variant: "body3",
43
43
  children: t("neetoPayments.razorpayWebsiteNotice.ignoreNote")
44
44
  })]
@@ -57,7 +57,7 @@ const RazorpayWebsiteNotice = ({
57
57
  hosts: usageHosts
58
58
  })
59
59
  }), /*#__PURE__*/jsx(Typography, {
60
- className: "neeto-ui-text-gray-500",
60
+ className: "text-gray-500",
61
61
  variant: "body3",
62
62
  children: t("neetoPayments.razorpayWebsiteNotice.ignoreNote")
63
63
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"RazorpayWebsiteNotice.js","sources":["../../app/javascript/src/v2/components/RazorpayWebsiteNotice.jsx"],"sourcesContent":["import { Callout, Typography } from \"@bigbinary/neeto-atoms\";\nimport { isPresent } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { pluck, uniq } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst RazorpayWebsiteNotice = ({\n websiteHosts = [],\n crossProductRazorpayUsage = null,\n}) => {\n const { t } = useTranslation();\n\n const usages = crossProductRazorpayUsage?.usages ?? [];\n const usageHosts = uniq(pluck(\"host\", usages)).join(\", \");\n\n return (\n <>\n {isPresent(websiteHosts) && (\n <Callout className=\"my-2\" variant=\"info\">\n <div className=\"flex flex-col gap-1\">\n <Typography variant=\"h5\">\n {t(\"neetoPayments.razorpayWebsiteNotice.addUrlTitle\", {\n product: globalProps.appName,\n })}\n </Typography>\n <Typography variant=\"body2\">\n {t(\"neetoPayments.razorpayWebsiteNotice.addUrlBody\")}\n </Typography>\n <ul className=\"list-disc pl-5\">\n {websiteHosts.map(host => (\n <li key={host}>\n <Typography variant=\"body2\" weight=\"semibold\">\n {host}\n </Typography>\n </li>\n ))}\n </ul>\n <Typography className=\"neeto-ui-text-gray-500\" variant=\"body3\">\n {t(\"neetoPayments.razorpayWebsiteNotice.ignoreNote\")}\n </Typography>\n </div>\n </Callout>\n )}\n {isPresent(usages) && (\n <Callout className=\"my-2\" variant=\"warning\">\n <div className=\"flex flex-col gap-1\">\n <Typography variant=\"h5\">\n {t(\"neetoPayments.razorpayWebsiteNotice.crossProductTitle\")}\n </Typography>\n <Typography variant=\"body2\">\n {t(\"neetoPayments.razorpayWebsiteNotice.crossProductBody\", {\n hosts: usageHosts,\n })}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-500\" variant=\"body3\">\n {t(\"neetoPayments.razorpayWebsiteNotice.ignoreNote\")}\n </Typography>\n </div>\n </Callout>\n )}\n </>\n );\n};\n\nexport default RazorpayWebsiteNotice;\n"],"names":["RazorpayWebsiteNotice","websiteHosts","crossProductRazorpayUsage","t","useTranslation","usages","usageHosts","uniq","pluck","join","_jsxs","_Fragment","children","isPresent","_jsx","Callout","className","variant","Typography","product","globalProps","appName","map","host","weight","hosts"],"mappings":";;;;;;;AAMA,MAAMA,qBAAqB,GAAGA,CAAC;AAC7BC,EAAAA,YAAY,GAAG,EAAE;AACjBC,EAAAA,yBAAyB,GAAG;AAC9B,CAAC,KAAK;EACJ,MAAM;AAAEC,IAAAA;GAAG,GAAGC,cAAc,EAAE;AAE9B,EAAA,MAAMC,MAAM,GAAGH,yBAAyB,EAAEG,MAAM,IAAI,EAAE;AACtD,EAAA,MAAMC,UAAU,GAAGC,IAAI,CAACC,KAAK,CAAC,MAAM,EAAEH,MAAM,CAAC,CAAC,CAACI,IAAI,CAAC,IAAI,CAAC;EAEzD,oBACEC,IAAA,CAAAC,QAAA,EAAA;IAAAC,QAAA,EAAA,CACGC,SAAS,CAACZ,YAAY,CAAC,iBACtBa,GAAA,CAACC,OAAO,EAAA;AAACC,MAAAA,SAAS,EAAC,MAAM;AAACC,MAAAA,OAAO,EAAC,MAAM;AAAAL,MAAAA,QAAA,eACtCF,IAAA,CAAA,KAAA,EAAA;AAAKM,QAAAA,SAAS,EAAC,qBAAqB;QAAAJ,QAAA,EAAA,cAClCE,GAAA,CAACI,UAAU,EAAA;AAACD,UAAAA,OAAO,EAAC,IAAI;AAAAL,UAAAA,QAAA,EACrBT,CAAC,CAAC,iDAAiD,EAAE;YACpDgB,OAAO,EAAEC,WAAW,CAACC;WACtB;AAAC,SACQ,CAAC,eACbP,GAAA,CAACI,UAAU,EAAA;AAACD,UAAAA,OAAO,EAAC,OAAO;UAAAL,QAAA,EACxBT,CAAC,CAAC,gDAAgD;SACzC,CAAC,eACbW,GAAA,CAAA,IAAA,EAAA;AAAIE,UAAAA,SAAS,EAAC,gBAAgB;AAAAJ,UAAAA,QAAA,EAC3BX,YAAY,CAACqB,GAAG,CAACC,IAAI,iBACpBT,GAAA,CAAA,IAAA,EAAA;YAAAF,QAAA,eACEE,GAAA,CAACI,UAAU,EAAA;AAACD,cAAAA,OAAO,EAAC,OAAO;AAACO,cAAAA,MAAM,EAAC,UAAU;AAAAZ,cAAAA,QAAA,EAC1CW;aACS;AAAC,WAAA,EAHNA,IAIL,CACL;AAAC,SACA,CAAC,eACLT,GAAA,CAACI,UAAU,EAAA;AAACF,UAAAA,SAAS,EAAC,wBAAwB;AAACC,UAAAA,OAAO,EAAC,OAAO;UAAAL,QAAA,EAC3DT,CAAC,CAAC,gDAAgD;AAAC,SAC1C,CAAC;OACV;KACE,CACV,EACAU,SAAS,CAACR,MAAM,CAAC,iBAChBS,GAAA,CAACC,OAAO,EAAA;AAACC,MAAAA,SAAS,EAAC,MAAM;AAACC,MAAAA,OAAO,EAAC,SAAS;AAAAL,MAAAA,QAAA,eACzCF,IAAA,CAAA,KAAA,EAAA;AAAKM,QAAAA,SAAS,EAAC,qBAAqB;QAAAJ,QAAA,EAAA,cAClCE,GAAA,CAACI,UAAU,EAAA;AAACD,UAAAA,OAAO,EAAC,IAAI;UAAAL,QAAA,EACrBT,CAAC,CAAC,uDAAuD;AAAC,SACjD,CAAC,eACbW,GAAA,CAACI,UAAU,EAAA;AAACD,UAAAA,OAAO,EAAC,OAAO;AAAAL,UAAAA,QAAA,EACxBT,CAAC,CAAC,sDAAsD,EAAE;AACzDsB,YAAAA,KAAK,EAAEnB;WACR;AAAC,SACQ,CAAC,eACbQ,GAAA,CAACI,UAAU,EAAA;AAACF,UAAAA,SAAS,EAAC,wBAAwB;AAACC,UAAAA,OAAO,EAAC,OAAO;UAAAL,QAAA,EAC3DT,CAAC,CAAC,gDAAgD;AAAC,SAC1C,CAAC;OACV;AAAC,KACC,CACV;AAAA,GACD,CAAC;AAEP;;;;"}
1
+ {"version":3,"file":"RazorpayWebsiteNotice.js","sources":["../../app/javascript/src/v2/components/RazorpayWebsiteNotice.jsx"],"sourcesContent":["import { Callout, Typography } from \"@bigbinary/neeto-atoms\";\nimport { isPresent } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { pluck, uniq } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst RazorpayWebsiteNotice = ({\n websiteHosts = [],\n crossProductRazorpayUsage = null,\n}) => {\n const { t } = useTranslation();\n\n const usages = crossProductRazorpayUsage?.usages ?? [];\n const usageHosts = uniq(pluck(\"host\", usages)).join(\", \");\n\n return (\n <>\n {isPresent(websiteHosts) && (\n <Callout className=\"my-2\" variant=\"info\">\n <div className=\"flex flex-col gap-1\">\n <Typography variant=\"h5\">\n {t(\"neetoPayments.razorpayWebsiteNotice.addUrlTitle\", {\n product: globalProps.appName,\n })}\n </Typography>\n <Typography variant=\"body2\">\n {t(\"neetoPayments.razorpayWebsiteNotice.addUrlBody\")}\n </Typography>\n <ul className=\"list-disc pl-5\">\n {websiteHosts.map(host => (\n <li key={host}>\n <Typography variant=\"body2\" weight=\"semibold\">\n {host}\n </Typography>\n </li>\n ))}\n </ul>\n <Typography className=\"text-gray-500\" variant=\"body3\">\n {t(\"neetoPayments.razorpayWebsiteNotice.ignoreNote\")}\n </Typography>\n </div>\n </Callout>\n )}\n {isPresent(usages) && (\n <Callout className=\"my-2\" variant=\"warning\">\n <div className=\"flex flex-col gap-1\">\n <Typography variant=\"h5\">\n {t(\"neetoPayments.razorpayWebsiteNotice.crossProductTitle\")}\n </Typography>\n <Typography variant=\"body2\">\n {t(\"neetoPayments.razorpayWebsiteNotice.crossProductBody\", {\n hosts: usageHosts,\n })}\n </Typography>\n <Typography className=\"text-gray-500\" variant=\"body3\">\n {t(\"neetoPayments.razorpayWebsiteNotice.ignoreNote\")}\n </Typography>\n </div>\n </Callout>\n )}\n </>\n );\n};\n\nexport default RazorpayWebsiteNotice;\n"],"names":["RazorpayWebsiteNotice","websiteHosts","crossProductRazorpayUsage","t","useTranslation","usages","usageHosts","uniq","pluck","join","_jsxs","_Fragment","children","isPresent","_jsx","Callout","className","variant","Typography","product","globalProps","appName","map","host","weight","hosts"],"mappings":";;;;;;;AAMA,MAAMA,qBAAqB,GAAGA,CAAC;AAC7BC,EAAAA,YAAY,GAAG,EAAE;AACjBC,EAAAA,yBAAyB,GAAG;AAC9B,CAAC,KAAK;EACJ,MAAM;AAAEC,IAAAA;GAAG,GAAGC,cAAc,EAAE;AAE9B,EAAA,MAAMC,MAAM,GAAGH,yBAAyB,EAAEG,MAAM,IAAI,EAAE;AACtD,EAAA,MAAMC,UAAU,GAAGC,IAAI,CAACC,KAAK,CAAC,MAAM,EAAEH,MAAM,CAAC,CAAC,CAACI,IAAI,CAAC,IAAI,CAAC;EAEzD,oBACEC,IAAA,CAAAC,QAAA,EAAA;IAAAC,QAAA,EAAA,CACGC,SAAS,CAACZ,YAAY,CAAC,iBACtBa,GAAA,CAACC,OAAO,EAAA;AAACC,MAAAA,SAAS,EAAC,MAAM;AAACC,MAAAA,OAAO,EAAC,MAAM;AAAAL,MAAAA,QAAA,eACtCF,IAAA,CAAA,KAAA,EAAA;AAAKM,QAAAA,SAAS,EAAC,qBAAqB;QAAAJ,QAAA,EAAA,cAClCE,GAAA,CAACI,UAAU,EAAA;AAACD,UAAAA,OAAO,EAAC,IAAI;AAAAL,UAAAA,QAAA,EACrBT,CAAC,CAAC,iDAAiD,EAAE;YACpDgB,OAAO,EAAEC,WAAW,CAACC;WACtB;AAAC,SACQ,CAAC,eACbP,GAAA,CAACI,UAAU,EAAA;AAACD,UAAAA,OAAO,EAAC,OAAO;UAAAL,QAAA,EACxBT,CAAC,CAAC,gDAAgD;SACzC,CAAC,eACbW,GAAA,CAAA,IAAA,EAAA;AAAIE,UAAAA,SAAS,EAAC,gBAAgB;AAAAJ,UAAAA,QAAA,EAC3BX,YAAY,CAACqB,GAAG,CAACC,IAAI,iBACpBT,GAAA,CAAA,IAAA,EAAA;YAAAF,QAAA,eACEE,GAAA,CAACI,UAAU,EAAA;AAACD,cAAAA,OAAO,EAAC,OAAO;AAACO,cAAAA,MAAM,EAAC,UAAU;AAAAZ,cAAAA,QAAA,EAC1CW;aACS;AAAC,WAAA,EAHNA,IAIL,CACL;AAAC,SACA,CAAC,eACLT,GAAA,CAACI,UAAU,EAAA;AAACF,UAAAA,SAAS,EAAC,eAAe;AAACC,UAAAA,OAAO,EAAC,OAAO;UAAAL,QAAA,EAClDT,CAAC,CAAC,gDAAgD;AAAC,SAC1C,CAAC;OACV;KACE,CACV,EACAU,SAAS,CAACR,MAAM,CAAC,iBAChBS,GAAA,CAACC,OAAO,EAAA;AAACC,MAAAA,SAAS,EAAC,MAAM;AAACC,MAAAA,OAAO,EAAC,SAAS;AAAAL,MAAAA,QAAA,eACzCF,IAAA,CAAA,KAAA,EAAA;AAAKM,QAAAA,SAAS,EAAC,qBAAqB;QAAAJ,QAAA,EAAA,cAClCE,GAAA,CAACI,UAAU,EAAA;AAACD,UAAAA,OAAO,EAAC,IAAI;UAAAL,QAAA,EACrBT,CAAC,CAAC,uDAAuD;AAAC,SACjD,CAAC,eACbW,GAAA,CAACI,UAAU,EAAA;AAACD,UAAAA,OAAO,EAAC,OAAO;AAAAL,UAAAA,QAAA,EACxBT,CAAC,CAAC,sDAAsD,EAAE;AACzDsB,YAAAA,KAAK,EAAEnB;WACR;AAAC,SACQ,CAAC,eACbQ,GAAA,CAACI,UAAU,EAAA;AAACF,UAAAA,SAAS,EAAC,eAAe;AAACC,UAAAA,OAAO,EAAC,OAAO;UAAAL,QAAA,EAClDT,CAAC,CAAC,gDAAgD;AAAC,SAC1C,CAAC;OACV;AAAC,KACC,CACV;AAAA,GACD,CAAC;AAEP;;;;"}