@oneblink/apps-react 8.14.0 → 9.0.0-beta.10

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 (661) hide show
  1. package/dist/OneBlinkAutoSaveForm.d.ts +1 -1
  2. package/dist/OneBlinkAutoSaveForm.js +6 -8
  3. package/dist/OneBlinkAutoSaveForm.js.map +1 -1
  4. package/dist/OneBlinkForm.d.ts +6 -10
  5. package/dist/OneBlinkForm.js +3 -6
  6. package/dist/OneBlinkForm.js.map +1 -1
  7. package/dist/OneBlinkFormBase.d.ts +2 -2
  8. package/dist/OneBlinkFormBase.js +51 -147
  9. package/dist/OneBlinkFormBase.js.map +1 -1
  10. package/dist/OneBlinkReadOnlyForm.d.ts +2 -2
  11. package/dist/OneBlinkReadOnlyForm.js +3 -2
  12. package/dist/OneBlinkReadOnlyForm.js.map +1 -1
  13. package/dist/PaymentReceipt.d.ts +2 -2
  14. package/dist/PaymentReceipt.js +12 -33
  15. package/dist/PaymentReceipt.js.map +1 -1
  16. package/dist/apps/Sentry.d.ts +7 -0
  17. package/dist/apps/Sentry.js +16 -0
  18. package/dist/apps/Sentry.js.map +1 -0
  19. package/dist/apps/approvals-service.d.ts +390 -0
  20. package/dist/apps/approvals-service.js +987 -0
  21. package/dist/apps/approvals-service.js.map +1 -0
  22. package/dist/apps/attachments-service.d.ts +49 -0
  23. package/dist/apps/attachments-service.js +134 -0
  24. package/dist/apps/attachments-service.js.map +1 -0
  25. package/dist/apps/auth-service.d.ts +114 -0
  26. package/dist/apps/auth-service.js +194 -0
  27. package/dist/apps/auth-service.js.map +1 -0
  28. package/dist/apps/auto-save-service.d.ts +82 -0
  29. package/dist/apps/auto-save-service.js +105 -0
  30. package/dist/apps/auto-save-service.js.map +1 -0
  31. package/dist/apps/draft-service.d.ts +148 -0
  32. package/dist/apps/draft-service.js +583 -0
  33. package/dist/apps/draft-service.js.map +1 -0
  34. package/dist/apps/form-service.d.ts +204 -0
  35. package/dist/apps/form-service.js +718 -0
  36. package/dist/apps/form-service.js.map +1 -0
  37. package/dist/apps/form-store-service.d.ts +141 -0
  38. package/dist/apps/form-store-service.js +114 -0
  39. package/dist/apps/form-store-service.js.map +1 -0
  40. package/dist/apps/forms-app-environment-service.d.ts +19 -0
  41. package/dist/apps/forms-app-environment-service.js +55 -0
  42. package/dist/apps/forms-app-environment-service.js.map +1 -0
  43. package/dist/apps/forms-app-service.d.ts +18 -0
  44. package/dist/apps/forms-app-service.js +53 -0
  45. package/dist/apps/forms-app-service.js.map +1 -0
  46. package/dist/apps/index.d.ts +253 -0
  47. package/dist/apps/index.js +255 -0
  48. package/dist/apps/index.js.map +1 -0
  49. package/dist/apps/job-service.d.ts +20 -0
  50. package/dist/apps/job-service.js +95 -0
  51. package/dist/apps/job-service.js.map +1 -0
  52. package/dist/apps/localisation-service.d.ts +207 -0
  53. package/dist/apps/localisation-service.js +321 -0
  54. package/dist/apps/localisation-service.js.map +1 -0
  55. package/dist/apps/notification-service.d.ts +83 -0
  56. package/dist/apps/notification-service.js +315 -0
  57. package/dist/apps/notification-service.js.map +1 -0
  58. package/dist/apps/offline-service.d.ts +18 -0
  59. package/dist/apps/offline-service.js +25 -0
  60. package/dist/apps/offline-service.js.map +1 -0
  61. package/dist/apps/payment-service.d.ts +110 -0
  62. package/dist/apps/payment-service.js +182 -0
  63. package/dist/apps/payment-service.js.map +1 -0
  64. package/dist/apps/prefill-service.d.ts +14 -0
  65. package/dist/apps/prefill-service.js +19 -0
  66. package/dist/apps/prefill-service.js.map +1 -0
  67. package/dist/apps/scheduled-tasks-service.d.ts +127 -0
  68. package/dist/apps/scheduled-tasks-service.js +240 -0
  69. package/dist/apps/scheduled-tasks-service.js.map +1 -0
  70. package/dist/apps/scheduling-service.d.ts +101 -0
  71. package/dist/apps/scheduling-service.js +171 -0
  72. package/dist/apps/scheduling-service.js.map +1 -0
  73. package/dist/apps/services/AWSCognitoClient.d.ts +55 -0
  74. package/dist/apps/services/AWSCognitoClient.js +436 -0
  75. package/dist/apps/services/AWSCognitoClient.js.map +1 -0
  76. package/dist/apps/services/api/drafts.d.ts +7 -0
  77. package/dist/apps/services/api/drafts.js +236 -0
  78. package/dist/apps/services/api/drafts.js.map +1 -0
  79. package/dist/apps/services/api/notifications.d.ts +3 -0
  80. package/dist/apps/services/api/notifications.js +60 -0
  81. package/dist/apps/services/api/notifications.js.map +1 -0
  82. package/dist/apps/services/api/payment.d.ts +23 -0
  83. package/dist/apps/services/api/payment.js +235 -0
  84. package/dist/apps/services/api/payment.js.map +1 -0
  85. package/dist/apps/services/api/post-submission-attachment-urls.d.ts +7 -0
  86. package/dist/apps/services/api/post-submission-attachment-urls.js +19 -0
  87. package/dist/apps/services/api/post-submission-attachment-urls.js.map +1 -0
  88. package/dist/apps/services/api/prefill.d.ts +1 -0
  89. package/dist/apps/services/api/prefill.js +70 -0
  90. package/dist/apps/services/api/prefill.js.map +1 -0
  91. package/dist/apps/services/api/receipt-id.d.ts +2 -0
  92. package/dist/apps/services/api/receipt-id.js +54 -0
  93. package/dist/apps/services/api/receipt-id.js.map +1 -0
  94. package/dist/apps/services/api/scheduling.d.ts +38 -0
  95. package/dist/apps/services/api/scheduling.js +142 -0
  96. package/dist/apps/services/api/scheduling.js.map +1 -0
  97. package/dist/apps/services/api/submissions.d.ts +18 -0
  98. package/dist/apps/services/api/submissions.js +166 -0
  99. package/dist/apps/services/api/submissions.js.map +1 -0
  100. package/dist/apps/services/cognito.d.ts +302 -0
  101. package/dist/apps/services/cognito.js +441 -0
  102. package/dist/apps/services/cognito.js.map +1 -0
  103. package/dist/apps/services/draft-data-store.d.ts +16 -0
  104. package/dist/apps/services/draft-data-store.js +115 -0
  105. package/dist/apps/services/draft-data-store.js.map +1 -0
  106. package/dist/apps/services/errors/oneBlinkAppsError.d.ts +35 -0
  107. package/dist/apps/services/errors/oneBlinkAppsError.js +32 -0
  108. package/dist/apps/services/errors/oneBlinkAppsError.js.map +1 -0
  109. package/dist/apps/services/external-id-generation.d.ts +4 -0
  110. package/dist/apps/services/external-id-generation.js +59 -0
  111. package/dist/apps/services/external-id-generation.js.map +1 -0
  112. package/dist/apps/services/fetch.d.ts +12 -0
  113. package/dist/apps/services/fetch.js +95 -0
  114. package/dist/apps/services/fetch.js.map +1 -0
  115. package/dist/apps/services/forms-key.d.ts +51 -0
  116. package/dist/apps/services/forms-key.js +83 -0
  117. package/dist/apps/services/forms-key.js.map +1 -0
  118. package/dist/apps/services/generate-generic-error.d.ts +3 -0
  119. package/dist/apps/services/generate-generic-error.js +52 -0
  120. package/dist/apps/services/generate-generic-error.js.map +1 -0
  121. package/dist/apps/services/generateOneBlinkDownloader.d.ts +2 -0
  122. package/dist/apps/services/generateOneBlinkDownloader.js +11 -0
  123. package/dist/apps/services/generateOneBlinkDownloader.js.map +1 -0
  124. package/dist/apps/services/generateOneBlinkUploader.d.ts +2 -0
  125. package/dist/apps/services/generateOneBlinkUploader.js +11 -0
  126. package/dist/apps/services/generateOneBlinkUploader.js.map +1 -0
  127. package/dist/apps/services/getDeviceInformation.d.ts +17 -0
  128. package/dist/apps/services/getDeviceInformation.js +38 -0
  129. package/dist/apps/services/getDeviceInformation.js.map +1 -0
  130. package/dist/apps/services/integration-elements.d.ts +383 -0
  131. package/dist/apps/services/integration-elements.js +761 -0
  132. package/dist/apps/services/integration-elements.js.map +1 -0
  133. package/dist/apps/services/job-prefill.d.ts +40 -0
  134. package/dist/apps/services/job-prefill.js +78 -0
  135. package/dist/apps/services/job-prefill.js.map +1 -0
  136. package/dist/apps/services/payment-providers/BPOINTPaymentProvider.d.ts +29 -0
  137. package/dist/apps/services/payment-providers/BPOINTPaymentProvider.js +59 -0
  138. package/dist/apps/services/payment-providers/BPOINTPaymentProvider.js.map +1 -0
  139. package/dist/apps/services/payment-providers/CPPayPaymentProvider.d.ts +27 -0
  140. package/dist/apps/services/payment-providers/CPPayPaymentProvider.js +63 -0
  141. package/dist/apps/services/payment-providers/CPPayPaymentProvider.js.map +1 -0
  142. package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.d.ts +30 -0
  143. package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.js +116 -0
  144. package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.js.map +1 -0
  145. package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.d.ts +49 -0
  146. package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.js +116 -0
  147. package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.js.map +1 -0
  148. package/dist/apps/services/payment-providers/receipt-items.d.ts +8 -0
  149. package/dist/apps/services/payment-providers/receipt-items.js +58 -0
  150. package/dist/apps/services/payment-providers/receipt-items.js.map +1 -0
  151. package/dist/apps/services/pending-queue.d.ts +150 -0
  152. package/dist/apps/services/pending-queue.js +316 -0
  153. package/dist/apps/services/pending-queue.js.map +1 -0
  154. package/dist/apps/services/prepareSubmissionData.d.ts +2 -0
  155. package/dist/apps/services/prepareSubmissionData.js +113 -0
  156. package/dist/apps/services/prepareSubmissionData.js.map +1 -0
  157. package/dist/apps/services/query-string.d.ts +1 -0
  158. package/dist/apps/services/query-string.js +16 -0
  159. package/dist/apps/services/query-string.js.map +1 -0
  160. package/dist/apps/services/replaceInjectablesWithSubmissionValues.d.ts +3 -0
  161. package/dist/apps/services/replaceInjectablesWithSubmissionValues.js +18 -0
  162. package/dist/apps/services/replaceInjectablesWithSubmissionValues.js.map +1 -0
  163. package/dist/apps/services/schedulingHandlers.d.ts +36 -0
  164. package/dist/apps/services/schedulingHandlers.js +76 -0
  165. package/dist/apps/services/schedulingHandlers.js.map +1 -0
  166. package/dist/apps/services/server-validation.d.ts +2 -0
  167. package/dist/apps/services/server-validation.js +36 -0
  168. package/dist/apps/services/server-validation.js.map +1 -0
  169. package/dist/apps/services/serverRequest.d.ts +5 -0
  170. package/dist/apps/services/serverRequest.js +24 -0
  171. package/dist/apps/services/serverRequest.js.map +1 -0
  172. package/dist/apps/services/submit.d.ts +19 -0
  173. package/dist/apps/services/submit.js +219 -0
  174. package/dist/apps/services/submit.js.map +1 -0
  175. package/dist/apps/services/uploadAttachment.d.ts +52 -0
  176. package/dist/apps/services/uploadAttachment.js +73 -0
  177. package/dist/apps/services/uploadAttachment.js.map +1 -0
  178. package/dist/apps/services/user-token.d.ts +27 -0
  179. package/dist/apps/services/user-token.js +33 -0
  180. package/dist/apps/services/user-token.js.map +1 -0
  181. package/dist/apps/services/utils.d.ts +12 -0
  182. package/dist/apps/services/utils.js +100 -0
  183. package/dist/apps/services/utils.js.map +1 -0
  184. package/dist/apps/submission-service.d.ts +226 -0
  185. package/dist/apps/submission-service.js +425 -0
  186. package/dist/apps/submission-service.js.map +1 -0
  187. package/dist/apps/tenants.d.ts +30 -0
  188. package/dist/apps/tenants.js +155 -0
  189. package/dist/apps/tenants.js.map +1 -0
  190. package/dist/apps/types/form.d.ts +4 -0
  191. package/dist/apps/types/form.js +2 -0
  192. package/dist/apps/types/form.js.map +1 -0
  193. package/dist/apps/types/payments.d.ts +45 -0
  194. package/dist/apps/types/payments.js +2 -0
  195. package/dist/apps/types/payments.js.map +1 -0
  196. package/dist/apps/types/scheduling.d.ts +5 -0
  197. package/dist/apps/types/scheduling.js +2 -0
  198. package/dist/apps/types/scheduling.js.map +1 -0
  199. package/dist/apps/types/submissions.d.ts +175 -0
  200. package/dist/apps/types/submissions.js +2 -0
  201. package/dist/apps/types/submissions.js.map +1 -0
  202. package/dist/components/ArcGISWebMap.d.ts +3 -3
  203. package/dist/components/ArcGISWebMap.js +29 -39
  204. package/dist/components/ArcGISWebMap.js.map +1 -1
  205. package/dist/components/Clickable.d.ts +1 -1
  206. package/dist/components/Clickable.js +2 -1
  207. package/dist/components/Clickable.js.map +1 -1
  208. package/dist/components/ConfirmDialog.d.ts +2 -2
  209. package/dist/components/ConfirmDialog.js +8 -14
  210. package/dist/components/ConfirmDialog.js.map +1 -1
  211. package/dist/components/CopyToClipboardIconButton.d.ts +1 -1
  212. package/dist/components/CopyToClipboardIconButton.js +10 -14
  213. package/dist/components/CopyToClipboardIconButton.js.map +1 -1
  214. package/dist/components/CustomAccordion.d.ts +2 -19
  215. package/dist/components/ErrorSnackbar.d.ts +1 -1
  216. package/dist/components/ErrorSnackbar.js +6 -7
  217. package/dist/components/ErrorSnackbar.js.map +1 -1
  218. package/dist/components/ImageCropper/CropModal.d.ts +1 -1
  219. package/dist/components/ImageCropper/CropModal.js +2 -8
  220. package/dist/components/ImageCropper/CropModal.js.map +1 -1
  221. package/dist/components/ImageCropper/index.d.ts +1 -1
  222. package/dist/components/ImageCropper/index.js +3 -5
  223. package/dist/components/ImageCropper/index.js.map +1 -1
  224. package/dist/components/InputClear.js +2 -3
  225. package/dist/components/InputClear.js.map +1 -1
  226. package/dist/components/InputField.d.ts +3 -2
  227. package/dist/components/InputField.js +5 -2
  228. package/dist/components/InputField.js.map +1 -1
  229. package/dist/components/Lists.d.ts +1 -3
  230. package/dist/components/Lists.js +2 -2
  231. package/dist/components/Lists.js.map +1 -1
  232. package/dist/components/LoadingWithMessage.js +2 -6
  233. package/dist/components/LoadingWithMessage.js.map +1 -1
  234. package/dist/components/MaterialIcon.d.ts +2 -4
  235. package/dist/components/MaterialIcon.js +4 -4
  236. package/dist/components/MaterialIcon.js.map +1 -1
  237. package/dist/components/NotificationGrid.d.ts +2 -2
  238. package/dist/components/NotificationGrid.js +4 -7
  239. package/dist/components/NotificationGrid.js.map +1 -1
  240. package/dist/components/QuillHTML.d.ts +1 -1
  241. package/dist/components/QuillHTML.js +2 -1
  242. package/dist/components/QuillHTML.js.map +1 -1
  243. package/dist/components/SuccessSnackbar.d.ts +1 -1
  244. package/dist/components/SuccessSnackbar.js +3 -6
  245. package/dist/components/SuccessSnackbar.js.map +1 -1
  246. package/dist/components/ValidationErrorsCard.d.ts +2 -2
  247. package/dist/components/ValidationErrorsCard.js +32 -49
  248. package/dist/components/ValidationErrorsCard.js.map +1 -1
  249. package/dist/components/calendar-bookings/CalendarBookingsCancelForm.d.ts +1 -1
  250. package/dist/components/calendar-bookings/CalendarBookingsCancelForm.js +6 -7
  251. package/dist/components/calendar-bookings/CalendarBookingsCancelForm.js.map +1 -1
  252. package/dist/components/calendar-bookings/CalendarBookingsContainer.d.ts +1 -1
  253. package/dist/components/calendar-bookings/CalendarBookingsContainer.js +9 -11
  254. package/dist/components/calendar-bookings/CalendarBookingsContainer.js.map +1 -1
  255. package/dist/components/calendar-bookings/CalendarBookingsForm.d.ts +2 -2
  256. package/dist/components/calendar-bookings/CalendarBookingsForm.js +34 -46
  257. package/dist/components/calendar-bookings/CalendarBookingsForm.js.map +1 -1
  258. package/dist/components/calendar-bookings/CalendarBookingsProvider.d.ts +1 -1
  259. package/dist/components/calendar-bookings/CalendarBookingsProvider.js +2 -6
  260. package/dist/components/calendar-bookings/CalendarBookingsProvider.js.map +1 -1
  261. package/dist/components/calendar-bookings/CalendarBookingsReschedulingForm.d.ts +1 -1
  262. package/dist/components/calendar-bookings/CalendarBookingsReschedulingForm.js +6 -7
  263. package/dist/components/calendar-bookings/CalendarBookingsReschedulingForm.js.map +1 -1
  264. package/dist/components/calendar-bookings/ErrorModal.d.ts +1 -1
  265. package/dist/components/calendar-bookings/ErrorModal.js +8 -12
  266. package/dist/components/calendar-bookings/ErrorModal.js.map +1 -1
  267. package/dist/components/downloadable-files/LayoutProvider.d.ts +1 -1
  268. package/dist/components/downloadable-files/LayoutProvider.js +2 -1
  269. package/dist/components/downloadable-files/LayoutProvider.js.map +1 -1
  270. package/dist/components/downloadable-files/index.d.ts +2 -2
  271. package/dist/components/downloadable-files/index.js +4 -6
  272. package/dist/components/downloadable-files/index.js.map +1 -1
  273. package/dist/components/downloadable-files/resource-components.d.ts +4 -4
  274. package/dist/components/downloadable-files/resource-components.js +10 -33
  275. package/dist/components/downloadable-files/resource-components.js.map +1 -1
  276. package/dist/components/formStore/FormStoreTableProvider.d.ts +1 -1
  277. package/dist/components/formStore/FormStoreTableProvider.js +6 -16
  278. package/dist/components/formStore/FormStoreTableProvider.js.map +1 -1
  279. package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.d.ts +1 -1
  280. package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.js +3 -4
  281. package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.js.map +1 -1
  282. package/dist/components/formStore/OneBlinkFormStoreColumnsButton.d.ts +1 -1
  283. package/dist/components/formStore/OneBlinkFormStoreColumnsButton.js +21 -54
  284. package/dist/components/formStore/OneBlinkFormStoreColumnsButton.js.map +1 -1
  285. package/dist/components/formStore/OneBlinkFormStoreDownloadButton.d.ts +2 -2
  286. package/dist/components/formStore/OneBlinkFormStoreDownloadButton.js +8 -27
  287. package/dist/components/formStore/OneBlinkFormStoreDownloadButton.js.map +1 -1
  288. package/dist/components/formStore/OneBlinkFormStoreProvider.d.ts +1 -1
  289. package/dist/components/formStore/OneBlinkFormStoreProvider.js +5 -6
  290. package/dist/components/formStore/OneBlinkFormStoreProvider.js.map +1 -1
  291. package/dist/components/formStore/OneBlinkFormStoreRefreshButton.d.ts +1 -1
  292. package/dist/components/formStore/OneBlinkFormStoreRefreshButton.js +2 -3
  293. package/dist/components/formStore/OneBlinkFormStoreRefreshButton.js.map +1 -1
  294. package/dist/components/formStore/OneBlinkFormStoreTable.d.ts +1 -1
  295. package/dist/components/formStore/OneBlinkFormStoreTable.js +129 -95
  296. package/dist/components/formStore/OneBlinkFormStoreTable.js.map +1 -1
  297. package/dist/components/formStore/display/ElementDisplay.d.ts +3 -4
  298. package/dist/components/formStore/display/ElementDisplay.js +11 -14
  299. package/dist/components/formStore/display/ElementDisplay.js.map +1 -1
  300. package/dist/components/formStore/display/FormStoreIcon.d.ts +1 -1
  301. package/dist/components/formStore/display/FormStoreIcon.js +2 -2
  302. package/dist/components/formStore/display/FormStoreIcon.js.map +1 -1
  303. package/dist/components/formStore/table/ActionedByTableCell.d.ts +1 -1
  304. package/dist/components/formStore/table/ActionedByTableCell.js +6 -7
  305. package/dist/components/formStore/table/ActionedByTableCell.js.map +1 -1
  306. package/dist/components/formStore/table/ColumnFilters.d.ts +3 -3
  307. package/dist/components/formStore/table/ColumnFilters.js +85 -101
  308. package/dist/components/formStore/table/ColumnFilters.js.map +1 -1
  309. package/dist/components/formStore/table/FormElementTableCell.d.ts +1 -1
  310. package/dist/components/formStore/table/FormElementTableCell.js +35 -98
  311. package/dist/components/formStore/table/FormElementTableCell.js.map +1 -1
  312. package/dist/components/formStore/table/HeaderCellMoreButton.d.ts +4 -4
  313. package/dist/components/formStore/table/HeaderCellMoreButton.js +26 -32
  314. package/dist/components/formStore/table/HeaderCellMoreButton.js.map +1 -1
  315. package/dist/components/formStore/table/Pickers.d.ts +4 -4
  316. package/dist/components/formStore/table/Pickers.js +15 -14
  317. package/dist/components/formStore/table/Pickers.js.map +1 -1
  318. package/dist/components/formStore/table/RepeatableSetCell.js +17 -21
  319. package/dist/components/formStore/table/RepeatableSetCell.js.map +1 -1
  320. package/dist/components/formStore/table/RepeatableSetCellAccordion.js +2 -4
  321. package/dist/components/formStore/table/RepeatableSetCellAccordion.js.map +1 -1
  322. package/dist/components/formStore/table/TableCellCopyButton.d.ts +1 -1
  323. package/dist/components/formStore/table/TableCellCopyButton.js +2 -3
  324. package/dist/components/formStore/table/TableCellCopyButton.js.map +1 -1
  325. package/dist/components/formStore/table/generateColumns.d.ts +6 -7
  326. package/dist/components/formStore/table/generateColumns.js +23 -18
  327. package/dist/components/formStore/table/generateColumns.js.map +1 -1
  328. package/dist/components/formStore/table/getVersionedState.d.ts +4 -3
  329. package/dist/components/formStore/table/getVersionedState.js +23 -6
  330. package/dist/components/formStore/table/getVersionedState.js.map +1 -1
  331. package/dist/components/formStore/table/useFormStoreTable.d.ts +146 -37
  332. package/dist/components/formStore/table/useFormStoreTable.js +268 -199
  333. package/dist/components/formStore/table/useFormStoreTable.js.map +1 -1
  334. package/dist/components/formStore/useFormStoreTableContext.d.ts +144 -35
  335. package/dist/components/messages/ErrorMessage.js +3 -3
  336. package/dist/components/messages/ErrorMessage.js.map +1 -1
  337. package/dist/components/messages/LargeIconMessage.js +2 -6
  338. package/dist/components/messages/LargeIconMessage.js.map +1 -1
  339. package/dist/components/messages/NoResourcesYet.d.ts +1 -1
  340. package/dist/components/messages/NoResourcesYet.js +2 -1
  341. package/dist/components/messages/NoResourcesYet.js.map +1 -1
  342. package/dist/components/mfa/MfaDialog.d.ts +2 -2
  343. package/dist/components/mfa/MfaDialog.js +10 -49
  344. package/dist/components/mfa/MfaDialog.js.map +1 -1
  345. package/dist/components/mfa/MultiFactorAuthentication.d.ts +2 -5
  346. package/dist/components/mfa/MultiFactorAuthentication.js +14 -45
  347. package/dist/components/mfa/MultiFactorAuthentication.js.map +1 -1
  348. package/dist/components/payments/PaymentForm.d.ts +1 -1
  349. package/dist/components/payments/PaymentForm.js +5 -10
  350. package/dist/components/payments/PaymentForm.js.map +1 -1
  351. package/dist/components/payments/WestpacQuickStreamPaymentForm.d.ts +2 -2
  352. package/dist/components/payments/WestpacQuickStreamPaymentForm.js +12 -46
  353. package/dist/components/payments/WestpacQuickStreamPaymentForm.js.map +1 -1
  354. package/dist/components/receipts/Receipt.d.ts +1 -1
  355. package/dist/components/receipts/Receipt.js +2 -2
  356. package/dist/components/receipts/Receipt.js.map +1 -1
  357. package/dist/components/receipts/ReceiptButton.d.ts +1 -1
  358. package/dist/components/receipts/ReceiptButton.js +3 -2
  359. package/dist/components/receipts/ReceiptButton.js.map +1 -1
  360. package/dist/components/receipts/ReceiptList.d.ts +1 -1
  361. package/dist/components/receipts/ReceiptList.js +2 -9
  362. package/dist/components/receipts/ReceiptList.js.map +1 -1
  363. package/dist/components/receipts/ReceiptListItem.d.ts +1 -1
  364. package/dist/components/receipts/ReceiptListItem.js +2 -11
  365. package/dist/components/receipts/ReceiptListItem.js.map +1 -1
  366. package/dist/components/renderer/AnnotationModal.d.ts +1 -1
  367. package/dist/components/renderer/AnnotationModal.js +6 -14
  368. package/dist/components/renderer/AnnotationModal.js.map +1 -1
  369. package/dist/components/renderer/AutocompleteDropdown.d.ts +1 -1
  370. package/dist/components/renderer/AutocompleteDropdown.js +16 -35
  371. package/dist/components/renderer/AutocompleteDropdown.js.map +1 -1
  372. package/dist/components/renderer/CopyToClipboardButton.d.ts +1 -1
  373. package/dist/components/renderer/CopyToClipboardButton.js +2 -4
  374. package/dist/components/renderer/CopyToClipboardButton.js.map +1 -1
  375. package/dist/components/renderer/CustomisableButtonInner.js +2 -4
  376. package/dist/components/renderer/CustomisableButtonInner.js.map +1 -1
  377. package/dist/components/renderer/FormElementLabelContainer.d.ts +3 -3
  378. package/dist/components/renderer/FormElementLabelContainer.js +7 -14
  379. package/dist/components/renderer/FormElementLabelContainer.js.map +1 -1
  380. package/dist/components/renderer/FormElementOptions.d.ts +1 -1
  381. package/dist/components/renderer/FormElementOptions.js +4 -5
  382. package/dist/components/renderer/FormElementOptions.js.map +1 -1
  383. package/dist/components/renderer/FormElementValidationMessage.js +3 -5
  384. package/dist/components/renderer/FormElementValidationMessage.js.map +1 -1
  385. package/dist/components/renderer/LookupButton.d.ts +1 -1
  386. package/dist/components/renderer/LookupButton.js +4 -8
  387. package/dist/components/renderer/LookupButton.js.map +1 -1
  388. package/dist/components/renderer/LookupNotification.d.ts +1 -1
  389. package/dist/components/renderer/LookupNotification.js +16 -38
  390. package/dist/components/renderer/LookupNotification.js.map +1 -1
  391. package/dist/components/renderer/Modal.d.ts +3 -3
  392. package/dist/components/renderer/Modal.js +7 -10
  393. package/dist/components/renderer/Modal.js.map +1 -1
  394. package/dist/components/renderer/OnLoading.d.ts +1 -1
  395. package/dist/components/renderer/OnLoading.js +3 -3
  396. package/dist/components/renderer/OnLoading.js.map +1 -1
  397. package/dist/components/renderer/OneBlinkAppsErrorOriginalMessage.d.ts +1 -1
  398. package/dist/components/renderer/OneBlinkAppsErrorOriginalMessage.js +3 -5
  399. package/dist/components/renderer/OneBlinkAppsErrorOriginalMessage.js.map +1 -1
  400. package/dist/components/renderer/OneBlinkFormElements.d.ts +1 -1
  401. package/dist/components/renderer/OneBlinkFormElements.js +61 -90
  402. package/dist/components/renderer/OneBlinkFormElements.js.map +1 -1
  403. package/dist/components/renderer/PageFormElements.d.ts +1 -1
  404. package/dist/components/renderer/PageFormElements.js +3 -5
  405. package/dist/components/renderer/PageFormElements.js.map +1 -1
  406. package/dist/components/renderer/ProgressBar.d.ts +1 -1
  407. package/dist/components/renderer/ProgressBar.js +2 -1
  408. package/dist/components/renderer/ProgressBar.js.map +1 -1
  409. package/dist/components/renderer/ReverseGeocode.d.ts +1 -1
  410. package/dist/components/renderer/ReverseGeocode.js +3 -2
  411. package/dist/components/renderer/ReverseGeocode.js.map +1 -1
  412. package/dist/components/renderer/ToggleAllCheckbox.js +4 -5
  413. package/dist/components/renderer/ToggleAllCheckbox.js.map +1 -1
  414. package/dist/components/renderer/Tooltip.d.ts +1 -1
  415. package/dist/components/renderer/Tooltip.js +5 -1
  416. package/dist/components/renderer/Tooltip.js.map +1 -1
  417. package/dist/components/renderer/attachments/AttachmentStatus.d.ts +1 -1
  418. package/dist/components/renderer/attachments/AttachmentStatus.js +6 -15
  419. package/dist/components/renderer/attachments/AttachmentStatus.js.map +1 -1
  420. package/dist/components/renderer/attachments/DropdownMenu.js +30 -42
  421. package/dist/components/renderer/attachments/DropdownMenu.js.map +1 -1
  422. package/dist/components/renderer/attachments/FileCard.d.ts +1 -1
  423. package/dist/components/renderer/attachments/FileCard.js +2 -10
  424. package/dist/components/renderer/attachments/FileCard.js.map +1 -1
  425. package/dist/components/renderer/attachments/FileCardContent.d.ts +1 -1
  426. package/dist/components/renderer/attachments/FileCardContent.js +3 -4
  427. package/dist/components/renderer/attachments/FileCardContent.js.map +1 -1
  428. package/dist/components/renderer/attachments/ImagePreviewUnavailable.d.ts +1 -1
  429. package/dist/components/renderer/attachments/ImagePreviewUnavailable.js +2 -5
  430. package/dist/components/renderer/attachments/ImagePreviewUnavailable.js.map +1 -1
  431. package/dist/components/renderer/attachments/ProgressBar.js +2 -4
  432. package/dist/components/renderer/attachments/ProgressBar.js.map +1 -1
  433. package/dist/form-elements/ComplianceButton.js +3 -4
  434. package/dist/form-elements/ComplianceButton.js.map +1 -1
  435. package/dist/form-elements/FormElementABN.d.ts +1 -1
  436. package/dist/form-elements/FormElementABN.js +18 -28
  437. package/dist/form-elements/FormElementABN.js.map +1 -1
  438. package/dist/form-elements/FormElementAPINSWLiquorLicence.d.ts +2 -2
  439. package/dist/form-elements/FormElementAPINSWLiquorLicence.js +4 -22
  440. package/dist/form-elements/FormElementAPINSWLiquorLicence.js.map +1 -1
  441. package/dist/form-elements/FormElementArcGISWebMap.d.ts +1 -1
  442. package/dist/form-elements/FormElementArcGISWebMap.js +21 -36
  443. package/dist/form-elements/FormElementArcGISWebMap.js.map +1 -1
  444. package/dist/form-elements/FormElementAutocomplete.d.ts +1 -1
  445. package/dist/form-elements/FormElementAutocomplete.js +6 -10
  446. package/dist/form-elements/FormElementAutocomplete.js.map +1 -1
  447. package/dist/form-elements/FormElementBSB.d.ts +1 -1
  448. package/dist/form-elements/FormElementBSB.js +22 -31
  449. package/dist/form-elements/FormElementBSB.js.map +1 -1
  450. package/dist/form-elements/FormElementBarcodeScanner.d.ts +1 -1
  451. package/dist/form-elements/FormElementBarcodeScanner.js +16 -50
  452. package/dist/form-elements/FormElementBarcodeScanner.js.map +1 -1
  453. package/dist/form-elements/FormElementBoolean.d.ts +1 -1
  454. package/dist/form-elements/FormElementBoolean.js +4 -4
  455. package/dist/form-elements/FormElementBoolean.js.map +1 -1
  456. package/dist/form-elements/FormElementCalculation.d.ts +1 -1
  457. package/dist/form-elements/FormElementCalculation.js +4 -11
  458. package/dist/form-elements/FormElementCalculation.js.map +1 -1
  459. package/dist/form-elements/FormElementCamera.d.ts +1 -1
  460. package/dist/form-elements/FormElementCamera.js +7 -53
  461. package/dist/form-elements/FormElementCamera.js.map +1 -1
  462. package/dist/form-elements/FormElementCaptcha.d.ts +1 -1
  463. package/dist/form-elements/FormElementCaptcha.js +2 -4
  464. package/dist/form-elements/FormElementCaptcha.js.map +1 -1
  465. package/dist/form-elements/FormElementCheckBoxes.d.ts +1 -1
  466. package/dist/form-elements/FormElementCheckBoxes.js +23 -33
  467. package/dist/form-elements/FormElementCheckBoxes.js.map +1 -1
  468. package/dist/form-elements/FormElementCivicaNameRecord.d.ts +1 -1
  469. package/dist/form-elements/FormElementCivicaNameRecord.js +3 -2
  470. package/dist/form-elements/FormElementCivicaNameRecord.js.map +1 -1
  471. package/dist/form-elements/FormElementCivicaStreetName.d.ts +1 -1
  472. package/dist/form-elements/FormElementCivicaStreetName.js +3 -5
  473. package/dist/form-elements/FormElementCivicaStreetName.js.map +1 -1
  474. package/dist/form-elements/FormElementCompliance.d.ts +2 -2
  475. package/dist/form-elements/FormElementCompliance.js +13 -25
  476. package/dist/form-elements/FormElementCompliance.js.map +1 -1
  477. package/dist/form-elements/FormElementDate.d.ts +1 -1
  478. package/dist/form-elements/FormElementDate.js +3 -10
  479. package/dist/form-elements/FormElementDate.js.map +1 -1
  480. package/dist/form-elements/FormElementDateTime.d.ts +1 -1
  481. package/dist/form-elements/FormElementDateTime.js +3 -10
  482. package/dist/form-elements/FormElementDateTime.js.map +1 -1
  483. package/dist/form-elements/FormElementEmail.d.ts +1 -1
  484. package/dist/form-elements/FormElementEmail.js +4 -13
  485. package/dist/form-elements/FormElementEmail.js.map +1 -1
  486. package/dist/form-elements/FormElementFile.d.ts +1 -1
  487. package/dist/form-elements/FormElementFile.js +2 -12
  488. package/dist/form-elements/FormElementFile.js.map +1 -1
  489. package/dist/form-elements/FormElementFiles.d.ts +2 -2
  490. package/dist/form-elements/FormElementFiles.js +9 -17
  491. package/dist/form-elements/FormElementFiles.js.map +1 -1
  492. package/dist/form-elements/FormElementForm.d.ts +1 -1
  493. package/dist/form-elements/FormElementForm.js +2 -1
  494. package/dist/form-elements/FormElementForm.js.map +1 -1
  495. package/dist/form-elements/FormElementFreshdeskDependentField.d.ts +1 -1
  496. package/dist/form-elements/FormElementFreshdeskDependentField.js +5 -11
  497. package/dist/form-elements/FormElementFreshdeskDependentField.js.map +1 -1
  498. package/dist/form-elements/FormElementGeoscapeAddress.d.ts +1 -1
  499. package/dist/form-elements/FormElementGeoscapeAddress.js +3 -5
  500. package/dist/form-elements/FormElementGeoscapeAddress.js.map +1 -1
  501. package/dist/form-elements/FormElementGoogleAddress.d.ts +1 -1
  502. package/dist/form-elements/FormElementGoogleAddress.js +3 -8
  503. package/dist/form-elements/FormElementGoogleAddress.js.map +1 -1
  504. package/dist/form-elements/FormElementHTML.d.ts +1 -1
  505. package/dist/form-elements/FormElementHTML.js +2 -3
  506. package/dist/form-elements/FormElementHTML.js.map +1 -1
  507. package/dist/form-elements/FormElementHeading.d.ts +1 -1
  508. package/dist/form-elements/FormElementHeading.js +7 -8
  509. package/dist/form-elements/FormElementHeading.js.map +1 -1
  510. package/dist/form-elements/FormElementImage.d.ts +1 -1
  511. package/dist/form-elements/FormElementImage.js +3 -3
  512. package/dist/form-elements/FormElementImage.js.map +1 -1
  513. package/dist/form-elements/FormElementLocation.d.ts +1 -1
  514. package/dist/form-elements/FormElementLocation.js +21 -48
  515. package/dist/form-elements/FormElementLocation.js.map +1 -1
  516. package/dist/form-elements/FormElementLookupButton.d.ts +2 -3
  517. package/dist/form-elements/FormElementLookupButton.js +5 -8
  518. package/dist/form-elements/FormElementLookupButton.js.map +1 -1
  519. package/dist/form-elements/FormElementNumber.d.ts +1 -1
  520. package/dist/form-elements/FormElementNumber.js +4 -15
  521. package/dist/form-elements/FormElementNumber.js.map +1 -1
  522. package/dist/form-elements/FormElementPointAddress.d.ts +2 -2
  523. package/dist/form-elements/FormElementPointAddress.js +7 -14
  524. package/dist/form-elements/FormElementPointAddress.js.map +1 -1
  525. package/dist/form-elements/FormElementPointAddressV3.d.ts +1 -1
  526. package/dist/form-elements/FormElementPointAddressV3.js +3 -10
  527. package/dist/form-elements/FormElementPointAddressV3.js.map +1 -1
  528. package/dist/form-elements/FormElementPointCadastralParcel.d.ts +1 -1
  529. package/dist/form-elements/FormElementPointCadastralParcel.js +15 -27
  530. package/dist/form-elements/FormElementPointCadastralParcel.js.map +1 -1
  531. package/dist/form-elements/FormElementRadio.d.ts +1 -1
  532. package/dist/form-elements/FormElementRadio.js +24 -30
  533. package/dist/form-elements/FormElementRadio.js.map +1 -1
  534. package/dist/form-elements/FormElementRepeatableSet.d.ts +1 -1
  535. package/dist/form-elements/FormElementRepeatableSet.js +21 -39
  536. package/dist/form-elements/FormElementRepeatableSet.js.map +1 -1
  537. package/dist/form-elements/FormElementSection.d.ts +1 -1
  538. package/dist/form-elements/FormElementSection.js +16 -34
  539. package/dist/form-elements/FormElementSection.js.map +1 -1
  540. package/dist/form-elements/FormElementSelect.d.ts +1 -1
  541. package/dist/form-elements/FormElementSelect.js +12 -23
  542. package/dist/form-elements/FormElementSelect.js.map +1 -1
  543. package/dist/form-elements/FormElementSignature.d.ts +1 -1
  544. package/dist/form-elements/FormElementSignature.js +21 -46
  545. package/dist/form-elements/FormElementSignature.js.map +1 -1
  546. package/dist/form-elements/FormElementSummary.d.ts +1 -1
  547. package/dist/form-elements/FormElementSummary.js +9 -6
  548. package/dist/form-elements/FormElementSummary.js.map +1 -1
  549. package/dist/form-elements/FormElementTelephone.d.ts +1 -1
  550. package/dist/form-elements/FormElementTelephone.js +4 -13
  551. package/dist/form-elements/FormElementTelephone.js.map +1 -1
  552. package/dist/form-elements/FormElementText.d.ts +1 -1
  553. package/dist/form-elements/FormElementText.js +6 -21
  554. package/dist/form-elements/FormElementText.js.map +1 -1
  555. package/dist/form-elements/FormElementTextarea.d.ts +1 -1
  556. package/dist/form-elements/FormElementTextarea.js +6 -20
  557. package/dist/form-elements/FormElementTextarea.js.map +1 -1
  558. package/dist/form-elements/FormElementTime.d.ts +1 -1
  559. package/dist/form-elements/FormElementTime.js +3 -10
  560. package/dist/form-elements/FormElementTime.js.map +1 -1
  561. package/dist/form-elements/OptionButton.js +3 -5
  562. package/dist/form-elements/OptionButton.js.map +1 -1
  563. package/dist/hooks/attachments/useAttachment.d.ts +1 -1
  564. package/dist/hooks/attachments/useAttachment.js +1 -1
  565. package/dist/hooks/attachments/useAttachment.js.map +1 -1
  566. package/dist/hooks/attachments/useAttachmentBlobs.d.ts +1 -1
  567. package/dist/hooks/attachments/useAttachmentBlobs.js +2 -1
  568. package/dist/hooks/attachments/useAttachmentBlobs.js.map +1 -1
  569. package/dist/hooks/attachments/useAttachments.d.ts +1 -1
  570. package/dist/hooks/attachments/useAttachments.js.map +1 -1
  571. package/dist/hooks/form-date-picker/useFormDatePickerProps.d.ts +7 -8
  572. package/dist/hooks/form-date-picker/useFormDatePickerProps.js +10 -10
  573. package/dist/hooks/form-date-picker/useFormDatePickerProps.js.map +1 -1
  574. package/dist/hooks/useAuth.d.ts +1 -1
  575. package/dist/hooks/useAuth.js +3 -2
  576. package/dist/hooks/useAuth.js.map +1 -1
  577. package/dist/hooks/useConditionalLogic.js +1 -1
  578. package/dist/hooks/useConditionalLogic.js.map +1 -1
  579. package/dist/hooks/useDrafts.d.ts +2 -2
  580. package/dist/hooks/useDrafts.js +3 -2
  581. package/dist/hooks/useDrafts.js.map +1 -1
  582. package/dist/hooks/useDynamicOptionsLoaderState.d.ts +2 -2
  583. package/dist/hooks/useDynamicOptionsLoaderState.js +5 -14
  584. package/dist/hooks/useDynamicOptionsLoaderState.js.map +1 -1
  585. package/dist/hooks/useFormElementLookups.d.ts +2 -2
  586. package/dist/hooks/useFormElementLookups.js +3 -2
  587. package/dist/hooks/useFormElementLookups.js.map +1 -1
  588. package/dist/hooks/useFormSubmissionAutoSaveState.d.ts +1 -1
  589. package/dist/hooks/useFormSubmissionAutoSaveState.js +1 -1
  590. package/dist/hooks/useFormSubmissionAutoSaveState.js.map +1 -1
  591. package/dist/hooks/useFormSubmissionDuration.js +2 -0
  592. package/dist/hooks/useFormSubmissionDuration.js.map +1 -1
  593. package/dist/hooks/useFormSubmissionModelContext.d.ts +1 -1
  594. package/dist/hooks/useFormSubmissionModelContext.js +2 -1
  595. package/dist/hooks/useFormSubmissionModelContext.js.map +1 -1
  596. package/dist/hooks/useFormSubmissionState.d.ts +1 -1
  597. package/dist/hooks/useFormSubmissionState.js +1 -1
  598. package/dist/hooks/useFormSubmissionState.js.map +1 -1
  599. package/dist/hooks/useIsHovering.d.ts +1 -1
  600. package/dist/hooks/useIsHovering.js +4 -4
  601. package/dist/hooks/useIsHovering.js.map +1 -1
  602. package/dist/hooks/useIsOffline.d.ts +1 -1
  603. package/dist/hooks/useIsOffline.js +3 -2
  604. package/dist/hooks/useIsOffline.js.map +1 -1
  605. package/dist/hooks/useIsPageVisible.d.ts +1 -1
  606. package/dist/hooks/useIsPageVisible.js +2 -1
  607. package/dist/hooks/useIsPageVisible.js.map +1 -1
  608. package/dist/hooks/useLoadDataState.js +3 -1
  609. package/dist/hooks/useLoadDataState.js.map +1 -1
  610. package/dist/hooks/useLogin.js +1 -1
  611. package/dist/hooks/useLogin.js.map +1 -1
  612. package/dist/hooks/useMfa.d.ts +2 -2
  613. package/dist/hooks/useMfa.js +3 -2
  614. package/dist/hooks/useMfa.js.map +1 -1
  615. package/dist/hooks/useOnUploadAttachment.d.ts +1 -1
  616. package/dist/hooks/useOnUploadAttachment.js +1 -1
  617. package/dist/hooks/useOnUploadAttachment.js.map +1 -1
  618. package/dist/hooks/useOneBlinkFormContainer.d.ts +2 -1
  619. package/dist/hooks/useOneBlinkFormContainer.js +2 -2
  620. package/dist/hooks/useOneBlinkFormContainer.js.map +1 -1
  621. package/dist/hooks/usePages.d.ts +1 -1
  622. package/dist/hooks/usePendingSubmissions.d.ts +2 -2
  623. package/dist/hooks/usePendingSubmissions.js +3 -2
  624. package/dist/hooks/usePendingSubmissions.js.map +1 -1
  625. package/dist/hooks/useReCAPTCHAProps.d.ts +1 -1
  626. package/dist/hooks/useReCAPTCHAProps.js.map +1 -1
  627. package/dist/hooks/useReplaceableText.js +1 -1
  628. package/dist/hooks/useReplaceableText.js.map +1 -1
  629. package/dist/hooks/useSignUp.js +1 -1
  630. package/dist/hooks/useSignUp.js.map +1 -1
  631. package/dist/index.d.ts +1 -0
  632. package/dist/index.js +2 -0
  633. package/dist/index.js.map +1 -1
  634. package/dist/services/attachments.d.ts +1 -1
  635. package/dist/services/attachments.js +1 -1
  636. package/dist/services/attachments.js.map +1 -1
  637. package/dist/services/blob-utils.js +1 -1
  638. package/dist/services/blob-utils.js.map +1 -1
  639. package/dist/services/checkIfAttachmentsExist.d.ts +1 -1
  640. package/dist/services/checkIfAttachmentsExist.js.map +1 -1
  641. package/dist/services/defaultCoordinates.js +1 -1
  642. package/dist/services/defaultCoordinates.js.map +1 -1
  643. package/dist/services/download-file.d.ts +1 -1
  644. package/dist/services/download-file.js +2 -2
  645. package/dist/services/download-file.js.map +1 -1
  646. package/dist/services/drawTimestampOnCanvas.js +1 -1
  647. package/dist/services/drawTimestampOnCanvas.js.map +1 -1
  648. package/dist/services/form-validation/validateSubmission.js +1 -1
  649. package/dist/services/form-validation/validateSubmission.js.map +1 -1
  650. package/dist/services/form-validation/validators.d.ts +1 -1
  651. package/dist/services/form-validation/validators.js.map +1 -1
  652. package/dist/services/generate-default-data.js +1 -1
  653. package/dist/services/generate-default-data.js.map +1 -1
  654. package/dist/services/injectableOptions.js +1 -1
  655. package/dist/services/injectableOptions.js.map +1 -1
  656. package/dist/styles.css +208 -204
  657. package/dist/types/attachments.d.ts +1 -1
  658. package/dist/types/attachments.js.map +1 -1
  659. package/dist/utils/sendGoogleAnalyticsEvent.js +1 -1
  660. package/dist/utils/sendGoogleAnalyticsEvent.js.map +1 -1
  661. package/package.json +58 -51
@@ -1 +1 @@
1
- {"version":3,"file":"MfaDialog.js","sourceRoot":"","sources":["../../../src/components/mfa/MfaDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { QRCodeSVG } from 'qrcode.react'\nimport {\n Box,\n Collapse,\n Dialog,\n Grid,\n Link,\n Typography,\n DialogContent,\n DialogActions,\n Button,\n} from '@mui/material'\nimport { authService } from '@oneblink/apps'\nimport useBooleanState from '../../hooks/useBooleanState'\nimport { CopyToClipBoardIconButton } from '../CopyToClipboardIconButton'\nimport SuccessSnackbar from '../SuccessSnackbar'\nimport InputField from '../InputField'\nimport { LoadingButton } from '@mui/lab'\n\nfunction MfaDialog({\n onClose,\n onCompleted,\n mfaSetup,\n}: {\n onClose: () => void\n onCompleted: () => void\n mfaSetup: Awaited<ReturnType<typeof authService.setupMfa>> | undefined\n}) {\n const [code, setState] = React.useState('')\n const [hasSuccessfullySaved, showSuccessfullySaved, hideSuccessfullySaved] =\n useBooleanState(false)\n const [isShowingSecretCode, showSecretCode, hideSecretCode] =\n useBooleanState(false)\n\n const qrcodeValue = React.useMemo(() => {\n if (mfaSetup) {\n return authService.generateMfaQrCodeUrl(mfaSetup)\n }\n }, [mfaSetup])\n\n const [isSaving, startSaving, stopSaving] = useBooleanState(false)\n const handleSave = React.useCallback(async () => {\n startSaving()\n if (!code || !mfaSetup) {\n return\n }\n\n await mfaSetup.mfaCodeCallback(code)\n onCompleted()\n stopSaving()\n showSuccessfullySaved()\n }, [\n code,\n mfaSetup,\n onCompleted,\n showSuccessfullySaved,\n startSaving,\n stopSaving,\n ])\n\n return (\n <React.Fragment>\n <Dialog open={!!mfaSetup} onClose={onClose} title=\"Complete MFA Setup\">\n <DialogContent dividers>\n <>\n <Typography variant=\"subtitle2\" gutterBottom>\n Authenticator App\n </Typography>\n <Typography variant=\"body2\" paragraph>\n Authenticator apps like{' '}\n <Link\n href=\"https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Google Authenticator\n </Link>{' '}\n and{' '}\n <Link\n href=\"https://www.microsoft.com/en-us/security/mobile-authenticator-app\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Microsoft Authenticator\n </Link>{' '}\n generate one-time passwords that are used as a second factor to\n verify your identity when prompted during sign-in.\n </Typography>\n <Typography variant=\"subtitle2\" gutterBottom>\n Scan the QR code\n </Typography>\n <Typography variant=\"body2\" paragraph>\n Use an authenticator app or browser extension to scan the QR code\n below.\n </Typography>\n\n <Box marginBottom={2}>\n <Grid container spacing={2} alignItems=\"center\">\n <Grid item xs={false}>\n <Box\n border={1}\n padding={2}\n borderRadius={1}\n borderColor=\"divider\"\n display=\"inline-block\"\n >\n <QRCodeSVG value={qrcodeValue || ''} />\n </Box>\n </Grid>\n <Grid item xs>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Having trouble scanning the QR code?{' '}\n <Link onClick={showSecretCode} component=\"button\">\n Click here\n </Link>{' '}\n to display the setup key which can be manually entered in\n your authenticator app.\n </Typography>\n </Grid>\n </Grid>\n </Box>\n\n <Collapse in={isShowingSecretCode}>\n <Box marginBottom={2}>\n <InputField\n label=\"Setup Key\"\n value={mfaSetup?.secretCode || ''}\n fullWidth\n InputProps={{\n endAdornment: (\n <CopyToClipBoardIconButton\n text={mfaSetup?.secretCode || ''}\n />\n ),\n }}\n helperText={\n <>\n <Link onClick={hideSecretCode} component=\"button\">\n Click here\n </Link>{' '}\n to hide the setup key\n </>\n }\n />\n </Box>\n </Collapse>\n\n <Typography variant=\"subtitle2\" gutterBottom>\n Verify App\n </Typography>\n <Typography variant=\"body2\" paragraph>\n Enter the 6-digit code found in your authenticator app.\n </Typography>\n\n <InputField\n autoFocus\n margin=\"none\"\n name=\"code\"\n label=\"Code\"\n fullWidth\n placeholder=\"XXXXXX\"\n variant=\"outlined\"\n value={code}\n onChange={(event) => {\n const newValue = event.target.value\n setState(() => newValue)\n }}\n disabled={isSaving}\n data-cypress=\"mfa-dialog-code\"\n />\n </>\n </DialogContent>\n <DialogActions>\n <Button onClick={onClose} disabled={isSaving}>\n Cancel\n </Button>\n <LoadingButton\n variant=\"contained\"\n color=\"primary\"\n loading={isSaving}\n onClick={handleSave}\n >\n Save\n </LoadingButton>\n </DialogActions>\n </Dialog>\n\n <SuccessSnackbar\n open={hasSuccessfullySaved}\n onClose={hideSuccessfullySaved}\n >\n MFA has been successfully setup.\n </SuccessSnackbar>\n </React.Fragment>\n )\n}\n\nexport default React.memo(MfaDialog)\n"]}
1
+ {"version":3,"file":"MfaDialog.js","sourceRoot":"","sources":["../../../src/components/mfa/MfaDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { QRCodeSVG } from 'qrcode.react'\nimport {\n Box,\n Collapse,\n Dialog,\n Grid,\n Link,\n Typography,\n DialogContent,\n DialogActions,\n Button,\n} from '@mui/material'\nimport { authService } from '../../apps'\nimport useBooleanState from '../../hooks/useBooleanState'\nimport { CopyToClipBoardIconButton } from '../CopyToClipboardIconButton'\nimport SuccessSnackbar from '../SuccessSnackbar'\nimport InputField from '../InputField'\n\nfunction MfaDialog({\n onClose,\n onCompleted,\n mfaSetup,\n}: {\n onClose: () => void\n onCompleted: () => void\n mfaSetup: Awaited<ReturnType<typeof authService.setupMfa>> | undefined\n}) {\n const [code, setState] = React.useState('')\n const [hasSuccessfullySaved, showSuccessfullySaved, hideSuccessfullySaved] =\n useBooleanState(false)\n const [isShowingSecretCode, showSecretCode, hideSecretCode] =\n useBooleanState(false)\n\n const qrcodeValue = React.useMemo(() => {\n if (mfaSetup) {\n return authService.generateMfaQrCodeUrl(mfaSetup)\n }\n }, [mfaSetup])\n\n const [isSaving, startSaving, stopSaving] = useBooleanState(false)\n const handleSave = React.useCallback(async () => {\n startSaving()\n if (!code || !mfaSetup) {\n return\n }\n\n await mfaSetup.mfaCodeCallback(code)\n onCompleted()\n stopSaving()\n showSuccessfullySaved()\n }, [\n code,\n mfaSetup,\n onCompleted,\n showSuccessfullySaved,\n startSaving,\n stopSaving,\n ])\n\n return (\n <React.Fragment>\n <Dialog open={!!mfaSetup} onClose={onClose} title=\"Complete MFA Setup\">\n <DialogContent dividers>\n <>\n <Typography variant=\"subtitle2\" gutterBottom>\n Authenticator App\n </Typography>\n <Typography variant=\"body2\" paragraph>\n Authenticator apps like{' '}\n <Link\n href=\"https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Google Authenticator\n </Link>{' '}\n and{' '}\n <Link\n href=\"https://www.microsoft.com/en-us/security/mobile-authenticator-app\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Microsoft Authenticator\n </Link>{' '}\n generate one-time passwords that are used as a second factor to\n verify your identity when prompted during sign-in.\n </Typography>\n <Typography variant=\"subtitle2\" gutterBottom>\n Scan the QR code\n </Typography>\n <Typography variant=\"body2\" paragraph>\n Use an authenticator app or browser extension to scan the QR code\n below.\n </Typography>\n\n <Box marginBottom={2}>\n <Grid container spacing={2} alignItems=\"center\">\n <Grid>\n <Box\n border={1}\n padding={2}\n borderRadius={1}\n borderColor=\"divider\"\n display=\"inline-block\"\n >\n <QRCodeSVG value={qrcodeValue || ''} />\n </Box>\n </Grid>\n <Grid size={{ xs: 'grow' }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Having trouble scanning the QR code?{' '}\n <Link onClick={showSecretCode} component=\"button\">\n Click here\n </Link>{' '}\n to display the setup key which can be manually entered in\n your authenticator app.\n </Typography>\n </Grid>\n </Grid>\n </Box>\n\n <Collapse in={isShowingSecretCode}>\n <Box marginBottom={2}>\n <InputField\n label=\"Setup Key\"\n value={mfaSetup?.secretCode || ''}\n fullWidth\n slotProps={{\n input: {\n endAdornment: (\n <CopyToClipBoardIconButton\n text={mfaSetup?.secretCode || ''}\n />\n ),\n },\n }}\n helperText={\n <>\n <Link onClick={hideSecretCode} component=\"button\">\n Click here\n </Link>{' '}\n to hide the setup key\n </>\n }\n />\n </Box>\n </Collapse>\n\n <Typography variant=\"subtitle2\" gutterBottom>\n Verify App\n </Typography>\n <Typography variant=\"body2\" paragraph>\n Enter the 6-digit code found in your authenticator app.\n </Typography>\n\n <InputField\n autoFocus\n margin=\"none\"\n name=\"code\"\n label=\"Code\"\n fullWidth\n placeholder=\"XXXXXX\"\n variant=\"outlined\"\n value={code}\n onChange={(event) => {\n const newValue = event.target.value\n setState(() => newValue)\n }}\n disabled={isSaving}\n data-cypress=\"mfa-dialog-code\"\n />\n </>\n </DialogContent>\n <DialogActions>\n <Button onClick={onClose} disabled={isSaving}>\n Cancel\n </Button>\n <Button\n variant=\"contained\"\n color=\"primary\"\n loading={isSaving}\n onClick={handleSave}\n >\n Save\n </Button>\n </DialogActions>\n </Dialog>\n\n <SuccessSnackbar\n open={hasSuccessfullySaved}\n onClose={hideSuccessfullySaved}\n >\n MFA has been successfully setup.\n </SuccessSnackbar>\n </React.Fragment>\n )\n}\n\nexport default React.memo(MfaDialog)\n"]}
@@ -1,7 +1,4 @@
1
- import * as React from 'react';
2
- export declare const LargeIcon: import("@emotion/styled").StyledComponent<import("@mui/material").IconOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
3
- ref?: ((instance: HTMLSpanElement | null) => void) | React.RefObject<HTMLSpanElement> | null | undefined;
4
- }, "className" | "style" | "children" | "classes" | "sx" | "color" | "fontSize" | "baseClassName"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
1
+ export declare const LargeIcon: import("@emotion/styled").StyledComponent<import("@mui/material").IconOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "className" | "children" | "style" | "classes" | "sx" | "color" | "fontSize" | "baseClassName"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
5
2
  type Props = {
6
3
  ssoSetupUrl?: string;
7
4
  };
@@ -41,5 +38,5 @@ type Props = {
41
38
  * @returns
42
39
  * @group Components
43
40
  */
44
- export default function MultiFactorAuthentication({ ssoSetupUrl }: Props): React.JSX.Element;
41
+ export default function MultiFactorAuthentication({ ssoSetupUrl }: Props): import("react/jsx-runtime").JSX.Element;
45
42
  export {};
@@ -1,6 +1,5 @@
1
- import * as React from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { Box, Button, Chip, CircularProgress, Divider, Grid, Icon, Paper, Tooltip, Typography, styled, } from '@mui/material';
3
- import { LoadingButton } from '@mui/lab';
4
3
  import ConfirmDialog from '../ConfirmDialog';
5
4
  import MfaDialog from './MfaDialog';
6
5
  import ErrorSnackbar from '../ErrorSnackbar';
@@ -14,46 +13,30 @@ function MfaStatus({ isExternalIdentityProviderUser, isLoading, loadingError, lo
14
13
  if (isExternalIdentityProviderUser)
15
14
  return null;
16
15
  if (isLoading) {
17
- return (React.createElement(Box, { padding: 3 },
18
- React.createElement(Grid, { container: true, justifyContent: "center" },
19
- React.createElement(CircularProgress, null))));
16
+ return (_jsx(Box, { padding: 3, children: _jsx(Grid, { container: true, justifyContent: "center", children: _jsx(CircularProgress, {}) }) }));
20
17
  }
21
18
  if (loadingError) {
22
- return (React.createElement("div", null,
23
- React.createElement(ErrorMessage, { title: "Error Loading Multi Factor Authentication Configuration", onTryAgain: loadMfa }, loadingError.message)));
19
+ return (_jsx("div", { children: _jsx(ErrorMessage, { title: "Error Loading Multi Factor Authentication Configuration", onTryAgain: loadMfa, children: loadingError.message }) }));
24
20
  }
25
21
  if (isMfaEnabled) {
26
- return (React.createElement(Chip, { label: "Enabled", icon: React.createElement(MaterialIcon, { color: "success" }, "verified_user") }));
22
+ return (_jsx(Chip, { label: "Enabled", icon: _jsx(MaterialIcon, { color: "success", children: "verified_user" }) }));
27
23
  }
28
- return (React.createElement(Chip, { label: "Disabled", icon: React.createElement(MaterialIcon, { color: "warning" }, "remove_moderator") }));
24
+ return (_jsx(Chip, { label: "Disabled", icon: _jsx(MaterialIcon, { color: "warning", children: "remove_moderator" }) }));
29
25
  }
30
26
  function MfaSetup({ ssoSetupUrl }) {
31
27
  const { setupError, isMfaEnabled, isDisablingMfa, isSettingUpMfa, mfaSetup, beginMfaSetup, cancelMfaSetup, completeMfaSetup, clearMfaSetupError, beginDisablingMfa, completeDisablingMfa, cancelDisablingMfa, isExternalIdentityProviderUser, } = useMfa();
32
28
  if (ssoSetupUrl) {
33
- return (React.createElement(Grid, { item: true },
34
- React.createElement(Button, { variant: "outlined", size: "small", component: "a", href: ssoSetupUrl, target: "_blank", rel: "noopener noreferrer", "data-cypress": "configure-mfa-button" }, "Configure MFA")));
29
+ return (_jsx(Grid, { children: _jsx(Button, { variant: "outlined", size: "small", component: "a", href: ssoSetupUrl, target: "_blank", rel: "noopener noreferrer", "data-cypress": "configure-mfa-button", children: "Configure MFA" }) }));
35
30
  }
36
31
  if (isExternalIdentityProviderUser) {
37
- return (React.createElement(Grid, { item: true },
38
- React.createElement(Tooltip, { title: "MFA must be configured in your login provider." },
39
- React.createElement("span", null,
40
- React.createElement(Button, { variant: "outlined", size: "small", disabled: isExternalIdentityProviderUser, "data-cypress": "configure-mfa-button" }, "Configure MFA")))));
32
+ return (_jsx(Grid, { children: _jsx(Tooltip, { title: "MFA must be configured in your login provider.", children: _jsx("span", { children: _jsx(Button, { variant: "outlined", size: "small", disabled: isExternalIdentityProviderUser, "data-cypress": "configure-mfa-button", children: "Configure MFA" }) }) }) }));
41
33
  }
42
- return (React.createElement(React.Fragment, null,
43
- React.createElement(Grid, { item: true },
44
- React.createElement(Button, { variant: "outlined", size: "small", disabled: !isMfaEnabled, "data-cypress": "disable-mfa-button", onClick: beginDisablingMfa }, "Disable MFA"),
45
- React.createElement(ConfirmDialog, { isOpen: isDisablingMfa, onClose: cancelDisablingMfa, onConfirm: completeDisablingMfa, title: "Please Confirm", confirmButtonText: "Disable MFA", confirmButtonIcon: React.createElement(MaterialIcon, null, "remove_moderator"), cypress: {
46
- dialog: 'disable-mfa-dialog',
47
- confirmButton: 'disable-mfa-dialog-confirm-button',
48
- cancelButton: 'disable-mfa-dialog-cancel-button',
49
- error: 'disable-mfa-dialog-error-message',
50
- } },
51
- React.createElement(Typography, { variant: "body2" }, "Are you sure want to disable multi factor authentication (MFA)?"))),
52
- React.createElement(Grid, { item: true },
53
- React.createElement(LoadingButton, { variant: "contained", size: "small", loading: isSettingUpMfa, disabled: isMfaEnabled, onClick: beginMfaSetup, "data-cypress": "setup-mfa-button" }, "Setup MFA"),
54
- React.createElement(MfaDialog, { mfaSetup: mfaSetup, onClose: cancelMfaSetup, onCompleted: completeMfaSetup })),
55
- React.createElement(ErrorSnackbar, { open: !!setupError, onClose: clearMfaSetupError },
56
- React.createElement("span", { "data-cypress": "mfa-setup-error-message" }, setupError === null || setupError === void 0 ? void 0 : setupError.message))));
34
+ return (_jsxs(_Fragment, { children: [_jsxs(Grid, { children: [_jsx(Button, { variant: "outlined", size: "small", disabled: !isMfaEnabled, "data-cypress": "disable-mfa-button", onClick: beginDisablingMfa, children: "Disable MFA" }), _jsx(ConfirmDialog, { isOpen: isDisablingMfa, onClose: cancelDisablingMfa, onConfirm: completeDisablingMfa, title: "Please Confirm", confirmButtonText: "Disable MFA", confirmButtonIcon: _jsx(MaterialIcon, { children: "remove_moderator" }), cypress: {
35
+ dialog: 'disable-mfa-dialog',
36
+ confirmButton: 'disable-mfa-dialog-confirm-button',
37
+ cancelButton: 'disable-mfa-dialog-cancel-button',
38
+ error: 'disable-mfa-dialog-error-message',
39
+ }, children: _jsx(Typography, { variant: "body2", children: "Are you sure want to disable multi factor authentication (MFA)?" }) })] }), _jsxs(Grid, { children: [_jsx(Button, { variant: "contained", size: "small", loading: isSettingUpMfa, disabled: isMfaEnabled, onClick: beginMfaSetup, "data-cypress": "setup-mfa-button", children: "Setup MFA" }), _jsx(MfaDialog, { mfaSetup: mfaSetup, onClose: cancelMfaSetup, onCompleted: completeMfaSetup })] }), _jsx(ErrorSnackbar, { open: !!setupError, onClose: clearMfaSetupError, children: _jsx("span", { "data-cypress": "mfa-setup-error-message", children: setupError === null || setupError === void 0 ? void 0 : setupError.message }) })] }));
57
40
  }
58
41
  /**
59
42
  * React Component that provides a mechanism for app users to configure Multi
@@ -93,20 +76,6 @@ function MfaSetup({ ssoSetupUrl }) {
93
76
  */
94
77
  export default function MultiFactorAuthentication({ ssoSetupUrl }) {
95
78
  const { loadingError, isLoading, isMfaEnabled, loadMfa, isExternalIdentityProviderUser, } = useMfa();
96
- return (React.createElement(Grid, { item: true, xs: true, lg: 8 },
97
- React.createElement(Box, { padding: 3 },
98
- React.createElement(Paper, null,
99
- React.createElement(Box, { padding: 3 },
100
- React.createElement(Grid, { container: true, spacing: 2, alignItems: "center" },
101
- React.createElement(Grid, { item: true, xs: true },
102
- React.createElement(Typography, { variant: "h4", fontWeight: "light" },
103
- "Multi Factor Authentication",
104
- ' ',
105
- React.createElement(MfaStatus, { loadMfa: loadMfa, isLoading: isLoading, loadingError: loadingError, isMfaEnabled: isMfaEnabled, isExternalIdentityProviderUser: !!isExternalIdentityProviderUser })),
106
- React.createElement(Box, { marginY: 1 },
107
- React.createElement(Divider, null)),
108
- React.createElement(Typography, { variant: "body2", paragraph: true }, "Multi factor authentication (MFA), also known as two factor authentication (2FA), is a best practice that requires a second authentication factor in addition to user name and password sign-in credentials. We strongly recommend enabling MFA to enhance your account security."),
109
- React.createElement(Grid, { container: true, justifyContent: "flex-end", spacing: 1 },
110
- React.createElement(MfaSetup, { ssoSetupUrl: ssoSetupUrl || '' })))))))));
79
+ return (_jsx(Grid, { size: { xs: 'grow', lg: 8 }, children: _jsx(Box, { padding: 3, children: _jsx(Paper, { children: _jsx(Box, { padding: 3, children: _jsx(Grid, { container: true, spacing: 2, alignItems: "center", children: _jsxs(Grid, { size: { xs: 'grow' }, children: [_jsxs(Typography, { variant: "h4", fontWeight: "light", children: ["Multi Factor Authentication", ' ', _jsx(MfaStatus, { loadMfa: loadMfa, isLoading: isLoading, loadingError: loadingError, isMfaEnabled: isMfaEnabled, isExternalIdentityProviderUser: !!isExternalIdentityProviderUser })] }), _jsx(Box, { marginY: 1, children: _jsx(Divider, {}) }), _jsx(Typography, { variant: "body2", paragraph: true, children: "Multi factor authentication (MFA), also known as two factor authentication (2FA), is a best practice that requires a second authentication factor in addition to user name and password sign-in credentials. We strongly recommend enabling MFA to enhance your account security." }), _jsx(Grid, { container: true, justifyContent: "flex-end", spacing: 1, children: _jsx(MfaSetup, { ssoSetupUrl: ssoSetupUrl || '' }) })] }) }) }) }) }) }));
111
80
  }
112
81
  //# sourceMappingURL=MultiFactorAuthentication.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiFactorAuthentication.js","sourceRoot":"","sources":["../../../src/components/mfa/MultiFactorAuthentication.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EACL,GAAG,EACH,MAAM,EACN,IAAI,EACJ,gBAAgB,EAChB,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,OAAO,EACP,UAAU,EACV,MAAM,GACP,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,aAAa,MAAM,kBAAkB,CAAA;AAC5C,OAAO,SAAS,MAAM,aAAa,CAAA;AACnC,OAAO,aAAa,MAAM,kBAAkB,CAAA;AAC5C,OAAO,YAAY,MAAM,iBAAiB,CAAA;AAC1C,OAAO,MAAM,MAAM,oBAAoB,CAAA;AACvC,OAAO,YAAY,MAAM,0BAA0B,CAAA;AAEnD,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACpD,QAAQ,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,aAAa;CACvD,CAAC,CAAC,CAAA;AAcH,SAAS,SAAS,CAAC,EACjB,8BAA8B,EAC9B,SAAS,EACT,YAAY,EACZ,OAAO,EACP,YAAY,GACG;IACf,IAAI,8BAA8B;QAAE,OAAO,IAAI,CAAA;IAE/C,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CACL,oBAAC,GAAG,IAAC,OAAO,EAAE,CAAC;YACb,oBAAC,IAAI,IAAC,SAAS,QAAC,cAAc,EAAC,QAAQ;gBACrC,oBAAC,gBAAgB,OAAG,CACf,CACH,CACP,CAAA;IACH,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CACL;YACE,oBAAC,YAAY,IACX,KAAK,EAAC,yDAAyD,EAC/D,UAAU,EAAE,OAAO,IAElB,YAAY,CAAC,OAAO,CACR,CACX,CACP,CAAA;IACH,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CACL,oBAAC,IAAI,IACH,KAAK,EAAC,SAAS,EACf,IAAI,EAAE,oBAAC,YAAY,IAAC,KAAK,EAAC,SAAS,oBAA6B,GAChE,CACH,CAAA;IACH,CAAC;IAED,OAAO,CACL,oBAAC,IAAI,IACH,KAAK,EAAC,UAAU,EAChB,IAAI,EAAE,oBAAC,YAAY,IAAC,KAAK,EAAC,SAAS,uBAAgC,GACnE,CACH,CAAA;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,EAAE,WAAW,EAA2B;IACxD,MAAM,EACJ,UAAU,EACV,YAAY,EACZ,cAAc,EACd,cAAc,EACd,QAAQ,EACR,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,8BAA8B,GAC/B,GAAG,MAAM,EAAE,CAAA;IAEZ,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CACL,oBAAC,IAAI,IAAC,IAAI;YACR,oBAAC,MAAM,IACL,OAAO,EAAC,UAAU,EAClB,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,GAAG,EACb,IAAI,EAAE,WAAW,EACjB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,kBACZ,sBAAsB,oBAG5B,CACJ,CACR,CAAA;IACH,CAAC;IAED,IAAI,8BAA8B,EAAE,CAAC;QACnC,OAAO,CACL,oBAAC,IAAI,IAAC,IAAI;YACR,oBAAC,OAAO,IAAC,KAAK,EAAC,gDAAgD;gBAC7D;oBACE,oBAAC,MAAM,IACL,OAAO,EAAC,UAAU,EAClB,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,8BAA8B,kBAC3B,sBAAsB,oBAG5B,CACJ,CACC,CACL,CACR,CAAA;IACH,CAAC;IAED,OAAO,CACL;QACE,oBAAC,IAAI,IAAC,IAAI;YACR,oBAAC,MAAM,IACL,OAAO,EAAC,UAAU,EAClB,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,CAAC,YAAY,kBACV,oBAAoB,EACjC,OAAO,EAAE,iBAAiB,kBAGnB;YACT,oBAAC,aAAa,IACZ,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,oBAAoB,EAC/B,KAAK,EAAC,gBAAgB,EACtB,iBAAiB,EAAC,aAAa,EAC/B,iBAAiB,EAAE,oBAAC,YAAY,2BAAgC,EAChE,OAAO,EAAE;oBACP,MAAM,EAAE,oBAAoB;oBAC5B,aAAa,EAAE,mCAAmC;oBAClD,YAAY,EAAE,kCAAkC;oBAChD,KAAK,EAAE,kCAAkC;iBAC1C;gBAED,oBAAC,UAAU,IAAC,OAAO,EAAC,OAAO,sEAEd,CACC,CACX;QAEP,oBAAC,IAAI,IAAC,IAAI;YACR,oBAAC,aAAa,IACZ,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,aAAa,kBACT,kBAAkB,gBAGjB;YAChB,oBAAC,SAAS,IACR,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,gBAAgB,GAC7B,CACG;QACP,oBAAC,aAAa,IAAC,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,kBAAkB;YAC5D,8CAAmB,yBAAyB,IACzC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CACf,CACO,CACf,CACJ,CAAA;AACH,CAAC;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAAE,WAAW,EAAS;IACtE,MAAM,EACJ,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,OAAO,EACP,8BAA8B,GAC/B,GAAG,MAAM,EAAE,CAAA;IAEZ,OAAO,CACL,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACxB,oBAAC,GAAG,IAAC,OAAO,EAAE,CAAC;YACb,oBAAC,KAAK;gBACJ,oBAAC,GAAG,IAAC,OAAO,EAAE,CAAC;oBACb,oBAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,EAAE,UAAU,EAAC,QAAQ;wBAC7C,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE;4BACX,oBAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAC,UAAU,EAAC,OAAO;;gCACb,GAAG;gCAC/B,oBAAC,SAAS,IACR,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,8BAA8B,EAC5B,CAAC,CAAC,8BAA8B,GAElC,CACS;4BACb,oBAAC,GAAG,IAAC,OAAO,EAAE,CAAC;gCACb,oBAAC,OAAO,OAAG,CACP;4BACN,oBAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,SAAS,8RAMxB;4BACb,oBAAC,IAAI,IAAC,SAAS,QAAC,cAAc,EAAC,UAAU,EAAC,OAAO,EAAE,CAAC;gCAClD,oBAAC,QAAQ,IAAC,WAAW,EAAE,WAAW,IAAI,EAAE,GAAI,CACvC,CACF,CACF,CACH,CACA,CACJ,CACD,CACR,CAAA;AACH,CAAC","sourcesContent":["import * as React from 'react'\nimport {\n Box,\n Button,\n Chip,\n CircularProgress,\n Divider,\n Grid,\n Icon,\n Paper,\n Tooltip,\n Typography,\n styled,\n} from '@mui/material'\nimport { LoadingButton } from '@mui/lab'\nimport ConfirmDialog from '../ConfirmDialog'\nimport MfaDialog from './MfaDialog'\nimport ErrorSnackbar from '../ErrorSnackbar'\nimport MaterialIcon from '../MaterialIcon'\nimport useMfa from '../../hooks/useMfa'\nimport ErrorMessage from '../messages/ErrorMessage'\n\nexport const LargeIcon = styled(Icon)(({ theme }) => ({\n fontSize: `${theme.typography.h4.fontSize} !important`,\n}))\n\ntype Props = {\n ssoSetupUrl?: string\n}\n\ntype MfaStatusProps = {\n isExternalIdentityProviderUser: boolean\n isLoading: boolean\n isMfaEnabled: boolean\n loadMfa: () => void\n loadingError?: Error\n}\n\nfunction MfaStatus({\n isExternalIdentityProviderUser,\n isLoading,\n loadingError,\n loadMfa,\n isMfaEnabled,\n}: MfaStatusProps) {\n if (isExternalIdentityProviderUser) return null\n\n if (isLoading) {\n return (\n <Box padding={3}>\n <Grid container justifyContent=\"center\">\n <CircularProgress />\n </Grid>\n </Box>\n )\n }\n\n if (loadingError) {\n return (\n <div>\n <ErrorMessage\n title=\"Error Loading Multi Factor Authentication Configuration\"\n onTryAgain={loadMfa}\n >\n {loadingError.message}\n </ErrorMessage>\n </div>\n )\n }\n\n if (isMfaEnabled) {\n return (\n <Chip\n label=\"Enabled\"\n icon={<MaterialIcon color=\"success\">verified_user</MaterialIcon>}\n />\n )\n }\n\n return (\n <Chip\n label=\"Disabled\"\n icon={<MaterialIcon color=\"warning\">remove_moderator</MaterialIcon>}\n />\n )\n}\n\nfunction MfaSetup({ ssoSetupUrl }: { ssoSetupUrl: string }) {\n const {\n setupError,\n isMfaEnabled,\n isDisablingMfa,\n isSettingUpMfa,\n mfaSetup,\n beginMfaSetup,\n cancelMfaSetup,\n completeMfaSetup,\n clearMfaSetupError,\n beginDisablingMfa,\n completeDisablingMfa,\n cancelDisablingMfa,\n isExternalIdentityProviderUser,\n } = useMfa()\n\n if (ssoSetupUrl) {\n return (\n <Grid item>\n <Button\n variant=\"outlined\"\n size=\"small\"\n component=\"a\"\n href={ssoSetupUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n data-cypress=\"configure-mfa-button\"\n >\n Configure MFA\n </Button>\n </Grid>\n )\n }\n\n if (isExternalIdentityProviderUser) {\n return (\n <Grid item>\n <Tooltip title=\"MFA must be configured in your login provider.\">\n <span>\n <Button\n variant=\"outlined\"\n size=\"small\"\n disabled={isExternalIdentityProviderUser}\n data-cypress=\"configure-mfa-button\"\n >\n Configure MFA\n </Button>\n </span>\n </Tooltip>\n </Grid>\n )\n }\n\n return (\n <>\n <Grid item>\n <Button\n variant=\"outlined\"\n size=\"small\"\n disabled={!isMfaEnabled}\n data-cypress=\"disable-mfa-button\"\n onClick={beginDisablingMfa}\n >\n Disable MFA\n </Button>\n <ConfirmDialog\n isOpen={isDisablingMfa}\n onClose={cancelDisablingMfa}\n onConfirm={completeDisablingMfa}\n title=\"Please Confirm\"\n confirmButtonText=\"Disable MFA\"\n confirmButtonIcon={<MaterialIcon>remove_moderator</MaterialIcon>}\n cypress={{\n dialog: 'disable-mfa-dialog',\n confirmButton: 'disable-mfa-dialog-confirm-button',\n cancelButton: 'disable-mfa-dialog-cancel-button',\n error: 'disable-mfa-dialog-error-message',\n }}\n >\n <Typography variant=\"body2\">\n Are you sure want to disable multi factor authentication (MFA)?\n </Typography>\n </ConfirmDialog>\n </Grid>\n\n <Grid item>\n <LoadingButton\n variant=\"contained\"\n size=\"small\"\n loading={isSettingUpMfa}\n disabled={isMfaEnabled}\n onClick={beginMfaSetup}\n data-cypress=\"setup-mfa-button\"\n >\n Setup MFA\n </LoadingButton>\n <MfaDialog\n mfaSetup={mfaSetup}\n onClose={cancelMfaSetup}\n onCompleted={completeMfaSetup}\n />\n </Grid>\n <ErrorSnackbar open={!!setupError} onClose={clearMfaSetupError}>\n <span data-cypress=\"mfa-setup-error-message\">\n {setupError?.message}\n </span>\n </ErrorSnackbar>\n </>\n )\n}\n/**\n * React Component that provides a mechanism for app users to configure Multi\n * Factor Authentication. `<MfaProvider />` must be provided above this\n * component in the component tree.\n *\n * #### Example\n *\n * ```js\n * import * as React from 'react'\n * import {\n * MfaProvider,\n * MultiFactorAuthentication,\n * } from '@oneblink/apps-react'\n *\n * function Component() {\n * return <MultiFactorAuthentication />\n * }\n *\n * function App() {\n * return (\n * <MfaProvider>\n * <Component />\n * </MfaProvider>\n * )\n * }\n *\n * const root = document.getElementById('root')\n * if (root) {\n * ReactDOM.render(<App />, root)\n * }\n * ```\n *\n * @param props\n * @returns\n * @group Components\n */\nexport default function MultiFactorAuthentication({ ssoSetupUrl }: Props) {\n const {\n loadingError,\n isLoading,\n isMfaEnabled,\n loadMfa,\n isExternalIdentityProviderUser,\n } = useMfa()\n\n return (\n <Grid item xs={true} lg={8}>\n <Box padding={3}>\n <Paper>\n <Box padding={3}>\n <Grid container spacing={2} alignItems=\"center\">\n <Grid item xs>\n <Typography variant=\"h4\" fontWeight=\"light\">\n Multi Factor Authentication{' '}\n <MfaStatus\n loadMfa={loadMfa}\n isLoading={isLoading}\n loadingError={loadingError}\n isMfaEnabled={isMfaEnabled}\n isExternalIdentityProviderUser={\n !!isExternalIdentityProviderUser\n }\n />\n </Typography>\n <Box marginY={1}>\n <Divider />\n </Box>\n <Typography variant=\"body2\" paragraph>\n Multi factor authentication (MFA), also known as two factor\n authentication (2FA), is a best practice that requires a\n second authentication factor in addition to user name and\n password sign-in credentials. We strongly recommend enabling\n MFA to enhance your account security.\n </Typography>\n <Grid container justifyContent=\"flex-end\" spacing={1}>\n <MfaSetup ssoSetupUrl={ssoSetupUrl || ''} />\n </Grid>\n </Grid>\n </Grid>\n </Box>\n </Paper>\n </Box>\n </Grid>\n )\n}\n"]}
1
+ {"version":3,"file":"MultiFactorAuthentication.js","sourceRoot":"","sources":["../../../src/components/mfa/MultiFactorAuthentication.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Box,\n Button,\n Chip,\n CircularProgress,\n Divider,\n Grid,\n Icon,\n Paper,\n Tooltip,\n Typography,\n styled,\n} from '@mui/material'\nimport ConfirmDialog from '../ConfirmDialog'\nimport MfaDialog from './MfaDialog'\nimport ErrorSnackbar from '../ErrorSnackbar'\nimport MaterialIcon from '../MaterialIcon'\nimport useMfa from '../../hooks/useMfa'\nimport ErrorMessage from '../messages/ErrorMessage'\n\nexport const LargeIcon = styled(Icon)(({ theme }) => ({\n fontSize: `${theme.typography.h4.fontSize} !important`,\n}))\n\ntype Props = {\n ssoSetupUrl?: string\n}\n\ntype MfaStatusProps = {\n isExternalIdentityProviderUser: boolean\n isLoading: boolean\n isMfaEnabled: boolean\n loadMfa: () => void\n loadingError?: Error\n}\n\nfunction MfaStatus({\n isExternalIdentityProviderUser,\n isLoading,\n loadingError,\n loadMfa,\n isMfaEnabled,\n}: MfaStatusProps) {\n if (isExternalIdentityProviderUser) return null\n\n if (isLoading) {\n return (\n <Box padding={3}>\n <Grid container justifyContent=\"center\">\n <CircularProgress />\n </Grid>\n </Box>\n )\n }\n\n if (loadingError) {\n return (\n <div>\n <ErrorMessage\n title=\"Error Loading Multi Factor Authentication Configuration\"\n onTryAgain={loadMfa}\n >\n {loadingError.message}\n </ErrorMessage>\n </div>\n )\n }\n\n if (isMfaEnabled) {\n return (\n <Chip\n label=\"Enabled\"\n icon={<MaterialIcon color=\"success\">verified_user</MaterialIcon>}\n />\n )\n }\n\n return (\n <Chip\n label=\"Disabled\"\n icon={<MaterialIcon color=\"warning\">remove_moderator</MaterialIcon>}\n />\n )\n}\n\nfunction MfaSetup({ ssoSetupUrl }: { ssoSetupUrl: string }) {\n const {\n setupError,\n isMfaEnabled,\n isDisablingMfa,\n isSettingUpMfa,\n mfaSetup,\n beginMfaSetup,\n cancelMfaSetup,\n completeMfaSetup,\n clearMfaSetupError,\n beginDisablingMfa,\n completeDisablingMfa,\n cancelDisablingMfa,\n isExternalIdentityProviderUser,\n } = useMfa()\n\n if (ssoSetupUrl) {\n return (\n <Grid>\n <Button\n variant=\"outlined\"\n size=\"small\"\n component=\"a\"\n href={ssoSetupUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n data-cypress=\"configure-mfa-button\"\n >\n Configure MFA\n </Button>\n </Grid>\n )\n }\n\n if (isExternalIdentityProviderUser) {\n return (\n <Grid>\n <Tooltip title=\"MFA must be configured in your login provider.\">\n <span>\n <Button\n variant=\"outlined\"\n size=\"small\"\n disabled={isExternalIdentityProviderUser}\n data-cypress=\"configure-mfa-button\"\n >\n Configure MFA\n </Button>\n </span>\n </Tooltip>\n </Grid>\n )\n }\n\n return (\n <>\n <Grid>\n <Button\n variant=\"outlined\"\n size=\"small\"\n disabled={!isMfaEnabled}\n data-cypress=\"disable-mfa-button\"\n onClick={beginDisablingMfa}\n >\n Disable MFA\n </Button>\n <ConfirmDialog\n isOpen={isDisablingMfa}\n onClose={cancelDisablingMfa}\n onConfirm={completeDisablingMfa}\n title=\"Please Confirm\"\n confirmButtonText=\"Disable MFA\"\n confirmButtonIcon={<MaterialIcon>remove_moderator</MaterialIcon>}\n cypress={{\n dialog: 'disable-mfa-dialog',\n confirmButton: 'disable-mfa-dialog-confirm-button',\n cancelButton: 'disable-mfa-dialog-cancel-button',\n error: 'disable-mfa-dialog-error-message',\n }}\n >\n <Typography variant=\"body2\">\n Are you sure want to disable multi factor authentication (MFA)?\n </Typography>\n </ConfirmDialog>\n </Grid>\n\n <Grid>\n <Button\n variant=\"contained\"\n size=\"small\"\n loading={isSettingUpMfa}\n disabled={isMfaEnabled}\n onClick={beginMfaSetup}\n data-cypress=\"setup-mfa-button\"\n >\n Setup MFA\n </Button>\n <MfaDialog\n mfaSetup={mfaSetup}\n onClose={cancelMfaSetup}\n onCompleted={completeMfaSetup}\n />\n </Grid>\n <ErrorSnackbar open={!!setupError} onClose={clearMfaSetupError}>\n <span data-cypress=\"mfa-setup-error-message\">\n {setupError?.message}\n </span>\n </ErrorSnackbar>\n </>\n )\n}\n/**\n * React Component that provides a mechanism for app users to configure Multi\n * Factor Authentication. `<MfaProvider />` must be provided above this\n * component in the component tree.\n *\n * #### Example\n *\n * ```js\n * import * as React from 'react'\n * import {\n * MfaProvider,\n * MultiFactorAuthentication,\n * } from '@oneblink/apps-react'\n *\n * function Component() {\n * return <MultiFactorAuthentication />\n * }\n *\n * function App() {\n * return (\n * <MfaProvider>\n * <Component />\n * </MfaProvider>\n * )\n * }\n *\n * const root = document.getElementById('root')\n * if (root) {\n * ReactDOM.render(<App />, root)\n * }\n * ```\n *\n * @param props\n * @returns\n * @group Components\n */\nexport default function MultiFactorAuthentication({ ssoSetupUrl }: Props) {\n const {\n loadingError,\n isLoading,\n isMfaEnabled,\n loadMfa,\n isExternalIdentityProviderUser,\n } = useMfa()\n\n return (\n <Grid size={{ xs: 'grow', lg: 8 }}>\n <Box padding={3}>\n <Paper>\n <Box padding={3}>\n <Grid container spacing={2} alignItems=\"center\">\n <Grid size={{ xs: 'grow' }}>\n <Typography variant=\"h4\" fontWeight=\"light\">\n Multi Factor Authentication{' '}\n <MfaStatus\n loadMfa={loadMfa}\n isLoading={isLoading}\n loadingError={loadingError}\n isMfaEnabled={isMfaEnabled}\n isExternalIdentityProviderUser={\n !!isExternalIdentityProviderUser\n }\n />\n </Typography>\n <Box marginY={1}>\n <Divider />\n </Box>\n <Typography variant=\"body2\" paragraph>\n Multi factor authentication (MFA), also known as two factor\n authentication (2FA), is a best practice that requires a\n second authentication factor in addition to user name and\n password sign-in credentials. We strongly recommend enabling\n MFA to enhance your account security.\n </Typography>\n <Grid container justifyContent=\"flex-end\" spacing={1}>\n <MfaSetup ssoSetupUrl={ssoSetupUrl || ''} />\n </Grid>\n </Grid>\n </Grid>\n </Box>\n </Paper>\n </Box>\n </Grid>\n )\n}\n"]}
@@ -13,6 +13,6 @@ declare function PaymentForm({ captchaSiteKey, captchaType, onCompleted, onCance
13
13
  }) => void;
14
14
  appImageUrl?: string;
15
15
  title?: string;
16
- }): React.JSX.Element;
16
+ }): import("react/jsx-runtime").JSX.Element;
17
17
  declare const _default: React.MemoExoticComponent<typeof PaymentForm>;
18
18
  export default _default;
@@ -1,4 +1,5 @@
1
- import { paymentService } from '@oneblink/apps';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { paymentService } from '../../apps';
2
3
  import React from 'react';
3
4
  import WestpacQuickStreamPaymentForm from './WestpacQuickStreamPaymentForm';
4
5
  import useQuery from '../../hooks/useQuery';
@@ -22,7 +23,7 @@ function PaymentForm({ captchaSiteKey, captchaType, onCompleted, onCancelled, ap
22
23
  abortSignal,
23
24
  });
24
25
  return {
25
- renderPaymentForm: () => (React.createElement(WestpacQuickStreamPaymentForm, { formSubmissionResult: formSubmissionResult, paymentSubmissionEvent: paymentSubmissionEvent, formSubmissionPaymentId: formSubmissionPaymentId, supplierBusinessCode: supplierBusinessCode, publishableApiKey: publishableApiKey, isTestMode: isTestMode, captchaSiteKey: captchaSiteKey, captchaType: captchaType, onCompleted: onCompleted, onCancelled: onCancelled, appImageUrl: appImageUrl, title: title })),
26
+ renderPaymentForm: () => (_jsx(WestpacQuickStreamPaymentForm, { formSubmissionResult: formSubmissionResult, paymentSubmissionEvent: paymentSubmissionEvent, formSubmissionPaymentId: formSubmissionPaymentId, supplierBusinessCode: supplierBusinessCode, publishableApiKey: publishableApiKey, isTestMode: isTestMode, captchaSiteKey: captchaSiteKey, captchaType: captchaType, onCompleted: onCompleted, onCancelled: onCancelled, appImageUrl: appImageUrl, title: title })),
26
27
  };
27
28
  }
28
29
  default: {
@@ -41,16 +42,10 @@ function PaymentForm({ captchaSiteKey, captchaType, onCompleted, onCancelled, ap
41
42
  const [state] = useLoadDataState(loadPaymentFormConfiguration);
42
43
  switch (state.status) {
43
44
  case 'LOADING': {
44
- return (React.createElement("section", null,
45
- React.createElement("div", { className: "cypress-loading has-text-centered" },
46
- React.createElement(OnLoading, { className: "has-text-centered" }),
47
- React.createElement("span", null, "Loading payment configuration..."))));
45
+ return (_jsx("section", { children: _jsxs("div", { className: "cypress-loading has-text-centered", children: [_jsx(OnLoading, { className: "has-text-centered" }), _jsx("span", { children: "Loading payment configuration..." })] }) }));
48
46
  }
49
47
  case 'ERROR': {
50
- return (React.createElement("section", { className: "cypress-payment-form-loading-error-message", role: "alert" },
51
- React.createElement("div", { className: "ob-payment-form__error-icon-container has-text-centered has-margin-bottom-8" },
52
- React.createElement(MaterialIcon, { className: "ob-payment-form__error-icon has-text-danger icon-x-large" }, "error")),
53
- React.createElement("p", { className: "ob-payment-form__error-message has-text-centered has-margin-bottom-4" }, state.error.message)));
48
+ return (_jsxs("section", { className: "cypress-payment-form-loading-error-message", role: "alert", children: [_jsx("div", { className: "ob-payment-form__error-icon-container has-text-centered has-margin-bottom-8", children: _jsx(MaterialIcon, { className: "ob-payment-form__error-icon has-text-danger icon-x-large", children: "error" }) }), _jsx("p", { className: "ob-payment-form__error-message has-text-centered has-margin-bottom-4", children: state.error.message })] }));
54
49
  }
55
50
  case 'SUCCESS': {
56
51
  return state.result.renderPaymentForm();
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentForm.js","sourceRoot":"","sources":["../../../src/components/payments/PaymentForm.tsx"],"names":[],"mappings":"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","sourcesContent":["import { paymentService } from '@oneblink/apps'\nimport { SubmissionTypes } from '@oneblink/types'\nimport React from 'react'\nimport WestpacQuickStreamPaymentForm from './WestpacQuickStreamPaymentForm'\nimport useQuery from '../../hooks/useQuery'\nimport useLoadDataState from '../../hooks/useLoadDataState'\nimport OnLoading from '../renderer/OnLoading'\nimport MaterialIcon from '../MaterialIcon'\nimport { CaptchaType } from '../../types/form'\n\nfunction PaymentForm({\n captchaSiteKey,\n captchaType,\n onCompleted,\n onCancelled,\n appImageUrl,\n title,\n}: {\n captchaSiteKey: string\n captchaType?: CaptchaType\n onCompleted: (result: {\n formSubmissionPayment: SubmissionTypes.FormSubmissionPayment\n paymentReceiptUrl: string\n }) => void\n onCancelled: (result: { paymentReceiptUrl: string }) => void\n appImageUrl?: string\n title?: string\n}) {\n const query = useQuery()\n\n const loadPaymentFormConfiguration = React.useCallback(\n async (abortSignal: AbortSignal) => {\n const formSubmissionPaymentId = query.formSubmissionPaymentId\n if (typeof formSubmissionPaymentId !== 'string') {\n throw new Error(\n 'It looks like you are attempting to make an unknown payment.',\n )\n }\n\n const { formSubmissionResult, paymentSubmissionEvent } =\n await paymentService.getFormSubmissionResultPayment()\n switch (paymentSubmissionEvent.type) {\n case 'WESTPAC_QUICK_STREAM': {\n const { supplierBusinessCode, publishableApiKey, isTestMode } =\n await paymentService.westpacQuickStream.getPaymentFormConfiguration(\n {\n formSubmissionPaymentId,\n formSubmissionResult,\n paymentSubmissionEvent,\n abortSignal,\n },\n )\n return {\n renderPaymentForm: () => (\n <WestpacQuickStreamPaymentForm\n formSubmissionResult={formSubmissionResult}\n paymentSubmissionEvent={paymentSubmissionEvent}\n formSubmissionPaymentId={formSubmissionPaymentId}\n supplierBusinessCode={supplierBusinessCode}\n publishableApiKey={publishableApiKey}\n isTestMode={isTestMode}\n captchaSiteKey={captchaSiteKey}\n captchaType={captchaType}\n onCompleted={onCompleted}\n onCancelled={onCancelled}\n appImageUrl={appImageUrl}\n title={title}\n />\n ),\n }\n }\n default: {\n throw new Error(\n `\"${paymentSubmissionEvent.type}\" payment events do not support a custom payment form.`,\n )\n }\n }\n },\n [\n appImageUrl,\n captchaSiteKey,\n captchaType,\n onCancelled,\n onCompleted,\n query.formSubmissionPaymentId,\n title,\n ],\n )\n\n const [state] = useLoadDataState(loadPaymentFormConfiguration)\n\n switch (state.status) {\n case 'LOADING': {\n return (\n <section>\n <div className=\"cypress-loading has-text-centered\">\n <OnLoading className=\"has-text-centered\"></OnLoading>\n <span>Loading payment configuration...</span>\n </div>\n </section>\n )\n }\n case 'ERROR': {\n return (\n <section\n className=\"cypress-payment-form-loading-error-message\"\n role=\"alert\"\n >\n <div className=\"ob-payment-form__error-icon-container has-text-centered has-margin-bottom-8\">\n <MaterialIcon className=\"ob-payment-form__error-icon has-text-danger icon-x-large\">\n error\n </MaterialIcon>\n </div>\n <p className=\"ob-payment-form__error-message has-text-centered has-margin-bottom-4\">\n {state.error.message}\n </p>\n </section>\n )\n }\n case 'SUCCESS': {\n return state.result.renderPaymentForm()\n }\n }\n}\n\nexport default React.memo(PaymentForm)\n"]}
1
+ {"version":3,"file":"PaymentForm.js","sourceRoot":"","sources":["../../../src/components/payments/PaymentForm.tsx"],"names":[],"mappings":"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","sourcesContent":["import { paymentService } from '../../apps'\nimport { SubmissionTypes } from '@oneblink/types'\nimport React from 'react'\nimport WestpacQuickStreamPaymentForm from './WestpacQuickStreamPaymentForm'\nimport useQuery from '../../hooks/useQuery'\nimport useLoadDataState from '../../hooks/useLoadDataState'\nimport OnLoading from '../renderer/OnLoading'\nimport MaterialIcon from '../MaterialIcon'\nimport { CaptchaType } from '../../types/form'\n\nfunction PaymentForm({\n captchaSiteKey,\n captchaType,\n onCompleted,\n onCancelled,\n appImageUrl,\n title,\n}: {\n captchaSiteKey: string\n captchaType?: CaptchaType\n onCompleted: (result: {\n formSubmissionPayment: SubmissionTypes.FormSubmissionPayment\n paymentReceiptUrl: string\n }) => void\n onCancelled: (result: { paymentReceiptUrl: string }) => void\n appImageUrl?: string\n title?: string\n}) {\n const query = useQuery()\n\n const loadPaymentFormConfiguration = React.useCallback(\n async (abortSignal: AbortSignal) => {\n const formSubmissionPaymentId = query.formSubmissionPaymentId\n if (typeof formSubmissionPaymentId !== 'string') {\n throw new Error(\n 'It looks like you are attempting to make an unknown payment.',\n )\n }\n\n const { formSubmissionResult, paymentSubmissionEvent } =\n await paymentService.getFormSubmissionResultPayment()\n switch (paymentSubmissionEvent.type) {\n case 'WESTPAC_QUICK_STREAM': {\n const { supplierBusinessCode, publishableApiKey, isTestMode } =\n await paymentService.westpacQuickStream.getPaymentFormConfiguration(\n {\n formSubmissionPaymentId,\n formSubmissionResult,\n paymentSubmissionEvent,\n abortSignal,\n },\n )\n return {\n renderPaymentForm: () => (\n <WestpacQuickStreamPaymentForm\n formSubmissionResult={formSubmissionResult}\n paymentSubmissionEvent={paymentSubmissionEvent}\n formSubmissionPaymentId={formSubmissionPaymentId}\n supplierBusinessCode={supplierBusinessCode}\n publishableApiKey={publishableApiKey}\n isTestMode={isTestMode}\n captchaSiteKey={captchaSiteKey}\n captchaType={captchaType}\n onCompleted={onCompleted}\n onCancelled={onCancelled}\n appImageUrl={appImageUrl}\n title={title}\n />\n ),\n }\n }\n default: {\n throw new Error(\n `\"${paymentSubmissionEvent.type}\" payment events do not support a custom payment form.`,\n )\n }\n }\n },\n [\n appImageUrl,\n captchaSiteKey,\n captchaType,\n onCancelled,\n onCompleted,\n query.formSubmissionPaymentId,\n title,\n ],\n )\n\n const [state] = useLoadDataState(loadPaymentFormConfiguration)\n\n switch (state.status) {\n case 'LOADING': {\n return (\n <section>\n <div className=\"cypress-loading has-text-centered\">\n <OnLoading className=\"has-text-centered\"></OnLoading>\n <span>Loading payment configuration...</span>\n </div>\n </section>\n )\n }\n case 'ERROR': {\n return (\n <section\n className=\"cypress-payment-form-loading-error-message\"\n role=\"alert\"\n >\n <div className=\"ob-payment-form__error-icon-container has-text-centered has-margin-bottom-8\">\n <MaterialIcon className=\"ob-payment-form__error-icon has-text-danger icon-x-large\">\n error\n </MaterialIcon>\n </div>\n <p className=\"ob-payment-form__error-message has-text-centered has-margin-bottom-4\">\n {state.error.message}\n </p>\n </section>\n )\n }\n case 'SUCCESS': {\n return state.result.renderPaymentForm()\n }\n }\n}\n\nexport default React.memo(PaymentForm)\n"]}
@@ -1,4 +1,4 @@
1
- import { submissionService } from '@oneblink/apps';
1
+ import { submissionService } from '../../apps';
2
2
  import { SubmissionTypes, SubmissionEventTypes } from '@oneblink/types';
3
3
  import React from 'react';
4
4
  import { CaptchaType } from '../../typedoc';
@@ -47,6 +47,6 @@ declare function WestpacQuickStreamPaymentForm({ formSubmissionResult, paymentSu
47
47
  }) => void;
48
48
  appImageUrl?: string;
49
49
  title?: string;
50
- }): React.JSX.Element;
50
+ }): import("react/jsx-runtime").JSX.Element;
51
51
  declare const _default: React.MemoExoticComponent<typeof WestpacQuickStreamPaymentForm>;
52
52
  export default _default;
@@ -1,4 +1,5 @@
1
- import { OneBlinkAppsError, paymentService, localisationService, } from '@oneblink/apps';
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { OneBlinkAppsError, paymentService, localisationService, } from '../../apps';
2
3
  import clsx from 'clsx';
3
4
  import React from 'react';
4
5
  import ReCAPTCHA from 'react-google-recaptcha';
@@ -236,51 +237,16 @@ function WestpacQuickStreamPaymentForm({ formSubmissionResult, paymentSubmission
236
237
  });
237
238
  }
238
239
  }, [formSubmissionPaymentId, formSubmissionResult, onCancelled]);
239
- return (React.createElement(React.Fragment, null,
240
- isLoading && (React.createElement("section", null,
241
- React.createElement("div", { className: "cypress-loading has-text-centered" },
242
- React.createElement(OnLoading, { className: "has-text-centered" }),
243
- React.createElement("span", null, "Building payment form...")))),
244
- loadError && (React.createElement("section", { className: "cypress-payment-form-loading-error-message" },
245
- React.createElement("div", { className: "ob-payment-form__error-icon-container has-text-centered has-margin-bottom-8" },
246
- React.createElement(MaterialIcon, { className: "ob-payment-form__error-icon has-text-danger icon-x-large" }, "error")),
247
- React.createElement("p", { className: "ob-payment-form__error-message has-text-centered has-margin-bottom-4" }, loadError.message))),
248
- React.createElement("section", null,
249
- React.createElement("form", { onSubmit: (event) => {
250
- event.preventDefault();
251
- handleSubmit();
252
- } },
253
- React.createElement("div", { className: "ob-payment-form__westpac-quickstream-container" },
254
- !!appImageUrl && (React.createElement("figure", { className: "image is-128x128 has-margin-bottom-6 ml-auto mr-auto" },
255
- React.createElement("img", { alt: "Application Icon", className: "is-rounded", src: appImageUrl }))),
256
- !!title && (React.createElement("h3", { className: "title is-3 is-size-3-mobile ob-header__heading has-text-centered" }, title)),
257
- React.createElement("label", { className: "label ob-label has-text-centered" }, "Fill out the form below to complete your secure payment."),
258
- React.createElement("div", { className: "ob-payment-form__westpac-quickstream-amount" },
259
- React.createElement("div", null, "Amount"),
260
- React.createElement("div", { className: "ob-payment-form__westpac-quickstream-amount-value" }, localisationService.formatCurrency((_b = (_a = formSubmissionResult.payment) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : 0))),
261
- React.createElement("div", { "data-quickstream-api": "creditCardContainer", className: "quickstream-credit-card-container" }),
262
- !isLoading && !loadError && (React.createElement(React.Fragment, null,
263
- React.createElement(ReCAPTCHA, { ...recaptchaProps, className: "ob-input cypress-captcha-control ob-payment-form__westpac-quickstream-captcha" }),
264
- displayCaptchaRequired && (React.createElement(FormElementValidationMessage, { message: "Please complete the CAPTCHA successfully", className: "cypress-required" }))))),
265
- !isLoading && !loadError && (React.createElement("div", { className: "ob-payment-form__westpac-quickstream-form-actions" },
266
- React.createElement("button", { type: "button", disabled: isCompletingTransaction || isCancellingTransaction, onClick: handleCancel, className: clsx('button ob-button is-outlined', {
267
- 'is-loading': isCancellingTransaction,
268
- }) }, "Cancel"),
269
- React.createElement("button", { type: "submit", disabled: isCompletingTransaction || isCancellingTransaction, className: clsx('button ob-button is-success', {
270
- 'is-loading': isCompletingTransaction,
271
- }) }, "Make Payment"))))),
272
- React.createElement(Modal, { isOpen: !!completeTransactionError, title: "Payment Issue", className: "cypress-payment-error-close-button", actions: React.createElement(React.Fragment, null,
273
- React.createElement("button", { type: "button", className: "button ob-button cypress-payment-error-close-button is-primary", onClick: clearCompleteTransactionError, autoFocus: true }, "Okay")) },
274
- React.createElement(React.Fragment, null,
275
- React.createElement("div", null, completeTransactionError instanceof Error
276
- ? completeTransactionError.message
277
- : completeTransactionError),
278
- completeTransactionError instanceof OneBlinkAppsError && (React.createElement(OneBlinkAppsErrorOriginalMessage, { error: completeTransactionError.originalError })))),
279
- React.createElement(Modal, { isOpen: !!cancelError, title: "Cancel Issue", className: "cypress-cancel-error-close-button", actions: React.createElement(React.Fragment, null,
280
- React.createElement("button", { type: "button", className: "button ob-button cypress-cancel-error-close-button is-primary", onClick: clearCancelError, autoFocus: true }, "Okay")) },
281
- React.createElement(React.Fragment, null,
282
- React.createElement("div", null, cancelError instanceof Error ? cancelError.message : cancelError),
283
- cancelError instanceof OneBlinkAppsError && (React.createElement(OneBlinkAppsErrorOriginalMessage, { error: cancelError.originalError }))))));
240
+ return (_jsxs(_Fragment, { children: [isLoading && (_jsx("section", { children: _jsxs("div", { className: "cypress-loading has-text-centered", children: [_jsx(OnLoading, { className: "has-text-centered" }), _jsx("span", { children: "Building payment form..." })] }) })), loadError && (_jsxs("section", { className: "cypress-payment-form-loading-error-message", children: [_jsx("div", { className: "ob-payment-form__error-icon-container has-text-centered has-margin-bottom-8", children: _jsx(MaterialIcon, { className: "ob-payment-form__error-icon has-text-danger icon-x-large", children: "error" }) }), _jsx("p", { className: "ob-payment-form__error-message has-text-centered has-margin-bottom-4", children: loadError.message })] })), _jsx("section", { children: _jsxs("form", { onSubmit: (event) => {
241
+ event.preventDefault();
242
+ handleSubmit();
243
+ }, children: [_jsxs("div", { className: "ob-payment-form__westpac-quickstream-container", children: [!!appImageUrl && (_jsx("figure", { className: "image is-128x128 has-margin-bottom-6 ml-auto mr-auto", children: _jsx("img", { alt: "Application Icon", className: "is-rounded", src: appImageUrl }) })), !!title && (_jsx("h3", { className: "title is-3 is-size-3-mobile ob-header__heading has-text-centered", children: title })), _jsx("label", { className: "label ob-label has-text-centered", children: "Fill out the form below to complete your secure payment." }), _jsxs("div", { className: "ob-payment-form__westpac-quickstream-amount", children: [_jsx("div", { children: "Amount" }), _jsx("div", { className: "ob-payment-form__westpac-quickstream-amount-value", children: localisationService.formatCurrency((_b = (_a = formSubmissionResult.payment) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : 0) })] }), _jsx("div", { "data-quickstream-api": "creditCardContainer", className: "quickstream-credit-card-container" }), !isLoading && !loadError && (_jsxs(_Fragment, { children: [_jsx(ReCAPTCHA, { ...recaptchaProps, className: "ob-input cypress-captcha-control ob-payment-form__westpac-quickstream-captcha" }), displayCaptchaRequired && (_jsx(FormElementValidationMessage, { message: "Please complete the CAPTCHA successfully", className: "cypress-required" }))] }))] }), !isLoading && !loadError && (_jsxs("div", { className: "ob-payment-form__westpac-quickstream-form-actions", children: [_jsx("button", { type: "button", disabled: isCompletingTransaction || isCancellingTransaction, onClick: handleCancel, className: clsx('button ob-button is-outlined', {
244
+ 'is-loading': isCancellingTransaction,
245
+ }), children: "Cancel" }), _jsx("button", { type: "submit", disabled: isCompletingTransaction || isCancellingTransaction, className: clsx('button ob-button is-success', {
246
+ 'is-loading': isCompletingTransaction,
247
+ }), children: "Make Payment" })] }))] }) }), _jsx(Modal, { isOpen: !!completeTransactionError, title: "Payment Issue", className: "cypress-payment-error-close-button", actions: _jsx(_Fragment, { children: _jsx("button", { type: "button", className: "button ob-button cypress-payment-error-close-button is-primary", onClick: clearCompleteTransactionError, autoFocus: true, children: "Okay" }) }), children: _jsxs(_Fragment, { children: [_jsx("div", { children: completeTransactionError instanceof Error
248
+ ? completeTransactionError.message
249
+ : completeTransactionError }), completeTransactionError instanceof OneBlinkAppsError && (_jsx(OneBlinkAppsErrorOriginalMessage, { error: completeTransactionError.originalError }))] }) }), _jsx(Modal, { isOpen: !!cancelError, title: "Cancel Issue", className: "cypress-cancel-error-close-button", actions: _jsx(_Fragment, { children: _jsx("button", { type: "button", className: "button ob-button cypress-cancel-error-close-button is-primary", onClick: clearCancelError, autoFocus: true, children: "Okay" }) }), children: _jsxs(_Fragment, { children: [_jsx("div", { children: cancelError instanceof Error ? cancelError.message : cancelError }), cancelError instanceof OneBlinkAppsError && (_jsx(OneBlinkAppsErrorOriginalMessage, { error: cancelError.originalError }))] }) })] }));
284
250
  }
285
251
  export default React.memo(WestpacQuickStreamPaymentForm);
286
252
  //# sourceMappingURL=WestpacQuickStreamPaymentForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WestpacQuickStreamPaymentForm.js","sourceRoot":"","sources":["../../../src/components/payments/WestpacQuickStreamPaymentForm.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n OneBlinkAppsError,\n paymentService,\n submissionService,\n localisationService,\n} from '@oneblink/apps'\nimport { SubmissionTypes, SubmissionEventTypes } from '@oneblink/types'\nimport clsx from 'clsx'\nimport React from 'react'\nimport ReCAPTCHA from 'react-google-recaptcha'\nimport * as bulmaToast from 'bulma-toast'\nimport OnLoading from '../renderer/OnLoading'\nimport OneBlinkAppsErrorOriginalMessage from '../renderer/OneBlinkAppsErrorOriginalMessage'\nimport Modal from '../renderer/Modal'\nimport MaterialIcon from '../MaterialIcon'\nimport useReCAPTCHAProps from '../../hooks/useReCAPTCHAProps'\nimport { CaptchaType } from '../../typedoc'\nimport FormElementValidationMessage from '../renderer/FormElementValidationMessage'\n\ninterface TrustedFrame {\n submitForm(\n callback: (\n errors:\n | Array<{\n fieldName: string\n messages: string[]\n }>\n | undefined,\n data: {\n singleUseToken: {\n singleUseTokenId: string\n }\n },\n ) => void,\n ): void\n}\n\ndeclare global {\n interface Window {\n QuickstreamAPI: {\n init(options: { publishableApiKey: string }): void\n creditCards: {\n createTrustedFrame(\n options: unknown,\n callback: (\n errors:\n | Array<{\n fieldName: string\n messages: string[]\n }>\n | undefined,\n data: {\n trustedFrame: TrustedFrame\n },\n ) => void,\n ): void\n }\n }\n }\n}\nfunction WestpacQuickStreamPaymentForm({\n formSubmissionResult,\n paymentSubmissionEvent,\n formSubmissionPaymentId,\n supplierBusinessCode,\n publishableApiKey,\n isTestMode,\n captchaSiteKey,\n captchaType,\n onCompleted,\n onCancelled,\n appImageUrl,\n title,\n}: {\n formSubmissionResult: submissionService.FormSubmissionResult\n paymentSubmissionEvent: SubmissionEventTypes.WestpacQuickStreamSubmissionEvent\n formSubmissionPaymentId: string\n supplierBusinessCode: string\n publishableApiKey: string\n isTestMode: boolean\n captchaSiteKey: string\n captchaType?: CaptchaType\n onCompleted: (result: {\n formSubmissionPayment: SubmissionTypes.FormSubmissionPayment\n paymentReceiptUrl: string\n }) => void\n onCancelled: (result: { paymentReceiptUrl: string }) => void\n appImageUrl?: string\n title?: string\n}) {\n const [\n {\n isCompletingTransaction,\n completeTransactionError,\n captchaToken,\n displayCaptchaRequired,\n },\n setCompleteTransactionState,\n ] = React.useState<{\n captchaToken: string | null\n displayCaptchaRequired: boolean\n isCompletingTransaction: boolean\n completeTransactionError: Error | null\n }>({\n isCompletingTransaction: false,\n completeTransactionError: null,\n captchaToken: null,\n displayCaptchaRequired: false,\n })\n\n const captchaRef = React.useRef<ReCAPTCHA>(null)\n\n const clearCompleteTransactionError = React.useCallback(() => {\n setCompleteTransactionState((currentState) => ({\n ...currentState,\n isCompletingTransaction: false,\n completeTransactionError: null,\n }))\n }, [])\n\n const [{ trustedFrame, isLoading, loadError }, setLoadState] =\n React.useState<{\n trustedFrame: TrustedFrame | null\n isLoading: boolean\n loadError: Error | null\n }>({\n trustedFrame: null,\n isLoading: true,\n loadError: null,\n })\n\n React.useEffect(() => {\n const abortController = new AbortController()\n const scriptEle = document.createElement('script')\n scriptEle.type = 'text/javascript'\n scriptEle.async = true\n\n const run = async () => {\n try {\n scriptEle.src = isTestMode\n ? 'https://api.quickstream.support.qvalent.com/rest/v1/quickstream-api-1.0.min.js'\n : 'https://api.quickstream.westpac.com.au/rest/v1/quickstream-api-1.0.min.js'\n\n await new Promise((resolve, reject) => {\n try {\n scriptEle.addEventListener(\n 'load',\n () => {\n resolve(undefined)\n },\n {\n signal: abortController.signal,\n },\n )\n\n scriptEle.addEventListener(\n 'error',\n () => {\n reject(new Error(`Failed to load the script ${scriptEle.src}`))\n },\n {\n signal: abortController.signal,\n },\n )\n\n document.body.appendChild(scriptEle)\n } catch (error) {\n console.warn('Failed to load script', error)\n reject(error)\n }\n })\n\n window.QuickstreamAPI.init({\n publishableApiKey,\n })\n const newTrustedFrame = await new Promise<TrustedFrame>(\n (resolve, reject) => {\n window.QuickstreamAPI.creditCards.createTrustedFrame(\n {\n config: {\n supplierBusinessCode,\n },\n iframe: {\n style: {\n width: '100%',\n },\n },\n showAcceptedCards: true,\n showRequiredIndicators: true,\n },\n (errors, data) => {\n if (errors) {\n reject(errors)\n return\n }\n resolve(data.trustedFrame)\n },\n )\n },\n )\n\n if (!abortController.signal.aborted) {\n setLoadState({\n trustedFrame: newTrustedFrame,\n isLoading: false,\n loadError: null,\n })\n }\n } catch (error) {\n if (!abortController.signal.aborted) {\n setLoadState({\n trustedFrame: null,\n isLoading: false,\n loadError: error as Error,\n })\n }\n }\n }\n\n run()\n\n return () => {\n abortController.abort()\n document.body.removeChild(scriptEle)\n }\n }, [isTestMode, publishableApiKey, supplierBusinessCode])\n\n const recaptchaType = React.useMemo(\n () => captchaType ?? 'CHECKBOX',\n [captchaType],\n )\n\n const hanedleCaptchaChange = React.useCallback((newValue: string | null) => {\n setCompleteTransactionState((currentState) => ({\n ...currentState,\n captchaToken: newValue,\n displayCaptchaRequired: newValue === null,\n }))\n }, [])\n\n const recaptchaProps = useReCAPTCHAProps({\n captchaSiteKey,\n captchaRef,\n onCaptchaChange: hanedleCaptchaChange,\n captchaType: recaptchaType,\n })\n\n const getRecaptchaToken = React.useCallback(async () => {\n captchaRef.current?.reset()\n switch (captchaType) {\n case 'INVISIBLE': {\n const token = await captchaRef.current\n ?.executeAsync()\n .catch((error) => {\n console.log('Invisible captcha executeAsync failure', error)\n return null\n })\n if (!token) {\n console.log('Captcha token failure')\n bulmaToast.toast({\n message: 'Failed to get a captcha token',\n type: 'is-danger',\n extraClasses: 'ob-toast cypress-failed-captcha-token-creation',\n duration: 4000,\n pauseOnHover: true,\n closeOnClick: true,\n })\n }\n return {\n recaptchaToken: token ?? null,\n displayCaptchaRequired: false,\n }\n }\n case 'CHECKBOX':\n default:\n return { recaptchaToken: captchaToken, displayCaptchaRequired: true }\n }\n }, [captchaToken, captchaType])\n\n const handleSubmit = React.useCallback(async () => {\n if (!trustedFrame) {\n return\n }\n\n setCompleteTransactionState((currentState) => ({\n ...currentState,\n isCompletingTransaction: true,\n completeTransactionError: null,\n }))\n\n trustedFrame.submitForm(async (errors, data) => {\n if (errors) {\n console.log('Invalid payment form submission', errors)\n setCompleteTransactionState((currentState) => ({\n ...currentState,\n isCompletingTransaction: false,\n completeTransactionError: null,\n }))\n return\n }\n\n const { recaptchaToken, displayCaptchaRequired } =\n await getRecaptchaToken()\n\n if (!recaptchaToken) {\n setCompleteTransactionState({\n captchaToken: null,\n displayCaptchaRequired,\n isCompletingTransaction: false,\n completeTransactionError: null,\n })\n return\n }\n\n paymentService.westpacQuickStream\n .completeTransaction({\n singleUseTokenId: data.singleUseToken.singleUseTokenId,\n formSubmissionResult,\n formSubmissionPaymentId,\n paymentSubmissionEvent,\n captchaSiteKey,\n captchaToken: recaptchaToken,\n })\n .then(onCompleted)\n .catch((error) => {\n setCompleteTransactionState((currentState) => ({\n ...currentState,\n isCompletingTransaction: false,\n completeTransactionError: error,\n }))\n })\n })\n }, [\n trustedFrame,\n getRecaptchaToken,\n formSubmissionResult,\n formSubmissionPaymentId,\n paymentSubmissionEvent,\n captchaSiteKey,\n onCompleted,\n ])\n\n const [{ isCancellingTransaction, cancelError }, setCancelState] =\n React.useState<{\n isCancellingTransaction: boolean\n cancelError: Error | null\n }>({\n isCancellingTransaction: false,\n cancelError: null,\n })\n\n const clearCancelError = React.useCallback(() => {\n setCancelState({\n isCancellingTransaction: false,\n cancelError: null,\n })\n }, [])\n\n const handleCancel = React.useCallback(async () => {\n setCancelState({\n isCancellingTransaction: true,\n cancelError: null,\n })\n try {\n const result = await paymentService.westpacQuickStream.cancelPayment({\n formSubmissionPaymentId,\n formSubmissionResult,\n })\n onCancelled(result)\n } catch (error) {\n console.warn('Failed to cancel payment', error)\n setCancelState({\n isCancellingTransaction: false,\n cancelError: error as Error,\n })\n }\n }, [formSubmissionPaymentId, formSubmissionResult, onCancelled])\n\n return (\n <>\n {isLoading && (\n <section>\n <div className=\"cypress-loading has-text-centered\">\n <OnLoading className=\"has-text-centered\"></OnLoading>\n <span>Building payment form...</span>\n </div>\n </section>\n )}\n\n {loadError && (\n <section className=\"cypress-payment-form-loading-error-message\">\n <div className=\"ob-payment-form__error-icon-container has-text-centered has-margin-bottom-8\">\n <MaterialIcon className=\"ob-payment-form__error-icon has-text-danger icon-x-large\">\n error\n </MaterialIcon>\n </div>\n <p className=\"ob-payment-form__error-message has-text-centered has-margin-bottom-4\">\n {loadError.message}\n </p>\n </section>\n )}\n\n <section>\n <form\n onSubmit={(event) => {\n event.preventDefault()\n handleSubmit()\n }}\n >\n <div className=\"ob-payment-form__westpac-quickstream-container\">\n {!!appImageUrl && (\n <figure className=\"image is-128x128 has-margin-bottom-6 ml-auto mr-auto\">\n <img\n alt=\"Application Icon\"\n className=\"is-rounded\"\n src={appImageUrl}\n />\n </figure>\n )}\n {!!title && (\n <h3 className=\"title is-3 is-size-3-mobile ob-header__heading has-text-centered\">\n {title}\n </h3>\n )}\n <label className=\"label ob-label has-text-centered\">\n Fill out the form below to complete your secure payment.\n </label>\n\n <div className=\"ob-payment-form__westpac-quickstream-amount\">\n <div>Amount</div>\n <div className=\"ob-payment-form__westpac-quickstream-amount-value\">\n {localisationService.formatCurrency(\n formSubmissionResult.payment?.amount ?? 0,\n )}\n </div>\n </div>\n <div\n data-quickstream-api=\"creditCardContainer\"\n className=\"quickstream-credit-card-container\"\n ></div>\n {!isLoading && !loadError && (\n <>\n <ReCAPTCHA\n {...recaptchaProps}\n className=\"ob-input cypress-captcha-control ob-payment-form__westpac-quickstream-captcha\"\n />\n {displayCaptchaRequired && (\n <FormElementValidationMessage\n message=\"Please complete the CAPTCHA successfully\"\n className=\"cypress-required\"\n />\n )}\n </>\n )}\n </div>\n {!isLoading && !loadError && (\n <div className=\"ob-payment-form__westpac-quickstream-form-actions\">\n <button\n type=\"button\"\n disabled={isCompletingTransaction || isCancellingTransaction}\n onClick={handleCancel}\n className={clsx('button ob-button is-outlined', {\n 'is-loading': isCancellingTransaction,\n })}\n >\n Cancel\n </button>\n <button\n type=\"submit\"\n disabled={isCompletingTransaction || isCancellingTransaction}\n className={clsx('button ob-button is-success', {\n 'is-loading': isCompletingTransaction,\n })}\n >\n Make Payment\n </button>\n </div>\n )}\n </form>\n </section>\n\n <Modal\n isOpen={!!completeTransactionError}\n title=\"Payment Issue\"\n className=\"cypress-payment-error-close-button\"\n actions={\n <>\n <button\n type=\"button\"\n className=\"button ob-button cypress-payment-error-close-button is-primary\"\n onClick={clearCompleteTransactionError}\n autoFocus\n >\n Okay\n </button>\n </>\n }\n >\n <>\n <div>\n {completeTransactionError instanceof Error\n ? completeTransactionError.message\n : completeTransactionError}\n </div>\n {completeTransactionError instanceof OneBlinkAppsError && (\n <OneBlinkAppsErrorOriginalMessage\n error={completeTransactionError.originalError}\n />\n )}\n </>\n </Modal>\n\n <Modal\n isOpen={!!cancelError}\n title=\"Cancel Issue\"\n className=\"cypress-cancel-error-close-button\"\n actions={\n <>\n <button\n type=\"button\"\n className=\"button ob-button cypress-cancel-error-close-button is-primary\"\n onClick={clearCancelError}\n autoFocus\n >\n Okay\n </button>\n </>\n }\n >\n <>\n <div>\n {cancelError instanceof Error ? cancelError.message : cancelError}\n </div>\n {cancelError instanceof OneBlinkAppsError && (\n <OneBlinkAppsErrorOriginalMessage\n error={cancelError.originalError}\n />\n )}\n </>\n </Modal>\n </>\n )\n}\n\nexport default React.memo(WestpacQuickStreamPaymentForm)\n"]}
1
+ {"version":3,"file":"WestpacQuickStreamPaymentForm.js","sourceRoot":"","sources":["../../../src/components/payments/WestpacQuickStreamPaymentForm.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,iBAAiB,EACjB,cAAc,EAEd,mBAAmB,GACpB,MAAM,YAAY,CAAA;AAEnB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,SAAS,MAAM,wBAAwB,CAAA;AAC9C,OAAO,KAAK,UAAU,MAAM,aAAa,CAAA;AACzC,OAAO,SAAS,MAAM,uBAAuB,CAAA;AAC7C,OAAO,gCAAgC,MAAM,8CAA8C,CAAA;AAC3F,OAAO,KAAK,MAAM,mBAAmB,CAAA;AACrC,OAAO,YAAY,MAAM,iBAAiB,CAAA;AAC1C,OAAO,iBAAiB,MAAM,+BAA+B,CAAA;AAE7D,OAAO,4BAA4B,MAAM,0CAA0C,CAAA;AA2CnF,SAAS,6BAA6B,CAAC,EACrC,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,KAAK,GAiBN;;IACC,MAAM,CACJ,EACE,uBAAuB,EACvB,wBAAwB,EACxB,YAAY,EACZ,sBAAsB,GACvB,EACD,2BAA2B,EAC5B,GAAG,KAAK,CAAC,QAAQ,CAKf;QACD,uBAAuB,EAAE,KAAK;QAC9B,wBAAwB,EAAE,IAAI;QAC9B,YAAY,EAAE,IAAI;QAClB,sBAAsB,EAAE,KAAK;KAC9B,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAY,IAAI,CAAC,CAAA;IAEhD,MAAM,6BAA6B,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC3D,2BAA2B,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC7C,GAAG,YAAY;YACf,uBAAuB,EAAE,KAAK;YAC9B,wBAAwB,EAAE,IAAI;SAC/B,CAAC,CAAC,CAAA;IACL,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,YAAY,CAAC,GAC1D,KAAK,CAAC,QAAQ,CAIX;QACD,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;KAChB,CAAC,CAAA;IAEJ,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QAC7C,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAClD,SAAS,CAAC,IAAI,GAAG,iBAAiB,CAAA;QAClC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAA;QAEtB,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;YACrB,IAAI,CAAC;gBACH,SAAS,CAAC,GAAG,GAAG,UAAU;oBACxB,CAAC,CAAC,gFAAgF;oBAClF,CAAC,CAAC,2EAA2E,CAAA;gBAE/E,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACpC,IAAI,CAAC;wBACH,SAAS,CAAC,gBAAgB,CACxB,MAAM,EACN,GAAG,EAAE;4BACH,OAAO,CAAC,SAAS,CAAC,CAAA;wBACpB,CAAC,EACD;4BACE,MAAM,EAAE,eAAe,CAAC,MAAM;yBAC/B,CACF,CAAA;wBAED,SAAS,CAAC,gBAAgB,CACxB,OAAO,EACP,GAAG,EAAE;4BACH,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;wBACjE,CAAC,EACD;4BACE,MAAM,EAAE,eAAe,CAAC,MAAM;yBAC/B,CACF,CAAA;wBAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;oBACtC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAA;wBAC5C,MAAM,CAAC,KAAK,CAAC,CAAA;oBACf,CAAC;gBACH,CAAC,CAAC,CAAA;gBAEF,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC;oBACzB,iBAAiB;iBAClB,CAAC,CAAA;gBACF,MAAM,eAAe,GAAG,MAAM,IAAI,OAAO,CACvC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAClB,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,kBAAkB,CAClD;wBACE,MAAM,EAAE;4BACN,oBAAoB;yBACrB;wBACD,MAAM,EAAE;4BACN,KAAK,EAAE;gCACL,KAAK,EAAE,MAAM;6BACd;yBACF;wBACD,iBAAiB,EAAE,IAAI;wBACvB,sBAAsB,EAAE,IAAI;qBAC7B,EACD,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;wBACf,IAAI,MAAM,EAAE,CAAC;4BACX,MAAM,CAAC,MAAM,CAAC,CAAA;4BACd,OAAM;wBACR,CAAC;wBACD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;oBAC5B,CAAC,CACF,CAAA;gBACH,CAAC,CACF,CAAA;gBAED,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpC,YAAY,CAAC;wBACX,YAAY,EAAE,eAAe;wBAC7B,SAAS,EAAE,KAAK;wBAChB,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpC,YAAY,CAAC;wBACX,YAAY,EAAE,IAAI;wBAClB,SAAS,EAAE,KAAK;wBAChB,SAAS,EAAE,KAAc;qBAC1B,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,CAAA;QAED,GAAG,EAAE,CAAA;QAEL,OAAO,GAAG,EAAE;YACV,eAAe,CAAC,KAAK,EAAE,CAAA;YACvB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QACtC,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,CAAC,CAAA;IAEzD,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CACjC,GAAG,EAAE,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,UAAU,EAC/B,CAAC,WAAW,CAAC,CACd,CAAA;IAED,MAAM,oBAAoB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,QAAuB,EAAE,EAAE;QACzE,2BAA2B,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC7C,GAAG,YAAY;YACf,YAAY,EAAE,QAAQ;YACtB,sBAAsB,EAAE,QAAQ,KAAK,IAAI;SAC1C,CAAC,CAAC,CAAA;IACL,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,cAAc,GAAG,iBAAiB,CAAC;QACvC,cAAc;QACd,UAAU;QACV,eAAe,EAAE,oBAAoB;QACrC,WAAW,EAAE,aAAa;KAC3B,CAAC,CAAA;IAEF,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;;QACrD,MAAA,UAAU,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAA;QAC3B,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,KAAK,GAAG,MAAM,CAAA,MAAA,UAAU,CAAC,OAAO,0CAClC,YAAY,GACb,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACf,OAAO,CAAC,GAAG,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAA;oBAC5D,OAAO,IAAI,CAAA;gBACb,CAAC,CAAC,CAAA,CAAA;gBACJ,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;oBACpC,UAAU,CAAC,KAAK,CAAC;wBACf,OAAO,EAAE,+BAA+B;wBACxC,IAAI,EAAE,WAAW;wBACjB,YAAY,EAAE,gDAAgD;wBAC9D,QAAQ,EAAE,IAAI;wBACd,YAAY,EAAE,IAAI;wBAClB,YAAY,EAAE,IAAI;qBACnB,CAAC,CAAA;gBACJ,CAAC;gBACD,OAAO;oBACL,cAAc,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI;oBAC7B,sBAAsB,EAAE,KAAK;iBAC9B,CAAA;YACH,CAAC;YACD,KAAK,UAAU,CAAC;YAChB;gBACE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAA;QACzE,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAA;IAE/B,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QAChD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAM;QACR,CAAC;QAED,2BAA2B,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC7C,GAAG,YAAY;YACf,uBAAuB,EAAE,IAAI;YAC7B,wBAAwB,EAAE,IAAI;SAC/B,CAAC,CAAC,CAAA;QAEH,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC7C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,MAAM,CAAC,CAAA;gBACtD,2BAA2B,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;oBAC7C,GAAG,YAAY;oBACf,uBAAuB,EAAE,KAAK;oBAC9B,wBAAwB,EAAE,IAAI;iBAC/B,CAAC,CAAC,CAAA;gBACH,OAAM;YACR,CAAC;YAED,MAAM,EAAE,cAAc,EAAE,sBAAsB,EAAE,GAC9C,MAAM,iBAAiB,EAAE,CAAA;YAE3B,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,2BAA2B,CAAC;oBAC1B,YAAY,EAAE,IAAI;oBAClB,sBAAsB;oBACtB,uBAAuB,EAAE,KAAK;oBAC9B,wBAAwB,EAAE,IAAI;iBAC/B,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YAED,cAAc,CAAC,kBAAkB;iBAC9B,mBAAmB,CAAC;gBACnB,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,gBAAgB;gBACtD,oBAAoB;gBACpB,uBAAuB;gBACvB,sBAAsB;gBACtB,cAAc;gBACd,YAAY,EAAE,cAAc;aAC7B,CAAC;iBACD,IAAI,CAAC,WAAW,CAAC;iBACjB,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,2BAA2B,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;oBAC7C,GAAG,YAAY;oBACf,uBAAuB,EAAE,KAAK;oBAC9B,wBAAwB,EAAE,KAAK;iBAChC,CAAC,CAAC,CAAA;YACL,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE;QACD,YAAY;QACZ,iBAAiB;QACjB,oBAAoB;QACpB,uBAAuB;QACvB,sBAAsB;QACtB,cAAc;QACd,WAAW;KACZ,CAAC,CAAA;IAEF,MAAM,CAAC,EAAE,uBAAuB,EAAE,WAAW,EAAE,EAAE,cAAc,CAAC,GAC9D,KAAK,CAAC,QAAQ,CAGX;QACD,uBAAuB,EAAE,KAAK;QAC9B,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;IAEJ,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC9C,cAAc,CAAC;YACb,uBAAuB,EAAE,KAAK;YAC9B,WAAW,EAAE,IAAI;SAClB,CAAC,CAAA;IACJ,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QAChD,cAAc,CAAC;YACb,uBAAuB,EAAE,IAAI;YAC7B,WAAW,EAAE,IAAI;SAClB,CAAC,CAAA;QACF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,kBAAkB,CAAC,aAAa,CAAC;gBACnE,uBAAuB;gBACvB,oBAAoB;aACrB,CAAC,CAAA;YACF,WAAW,CAAC,MAAM,CAAC,CAAA;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;YAC/C,cAAc,CAAC;gBACb,uBAAuB,EAAE,KAAK;gBAC9B,WAAW,EAAE,KAAc;aAC5B,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,EAAE,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,WAAW,CAAC,CAAC,CAAA;IAEhE,OAAO,CACL,8BACG,SAAS,IAAI,CACZ,4BACE,eAAK,SAAS,EAAC,mCAAmC,aAChD,KAAC,SAAS,IAAC,SAAS,EAAC,mBAAmB,GAAa,EACrD,sDAAqC,IACjC,GACE,CACX,EAEA,SAAS,IAAI,CACZ,mBAAS,SAAS,EAAC,4CAA4C,aAC7D,cAAK,SAAS,EAAC,6EAA6E,YAC1F,KAAC,YAAY,IAAC,SAAS,EAAC,0DAA0D,sBAEnE,GACX,EACN,YAAG,SAAS,EAAC,sEAAsE,YAChF,SAAS,CAAC,OAAO,GAChB,IACI,CACX,EAED,4BACE,gBACE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wBAClB,KAAK,CAAC,cAAc,EAAE,CAAA;wBACtB,YAAY,EAAE,CAAA;oBAChB,CAAC,aAED,eAAK,SAAS,EAAC,gDAAgD,aAC5D,CAAC,CAAC,WAAW,IAAI,CAChB,iBAAQ,SAAS,EAAC,sDAAsD,YACtE,cACE,GAAG,EAAC,kBAAkB,EACtB,SAAS,EAAC,YAAY,EACtB,GAAG,EAAE,WAAW,GAChB,GACK,CACV,EACA,CAAC,CAAC,KAAK,IAAI,CACV,aAAI,SAAS,EAAC,kEAAkE,YAC7E,KAAK,GACH,CACN,EACD,gBAAO,SAAS,EAAC,kCAAkC,yEAE3C,EAER,eAAK,SAAS,EAAC,6CAA6C,aAC1D,mCAAiB,EACjB,cAAK,SAAS,EAAC,mDAAmD,YAC/D,mBAAmB,CAAC,cAAc,CACjC,MAAA,MAAA,oBAAoB,CAAC,OAAO,0CAAE,MAAM,mCAAI,CAAC,CAC1C,GACG,IACF,EACN,sCACuB,qBAAqB,EAC1C,SAAS,EAAC,mCAAmC,GACxC,EACN,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,CAC3B,8BACE,KAAC,SAAS,OACJ,cAAc,EAClB,SAAS,EAAC,+EAA+E,GACzF,EACD,sBAAsB,IAAI,CACzB,KAAC,4BAA4B,IAC3B,OAAO,EAAC,0CAA0C,EAClD,SAAS,EAAC,kBAAkB,GAC5B,CACH,IACA,CACJ,IACG,EACL,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,CAC3B,eAAK,SAAS,EAAC,mDAAmD,aAChE,iBACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,uBAAuB,IAAI,uBAAuB,EAC5D,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,IAAI,CAAC,8BAA8B,EAAE;wCAC9C,YAAY,EAAE,uBAAuB;qCACtC,CAAC,uBAGK,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,uBAAuB,IAAI,uBAAuB,EAC5D,SAAS,EAAE,IAAI,CAAC,6BAA6B,EAAE;wCAC7C,YAAY,EAAE,uBAAuB;qCACtC,CAAC,6BAGK,IACL,CACP,IACI,GACC,EAEV,KAAC,KAAK,IACJ,MAAM,EAAE,CAAC,CAAC,wBAAwB,EAClC,KAAK,EAAC,eAAe,EACrB,SAAS,EAAC,oCAAoC,EAC9C,OAAO,EACL,4BACE,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,gEAAgE,EAC1E,OAAO,EAAE,6BAA6B,EACtC,SAAS,2BAGF,GACR,YAGL,8BACE,wBACG,wBAAwB,YAAY,KAAK;gCACxC,CAAC,CAAC,wBAAwB,CAAC,OAAO;gCAClC,CAAC,CAAC,wBAAwB,GACxB,EACL,wBAAwB,YAAY,iBAAiB,IAAI,CACxD,KAAC,gCAAgC,IAC/B,KAAK,EAAE,wBAAwB,CAAC,aAAa,GAC7C,CACH,IACA,GACG,EAER,KAAC,KAAK,IACJ,MAAM,EAAE,CAAC,CAAC,WAAW,EACrB,KAAK,EAAC,cAAc,EACpB,SAAS,EAAC,mCAAmC,EAC7C,OAAO,EACL,4BACE,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,+DAA+D,EACzE,OAAO,EAAE,gBAAgB,EACzB,SAAS,2BAGF,GACR,YAGL,8BACE,wBACG,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,GAC7D,EACL,WAAW,YAAY,iBAAiB,IAAI,CAC3C,KAAC,gCAAgC,IAC/B,KAAK,EAAE,WAAW,CAAC,aAAa,GAChC,CACH,IACA,GACG,IACP,CACJ,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA","sourcesContent":["import {\n OneBlinkAppsError,\n paymentService,\n submissionService,\n localisationService,\n} from '../../apps'\nimport { SubmissionTypes, SubmissionEventTypes } from '@oneblink/types'\nimport clsx from 'clsx'\nimport React from 'react'\nimport ReCAPTCHA from 'react-google-recaptcha'\nimport * as bulmaToast from 'bulma-toast'\nimport OnLoading from '../renderer/OnLoading'\nimport OneBlinkAppsErrorOriginalMessage from '../renderer/OneBlinkAppsErrorOriginalMessage'\nimport Modal from '../renderer/Modal'\nimport MaterialIcon from '../MaterialIcon'\nimport useReCAPTCHAProps from '../../hooks/useReCAPTCHAProps'\nimport { CaptchaType } from '../../typedoc'\nimport FormElementValidationMessage from '../renderer/FormElementValidationMessage'\n\ninterface TrustedFrame {\n submitForm(\n callback: (\n errors:\n | Array<{\n fieldName: string\n messages: string[]\n }>\n | undefined,\n data: {\n singleUseToken: {\n singleUseTokenId: string\n }\n },\n ) => void,\n ): void\n}\n\ndeclare global {\n interface Window {\n QuickstreamAPI: {\n init(options: { publishableApiKey: string }): void\n creditCards: {\n createTrustedFrame(\n options: unknown,\n callback: (\n errors:\n | Array<{\n fieldName: string\n messages: string[]\n }>\n | undefined,\n data: {\n trustedFrame: TrustedFrame\n },\n ) => void,\n ): void\n }\n }\n }\n}\nfunction WestpacQuickStreamPaymentForm({\n formSubmissionResult,\n paymentSubmissionEvent,\n formSubmissionPaymentId,\n supplierBusinessCode,\n publishableApiKey,\n isTestMode,\n captchaSiteKey,\n captchaType,\n onCompleted,\n onCancelled,\n appImageUrl,\n title,\n}: {\n formSubmissionResult: submissionService.FormSubmissionResult\n paymentSubmissionEvent: SubmissionEventTypes.WestpacQuickStreamSubmissionEvent\n formSubmissionPaymentId: string\n supplierBusinessCode: string\n publishableApiKey: string\n isTestMode: boolean\n captchaSiteKey: string\n captchaType?: CaptchaType\n onCompleted: (result: {\n formSubmissionPayment: SubmissionTypes.FormSubmissionPayment\n paymentReceiptUrl: string\n }) => void\n onCancelled: (result: { paymentReceiptUrl: string }) => void\n appImageUrl?: string\n title?: string\n}) {\n const [\n {\n isCompletingTransaction,\n completeTransactionError,\n captchaToken,\n displayCaptchaRequired,\n },\n setCompleteTransactionState,\n ] = React.useState<{\n captchaToken: string | null\n displayCaptchaRequired: boolean\n isCompletingTransaction: boolean\n completeTransactionError: Error | null\n }>({\n isCompletingTransaction: false,\n completeTransactionError: null,\n captchaToken: null,\n displayCaptchaRequired: false,\n })\n\n const captchaRef = React.useRef<ReCAPTCHA>(null)\n\n const clearCompleteTransactionError = React.useCallback(() => {\n setCompleteTransactionState((currentState) => ({\n ...currentState,\n isCompletingTransaction: false,\n completeTransactionError: null,\n }))\n }, [])\n\n const [{ trustedFrame, isLoading, loadError }, setLoadState] =\n React.useState<{\n trustedFrame: TrustedFrame | null\n isLoading: boolean\n loadError: Error | null\n }>({\n trustedFrame: null,\n isLoading: true,\n loadError: null,\n })\n\n React.useEffect(() => {\n const abortController = new AbortController()\n const scriptEle = document.createElement('script')\n scriptEle.type = 'text/javascript'\n scriptEle.async = true\n\n const run = async () => {\n try {\n scriptEle.src = isTestMode\n ? 'https://api.quickstream.support.qvalent.com/rest/v1/quickstream-api-1.0.min.js'\n : 'https://api.quickstream.westpac.com.au/rest/v1/quickstream-api-1.0.min.js'\n\n await new Promise((resolve, reject) => {\n try {\n scriptEle.addEventListener(\n 'load',\n () => {\n resolve(undefined)\n },\n {\n signal: abortController.signal,\n },\n )\n\n scriptEle.addEventListener(\n 'error',\n () => {\n reject(new Error(`Failed to load the script ${scriptEle.src}`))\n },\n {\n signal: abortController.signal,\n },\n )\n\n document.body.appendChild(scriptEle)\n } catch (error) {\n console.warn('Failed to load script', error)\n reject(error)\n }\n })\n\n window.QuickstreamAPI.init({\n publishableApiKey,\n })\n const newTrustedFrame = await new Promise<TrustedFrame>(\n (resolve, reject) => {\n window.QuickstreamAPI.creditCards.createTrustedFrame(\n {\n config: {\n supplierBusinessCode,\n },\n iframe: {\n style: {\n width: '100%',\n },\n },\n showAcceptedCards: true,\n showRequiredIndicators: true,\n },\n (errors, data) => {\n if (errors) {\n reject(errors)\n return\n }\n resolve(data.trustedFrame)\n },\n )\n },\n )\n\n if (!abortController.signal.aborted) {\n setLoadState({\n trustedFrame: newTrustedFrame,\n isLoading: false,\n loadError: null,\n })\n }\n } catch (error) {\n if (!abortController.signal.aborted) {\n setLoadState({\n trustedFrame: null,\n isLoading: false,\n loadError: error as Error,\n })\n }\n }\n }\n\n run()\n\n return () => {\n abortController.abort()\n document.body.removeChild(scriptEle)\n }\n }, [isTestMode, publishableApiKey, supplierBusinessCode])\n\n const recaptchaType = React.useMemo(\n () => captchaType ?? 'CHECKBOX',\n [captchaType],\n )\n\n const hanedleCaptchaChange = React.useCallback((newValue: string | null) => {\n setCompleteTransactionState((currentState) => ({\n ...currentState,\n captchaToken: newValue,\n displayCaptchaRequired: newValue === null,\n }))\n }, [])\n\n const recaptchaProps = useReCAPTCHAProps({\n captchaSiteKey,\n captchaRef,\n onCaptchaChange: hanedleCaptchaChange,\n captchaType: recaptchaType,\n })\n\n const getRecaptchaToken = React.useCallback(async () => {\n captchaRef.current?.reset()\n switch (captchaType) {\n case 'INVISIBLE': {\n const token = await captchaRef.current\n ?.executeAsync()\n .catch((error) => {\n console.log('Invisible captcha executeAsync failure', error)\n return null\n })\n if (!token) {\n console.log('Captcha token failure')\n bulmaToast.toast({\n message: 'Failed to get a captcha token',\n type: 'is-danger',\n extraClasses: 'ob-toast cypress-failed-captcha-token-creation',\n duration: 4000,\n pauseOnHover: true,\n closeOnClick: true,\n })\n }\n return {\n recaptchaToken: token ?? null,\n displayCaptchaRequired: false,\n }\n }\n case 'CHECKBOX':\n default:\n return { recaptchaToken: captchaToken, displayCaptchaRequired: true }\n }\n }, [captchaToken, captchaType])\n\n const handleSubmit = React.useCallback(async () => {\n if (!trustedFrame) {\n return\n }\n\n setCompleteTransactionState((currentState) => ({\n ...currentState,\n isCompletingTransaction: true,\n completeTransactionError: null,\n }))\n\n trustedFrame.submitForm(async (errors, data) => {\n if (errors) {\n console.log('Invalid payment form submission', errors)\n setCompleteTransactionState((currentState) => ({\n ...currentState,\n isCompletingTransaction: false,\n completeTransactionError: null,\n }))\n return\n }\n\n const { recaptchaToken, displayCaptchaRequired } =\n await getRecaptchaToken()\n\n if (!recaptchaToken) {\n setCompleteTransactionState({\n captchaToken: null,\n displayCaptchaRequired,\n isCompletingTransaction: false,\n completeTransactionError: null,\n })\n return\n }\n\n paymentService.westpacQuickStream\n .completeTransaction({\n singleUseTokenId: data.singleUseToken.singleUseTokenId,\n formSubmissionResult,\n formSubmissionPaymentId,\n paymentSubmissionEvent,\n captchaSiteKey,\n captchaToken: recaptchaToken,\n })\n .then(onCompleted)\n .catch((error) => {\n setCompleteTransactionState((currentState) => ({\n ...currentState,\n isCompletingTransaction: false,\n completeTransactionError: error,\n }))\n })\n })\n }, [\n trustedFrame,\n getRecaptchaToken,\n formSubmissionResult,\n formSubmissionPaymentId,\n paymentSubmissionEvent,\n captchaSiteKey,\n onCompleted,\n ])\n\n const [{ isCancellingTransaction, cancelError }, setCancelState] =\n React.useState<{\n isCancellingTransaction: boolean\n cancelError: Error | null\n }>({\n isCancellingTransaction: false,\n cancelError: null,\n })\n\n const clearCancelError = React.useCallback(() => {\n setCancelState({\n isCancellingTransaction: false,\n cancelError: null,\n })\n }, [])\n\n const handleCancel = React.useCallback(async () => {\n setCancelState({\n isCancellingTransaction: true,\n cancelError: null,\n })\n try {\n const result = await paymentService.westpacQuickStream.cancelPayment({\n formSubmissionPaymentId,\n formSubmissionResult,\n })\n onCancelled(result)\n } catch (error) {\n console.warn('Failed to cancel payment', error)\n setCancelState({\n isCancellingTransaction: false,\n cancelError: error as Error,\n })\n }\n }, [formSubmissionPaymentId, formSubmissionResult, onCancelled])\n\n return (\n <>\n {isLoading && (\n <section>\n <div className=\"cypress-loading has-text-centered\">\n <OnLoading className=\"has-text-centered\"></OnLoading>\n <span>Building payment form...</span>\n </div>\n </section>\n )}\n\n {loadError && (\n <section className=\"cypress-payment-form-loading-error-message\">\n <div className=\"ob-payment-form__error-icon-container has-text-centered has-margin-bottom-8\">\n <MaterialIcon className=\"ob-payment-form__error-icon has-text-danger icon-x-large\">\n error\n </MaterialIcon>\n </div>\n <p className=\"ob-payment-form__error-message has-text-centered has-margin-bottom-4\">\n {loadError.message}\n </p>\n </section>\n )}\n\n <section>\n <form\n onSubmit={(event) => {\n event.preventDefault()\n handleSubmit()\n }}\n >\n <div className=\"ob-payment-form__westpac-quickstream-container\">\n {!!appImageUrl && (\n <figure className=\"image is-128x128 has-margin-bottom-6 ml-auto mr-auto\">\n <img\n alt=\"Application Icon\"\n className=\"is-rounded\"\n src={appImageUrl}\n />\n </figure>\n )}\n {!!title && (\n <h3 className=\"title is-3 is-size-3-mobile ob-header__heading has-text-centered\">\n {title}\n </h3>\n )}\n <label className=\"label ob-label has-text-centered\">\n Fill out the form below to complete your secure payment.\n </label>\n\n <div className=\"ob-payment-form__westpac-quickstream-amount\">\n <div>Amount</div>\n <div className=\"ob-payment-form__westpac-quickstream-amount-value\">\n {localisationService.formatCurrency(\n formSubmissionResult.payment?.amount ?? 0,\n )}\n </div>\n </div>\n <div\n data-quickstream-api=\"creditCardContainer\"\n className=\"quickstream-credit-card-container\"\n ></div>\n {!isLoading && !loadError && (\n <>\n <ReCAPTCHA\n {...recaptchaProps}\n className=\"ob-input cypress-captcha-control ob-payment-form__westpac-quickstream-captcha\"\n />\n {displayCaptchaRequired && (\n <FormElementValidationMessage\n message=\"Please complete the CAPTCHA successfully\"\n className=\"cypress-required\"\n />\n )}\n </>\n )}\n </div>\n {!isLoading && !loadError && (\n <div className=\"ob-payment-form__westpac-quickstream-form-actions\">\n <button\n type=\"button\"\n disabled={isCompletingTransaction || isCancellingTransaction}\n onClick={handleCancel}\n className={clsx('button ob-button is-outlined', {\n 'is-loading': isCancellingTransaction,\n })}\n >\n Cancel\n </button>\n <button\n type=\"submit\"\n disabled={isCompletingTransaction || isCancellingTransaction}\n className={clsx('button ob-button is-success', {\n 'is-loading': isCompletingTransaction,\n })}\n >\n Make Payment\n </button>\n </div>\n )}\n </form>\n </section>\n\n <Modal\n isOpen={!!completeTransactionError}\n title=\"Payment Issue\"\n className=\"cypress-payment-error-close-button\"\n actions={\n <>\n <button\n type=\"button\"\n className=\"button ob-button cypress-payment-error-close-button is-primary\"\n onClick={clearCompleteTransactionError}\n autoFocus\n >\n Okay\n </button>\n </>\n }\n >\n <>\n <div>\n {completeTransactionError instanceof Error\n ? completeTransactionError.message\n : completeTransactionError}\n </div>\n {completeTransactionError instanceof OneBlinkAppsError && (\n <OneBlinkAppsErrorOriginalMessage\n error={completeTransactionError.originalError}\n />\n )}\n </>\n </Modal>\n\n <Modal\n isOpen={!!cancelError}\n title=\"Cancel Issue\"\n className=\"cypress-cancel-error-close-button\"\n actions={\n <>\n <button\n type=\"button\"\n className=\"button ob-button cypress-cancel-error-close-button is-primary\"\n onClick={clearCancelError}\n autoFocus\n >\n Okay\n </button>\n </>\n }\n >\n <>\n <div>\n {cancelError instanceof Error ? cancelError.message : cancelError}\n </div>\n {cancelError instanceof OneBlinkAppsError && (\n <OneBlinkAppsErrorOriginalMessage\n error={cancelError.originalError}\n />\n )}\n </>\n </Modal>\n </>\n )\n}\n\nexport default React.memo(WestpacQuickStreamPaymentForm)\n"]}
@@ -4,6 +4,6 @@ type Props = {
4
4
  containerClassName: string;
5
5
  children: React.ReactNode;
6
6
  };
7
- declare function Receipt({ className, containerClassName, children }: Props): React.JSX.Element;
7
+ declare function Receipt({ className, containerClassName, children }: Props): import("react/jsx-runtime").JSX.Element;
8
8
  declare const _default: React.MemoExoticComponent<typeof Receipt>;
9
9
  export default _default;
@@ -1,8 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
1
2
  import * as React from 'react';
2
3
  import clsx from 'clsx';
3
4
  function Receipt({ className, containerClassName, children }) {
4
- return (React.createElement("section", { className: clsx('ob-receipt', className) },
5
- React.createElement("div", { className: clsx('ob-receipt__container', containerClassName) }, children)));
5
+ return (_jsx("section", { className: clsx('ob-receipt', className), children: _jsx("div", { className: clsx('ob-receipt__container', containerClassName), children: children }) }));
6
6
  }
7
7
  export default React.memo(Receipt);
8
8
  //# sourceMappingURL=Receipt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Receipt.js","sourceRoot":"","sources":["../../../src/components/receipts/Receipt.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAA;AAQvB,SAAS,OAAO,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAS;IACjE,OAAO,CACL,iCAAS,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC;QAC/C,6BAAK,SAAS,EAAE,IAAI,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,IAC9D,QAAQ,CACL,CACE,CACX,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport clsx from 'clsx'\n\ntype Props = {\n className: string\n containerClassName: string\n children: React.ReactNode\n}\n\nfunction Receipt({ className, containerClassName, children }: Props) {\n return (\n <section className={clsx('ob-receipt', className)}>\n <div className={clsx('ob-receipt__container', containerClassName)}>\n {children}\n </div>\n </section>\n )\n}\n\nexport default React.memo(Receipt)\n"]}
1
+ {"version":3,"file":"Receipt.js","sourceRoot":"","sources":["../../../src/components/receipts/Receipt.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAA;AAQvB,SAAS,OAAO,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAS;IACjE,OAAO,CACL,kBAAS,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,YAC/C,cAAK,SAAS,EAAE,IAAI,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,YAC9D,QAAQ,GACL,GACE,CACX,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport clsx from 'clsx'\n\ntype Props = {\n className: string\n containerClassName: string\n children: React.ReactNode\n}\n\nfunction Receipt({ className, containerClassName, children }: Props) {\n return (\n <section className={clsx('ob-receipt', className)}>\n <div className={clsx('ob-receipt__container', containerClassName)}>\n {children}\n </div>\n </section>\n )\n}\n\nexport default React.memo(Receipt)\n"]}
@@ -6,6 +6,6 @@ type Props = {
6
6
  isLoading?: boolean;
7
7
  onClick: () => unknown;
8
8
  };
9
- declare function ReceiptButton({ className, label, isDisabled, isLoading, onClick, }: Props): React.JSX.Element;
9
+ declare function ReceiptButton({ className, label, isDisabled, isLoading, onClick, }: Props): import("react/jsx-runtime").JSX.Element;
10
10
  declare const _default: React.MemoExoticComponent<typeof ReceiptButton>;
11
11
  export default _default;