@oneblink/apps-react 9.0.0-beta.1 → 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 (393) hide show
  1. package/dist/OneBlinkForm.d.ts +6 -10
  2. package/dist/OneBlinkForm.js +0 -4
  3. package/dist/OneBlinkForm.js.map +1 -1
  4. package/dist/OneBlinkFormBase.d.ts +1 -1
  5. package/dist/OneBlinkFormBase.js +3 -2
  6. package/dist/OneBlinkFormBase.js.map +1 -1
  7. package/dist/OneBlinkReadOnlyForm.d.ts +1 -1
  8. package/dist/OneBlinkReadOnlyForm.js +1 -1
  9. package/dist/OneBlinkReadOnlyForm.js.map +1 -1
  10. package/dist/PaymentReceipt.d.ts +1 -1
  11. package/dist/PaymentReceipt.js +3 -3
  12. package/dist/PaymentReceipt.js.map +1 -1
  13. package/dist/apps/Sentry.d.ts +7 -0
  14. package/dist/apps/Sentry.js +16 -0
  15. package/dist/apps/Sentry.js.map +1 -0
  16. package/dist/apps/approvals-service.d.ts +390 -0
  17. package/dist/apps/approvals-service.js +987 -0
  18. package/dist/apps/approvals-service.js.map +1 -0
  19. package/dist/apps/attachments-service.d.ts +49 -0
  20. package/dist/apps/attachments-service.js +134 -0
  21. package/dist/apps/attachments-service.js.map +1 -0
  22. package/dist/apps/auth-service.d.ts +114 -0
  23. package/dist/apps/auth-service.js +194 -0
  24. package/dist/apps/auth-service.js.map +1 -0
  25. package/dist/apps/auto-save-service.d.ts +82 -0
  26. package/dist/apps/auto-save-service.js +105 -0
  27. package/dist/apps/auto-save-service.js.map +1 -0
  28. package/dist/apps/draft-service.d.ts +148 -0
  29. package/dist/apps/draft-service.js +583 -0
  30. package/dist/apps/draft-service.js.map +1 -0
  31. package/dist/apps/form-service.d.ts +204 -0
  32. package/dist/apps/form-service.js +718 -0
  33. package/dist/apps/form-service.js.map +1 -0
  34. package/dist/apps/form-store-service.d.ts +141 -0
  35. package/dist/apps/form-store-service.js +114 -0
  36. package/dist/apps/form-store-service.js.map +1 -0
  37. package/dist/apps/forms-app-environment-service.d.ts +19 -0
  38. package/dist/apps/forms-app-environment-service.js +55 -0
  39. package/dist/apps/forms-app-environment-service.js.map +1 -0
  40. package/dist/apps/forms-app-service.d.ts +18 -0
  41. package/dist/apps/forms-app-service.js +53 -0
  42. package/dist/apps/forms-app-service.js.map +1 -0
  43. package/dist/apps/index.d.ts +253 -0
  44. package/dist/apps/index.js +255 -0
  45. package/dist/apps/index.js.map +1 -0
  46. package/dist/apps/job-service.d.ts +20 -0
  47. package/dist/apps/job-service.js +95 -0
  48. package/dist/apps/job-service.js.map +1 -0
  49. package/dist/apps/localisation-service.d.ts +207 -0
  50. package/dist/apps/localisation-service.js +321 -0
  51. package/dist/apps/localisation-service.js.map +1 -0
  52. package/dist/apps/notification-service.d.ts +83 -0
  53. package/dist/apps/notification-service.js +315 -0
  54. package/dist/apps/notification-service.js.map +1 -0
  55. package/dist/apps/offline-service.d.ts +18 -0
  56. package/dist/apps/offline-service.js +25 -0
  57. package/dist/apps/offline-service.js.map +1 -0
  58. package/dist/apps/payment-service.d.ts +110 -0
  59. package/dist/apps/payment-service.js +182 -0
  60. package/dist/apps/payment-service.js.map +1 -0
  61. package/dist/apps/prefill-service.d.ts +14 -0
  62. package/dist/apps/prefill-service.js +19 -0
  63. package/dist/apps/prefill-service.js.map +1 -0
  64. package/dist/apps/scheduled-tasks-service.d.ts +127 -0
  65. package/dist/apps/scheduled-tasks-service.js +240 -0
  66. package/dist/apps/scheduled-tasks-service.js.map +1 -0
  67. package/dist/apps/scheduling-service.d.ts +101 -0
  68. package/dist/apps/scheduling-service.js +171 -0
  69. package/dist/apps/scheduling-service.js.map +1 -0
  70. package/dist/apps/services/AWSCognitoClient.d.ts +55 -0
  71. package/dist/apps/services/AWSCognitoClient.js +436 -0
  72. package/dist/apps/services/AWSCognitoClient.js.map +1 -0
  73. package/dist/apps/services/api/drafts.d.ts +7 -0
  74. package/dist/apps/services/api/drafts.js +236 -0
  75. package/dist/apps/services/api/drafts.js.map +1 -0
  76. package/dist/apps/services/api/notifications.d.ts +3 -0
  77. package/dist/apps/services/api/notifications.js +60 -0
  78. package/dist/apps/services/api/notifications.js.map +1 -0
  79. package/dist/apps/services/api/payment.d.ts +23 -0
  80. package/dist/apps/services/api/payment.js +235 -0
  81. package/dist/apps/services/api/payment.js.map +1 -0
  82. package/dist/apps/services/api/post-submission-attachment-urls.d.ts +7 -0
  83. package/dist/apps/services/api/post-submission-attachment-urls.js +19 -0
  84. package/dist/apps/services/api/post-submission-attachment-urls.js.map +1 -0
  85. package/dist/apps/services/api/prefill.d.ts +1 -0
  86. package/dist/apps/services/api/prefill.js +70 -0
  87. package/dist/apps/services/api/prefill.js.map +1 -0
  88. package/dist/apps/services/api/receipt-id.d.ts +2 -0
  89. package/dist/apps/services/api/receipt-id.js +54 -0
  90. package/dist/apps/services/api/receipt-id.js.map +1 -0
  91. package/dist/apps/services/api/scheduling.d.ts +38 -0
  92. package/dist/apps/services/api/scheduling.js +142 -0
  93. package/dist/apps/services/api/scheduling.js.map +1 -0
  94. package/dist/apps/services/api/submissions.d.ts +18 -0
  95. package/dist/apps/services/api/submissions.js +166 -0
  96. package/dist/apps/services/api/submissions.js.map +1 -0
  97. package/dist/apps/services/cognito.d.ts +302 -0
  98. package/dist/apps/services/cognito.js +441 -0
  99. package/dist/apps/services/cognito.js.map +1 -0
  100. package/dist/apps/services/draft-data-store.d.ts +16 -0
  101. package/dist/apps/services/draft-data-store.js +115 -0
  102. package/dist/apps/services/draft-data-store.js.map +1 -0
  103. package/dist/apps/services/errors/oneBlinkAppsError.d.ts +35 -0
  104. package/dist/apps/services/errors/oneBlinkAppsError.js +32 -0
  105. package/dist/apps/services/errors/oneBlinkAppsError.js.map +1 -0
  106. package/dist/apps/services/external-id-generation.d.ts +4 -0
  107. package/dist/apps/services/external-id-generation.js +59 -0
  108. package/dist/apps/services/external-id-generation.js.map +1 -0
  109. package/dist/apps/services/fetch.d.ts +12 -0
  110. package/dist/apps/services/fetch.js +95 -0
  111. package/dist/apps/services/fetch.js.map +1 -0
  112. package/dist/apps/services/forms-key.d.ts +51 -0
  113. package/dist/apps/services/forms-key.js +83 -0
  114. package/dist/apps/services/forms-key.js.map +1 -0
  115. package/dist/apps/services/generate-generic-error.d.ts +3 -0
  116. package/dist/apps/services/generate-generic-error.js +52 -0
  117. package/dist/apps/services/generate-generic-error.js.map +1 -0
  118. package/dist/apps/services/generateOneBlinkDownloader.d.ts +2 -0
  119. package/dist/apps/services/generateOneBlinkDownloader.js +11 -0
  120. package/dist/apps/services/generateOneBlinkDownloader.js.map +1 -0
  121. package/dist/apps/services/generateOneBlinkUploader.d.ts +2 -0
  122. package/dist/apps/services/generateOneBlinkUploader.js +11 -0
  123. package/dist/apps/services/generateOneBlinkUploader.js.map +1 -0
  124. package/dist/apps/services/getDeviceInformation.d.ts +17 -0
  125. package/dist/apps/services/getDeviceInformation.js +38 -0
  126. package/dist/apps/services/getDeviceInformation.js.map +1 -0
  127. package/dist/apps/services/integration-elements.d.ts +383 -0
  128. package/dist/apps/services/integration-elements.js +761 -0
  129. package/dist/apps/services/integration-elements.js.map +1 -0
  130. package/dist/apps/services/job-prefill.d.ts +40 -0
  131. package/dist/apps/services/job-prefill.js +78 -0
  132. package/dist/apps/services/job-prefill.js.map +1 -0
  133. package/dist/apps/services/payment-providers/BPOINTPaymentProvider.d.ts +29 -0
  134. package/dist/apps/services/payment-providers/BPOINTPaymentProvider.js +59 -0
  135. package/dist/apps/services/payment-providers/BPOINTPaymentProvider.js.map +1 -0
  136. package/dist/apps/services/payment-providers/CPPayPaymentProvider.d.ts +27 -0
  137. package/dist/apps/services/payment-providers/CPPayPaymentProvider.js +63 -0
  138. package/dist/apps/services/payment-providers/CPPayPaymentProvider.js.map +1 -0
  139. package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.d.ts +30 -0
  140. package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.js +116 -0
  141. package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.js.map +1 -0
  142. package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.d.ts +49 -0
  143. package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.js +116 -0
  144. package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.js.map +1 -0
  145. package/dist/apps/services/payment-providers/receipt-items.d.ts +8 -0
  146. package/dist/apps/services/payment-providers/receipt-items.js +58 -0
  147. package/dist/apps/services/payment-providers/receipt-items.js.map +1 -0
  148. package/dist/apps/services/pending-queue.d.ts +150 -0
  149. package/dist/apps/services/pending-queue.js +316 -0
  150. package/dist/apps/services/pending-queue.js.map +1 -0
  151. package/dist/apps/services/prepareSubmissionData.d.ts +2 -0
  152. package/dist/apps/services/prepareSubmissionData.js +113 -0
  153. package/dist/apps/services/prepareSubmissionData.js.map +1 -0
  154. package/dist/apps/services/query-string.d.ts +1 -0
  155. package/dist/apps/services/query-string.js +16 -0
  156. package/dist/apps/services/query-string.js.map +1 -0
  157. package/dist/apps/services/replaceInjectablesWithSubmissionValues.d.ts +3 -0
  158. package/dist/apps/services/replaceInjectablesWithSubmissionValues.js +18 -0
  159. package/dist/apps/services/replaceInjectablesWithSubmissionValues.js.map +1 -0
  160. package/dist/apps/services/schedulingHandlers.d.ts +36 -0
  161. package/dist/apps/services/schedulingHandlers.js +76 -0
  162. package/dist/apps/services/schedulingHandlers.js.map +1 -0
  163. package/dist/apps/services/server-validation.d.ts +2 -0
  164. package/dist/apps/services/server-validation.js +36 -0
  165. package/dist/apps/services/server-validation.js.map +1 -0
  166. package/dist/apps/services/serverRequest.d.ts +5 -0
  167. package/dist/apps/services/serverRequest.js +24 -0
  168. package/dist/apps/services/serverRequest.js.map +1 -0
  169. package/dist/apps/services/submit.d.ts +19 -0
  170. package/dist/apps/services/submit.js +219 -0
  171. package/dist/apps/services/submit.js.map +1 -0
  172. package/dist/apps/services/uploadAttachment.d.ts +52 -0
  173. package/dist/apps/services/uploadAttachment.js +73 -0
  174. package/dist/apps/services/uploadAttachment.js.map +1 -0
  175. package/dist/apps/services/user-token.d.ts +27 -0
  176. package/dist/apps/services/user-token.js +33 -0
  177. package/dist/apps/services/user-token.js.map +1 -0
  178. package/dist/apps/services/utils.d.ts +12 -0
  179. package/dist/apps/services/utils.js +100 -0
  180. package/dist/apps/services/utils.js.map +1 -0
  181. package/dist/apps/submission-service.d.ts +226 -0
  182. package/dist/apps/submission-service.js +425 -0
  183. package/dist/apps/submission-service.js.map +1 -0
  184. package/dist/apps/tenants.d.ts +30 -0
  185. package/dist/apps/tenants.js +155 -0
  186. package/dist/apps/tenants.js.map +1 -0
  187. package/dist/apps/types/form.d.ts +4 -0
  188. package/dist/apps/types/form.js +2 -0
  189. package/dist/apps/types/form.js.map +1 -0
  190. package/dist/apps/types/payments.d.ts +45 -0
  191. package/dist/apps/types/payments.js +2 -0
  192. package/dist/apps/types/payments.js.map +1 -0
  193. package/dist/apps/types/scheduling.d.ts +5 -0
  194. package/dist/apps/types/scheduling.js +2 -0
  195. package/dist/apps/types/scheduling.js.map +1 -0
  196. package/dist/apps/types/submissions.d.ts +175 -0
  197. package/dist/apps/types/submissions.js +2 -0
  198. package/dist/apps/types/submissions.js.map +1 -0
  199. package/dist/components/ArcGISWebMap.js +7 -4
  200. package/dist/components/ArcGISWebMap.js.map +1 -1
  201. package/dist/components/ConfirmDialog.js +1 -0
  202. package/dist/components/ConfirmDialog.js.map +1 -1
  203. package/dist/components/CustomAccordion.d.ts +3 -3
  204. package/dist/components/Lists.d.ts +4 -1
  205. package/dist/components/calendar-bookings/CalendarBookingsCancelForm.js +1 -1
  206. package/dist/components/calendar-bookings/CalendarBookingsCancelForm.js.map +1 -1
  207. package/dist/components/calendar-bookings/CalendarBookingsForm.d.ts +1 -1
  208. package/dist/components/calendar-bookings/CalendarBookingsForm.js +1 -1
  209. package/dist/components/calendar-bookings/CalendarBookingsForm.js.map +1 -1
  210. package/dist/components/calendar-bookings/CalendarBookingsReschedulingForm.js +1 -1
  211. package/dist/components/calendar-bookings/CalendarBookingsReschedulingForm.js.map +1 -1
  212. package/dist/components/calendar-bookings/ErrorModal.d.ts +1 -1
  213. package/dist/components/calendar-bookings/ErrorModal.js +1 -1
  214. package/dist/components/calendar-bookings/ErrorModal.js.map +1 -1
  215. package/dist/components/downloadable-files/index.d.ts +1 -1
  216. package/dist/components/downloadable-files/index.js +1 -1
  217. package/dist/components/downloadable-files/index.js.map +1 -1
  218. package/dist/components/downloadable-files/resource-components.d.ts +1 -1
  219. package/dist/components/downloadable-files/resource-components.js +1 -1
  220. package/dist/components/downloadable-files/resource-components.js.map +1 -1
  221. package/dist/components/formStore/FormStoreTableProvider.js +1 -1
  222. package/dist/components/formStore/FormStoreTableProvider.js.map +1 -1
  223. package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.js +1 -3
  224. package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.js.map +1 -1
  225. package/dist/components/formStore/OneBlinkFormStoreDownloadButton.js +1 -1
  226. package/dist/components/formStore/OneBlinkFormStoreDownloadButton.js.map +1 -1
  227. package/dist/components/formStore/OneBlinkFormStoreProvider.js +1 -1
  228. package/dist/components/formStore/OneBlinkFormStoreProvider.js.map +1 -1
  229. package/dist/components/formStore/OneBlinkFormStoreRefreshButton.js +1 -3
  230. package/dist/components/formStore/OneBlinkFormStoreRefreshButton.js.map +1 -1
  231. package/dist/components/formStore/OneBlinkFormStoreTable.js +7 -7
  232. package/dist/components/formStore/OneBlinkFormStoreTable.js.map +1 -1
  233. package/dist/components/formStore/display/ElementDisplay.js +2 -2
  234. package/dist/components/formStore/display/ElementDisplay.js.map +1 -1
  235. package/dist/components/formStore/table/ColumnFilters.js +1 -1
  236. package/dist/components/formStore/table/ColumnFilters.js.map +1 -1
  237. package/dist/components/formStore/table/FormElementTableCell.js +1 -1
  238. package/dist/components/formStore/table/FormElementTableCell.js.map +1 -1
  239. package/dist/components/formStore/table/Pickers.js +1 -1
  240. package/dist/components/formStore/table/Pickers.js.map +1 -1
  241. package/dist/components/formStore/table/RepeatableSetCell.js +1 -0
  242. package/dist/components/formStore/table/RepeatableSetCell.js.map +1 -1
  243. package/dist/components/formStore/table/generateColumns.d.ts +1 -1
  244. package/dist/components/formStore/table/generateColumns.js.map +1 -1
  245. package/dist/components/formStore/table/useFormStoreTable.d.ts +1 -1
  246. package/dist/components/formStore/table/useFormStoreTable.js +3 -1
  247. package/dist/components/formStore/table/useFormStoreTable.js.map +1 -1
  248. package/dist/components/formStore/useFormStoreTableContext.d.ts +2 -2
  249. package/dist/components/mfa/MfaDialog.d.ts +1 -1
  250. package/dist/components/mfa/MfaDialog.js +1 -1
  251. package/dist/components/mfa/MfaDialog.js.map +1 -1
  252. package/dist/components/mfa/MultiFactorAuthentication.d.ts +1 -1
  253. package/dist/components/payments/PaymentForm.js +1 -1
  254. package/dist/components/payments/PaymentForm.js.map +1 -1
  255. package/dist/components/payments/WestpacQuickStreamPaymentForm.d.ts +1 -1
  256. package/dist/components/payments/WestpacQuickStreamPaymentForm.js +1 -1
  257. package/dist/components/payments/WestpacQuickStreamPaymentForm.js.map +1 -1
  258. package/dist/components/renderer/AutocompleteDropdown.js +1 -1
  259. package/dist/components/renderer/AutocompleteDropdown.js.map +1 -1
  260. package/dist/components/renderer/LookupNotification.js +2 -2
  261. package/dist/components/renderer/LookupNotification.js.map +1 -1
  262. package/dist/components/renderer/Modal.js +3 -1
  263. package/dist/components/renderer/Modal.js.map +1 -1
  264. package/dist/components/renderer/OneBlinkAppsErrorOriginalMessage.js +1 -1
  265. package/dist/components/renderer/OneBlinkAppsErrorOriginalMessage.js.map +1 -1
  266. package/dist/components/renderer/OneBlinkFormElements.js.map +1 -1
  267. package/dist/components/renderer/ReverseGeocode.js +1 -1
  268. package/dist/components/renderer/ReverseGeocode.js.map +1 -1
  269. package/dist/components/renderer/Tooltip.js +3 -1
  270. package/dist/components/renderer/Tooltip.js.map +1 -1
  271. package/dist/form-elements/FormElementAPINSWLiquorLicence.js +1 -1
  272. package/dist/form-elements/FormElementAPINSWLiquorLicence.js.map +1 -1
  273. package/dist/form-elements/FormElementArcGISWebMap.js.map +1 -1
  274. package/dist/form-elements/FormElementAutocomplete.js +1 -1
  275. package/dist/form-elements/FormElementAutocomplete.js.map +1 -1
  276. package/dist/form-elements/FormElementBSB.js +7 -3
  277. package/dist/form-elements/FormElementBSB.js.map +1 -1
  278. package/dist/form-elements/FormElementCalculation.js +2 -2
  279. package/dist/form-elements/FormElementCalculation.js.map +1 -1
  280. package/dist/form-elements/FormElementCivicaNameRecord.js +1 -1
  281. package/dist/form-elements/FormElementCivicaNameRecord.js.map +1 -1
  282. package/dist/form-elements/FormElementCivicaStreetName.js +1 -1
  283. package/dist/form-elements/FormElementCivicaStreetName.js.map +1 -1
  284. package/dist/form-elements/FormElementCompliance.d.ts +1 -1
  285. package/dist/form-elements/FormElementCompliance.js.map +1 -1
  286. package/dist/form-elements/FormElementDate.js +1 -1
  287. package/dist/form-elements/FormElementDate.js.map +1 -1
  288. package/dist/form-elements/FormElementDateTime.js +1 -1
  289. package/dist/form-elements/FormElementDateTime.js.map +1 -1
  290. package/dist/form-elements/FormElementFile.d.ts +1 -1
  291. package/dist/form-elements/FormElementFile.js.map +1 -1
  292. package/dist/form-elements/FormElementFiles.d.ts +1 -1
  293. package/dist/form-elements/FormElementFiles.js.map +1 -1
  294. package/dist/form-elements/FormElementFreshdeskDependentField.js +3 -10
  295. package/dist/form-elements/FormElementFreshdeskDependentField.js.map +1 -1
  296. package/dist/form-elements/FormElementGeoscapeAddress.js +1 -1
  297. package/dist/form-elements/FormElementGeoscapeAddress.js.map +1 -1
  298. package/dist/form-elements/FormElementGoogleAddress.js +1 -1
  299. package/dist/form-elements/FormElementGoogleAddress.js.map +1 -1
  300. package/dist/form-elements/FormElementLocation.js +6 -2
  301. package/dist/form-elements/FormElementLocation.js.map +1 -1
  302. package/dist/form-elements/FormElementLookupButton.js +1 -1
  303. package/dist/form-elements/FormElementLookupButton.js.map +1 -1
  304. package/dist/form-elements/FormElementNumber.js +1 -1
  305. package/dist/form-elements/FormElementNumber.js.map +1 -1
  306. package/dist/form-elements/FormElementPointAddress.js +1 -1
  307. package/dist/form-elements/FormElementPointAddress.js.map +1 -1
  308. package/dist/form-elements/FormElementPointAddressV3.js +1 -1
  309. package/dist/form-elements/FormElementPointAddressV3.js.map +1 -1
  310. package/dist/form-elements/FormElementPointCadastralParcel.js +1 -1
  311. package/dist/form-elements/FormElementPointCadastralParcel.js.map +1 -1
  312. package/dist/form-elements/FormElementSummary.js +4 -2
  313. package/dist/form-elements/FormElementSummary.js.map +1 -1
  314. package/dist/form-elements/FormElementTime.js +1 -1
  315. package/dist/form-elements/FormElementTime.js.map +1 -1
  316. package/dist/hooks/attachments/useAttachment.d.ts +1 -1
  317. package/dist/hooks/attachments/useAttachment.js +1 -1
  318. package/dist/hooks/attachments/useAttachment.js.map +1 -1
  319. package/dist/hooks/attachments/useAttachments.d.ts +1 -1
  320. package/dist/hooks/attachments/useAttachments.js.map +1 -1
  321. package/dist/hooks/form-date-picker/useFormDatePickerProps.js +2 -0
  322. package/dist/hooks/form-date-picker/useFormDatePickerProps.js.map +1 -1
  323. package/dist/hooks/useAuth.js +1 -1
  324. package/dist/hooks/useAuth.js.map +1 -1
  325. package/dist/hooks/useConditionalLogic.js +1 -1
  326. package/dist/hooks/useConditionalLogic.js.map +1 -1
  327. package/dist/hooks/useDrafts.d.ts +1 -1
  328. package/dist/hooks/useDrafts.js +1 -1
  329. package/dist/hooks/useDrafts.js.map +1 -1
  330. package/dist/hooks/useDynamicOptionsLoaderState.d.ts +1 -1
  331. package/dist/hooks/useDynamicOptionsLoaderState.js +1 -1
  332. package/dist/hooks/useDynamicOptionsLoaderState.js.map +1 -1
  333. package/dist/hooks/useFormElementLookups.d.ts +1 -1
  334. package/dist/hooks/useFormElementLookups.js +1 -1
  335. package/dist/hooks/useFormElementLookups.js.map +1 -1
  336. package/dist/hooks/useFormSubmissionAutoSaveState.d.ts +1 -1
  337. package/dist/hooks/useFormSubmissionAutoSaveState.js +1 -1
  338. package/dist/hooks/useFormSubmissionAutoSaveState.js.map +1 -1
  339. package/dist/hooks/useFormSubmissionDuration.js +2 -0
  340. package/dist/hooks/useFormSubmissionDuration.js.map +1 -1
  341. package/dist/hooks/useIsOffline.js +1 -1
  342. package/dist/hooks/useIsOffline.js.map +1 -1
  343. package/dist/hooks/useLoadDataState.js +3 -1
  344. package/dist/hooks/useLoadDataState.js.map +1 -1
  345. package/dist/hooks/useLogin.js +1 -1
  346. package/dist/hooks/useLogin.js.map +1 -1
  347. package/dist/hooks/useMfa.d.ts +1 -1
  348. package/dist/hooks/useMfa.js +1 -1
  349. package/dist/hooks/useMfa.js.map +1 -1
  350. package/dist/hooks/useOnUploadAttachment.d.ts +1 -1
  351. package/dist/hooks/useOnUploadAttachment.js +1 -1
  352. package/dist/hooks/useOnUploadAttachment.js.map +1 -1
  353. package/dist/hooks/useOneBlinkFormContainer.d.ts +2 -1
  354. package/dist/hooks/useOneBlinkFormContainer.js +2 -2
  355. package/dist/hooks/useOneBlinkFormContainer.js.map +1 -1
  356. package/dist/hooks/usePendingSubmissions.d.ts +1 -1
  357. package/dist/hooks/usePendingSubmissions.js +1 -1
  358. package/dist/hooks/usePendingSubmissions.js.map +1 -1
  359. package/dist/hooks/useReplaceableText.js +1 -1
  360. package/dist/hooks/useReplaceableText.js.map +1 -1
  361. package/dist/hooks/useSignUp.js +1 -1
  362. package/dist/hooks/useSignUp.js.map +1 -1
  363. package/dist/index.d.ts +1 -0
  364. package/dist/index.js +2 -0
  365. package/dist/index.js.map +1 -1
  366. package/dist/services/attachments.d.ts +1 -1
  367. package/dist/services/attachments.js +1 -1
  368. package/dist/services/attachments.js.map +1 -1
  369. package/dist/services/blob-utils.js +1 -1
  370. package/dist/services/blob-utils.js.map +1 -1
  371. package/dist/services/checkIfAttachmentsExist.d.ts +1 -1
  372. package/dist/services/checkIfAttachmentsExist.js.map +1 -1
  373. package/dist/services/defaultCoordinates.js +1 -1
  374. package/dist/services/defaultCoordinates.js.map +1 -1
  375. package/dist/services/download-file.d.ts +1 -1
  376. package/dist/services/download-file.js +2 -2
  377. package/dist/services/download-file.js.map +1 -1
  378. package/dist/services/drawTimestampOnCanvas.js +1 -1
  379. package/dist/services/drawTimestampOnCanvas.js.map +1 -1
  380. package/dist/services/form-validation/validateSubmission.js +1 -1
  381. package/dist/services/form-validation/validateSubmission.js.map +1 -1
  382. package/dist/services/form-validation/validators.d.ts +1 -1
  383. package/dist/services/form-validation/validators.js.map +1 -1
  384. package/dist/services/generate-default-data.js +1 -1
  385. package/dist/services/generate-default-data.js.map +1 -1
  386. package/dist/services/injectableOptions.js +1 -1
  387. package/dist/services/injectableOptions.js.map +1 -1
  388. package/dist/styles.css +208 -204
  389. package/dist/types/attachments.d.ts +1 -1
  390. package/dist/types/attachments.js.map +1 -1
  391. package/dist/utils/sendGoogleAnalyticsEvent.js +1 -1
  392. package/dist/utils/sendGoogleAnalyticsEvent.js.map +1 -1
  393. package/package.json +47 -36
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmDialog.js","sourceRoot":"","sources":["../../src/components/ConfirmDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport {\n Dialog,\n DialogActions,\n DialogTitle,\n DialogContent,\n Button,\n Portal,\n DialogProps,\n} from '@mui/material'\nimport useIsMounted from '../hooks/useIsMounted'\nimport ErrorSnackbar from './ErrorSnackbar'\n\ntype Props = {\n isOpen: boolean\n onClose: () => void\n onConfirm: (abortSignal: AbortSignal) => unknown\n children: React.ReactNode\n title: string\n confirmButtonText: string\n confirmButtonIcon: React.ReactNode\n cypress?: {\n dialog?: string\n confirmButton?: string\n cancelButton?: string\n error?: string\n title?: string\n }\n TransitionProps?: NonNullable<DialogProps['slotProps']>['transition']\n disabled?: boolean\n}\n\nexport default function ConfirmDialog({\n isOpen,\n onClose,\n children,\n onConfirm,\n title,\n confirmButtonText,\n confirmButtonIcon,\n cypress,\n TransitionProps,\n disabled,\n}: Props) {\n const isMounted = useIsMounted()\n const [isConfirming, setIsConfirming] = React.useState(false)\n const [error, setError] = React.useState<Error | null>(null)\n const handleConfirm = React.useCallback(async () => {\n setIsConfirming(true)\n setError(null)\n let newError = null\n\n const abortController = new AbortController()\n try {\n await onConfirm(abortController.signal)\n } catch (error) {\n newError = error as Error\n }\n\n if (isMounted.current && !abortController.signal.aborted) {\n setIsConfirming(false)\n setError(newError)\n }\n }, [isMounted, onConfirm])\n return (\n <React.Fragment>\n <Dialog\n open={isOpen}\n maxWidth=\"sm\"\n fullWidth\n onClose={!isConfirming ? onClose : undefined}\n data-cypress={cypress?.dialog}\n slotProps={{\n transition: {\n onExiting: () => setError(null),\n ...(TransitionProps ? TransitionProps : {}),\n },\n }}\n >\n <DialogTitle data-cypress={cypress?.title}>{title}</DialogTitle>\n <DialogContent dividers>{children}</DialogContent>\n <DialogActions>\n <Button\n disabled={isConfirming}\n onClick={onClose}\n data-cypress={cypress?.cancelButton}\n >\n Cancel\n </Button>\n\n <Button\n variant=\"contained\"\n loading={isConfirming}\n autoFocus\n startIcon={confirmButtonIcon}\n loadingPosition=\"start\"\n onClick={handleConfirm}\n data-cypress={cypress?.confirmButton}\n disabled={disabled}\n >\n {confirmButtonText}\n </Button>\n </DialogActions>\n </Dialog>\n <Portal>\n <ErrorSnackbar open={!!error} onClose={setError}>\n <span data-cypress={cypress?.error}>{error?.message}</span>\n </ErrorSnackbar>\n </Portal>\n </React.Fragment>\n )\n}\n"]}
1
+ {"version":3,"file":"ConfirmDialog.js","sourceRoot":"","sources":["../../src/components/ConfirmDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport {\n Dialog,\n DialogActions,\n DialogTitle,\n DialogContent,\n Button,\n Portal,\n DialogProps,\n} from '@mui/material'\nimport useIsMounted from '../hooks/useIsMounted'\nimport ErrorSnackbar from './ErrorSnackbar'\n\ntype Props = {\n isOpen: boolean\n onClose: () => void\n onConfirm: (abortSignal: AbortSignal) => unknown\n children: React.ReactNode\n title: string\n confirmButtonText: string\n confirmButtonIcon: React.ReactNode\n cypress?: {\n dialog?: string\n confirmButton?: string\n cancelButton?: string\n error?: string\n title?: string\n }\n TransitionProps?: NonNullable<DialogProps['slotProps']>['transition']\n disabled?: boolean\n}\n\nexport default function ConfirmDialog({\n isOpen,\n onClose,\n children,\n onConfirm,\n title,\n confirmButtonText,\n confirmButtonIcon,\n cypress,\n TransitionProps,\n disabled,\n}: Props) {\n const isMounted = useIsMounted()\n\n const [isConfirming, setIsConfirming] = React.useState(false)\n const [error, setError] = React.useState<Error | null>(null)\n\n // eslint-disable-next-line react-hooks/preserve-manual-memoization\n const handleConfirm = React.useCallback(async () => {\n setIsConfirming(true)\n setError(null)\n let newError = null\n\n const abortController = new AbortController()\n try {\n await onConfirm(abortController.signal)\n } catch (error) {\n newError = error as Error\n }\n\n if (isMounted.current && !abortController.signal.aborted) {\n setIsConfirming(false)\n setError(newError)\n }\n }, [isMounted, onConfirm])\n\n return (\n <React.Fragment>\n <Dialog\n open={isOpen}\n maxWidth=\"sm\"\n fullWidth\n onClose={!isConfirming ? onClose : undefined}\n data-cypress={cypress?.dialog}\n slotProps={{\n transition: {\n onExiting: () => setError(null),\n ...(TransitionProps ? TransitionProps : {}),\n },\n }}\n >\n <DialogTitle data-cypress={cypress?.title}>{title}</DialogTitle>\n <DialogContent dividers>{children}</DialogContent>\n <DialogActions>\n <Button\n disabled={isConfirming}\n onClick={onClose}\n data-cypress={cypress?.cancelButton}\n >\n Cancel\n </Button>\n\n <Button\n variant=\"contained\"\n loading={isConfirming}\n autoFocus\n startIcon={confirmButtonIcon}\n loadingPosition=\"start\"\n onClick={handleConfirm}\n data-cypress={cypress?.confirmButton}\n disabled={disabled}\n >\n {confirmButtonText}\n </Button>\n </DialogActions>\n </Dialog>\n <Portal>\n <ErrorSnackbar open={!!error} onClose={setError}>\n <span data-cypress={cypress?.error}>{error?.message}</span>\n </ErrorSnackbar>\n </Portal>\n </React.Fragment>\n )\n}\n"]}
@@ -1,3 +1,3 @@
1
- export declare const CustomAccordion: import("@emotion/styled").StyledComponent<any, {}, {}>;
2
- export declare const CustomAccordionSummary: import("@emotion/styled").StyledComponent<any, {}, {}>;
3
- export declare const CustomAccordionDetails: import("@emotion/styled").StyledComponent<any, {}, {}>;
1
+ export declare const CustomAccordion: import("@emotion/styled").StyledComponent<import("@mui/material").AccordionOwnProps & import("@mui/material").AccordionSlotsAndSlotProps & Omit<import("@mui/material").PaperOwnProps, "classes" | "onChange"> & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "className" | "children" | "style" | "classes" | "slots" | "slotProps" | "sx" | "onChange" | "TransitionComponent" | "TransitionProps" | "disabled" | "variant" | "disableGutters" | "elevation" | "square" | "defaultExpanded" | "expanded"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
2
+ export declare const CustomAccordionSummary: import("@emotion/styled").StyledComponent<import("@mui/material").AccordionSummaryOwnProps & Omit<import("@mui/material").ButtonBaseOwnProps, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "className" | "children" | "style" | "classes" | "slots" | "slotProps" | "sx" | "tabIndex" | "action" | "disabled" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "expandIcon"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
3
+ export declare const CustomAccordionDetails: import("@emotion/styled").StyledComponent<import("@mui/material").AccordionDetailsProps & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
@@ -6,5 +6,8 @@ type ListItemsProps = {
6
6
  };
7
7
  export declare const OrderedList: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<Theme> & ListItemsProps, React.DetailedHTMLProps<React.OlHTMLAttributes<HTMLOListElement>, HTMLOListElement>, {}>;
8
8
  export declare const UnorderedList: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<Theme> & ListItemsProps, React.DetailedHTMLProps<React.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, {}>;
9
- export declare const ListItem: import("@emotion/styled").StyledComponent<any, {}, {}>;
9
+ type ListProps = {
10
+ spaced?: boolean;
11
+ };
12
+ export declare const ListItem: import("@emotion/styled").StyledComponent<Omit<import("@mui/material").TypographyOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "className" | "children" | "style" | "classes" | "sx" | "p" | "color" | "border" | "boxShadow" | "fontWeight" | "zIndex" | "alignContent" | "alignItems" | "alignSelf" | "bottom" | "boxSizing" | "columnGap" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontFamily" | "fontSize" | "fontStyle" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "left" | "letterSpacing" | "lineHeight" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "order" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "position" | "right" | "rowGap" | "textAlign" | "textOverflow" | "textTransform" | "top" | "visibility" | "whiteSpace" | "width" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderTop" | "flex" | "gap" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "marginBlock" | "marginInline" | "overflow" | "padding" | "paddingBlock" | "paddingInline" | "bgcolor" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "typography" | "displayPrint" | "variant" | "gutterBottom" | "align" | "noWrap" | "paragraph" | "variantMapping">, "ref"> & import("@mui/system").MUIStyledCommonProps<Theme> & ListProps, {}, {}>;
10
13
  export {};
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import React from 'react';
3
3
  import { NylasScheduling } from '@nylas/react';
4
- import { schedulingService } from '@oneblink/apps';
4
+ import { schedulingService } from '../../apps';
5
5
  import ErrorMessage from '../messages/ErrorMessage';
6
6
  import CalendarBookingsContainer from './CalendarBookingsContainer';
7
7
  import useCalendarBookings from './CalendarBookingsProvider';
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarBookingsCancelForm.js","sourceRoot":"","sources":["../../../src/components/calendar-bookings/CalendarBookingsCancelForm.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,YAAY,MAAM,0BAA0B,CAAA;AACnD,OAAO,yBAAyB,MAAM,6BAA6B,CAAA;AACnE,OAAO,mBAAmB,MAAM,4BAA4B,CAAA;AAE5D,SAAS,eAAe,CAAC,EACvB,SAAS,EACT,UAAU,GAKX;IACC,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,mBAAmB,EAAE,CAAA;IAE9D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CACL,KAAC,YAAY,IAAC,KAAK,EAAC,uBAAuB,EAAC,SAAS,kBACnD,eAAM,SAAS,EAAC,6CAA6C,4DAEtD,GACM,CAChB,CAAA;IACH,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,4BAA4B,YACzC,KAAC,eAAe,IACd,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE;gBACd,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;;oBAC/B,KAAK,CAAC,cAAc,EAAE,CAAA;oBACtB,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBACvB,eAAe,CACb,MAAA,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,mCAAI,wBAAwB,CACvD,CAAA;oBACH,CAAC;gBACH,CAAC;aACF,EACD,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,UAAU,EAC5B,kBAAkB,EAAE,KAAK,EACzB,aAAa,EAAE,KAAK,GACpB,GACE,CACP,CAAA;AACH,CAAC;AAED,SAAS,0BAA0B;IACjC,OAAO,CACL,KAAC,yBAAyB,IACxB,kBAAkB,EAAE,iBAAiB,CAAC,iCAAiC,YAEtE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAC,eAAe,OAAK,KAAK,GAAI,GAChB,CAC7B,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA","sourcesContent":["import React from 'react'\nimport { NylasScheduling } from '@nylas/react'\nimport { schedulingService } from '@oneblink/apps'\nimport ErrorMessage from '../messages/ErrorMessage'\nimport CalendarBookingsContainer from './CalendarBookingsContainer'\nimport useCalendarBookings from './CalendarBookingsProvider'\n\nfunction NylasCancelForm({\n sessionId,\n bookingRef,\n}: Awaited<\n ReturnType<typeof schedulingService.createNylasExistingBookingSession>\n> & {\n submissionId: string\n}) {\n const { setBookingError, themeConfig } = useCalendarBookings()\n\n if (!bookingRef) {\n return (\n <ErrorMessage title=\"Error Retrieving Data\" gutterTop>\n <span className=\"cypress-booking-ref-not-found-error-message\">\n Could not find a calendar booking to cancel\n </span>\n </ErrorMessage>\n )\n }\n\n return (\n <div className=\"ob-scheduling-booking-form\">\n <NylasScheduling\n sessionId={sessionId}\n eventOverrides={{\n bookedEventInfo: async (event) => {\n event.preventDefault()\n if (event.detail.error) {\n setBookingError(\n event.detail.error.message ?? 'Calendar Booking Error',\n )\n }\n },\n }}\n themeConfig={themeConfig}\n cancelBookingRef={bookingRef}\n enableUserFeedback={false}\n nylasBranding={false}\n />\n </div>\n )\n}\n\nfunction CalendarBookingsCancelForm() {\n return (\n <CalendarBookingsContainer\n fetchConfiguration={schedulingService.createNylasExistingBookingSession}\n >\n {(props) => <NylasCancelForm {...props} />}\n </CalendarBookingsContainer>\n )\n}\n\nexport default React.memo(CalendarBookingsCancelForm)\n"]}
1
+ {"version":3,"file":"CalendarBookingsCancelForm.js","sourceRoot":"","sources":["../../../src/components/calendar-bookings/CalendarBookingsCancelForm.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,YAAY,MAAM,0BAA0B,CAAA;AACnD,OAAO,yBAAyB,MAAM,6BAA6B,CAAA;AACnE,OAAO,mBAAmB,MAAM,4BAA4B,CAAA;AAE5D,SAAS,eAAe,CAAC,EACvB,SAAS,EACT,UAAU,GAKX;IACC,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,mBAAmB,EAAE,CAAA;IAE9D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CACL,KAAC,YAAY,IAAC,KAAK,EAAC,uBAAuB,EAAC,SAAS,kBACnD,eAAM,SAAS,EAAC,6CAA6C,4DAEtD,GACM,CAChB,CAAA;IACH,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,4BAA4B,YACzC,KAAC,eAAe,IACd,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE;gBACd,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;;oBAC/B,KAAK,CAAC,cAAc,EAAE,CAAA;oBACtB,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBACvB,eAAe,CACb,MAAA,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,mCAAI,wBAAwB,CACvD,CAAA;oBACH,CAAC;gBACH,CAAC;aACF,EACD,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,UAAU,EAC5B,kBAAkB,EAAE,KAAK,EACzB,aAAa,EAAE,KAAK,GACpB,GACE,CACP,CAAA;AACH,CAAC;AAED,SAAS,0BAA0B;IACjC,OAAO,CACL,KAAC,yBAAyB,IACxB,kBAAkB,EAAE,iBAAiB,CAAC,iCAAiC,YAEtE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAC,eAAe,OAAK,KAAK,GAAI,GAChB,CAC7B,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA","sourcesContent":["import React from 'react'\nimport { NylasScheduling } from '@nylas/react'\nimport { schedulingService } from '../../apps'\nimport ErrorMessage from '../messages/ErrorMessage'\nimport CalendarBookingsContainer from './CalendarBookingsContainer'\nimport useCalendarBookings from './CalendarBookingsProvider'\n\nfunction NylasCancelForm({\n sessionId,\n bookingRef,\n}: Awaited<\n ReturnType<typeof schedulingService.createNylasExistingBookingSession>\n> & {\n submissionId: string\n}) {\n const { setBookingError, themeConfig } = useCalendarBookings()\n\n if (!bookingRef) {\n return (\n <ErrorMessage title=\"Error Retrieving Data\" gutterTop>\n <span className=\"cypress-booking-ref-not-found-error-message\">\n Could not find a calendar booking to cancel\n </span>\n </ErrorMessage>\n )\n }\n\n return (\n <div className=\"ob-scheduling-booking-form\">\n <NylasScheduling\n sessionId={sessionId}\n eventOverrides={{\n bookedEventInfo: async (event) => {\n event.preventDefault()\n if (event.detail.error) {\n setBookingError(\n event.detail.error.message ?? 'Calendar Booking Error',\n )\n }\n },\n }}\n themeConfig={themeConfig}\n cancelBookingRef={bookingRef}\n enableUserFeedback={false}\n nylasBranding={false}\n />\n </div>\n )\n}\n\nfunction CalendarBookingsCancelForm() {\n return (\n <CalendarBookingsContainer\n fetchConfiguration={schedulingService.createNylasExistingBookingSession}\n >\n {(props) => <NylasCancelForm {...props} />}\n </CalendarBookingsContainer>\n )\n}\n\nexport default React.memo(CalendarBookingsCancelForm)\n"]}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { submissionService } from '@oneblink/apps';
2
+ import { submissionService } from '../../apps';
3
3
  declare function CalendarBookingsForm({ onDone, }: {
4
4
  onDone: (formSubmissionResult: submissionService.FormSubmissionResult) => Promise<void>;
5
5
  }): import("react/jsx-runtime").JSX.Element;
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  import * as React from 'react';
3
3
  import { NylasScheduling } from '@nylas/react';
4
4
  import { Collapse, Fade } from '@mui/material';
5
- import { schedulingService, } from '@oneblink/apps';
5
+ import { schedulingService, } from '../../apps';
6
6
  import clsx from 'clsx';
7
7
  import { Receipt } from '../receipts';
8
8
  import ErrorModal from './ErrorModal';
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarBookingsForm.js","sourceRoot":"","sources":["../../../src/components/calendar-bookings/CalendarBookingsForm.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { NylasScheduling } from '@nylas/react'\nimport { NylasSchedulerResponse, NylasEvent } from '@nylas/web-elements'\nimport { Collapse, Fade } from '@mui/material'\nimport {\n schedulingService,\n submissionService,\n OneBlinkAppsError,\n} from '@oneblink/apps'\nimport clsx from 'clsx'\nimport { Receipt } from '../receipts'\nimport ErrorModal from './ErrorModal'\nimport OnLoading from '../renderer/OnLoading'\nimport CalendarBookingsContainer from './CalendarBookingsContainer'\nimport useCalendarBookings from './CalendarBookingsProvider'\n\nfunction NylasBookingForm({\n submissionId,\n name,\n email,\n configurationId,\n sessionId,\n onBookingConfirmed,\n onDone,\n}: Awaited<\n ReturnType<typeof schedulingService.createNylasNewBookingSession>\n> & {\n submissionId: string\n onDone: (\n formSubmissionResult: submissionService.FormSubmissionResult,\n ) => Promise<void>\n}) {\n const { setBookingError, onTimeSlotConfirmed } = useCalendarBookings()\n\n const [\n {\n formSubmissionResult,\n isRunningPostSubmissionAction,\n postSubmissionError,\n isConfirmingBooking,\n confirmingBookingError,\n },\n setPostSubmissionState,\n ] = React.useState<{\n formSubmissionResult: submissionService.FormSubmissionResult | null\n isRunningPostSubmissionAction: boolean\n postSubmissionError: OneBlinkAppsError | null\n isConfirmingBooking: boolean\n confirmingBookingError: OneBlinkAppsError | null\n }>({\n formSubmissionResult: null,\n isRunningPostSubmissionAction: false,\n postSubmissionError: null,\n isConfirmingBooking: false,\n confirmingBookingError: null,\n })\n const clearPostSubmissionError = React.useCallback(() => {\n setPostSubmissionState((currentState) => ({\n ...currentState,\n postSubmissionError: null,\n }))\n }, [])\n const clearConfirmingBookingError = React.useCallback(() => {\n setPostSubmissionState((currentState) => ({\n ...currentState,\n confirmingBookingError: null,\n }))\n }, [])\n\n const executePostSubmissionAction = React.useCallback(\n async (formSubmissionResult: submissionService.FormSubmissionResult) => {\n setPostSubmissionState((currentState) => ({\n ...currentState,\n formSubmissionResult,\n isRunningPostSubmissionAction: true,\n postSubmissionError: null,\n }))\n\n try {\n await onDone({\n ...formSubmissionResult,\n scheduling: null,\n })\n } catch (error) {\n console.warn('Error while running post submission action', error)\n setPostSubmissionState((currentState) => ({\n ...currentState,\n formSubmissionResult,\n isRunningPostSubmissionAction: false,\n postSubmissionError: error as OneBlinkAppsError,\n }))\n }\n },\n [onDone],\n )\n\n const handleConfirmedBooking = React.useCallback(\n async (schedulingBooking: schedulingService.SchedulingBooking) => {\n setPostSubmissionState((currentState) => ({\n ...currentState,\n isConfirmingBooking: true,\n confirmingBookingError: null,\n }))\n\n try {\n const formSubmissionResult = await onBookingConfirmed(schedulingBooking)\n setPostSubmissionState((currentState) => ({\n ...currentState,\n formSubmissionResult,\n }))\n if (formSubmissionResult.payment) {\n setTimeout(async () => {\n executePostSubmissionAction(formSubmissionResult)\n }, 2000)\n } else {\n setPostSubmissionState((currentState) => ({\n ...currentState,\n isConfirmingBooking: false,\n formSubmissionResult,\n }))\n }\n } catch (error) {\n console.warn('Error while handling confirmed booking', error)\n setPostSubmissionState((currentState) => ({\n ...currentState,\n isConfirmingBooking: false,\n confirmingBookingError: error as OneBlinkAppsError,\n }))\n }\n },\n [onBookingConfirmed, executePostSubmissionAction],\n )\n\n return (\n <>\n <Collapse in={isConfirmingBooking}>\n <div className=\"has-margin-top-1\">\n <div className=\"cypress-loading has-text-centered\">\n <OnLoading className=\"has-text-centered\" />\n <Fade in={!!formSubmissionResult?.payment}>\n <span>Redirecting to payment</span>\n </Fade>\n </div>\n </div>\n </Collapse>\n\n <div className=\"ob-scheduling-booking-form\">\n {!formSubmissionResult?.payment && (\n <NylasScheduling\n eventOverrides={{\n timeslotConfirmed: onTimeSlotConfirmed,\n async bookedEventInfo(\n event: CustomEvent<\n NylasSchedulerResponse<\n NylasEvent & {\n event_id: string\n additional_guests: Array<{\n name: string\n email: string\n }>\n guest: {\n name: string\n email: string\n }\n additional_fields: Record<string, unknown>\n start_time: number\n end_time: number\n email_language: string\n timezone: string\n location?: string\n }\n >\n >,\n ) {\n console.log('bookedEventInfo event', event)\n\n event.preventDefault()\n\n if ('error' in event.detail) {\n setBookingError(\n event.detail.error?.message ?? 'Calendar Booking Error',\n )\n } else if ('data' in event.detail) {\n await handleConfirmedBooking({\n submissionId,\n startTime: new Date(event.detail.data.start_time * 1000),\n endTime: new Date(event.detail.data.end_time * 1000),\n location: event.detail.data.location,\n isReschedule: false,\n })\n }\n },\n }}\n bookingInfo={{\n primaryParticipant: {\n name: name ?? '',\n email: email ?? '',\n },\n additionalFields: {\n submissionId: {\n value: submissionId,\n type: 'text',\n },\n },\n }}\n enableUserFeedback={false}\n configurationId={configurationId}\n sessionId={sessionId}\n nylasBranding={false}\n />\n )}\n\n {formSubmissionResult && !formSubmissionResult.payment && (\n <Receipt\n className=\"ob-scheduling-receipt\"\n containerClassName=\"ob-scheduling-receipt__container\"\n >\n <div className=\"buttons\">\n <button\n type=\"button\"\n className={clsx(\n 'is-primary button ob-button ob-scheduling-receipt__button ob-scheduling-receipt__okay-button cypress-scheduling-receipt-okay-button',\n { 'is-loading': isRunningPostSubmissionAction },\n )}\n disabled={isRunningPostSubmissionAction}\n onClick={() =>\n executePostSubmissionAction(formSubmissionResult)\n }\n >\n Done\n </button>\n </div>\n </Receipt>\n )}\n\n <ErrorModal\n error={postSubmissionError}\n onClose={clearPostSubmissionError}\n />\n\n <ErrorModal\n error={confirmingBookingError}\n onClose={clearConfirmingBookingError}\n />\n </div>\n </>\n )\n}\n\nfunction CalendarBookingsForm({\n onDone,\n}: {\n onDone: (\n formSubmissionResult: submissionService.FormSubmissionResult,\n ) => Promise<void>\n}) {\n return (\n <CalendarBookingsContainer\n fetchConfiguration={schedulingService.createNylasNewBookingSession}\n >\n {(props) => <NylasBookingForm {...props} onDone={onDone} />}\n </CalendarBookingsContainer>\n )\n}\n\nexport default React.memo(CalendarBookingsForm)\n"]}
1
+ {"version":3,"file":"CalendarBookingsForm.js","sourceRoot":"","sources":["../../../src/components/calendar-bookings/CalendarBookingsForm.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { NylasScheduling } from '@nylas/react'\nimport { NylasSchedulerResponse, NylasEvent } from '@nylas/web-elements'\nimport { Collapse, Fade } from '@mui/material'\nimport {\n schedulingService,\n submissionService,\n OneBlinkAppsError,\n} from '../../apps'\nimport clsx from 'clsx'\nimport { Receipt } from '../receipts'\nimport ErrorModal from './ErrorModal'\nimport OnLoading from '../renderer/OnLoading'\nimport CalendarBookingsContainer from './CalendarBookingsContainer'\nimport useCalendarBookings from './CalendarBookingsProvider'\n\nfunction NylasBookingForm({\n submissionId,\n name,\n email,\n configurationId,\n sessionId,\n onBookingConfirmed,\n onDone,\n}: Awaited<\n ReturnType<typeof schedulingService.createNylasNewBookingSession>\n> & {\n submissionId: string\n onDone: (\n formSubmissionResult: submissionService.FormSubmissionResult,\n ) => Promise<void>\n}) {\n const { setBookingError, onTimeSlotConfirmed } = useCalendarBookings()\n\n const [\n {\n formSubmissionResult,\n isRunningPostSubmissionAction,\n postSubmissionError,\n isConfirmingBooking,\n confirmingBookingError,\n },\n setPostSubmissionState,\n ] = React.useState<{\n formSubmissionResult: submissionService.FormSubmissionResult | null\n isRunningPostSubmissionAction: boolean\n postSubmissionError: OneBlinkAppsError | null\n isConfirmingBooking: boolean\n confirmingBookingError: OneBlinkAppsError | null\n }>({\n formSubmissionResult: null,\n isRunningPostSubmissionAction: false,\n postSubmissionError: null,\n isConfirmingBooking: false,\n confirmingBookingError: null,\n })\n const clearPostSubmissionError = React.useCallback(() => {\n setPostSubmissionState((currentState) => ({\n ...currentState,\n postSubmissionError: null,\n }))\n }, [])\n const clearConfirmingBookingError = React.useCallback(() => {\n setPostSubmissionState((currentState) => ({\n ...currentState,\n confirmingBookingError: null,\n }))\n }, [])\n\n const executePostSubmissionAction = React.useCallback(\n async (formSubmissionResult: submissionService.FormSubmissionResult) => {\n setPostSubmissionState((currentState) => ({\n ...currentState,\n formSubmissionResult,\n isRunningPostSubmissionAction: true,\n postSubmissionError: null,\n }))\n\n try {\n await onDone({\n ...formSubmissionResult,\n scheduling: null,\n })\n } catch (error) {\n console.warn('Error while running post submission action', error)\n setPostSubmissionState((currentState) => ({\n ...currentState,\n formSubmissionResult,\n isRunningPostSubmissionAction: false,\n postSubmissionError: error as OneBlinkAppsError,\n }))\n }\n },\n [onDone],\n )\n\n const handleConfirmedBooking = React.useCallback(\n async (schedulingBooking: schedulingService.SchedulingBooking) => {\n setPostSubmissionState((currentState) => ({\n ...currentState,\n isConfirmingBooking: true,\n confirmingBookingError: null,\n }))\n\n try {\n const formSubmissionResult = await onBookingConfirmed(schedulingBooking)\n setPostSubmissionState((currentState) => ({\n ...currentState,\n formSubmissionResult,\n }))\n if (formSubmissionResult.payment) {\n setTimeout(async () => {\n executePostSubmissionAction(formSubmissionResult)\n }, 2000)\n } else {\n setPostSubmissionState((currentState) => ({\n ...currentState,\n isConfirmingBooking: false,\n formSubmissionResult,\n }))\n }\n } catch (error) {\n console.warn('Error while handling confirmed booking', error)\n setPostSubmissionState((currentState) => ({\n ...currentState,\n isConfirmingBooking: false,\n confirmingBookingError: error as OneBlinkAppsError,\n }))\n }\n },\n [onBookingConfirmed, executePostSubmissionAction],\n )\n\n return (\n <>\n <Collapse in={isConfirmingBooking}>\n <div className=\"has-margin-top-1\">\n <div className=\"cypress-loading has-text-centered\">\n <OnLoading className=\"has-text-centered\" />\n <Fade in={!!formSubmissionResult?.payment}>\n <span>Redirecting to payment</span>\n </Fade>\n </div>\n </div>\n </Collapse>\n\n <div className=\"ob-scheduling-booking-form\">\n {!formSubmissionResult?.payment && (\n <NylasScheduling\n eventOverrides={{\n timeslotConfirmed: onTimeSlotConfirmed,\n async bookedEventInfo(\n event: CustomEvent<\n NylasSchedulerResponse<\n NylasEvent & {\n event_id: string\n additional_guests: Array<{\n name: string\n email: string\n }>\n guest: {\n name: string\n email: string\n }\n additional_fields: Record<string, unknown>\n start_time: number\n end_time: number\n email_language: string\n timezone: string\n location?: string\n }\n >\n >,\n ) {\n console.log('bookedEventInfo event', event)\n\n event.preventDefault()\n\n if ('error' in event.detail) {\n setBookingError(\n event.detail.error?.message ?? 'Calendar Booking Error',\n )\n } else if ('data' in event.detail) {\n await handleConfirmedBooking({\n submissionId,\n startTime: new Date(event.detail.data.start_time * 1000),\n endTime: new Date(event.detail.data.end_time * 1000),\n location: event.detail.data.location,\n isReschedule: false,\n })\n }\n },\n }}\n bookingInfo={{\n primaryParticipant: {\n name: name ?? '',\n email: email ?? '',\n },\n additionalFields: {\n submissionId: {\n value: submissionId,\n type: 'text',\n },\n },\n }}\n enableUserFeedback={false}\n configurationId={configurationId}\n sessionId={sessionId}\n nylasBranding={false}\n />\n )}\n\n {formSubmissionResult && !formSubmissionResult.payment && (\n <Receipt\n className=\"ob-scheduling-receipt\"\n containerClassName=\"ob-scheduling-receipt__container\"\n >\n <div className=\"buttons\">\n <button\n type=\"button\"\n className={clsx(\n 'is-primary button ob-button ob-scheduling-receipt__button ob-scheduling-receipt__okay-button cypress-scheduling-receipt-okay-button',\n { 'is-loading': isRunningPostSubmissionAction },\n )}\n disabled={isRunningPostSubmissionAction}\n onClick={() =>\n executePostSubmissionAction(formSubmissionResult)\n }\n >\n Done\n </button>\n </div>\n </Receipt>\n )}\n\n <ErrorModal\n error={postSubmissionError}\n onClose={clearPostSubmissionError}\n />\n\n <ErrorModal\n error={confirmingBookingError}\n onClose={clearConfirmingBookingError}\n />\n </div>\n </>\n )\n}\n\nfunction CalendarBookingsForm({\n onDone,\n}: {\n onDone: (\n formSubmissionResult: submissionService.FormSubmissionResult,\n ) => Promise<void>\n}) {\n return (\n <CalendarBookingsContainer\n fetchConfiguration={schedulingService.createNylasNewBookingSession}\n >\n {(props) => <NylasBookingForm {...props} onDone={onDone} />}\n </CalendarBookingsContainer>\n )\n}\n\nexport default React.memo(CalendarBookingsForm)\n"]}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import React from 'react';
3
3
  import { NylasScheduling } from '@nylas/react';
4
- import { schedulingService } from '@oneblink/apps';
4
+ import { schedulingService } from '../../apps';
5
5
  import ErrorMessage from '../messages/ErrorMessage';
6
6
  import CalendarBookingsContainer from './CalendarBookingsContainer';
7
7
  import useCalendarBookings from './CalendarBookingsProvider';
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarBookingsReschedulingForm.js","sourceRoot":"","sources":["../../../src/components/calendar-bookings/CalendarBookingsReschedulingForm.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,YAAY,MAAM,0BAA0B,CAAA;AACnD,OAAO,yBAAyB,MAAM,6BAA6B,CAAA;AACnE,OAAO,mBAAmB,MAAM,4BAA4B,CAAA;AAE5D,SAAS,qBAAqB,CAAC,EAC7B,YAAY,EACZ,IAAI,EACJ,KAAK,EACL,SAAS,EACT,UAAU,GAKX;IACC,MAAM,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE,GACzD,mBAAmB,EAAE,CAAA;IAEvB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CACL,KAAC,YAAY,IAAC,KAAK,EAAC,uBAAuB,EAAC,SAAS,kBACnD,eAAM,SAAS,EAAC,6CAA6C,gEAEtD,GACM,CAChB,CAAA;IACH,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,4BAA4B,YACzC,KAAC,eAAe,IACd,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE;gBACd,iBAAiB,EAAE,mBAAmB;gBACtC,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;;oBAC/B,KAAK,CAAC,cAAc,EAAE,CAAA;oBACtB,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBACvB,eAAe,CACb,MAAA,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,mCAAI,wBAAwB,CACvD,CAAA;oBACH,CAAC;gBACH,CAAC;aACF,EACD,WAAW,EAAE;gBACX,kBAAkB,EAAE;oBAClB,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE;oBAChB,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE;iBACnB;gBACD,gBAAgB,EAAE;oBAChB,YAAY,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;iBACpD;aACF,EACD,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,KAAK,EACzB,oBAAoB,EAAE,UAAU,EAChC,aAAa,EAAE,KAAK,GACpB,GACE,CACP,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,CACL,KAAC,yBAAyB,IACxB,kBAAkB,EAAE,iBAAiB,CAAC,iCAAiC,YAEtE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAC,qBAAqB,OAAK,KAAK,GAAI,GACtB,CAC7B,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA","sourcesContent":["import React from 'react'\nimport { NylasScheduling } from '@nylas/react'\nimport { schedulingService } from '@oneblink/apps'\nimport ErrorMessage from '../messages/ErrorMessage'\nimport CalendarBookingsContainer from './CalendarBookingsContainer'\nimport useCalendarBookings from './CalendarBookingsProvider'\n\nfunction NylasReschedulingForm({\n submissionId,\n name,\n email,\n sessionId,\n bookingRef,\n}: Awaited<\n ReturnType<typeof schedulingService.createNylasExistingBookingSession>\n> & {\n submissionId: string\n}) {\n const { setBookingError, onTimeSlotConfirmed, themeConfig } =\n useCalendarBookings()\n\n if (!bookingRef) {\n return (\n <ErrorMessage title=\"Error Retrieving Data\" gutterTop>\n <span className=\"cypress-booking-ref-not-found-error-message\">\n Could not find a calendar booking to reschedule\n </span>\n </ErrorMessage>\n )\n }\n\n return (\n <div className=\"ob-scheduling-booking-form\">\n <NylasScheduling\n sessionId={sessionId}\n eventOverrides={{\n timeslotConfirmed: onTimeSlotConfirmed,\n bookedEventInfo: async (event) => {\n event.preventDefault()\n if (event.detail.error) {\n setBookingError(\n event.detail.error.message ?? 'Calendar Booking Error',\n )\n }\n },\n }}\n bookingInfo={{\n primaryParticipant: {\n name: name ?? '',\n email: email ?? '',\n },\n additionalFields: {\n submissionId: { value: submissionId, type: 'text' },\n },\n }}\n themeConfig={themeConfig}\n enableUserFeedback={false}\n rescheduleBookingRef={bookingRef}\n nylasBranding={false}\n />\n </div>\n )\n}\n\nfunction ReschedulingForm() {\n return (\n <CalendarBookingsContainer\n fetchConfiguration={schedulingService.createNylasExistingBookingSession}\n >\n {(props) => <NylasReschedulingForm {...props} />}\n </CalendarBookingsContainer>\n )\n}\n\nexport default React.memo(ReschedulingForm)\n"]}
1
+ {"version":3,"file":"CalendarBookingsReschedulingForm.js","sourceRoot":"","sources":["../../../src/components/calendar-bookings/CalendarBookingsReschedulingForm.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,YAAY,MAAM,0BAA0B,CAAA;AACnD,OAAO,yBAAyB,MAAM,6BAA6B,CAAA;AACnE,OAAO,mBAAmB,MAAM,4BAA4B,CAAA;AAE5D,SAAS,qBAAqB,CAAC,EAC7B,YAAY,EACZ,IAAI,EACJ,KAAK,EACL,SAAS,EACT,UAAU,GAKX;IACC,MAAM,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE,GACzD,mBAAmB,EAAE,CAAA;IAEvB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CACL,KAAC,YAAY,IAAC,KAAK,EAAC,uBAAuB,EAAC,SAAS,kBACnD,eAAM,SAAS,EAAC,6CAA6C,gEAEtD,GACM,CAChB,CAAA;IACH,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,4BAA4B,YACzC,KAAC,eAAe,IACd,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE;gBACd,iBAAiB,EAAE,mBAAmB;gBACtC,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;;oBAC/B,KAAK,CAAC,cAAc,EAAE,CAAA;oBACtB,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBACvB,eAAe,CACb,MAAA,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,mCAAI,wBAAwB,CACvD,CAAA;oBACH,CAAC;gBACH,CAAC;aACF,EACD,WAAW,EAAE;gBACX,kBAAkB,EAAE;oBAClB,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE;oBAChB,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE;iBACnB;gBACD,gBAAgB,EAAE;oBAChB,YAAY,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;iBACpD;aACF,EACD,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,KAAK,EACzB,oBAAoB,EAAE,UAAU,EAChC,aAAa,EAAE,KAAK,GACpB,GACE,CACP,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,CACL,KAAC,yBAAyB,IACxB,kBAAkB,EAAE,iBAAiB,CAAC,iCAAiC,YAEtE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAC,qBAAqB,OAAK,KAAK,GAAI,GACtB,CAC7B,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA","sourcesContent":["import React from 'react'\nimport { NylasScheduling } from '@nylas/react'\nimport { schedulingService } from '../../apps'\nimport ErrorMessage from '../messages/ErrorMessage'\nimport CalendarBookingsContainer from './CalendarBookingsContainer'\nimport useCalendarBookings from './CalendarBookingsProvider'\n\nfunction NylasReschedulingForm({\n submissionId,\n name,\n email,\n sessionId,\n bookingRef,\n}: Awaited<\n ReturnType<typeof schedulingService.createNylasExistingBookingSession>\n> & {\n submissionId: string\n}) {\n const { setBookingError, onTimeSlotConfirmed, themeConfig } =\n useCalendarBookings()\n\n if (!bookingRef) {\n return (\n <ErrorMessage title=\"Error Retrieving Data\" gutterTop>\n <span className=\"cypress-booking-ref-not-found-error-message\">\n Could not find a calendar booking to reschedule\n </span>\n </ErrorMessage>\n )\n }\n\n return (\n <div className=\"ob-scheduling-booking-form\">\n <NylasScheduling\n sessionId={sessionId}\n eventOverrides={{\n timeslotConfirmed: onTimeSlotConfirmed,\n bookedEventInfo: async (event) => {\n event.preventDefault()\n if (event.detail.error) {\n setBookingError(\n event.detail.error.message ?? 'Calendar Booking Error',\n )\n }\n },\n }}\n bookingInfo={{\n primaryParticipant: {\n name: name ?? '',\n email: email ?? '',\n },\n additionalFields: {\n submissionId: { value: submissionId, type: 'text' },\n },\n }}\n themeConfig={themeConfig}\n enableUserFeedback={false}\n rescheduleBookingRef={bookingRef}\n nylasBranding={false}\n />\n </div>\n )\n}\n\nfunction ReschedulingForm() {\n return (\n <CalendarBookingsContainer\n fetchConfiguration={schedulingService.createNylasExistingBookingSession}\n >\n {(props) => <NylasReschedulingForm {...props} />}\n </CalendarBookingsContainer>\n )\n}\n\nexport default React.memo(ReschedulingForm)\n"]}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { OneBlinkAppsError } from '@oneblink/apps';
2
+ import { OneBlinkAppsError } from '../../apps';
3
3
  type Props = {
4
4
  error: OneBlinkAppsError | Error | null;
5
5
  closeButtonLabel?: string;
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import clsx from 'clsx';
4
- import { OneBlinkAppsError } from '@oneblink/apps';
4
+ import { OneBlinkAppsError } from '../../apps';
5
5
  import OneBlinkAppsErrorOriginalMessage from '../renderer/OneBlinkAppsErrorOriginalMessage';
6
6
  import sanitizeHtml from '../../services/sanitize-html';
7
7
  import Modal from '../renderer/Modal';
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorModal.js","sourceRoot":"","sources":["../../../src/components/calendar-bookings/ErrorModal.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,gCAAgC,MAAM,8CAA8C,CAAA;AAC3F,OAAO,YAAY,MAAM,8BAA8B,CAAA;AACvD,OAAO,KAAK,MAAM,mBAAmB,CAAA;AACrC,OAAO,YAAY,MAAM,iBAAiB,CAAA;AAS1C,SAAS,UAAU,CAAC,EAClB,KAAK,EACL,gBAAgB,EAChB,oBAAoB,EACpB,OAAO,GACD;IACN,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,IAAI,YAAY,CAAA;QAEhB,IAAI,CAAC,CAAC,KAAK,YAAY,iBAAiB,CAAC,EAAE,CAAC;YAC1C,YAAY,GAAG,IAAI,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACrD,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,KAAK,CAAA;QACtB,CAAC;QACD,OAAO,YAAY,CAAA;IACrB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACvC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAA;QACrB,OAAO,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QAC/C,IAAI,CAAC,YAAY;YAAE,OAAM;QAEzB,OAAO,EAAE,CAAA;IACX,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAA;IAE3B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,KAAC,KAAK,IACJ,MAAM,QACN,KAAK,EAAE,YAAY,CAAC,KAAK,EACzB,SAAS,EAAC,qBAAqB,EAC/B,aAAa,EAAE,IAAI,CAAC;YAClB,mBAAmB,EAAE,YAAY,CAAC,SAAS;SAC5C,CAAC,EACF,cAAc,EAAC,qBAAqB,EACpC,aAAa,EAAC,uBAAuB,EACrC,OAAO,EACL,4BACE,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,IAAI,CACb,iDAAiD,EACjD,oBAAoB,CACrB,EACD,OAAO,EAAE,WAAW,EACpB,SAAS,kBAER,gBAAgB,IAAI,MAAM,GACpB,GACR,YAGL,8BACE;oBACE,2CAA2C;oBAC3C,uBAAuB,EAAE;wBACvB,MAAM,EAAE,aAAa;qBACtB,GACD,EACD,YAAY,CAAC,SAAS,IAAI,CACzB,KAAC,YAAY,IAAC,SAAS,EAAC,+BAA+B,yBAExC,CAChB,EACD,KAAC,gCAAgC,IAAC,KAAK,EAAE,YAAY,CAAC,aAAa,GAAI,IACtE,GACG,CACT,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAQ,UAAU,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport clsx from 'clsx'\nimport { OneBlinkAppsError } from '@oneblink/apps'\nimport OneBlinkAppsErrorOriginalMessage from '../renderer/OneBlinkAppsErrorOriginalMessage'\nimport sanitizeHtml from '../../services/sanitize-html'\nimport Modal from '../renderer/Modal'\nimport MaterialIcon from '../MaterialIcon'\n\ntype Props = {\n error: OneBlinkAppsError | Error | null\n closeButtonLabel?: string\n closeButtonClassName?: string\n onClose: () => unknown\n}\n\nfunction ErrorModal({\n error,\n closeButtonLabel,\n closeButtonClassName,\n onClose,\n}: Props) {\n const displayError = React.useMemo(() => {\n if (!error) return\n let displayError\n\n if (!(error instanceof OneBlinkAppsError)) {\n displayError = new OneBlinkAppsError(error.message)\n } else {\n displayError = error\n }\n return displayError\n }, [error])\n\n const sanitizedHtml = React.useMemo(() => {\n if (!error) return ''\n return sanitizeHtml(error.message)\n }, [error])\n\n const handleClose = React.useCallback(async () => {\n if (!displayError) return\n\n onClose()\n }, [displayError, onClose])\n\n if (!displayError) {\n return null\n }\n\n return (\n <Modal\n isOpen\n title={displayError.title}\n className=\"cypress-error-modal\"\n cardClassName={clsx({\n 'has-text-centered': displayError.isOffline,\n })}\n titleClassName=\"cypress-error-title\"\n bodyClassName=\"cypress-error-message\"\n actions={\n <>\n <button\n type=\"button\"\n className={clsx(\n 'button ob-button cypress-close-error is-primary',\n closeButtonClassName,\n )}\n onClick={handleClose}\n autoFocus\n >\n {closeButtonLabel || 'Okay'}\n </button>\n </>\n }\n >\n <>\n <div\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{\n __html: sanitizedHtml,\n }}\n />\n {displayError.isOffline && (\n <MaterialIcon className=\"has-text-warning icon-x-large\">\n wifi_off\n </MaterialIcon>\n )}\n <OneBlinkAppsErrorOriginalMessage error={displayError.originalError} />\n </>\n </Modal>\n )\n}\n\nexport default React.memo<Props>(ErrorModal)\n"]}
1
+ {"version":3,"file":"ErrorModal.js","sourceRoot":"","sources":["../../../src/components/calendar-bookings/ErrorModal.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,gCAAgC,MAAM,8CAA8C,CAAA;AAC3F,OAAO,YAAY,MAAM,8BAA8B,CAAA;AACvD,OAAO,KAAK,MAAM,mBAAmB,CAAA;AACrC,OAAO,YAAY,MAAM,iBAAiB,CAAA;AAS1C,SAAS,UAAU,CAAC,EAClB,KAAK,EACL,gBAAgB,EAChB,oBAAoB,EACpB,OAAO,GACD;IACN,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,IAAI,YAAY,CAAA;QAEhB,IAAI,CAAC,CAAC,KAAK,YAAY,iBAAiB,CAAC,EAAE,CAAC;YAC1C,YAAY,GAAG,IAAI,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACrD,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,KAAK,CAAA;QACtB,CAAC;QACD,OAAO,YAAY,CAAA;IACrB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACvC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAA;QACrB,OAAO,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QAC/C,IAAI,CAAC,YAAY;YAAE,OAAM;QAEzB,OAAO,EAAE,CAAA;IACX,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAA;IAE3B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,KAAC,KAAK,IACJ,MAAM,QACN,KAAK,EAAE,YAAY,CAAC,KAAK,EACzB,SAAS,EAAC,qBAAqB,EAC/B,aAAa,EAAE,IAAI,CAAC;YAClB,mBAAmB,EAAE,YAAY,CAAC,SAAS;SAC5C,CAAC,EACF,cAAc,EAAC,qBAAqB,EACpC,aAAa,EAAC,uBAAuB,EACrC,OAAO,EACL,4BACE,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,IAAI,CACb,iDAAiD,EACjD,oBAAoB,CACrB,EACD,OAAO,EAAE,WAAW,EACpB,SAAS,kBAER,gBAAgB,IAAI,MAAM,GACpB,GACR,YAGL,8BACE;oBACE,2CAA2C;oBAC3C,uBAAuB,EAAE;wBACvB,MAAM,EAAE,aAAa;qBACtB,GACD,EACD,YAAY,CAAC,SAAS,IAAI,CACzB,KAAC,YAAY,IAAC,SAAS,EAAC,+BAA+B,yBAExC,CAChB,EACD,KAAC,gCAAgC,IAAC,KAAK,EAAE,YAAY,CAAC,aAAa,GAAI,IACtE,GACG,CACT,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAQ,UAAU,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport clsx from 'clsx'\nimport { OneBlinkAppsError } from '../../apps'\nimport OneBlinkAppsErrorOriginalMessage from '../renderer/OneBlinkAppsErrorOriginalMessage'\nimport sanitizeHtml from '../../services/sanitize-html'\nimport Modal from '../renderer/Modal'\nimport MaterialIcon from '../MaterialIcon'\n\ntype Props = {\n error: OneBlinkAppsError | Error | null\n closeButtonLabel?: string\n closeButtonClassName?: string\n onClose: () => unknown\n}\n\nfunction ErrorModal({\n error,\n closeButtonLabel,\n closeButtonClassName,\n onClose,\n}: Props) {\n const displayError = React.useMemo(() => {\n if (!error) return\n let displayError\n\n if (!(error instanceof OneBlinkAppsError)) {\n displayError = new OneBlinkAppsError(error.message)\n } else {\n displayError = error\n }\n return displayError\n }, [error])\n\n const sanitizedHtml = React.useMemo(() => {\n if (!error) return ''\n return sanitizeHtml(error.message)\n }, [error])\n\n const handleClose = React.useCallback(async () => {\n if (!displayError) return\n\n onClose()\n }, [displayError, onClose])\n\n if (!displayError) {\n return null\n }\n\n return (\n <Modal\n isOpen\n title={displayError.title}\n className=\"cypress-error-modal\"\n cardClassName={clsx({\n 'has-text-centered': displayError.isOffline,\n })}\n titleClassName=\"cypress-error-title\"\n bodyClassName=\"cypress-error-message\"\n actions={\n <>\n <button\n type=\"button\"\n className={clsx(\n 'button ob-button cypress-close-error is-primary',\n closeButtonClassName,\n )}\n onClick={handleClose}\n autoFocus\n >\n {closeButtonLabel || 'Okay'}\n </button>\n </>\n }\n >\n <>\n <div\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{\n __html: sanitizedHtml,\n }}\n />\n {displayError.isOffline && (\n <MaterialIcon className=\"has-text-warning icon-x-large\">\n wifi_off\n </MaterialIcon>\n )}\n <OneBlinkAppsErrorOriginalMessage error={displayError.originalError} />\n </>\n </Modal>\n )\n}\n\nexport default React.memo<Props>(ErrorModal)\n"]}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { submissionService } from '@oneblink/apps';
2
+ import { submissionService } from '../../apps';
3
3
  import { LayoutType } from './LayoutProvider';
4
4
  declare function DownloadableFiles({ formSubmissionResult, divider, layout, }: {
5
5
  /** The form submission with the pdf and/or attachments config on it. */
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
- import { localisationService, authService, } from '@oneblink/apps';
3
+ import { localisationService, authService } from '../../apps';
4
4
  import { OnlyPDFDisplay, LoadAndDisplayAttachments, SingleFileDisplay, } from './resource-components';
5
5
  import { LayoutProvider } from './LayoutProvider';
6
6
  import { useCallback } from 'react';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/downloadable-files/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport {\n submissionService,\n localisationService,\n authService,\n} from '@oneblink/apps'\nimport {\n OnlyPDFDisplay,\n LoadAndDisplayAttachments,\n SingleFileDisplay,\n} from './resource-components'\nimport { LayoutProvider, LayoutType } from './LayoutProvider'\nimport { useCallback } from 'react'\nimport { PDFConfiguration } from '@oneblink/types/typescript/submissionEvents'\n\nfunction DownloadableFiles({\n formSubmissionResult,\n divider,\n layout,\n}: {\n /** The form submission with the pdf and/or attachments config on it. */\n formSubmissionResult: submissionService.FormSubmissionResult\n /** Whether to render a divider above the content. */\n divider?: boolean\n /**\n * The layout to use for the downloadable files. Options are `GRID` and\n * `LIST`. Defaults to `GRID`. `GRID` will render files next to each other at\n * some screen sizes. `LIST` will always render each file on a new line.\n */\n layout?: LayoutType\n}) {\n const getSubmissionPDFFileName = useCallback(\n (pdfConfiguration: PDFConfiguration) => {\n const customFileName = pdfConfiguration?.pdfFileName\n if (!customFileName) {\n return 'Submission'\n }\n\n return localisationService.replaceInjectablesWithSubmissionValues(\n customFileName,\n {\n previousApprovalId:\n formSubmissionResult.previousFormSubmissionApprovalId,\n form: formSubmissionResult.definition,\n submission: formSubmissionResult.submission,\n submissionId: formSubmissionResult.submissionId || '',\n submissionTimestamp: formSubmissionResult.submissionTimestamp || '',\n externalId: formSubmissionResult.externalId || undefined,\n userProfile: authService.getUserProfile() || undefined,\n task: formSubmissionResult.taskCompletion?.task,\n taskGroup: formSubmissionResult.taskCompletion?.taskGroup,\n taskGroupInstance:\n formSubmissionResult.taskCompletion?.taskGroupInstance,\n },\n ).text\n },\n [formSubmissionResult],\n )\n\n const pdfFileNodes = React.useMemo(() => {\n const allowPDFDownload =\n formSubmissionResult.definition.postSubmissionReceipt?.allowPDFDownload\n\n if (!allowPDFDownload) {\n return\n }\n\n if (formSubmissionResult.downloadSubmissionPdfs) {\n return formSubmissionResult.downloadSubmissionPdfs.reduce<\n Array<{\n key: string\n node: React.ReactNode\n }>\n >((memo, { id, configuration, url }) => {\n memo.push({\n key: `pdf-file-node-${id}`,\n node: (\n <SingleFileDisplay\n attachment={{\n filename: getSubmissionPDFFileName(configuration),\n signedUrl: url,\n contentType: 'application/pdf',\n }}\n className={`cypress-receipt-download-pdf-button-${id}`}\n />\n ),\n })\n\n return memo\n }, [])\n }\n }, [formSubmissionResult, getSubmissionPDFFileName])\n\n if (!formSubmissionResult.attachmentsAccessToken && !pdfFileNodes) {\n return null\n }\n\n return (\n <div className=\"ob-downloadable-files__wrapper\">\n <LayoutProvider layout={layout ?? 'GRID'}>\n {divider && <hr className=\"divider\" />}\n {pdfFileNodes && !formSubmissionResult.attachmentsAccessToken ? (\n <OnlyPDFDisplay>{pdfFileNodes}</OnlyPDFDisplay>\n ) : (\n <LoadAndDisplayAttachments\n formSubmissionResult={formSubmissionResult}\n pdfFileNodes={pdfFileNodes}\n />\n )}\n </LayoutProvider>\n </div>\n )\n}\n\n/**\n * Component for rendering post-submission downloadable files such as PDFs and\n * attachments. The only thing required is the `formSubmissionResult`.\n *\n * It is also recommended to import the `css` from this library as well.\n *\n * ```js\n * import { DownloadableFiles } from '@oneblink/apps-react'\n * import '@oneblink/apps-react/dist/styles.css'\n * ```\n *\n * #### Example\n *\n * ```tsx\n * import React from 'react'\n * import ReactDOM from 'react-dom'\n * import { DownloadableFiles } from '@oneblink/apps-react'\n * import '@oneblink/apps-react/dist/styles.css'\n *\n * function SubmissionContainer() {\n *\n * const [state, setState] = useState(null)\n *\n * const handleSubmit = React.useCallback(async () => {\n * ...\n * setState(result)\n * }, [])\n *\n * return (\n * <div>\n * ...\n * {state && (\n * <DownloadableFiles formSubmissionResult={state} />\n * )}\n * </div>\n * )\n * }\n *\n * function App() {\n * return (\n * <IsOfflineContextProvider>\n * <SubmissionContainer />\n * </IsOfflineContextProvider>\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 React.memo(DownloadableFiles)\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/downloadable-files/index.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAqB,mBAAmB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAChF,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAc,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAGnC,SAAS,iBAAiB,CAAC,EACzB,oBAAoB,EACpB,OAAO,EACP,MAAM,GAYP;IACC,MAAM,wBAAwB,GAAG,WAAW,CAC1C,CAAC,gBAAkC,EAAE,EAAE;;QACrC,MAAM,cAAc,GAAG,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,WAAW,CAAA;QACpD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,YAAY,CAAA;QACrB,CAAC;QAED,OAAO,mBAAmB,CAAC,sCAAsC,CAC/D,cAAc,EACd;YACE,kBAAkB,EAChB,oBAAoB,CAAC,gCAAgC;YACvD,IAAI,EAAE,oBAAoB,CAAC,UAAU;YACrC,UAAU,EAAE,oBAAoB,CAAC,UAAU;YAC3C,YAAY,EAAE,oBAAoB,CAAC,YAAY,IAAI,EAAE;YACrD,mBAAmB,EAAE,oBAAoB,CAAC,mBAAmB,IAAI,EAAE;YACnE,UAAU,EAAE,oBAAoB,CAAC,UAAU,IAAI,SAAS;YACxD,WAAW,EAAE,WAAW,CAAC,cAAc,EAAE,IAAI,SAAS;YACtD,IAAI,EAAE,MAAA,oBAAoB,CAAC,cAAc,0CAAE,IAAI;YAC/C,SAAS,EAAE,MAAA,oBAAoB,CAAC,cAAc,0CAAE,SAAS;YACzD,iBAAiB,EACf,MAAA,oBAAoB,CAAC,cAAc,0CAAE,iBAAiB;SACzD,CACF,CAAC,IAAI,CAAA;IACR,CAAC,EACD,CAAC,oBAAoB,CAAC,CACvB,CAAA;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;;QACtC,MAAM,gBAAgB,GACpB,MAAA,oBAAoB,CAAC,UAAU,CAAC,qBAAqB,0CAAE,gBAAgB,CAAA;QAEzE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QAED,IAAI,oBAAoB,CAAC,sBAAsB,EAAE,CAAC;YAChD,OAAO,oBAAoB,CAAC,sBAAsB,CAAC,MAAM,CAKvD,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,EAAE;gBACrC,IAAI,CAAC,IAAI,CAAC;oBACR,GAAG,EAAE,iBAAiB,EAAE,EAAE;oBAC1B,IAAI,EAAE,CACJ,KAAC,iBAAiB,IAChB,UAAU,EAAE;4BACV,QAAQ,EAAE,wBAAwB,CAAC,aAAa,CAAC;4BACjD,SAAS,EAAE,GAAG;4BACd,WAAW,EAAE,iBAAiB;yBAC/B,EACD,SAAS,EAAE,uCAAuC,EAAE,EAAE,GACtD,CACH;iBACF,CAAC,CAAA;gBAEF,OAAO,IAAI,CAAA;YACb,CAAC,EAAE,EAAE,CAAC,CAAA;QACR,CAAC;IACH,CAAC,EAAE,CAAC,oBAAoB,EAAE,wBAAwB,CAAC,CAAC,CAAA;IAEpD,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,IAAI,CAAC,YAAY,EAAE,CAAC;QAClE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,gCAAgC,YAC7C,MAAC,cAAc,IAAC,MAAM,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,MAAM,aACrC,OAAO,IAAI,aAAI,SAAS,EAAC,SAAS,GAAG,EACrC,YAAY,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAC9D,KAAC,cAAc,cAAE,YAAY,GAAkB,CAChD,CAAC,CAAC,CAAC,CACF,KAAC,yBAAyB,IACxB,oBAAoB,EAAE,oBAAoB,EAC1C,YAAY,EAAE,YAAY,GAC1B,CACH,IACc,GACb,CACP,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,eAAe,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport { submissionService, localisationService, authService } from '../../apps'\nimport {\n OnlyPDFDisplay,\n LoadAndDisplayAttachments,\n SingleFileDisplay,\n} from './resource-components'\nimport { LayoutProvider, LayoutType } from './LayoutProvider'\nimport { useCallback } from 'react'\nimport { PDFConfiguration } from '@oneblink/types/typescript/submissionEvents'\n\nfunction DownloadableFiles({\n formSubmissionResult,\n divider,\n layout,\n}: {\n /** The form submission with the pdf and/or attachments config on it. */\n formSubmissionResult: submissionService.FormSubmissionResult\n /** Whether to render a divider above the content. */\n divider?: boolean\n /**\n * The layout to use for the downloadable files. Options are `GRID` and\n * `LIST`. Defaults to `GRID`. `GRID` will render files next to each other at\n * some screen sizes. `LIST` will always render each file on a new line.\n */\n layout?: LayoutType\n}) {\n const getSubmissionPDFFileName = useCallback(\n (pdfConfiguration: PDFConfiguration) => {\n const customFileName = pdfConfiguration?.pdfFileName\n if (!customFileName) {\n return 'Submission'\n }\n\n return localisationService.replaceInjectablesWithSubmissionValues(\n customFileName,\n {\n previousApprovalId:\n formSubmissionResult.previousFormSubmissionApprovalId,\n form: formSubmissionResult.definition,\n submission: formSubmissionResult.submission,\n submissionId: formSubmissionResult.submissionId || '',\n submissionTimestamp: formSubmissionResult.submissionTimestamp || '',\n externalId: formSubmissionResult.externalId || undefined,\n userProfile: authService.getUserProfile() || undefined,\n task: formSubmissionResult.taskCompletion?.task,\n taskGroup: formSubmissionResult.taskCompletion?.taskGroup,\n taskGroupInstance:\n formSubmissionResult.taskCompletion?.taskGroupInstance,\n },\n ).text\n },\n [formSubmissionResult],\n )\n\n const pdfFileNodes = React.useMemo(() => {\n const allowPDFDownload =\n formSubmissionResult.definition.postSubmissionReceipt?.allowPDFDownload\n\n if (!allowPDFDownload) {\n return\n }\n\n if (formSubmissionResult.downloadSubmissionPdfs) {\n return formSubmissionResult.downloadSubmissionPdfs.reduce<\n Array<{\n key: string\n node: React.ReactNode\n }>\n >((memo, { id, configuration, url }) => {\n memo.push({\n key: `pdf-file-node-${id}`,\n node: (\n <SingleFileDisplay\n attachment={{\n filename: getSubmissionPDFFileName(configuration),\n signedUrl: url,\n contentType: 'application/pdf',\n }}\n className={`cypress-receipt-download-pdf-button-${id}`}\n />\n ),\n })\n\n return memo\n }, [])\n }\n }, [formSubmissionResult, getSubmissionPDFFileName])\n\n if (!formSubmissionResult.attachmentsAccessToken && !pdfFileNodes) {\n return null\n }\n\n return (\n <div className=\"ob-downloadable-files__wrapper\">\n <LayoutProvider layout={layout ?? 'GRID'}>\n {divider && <hr className=\"divider\" />}\n {pdfFileNodes && !formSubmissionResult.attachmentsAccessToken ? (\n <OnlyPDFDisplay>{pdfFileNodes}</OnlyPDFDisplay>\n ) : (\n <LoadAndDisplayAttachments\n formSubmissionResult={formSubmissionResult}\n pdfFileNodes={pdfFileNodes}\n />\n )}\n </LayoutProvider>\n </div>\n )\n}\n\n/**\n * Component for rendering post-submission downloadable files such as PDFs and\n * attachments. The only thing required is the `formSubmissionResult`.\n *\n * It is also recommended to import the `css` from this library as well.\n *\n * ```js\n * import { DownloadableFiles } from '@oneblink/apps-react'\n * import '@oneblink/apps-react/dist/styles.css'\n * ```\n *\n * #### Example\n *\n * ```tsx\n * import React from 'react'\n * import ReactDOM from 'react-dom'\n * import { DownloadableFiles } from '@oneblink/apps-react'\n * import '@oneblink/apps-react/dist/styles.css'\n *\n * function SubmissionContainer() {\n *\n * const [state, setState] = useState(null)\n *\n * const handleSubmit = React.useCallback(async () => {\n * ...\n * setState(result)\n * }, [])\n *\n * return (\n * <div>\n * ...\n * {state && (\n * <DownloadableFiles formSubmissionResult={state} />\n * )}\n * </div>\n * )\n * }\n *\n * function App() {\n * return (\n * <IsOfflineContextProvider>\n * <SubmissionContainer />\n * </IsOfflineContextProvider>\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 React.memo(DownloadableFiles)\n"]}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { submissionService } from '@oneblink/apps';
2
+ import { submissionService } from '../../apps';
3
3
  type Attachment = Awaited<ReturnType<typeof submissionService.getPostSubmissionAttachments>>[number];
4
4
  export declare const LoadAndDisplayAttachments: ({ pdfFileNodes, formSubmissionResult, }: {
5
5
  pdfFileNodes?: PDFFileNode[];
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  import * as React from 'react';
3
3
  import { Collapse, Grid, LinearProgress, Tooltip } from '@mui/material';
4
4
  import MaterialIcon from '../MaterialIcon';
5
- import { submissionService } from '@oneblink/apps';
5
+ import { submissionService } from '../../apps';
6
6
  import useLoadDataState from '../../hooks/useLoadDataState';
7
7
  import OneBlinkAppsErrorOriginalMessage from '../renderer/OneBlinkAppsErrorOriginalMessage';
8
8
  import clsx from 'clsx';
@@ -1 +1 @@
1
- {"version":3,"file":"resource-components.js","sourceRoot":"","sources":["../../../src/components/downloadable-files/resource-components.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { Collapse, Grid, LinearProgress, Tooltip } from '@mui/material'\nimport MaterialIcon from '../MaterialIcon'\nimport { submissionService } from '@oneblink/apps'\nimport useLoadDataState from '../../hooks/useLoadDataState'\nimport OneBlinkAppsErrorOriginalMessage from '../renderer/OneBlinkAppsErrorOriginalMessage'\nimport clsx from 'clsx'\nimport { useLayout } from './LayoutProvider'\n\ntype Attachment = Awaited<\n ReturnType<typeof submissionService.getPostSubmissionAttachments>\n>[number]\n\nexport const LoadAndDisplayAttachments = ({\n pdfFileNodes,\n formSubmissionResult,\n}: {\n pdfFileNodes?: PDFFileNode[]\n formSubmissionResult: submissionService.FormSubmissionResult\n}) => {\n const loadAttachments = React.useCallback(\n () => submissionService.getPostSubmissionAttachments(formSubmissionResult),\n [formSubmissionResult],\n )\n const [attachmentsState] = useLoadDataState(loadAttachments)\n\n return (\n <>\n <Collapse in={attachmentsState.status === 'LOADING'} unmountOnExit>\n <div className=\"ob-downloadable-files__loading\">\n <div className=\"ob-list__text-secondary mb-1 has-text-centered\">\n Loading Attachments...\n </div>\n <LinearProgress className=\"ob-progress__downloadable-files\" />\n </div>\n </Collapse>\n <Collapse in={attachmentsState.status === 'ERROR'} unmountOnExit>\n {!!pdfFileNodes?.length && (\n <>\n <OnlyPDFDisplay className=\"ob-downloadable-files__error-pdf\">\n {pdfFileNodes}\n </OnlyPDFDisplay>\n </>\n )}\n\n <div className=\"ob-downloadable-files__error has-text-centered\">\n <MaterialIcon className=\"has-text-danger icon-large\">\n error\n </MaterialIcon>\n <OneBlinkAppsErrorOriginalMessage\n error={\n attachmentsState.status === 'ERROR'\n ? attachmentsState.error\n : undefined\n }\n />\n </div>\n </Collapse>\n <Collapse in={attachmentsState.status === 'SUCCESS'} unmountOnExit>\n <DownloadableFilesDisplay\n attachments={\n attachmentsState.status === 'SUCCESS' ? attachmentsState.result : []\n }\n pdfFileNodes={pdfFileNodes}\n />\n </Collapse>\n </>\n )\n}\n\nexport type PDFFileNode = {\n key: string\n node: React.ReactNode\n}\n\ntype DownloadableFilesDisplayProps = {\n attachments: Attachment[]\n pdfFileNodes?: PDFFileNode[]\n}\nfunction DownloadableFilesDisplay({\n attachments,\n pdfFileNodes,\n}: DownloadableFilesDisplayProps) {\n const layout = useLayout()\n\n const totalToDisplay = React.useMemo(() => {\n return attachments.length + (pdfFileNodes?.length ?? 0)\n }, [attachments, pdfFileNodes])\n\n return (\n <>\n <div className=\"ob-downloadable-files__container\">\n <Grid\n container\n spacing={2}\n justifyContent={totalToDisplay === 1 ? 'center' : undefined}\n >\n {pdfFileNodes &&\n pdfFileNodes.map(({ node, key }) => (\n <Grid size={{ xs: 12, sm: layout === 'GRID' ? 6 : 12 }} key={key}>\n {node}\n </Grid>\n ))}\n {attachments.map((attachment, index) => (\n <Grid size={{ xs: 12, sm: layout === 'GRID' ? 6 : 12 }} key={index}>\n <SingleFileDisplay attachment={attachment} />\n </Grid>\n ))}\n </Grid>\n </div>\n </>\n )\n}\n\nconst getFileTypeIcon = (type: string) => {\n // Add other appropriate icons for file types here anytime\n if (type.includes('doc')) {\n return 'description'\n }\n return 'attach_file'\n}\n\nexport const SingleFileDisplay = ({\n attachment,\n className,\n}: {\n attachment: Attachment\n className?: string\n}) => {\n const { avatar } = React.useMemo(() => {\n const avatar = () => {\n return attachment.contentType.includes('image') ? (\n <img\n src={attachment.signedUrl}\n alt={attachment.filename}\n className=\"ob-downloadable-files__thumbnail\"\n />\n ) : (\n <MaterialIcon className=\"ob-downloadable-files__icon\">\n {getFileTypeIcon(attachment.contentType)}\n </MaterialIcon>\n )\n }\n\n return { avatar: avatar() }\n }, [attachment.filename, attachment.contentType, attachment.signedUrl])\n\n return (\n <Tooltip title={attachment.filename} arrow>\n <a\n href={attachment.signedUrl}\n target=\"_blank\"\n rel=\"noreferrer\"\n download\n className={clsx('ob-downloadable-files__item', className)}\n >\n {avatar}\n <div className=\"ob-downloadable-files__content\">\n <div className=\"ob-downloadable-files__filename ob-downloadable-files__text\">\n {attachment.filename}\n </div>\n <div className=\"ob-downloadable-files__filetype ob-downloadable-files__text\">\n {attachment.contentType.split('/')[1] || 'Unknown'}\n </div>\n </div>\n <MaterialIcon className=\"ob-downloadable-files__download-icon\">\n download\n </MaterialIcon>\n </a>\n </Tooltip>\n )\n}\n\n/** Centers the PDF Download button */\nexport const OnlyPDFDisplay = ({\n children,\n className,\n}: {\n children: PDFFileNode[]\n className?: string\n}) => {\n const layout = useLayout()\n\n return (\n <div className={clsx('ob-downloadable-files__container', className)}>\n <Grid\n container\n spacing={2}\n justifyContent={children.length === 1 ? 'center' : undefined}\n >\n {children.map(({ node, key }) => (\n <Grid size={{ xs: 12, sm: layout === 'GRID' ? 6 : 12 }} key={key}>\n {node}\n </Grid>\n ))}\n </Grid>\n </div>\n )\n}\n"]}
1
+ {"version":3,"file":"resource-components.js","sourceRoot":"","sources":["../../../src/components/downloadable-files/resource-components.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { Collapse, Grid, LinearProgress, Tooltip } from '@mui/material'\nimport MaterialIcon from '../MaterialIcon'\nimport { submissionService } from '../../apps'\nimport useLoadDataState from '../../hooks/useLoadDataState'\nimport OneBlinkAppsErrorOriginalMessage from '../renderer/OneBlinkAppsErrorOriginalMessage'\nimport clsx from 'clsx'\nimport { useLayout } from './LayoutProvider'\n\ntype Attachment = Awaited<\n ReturnType<typeof submissionService.getPostSubmissionAttachments>\n>[number]\n\nexport const LoadAndDisplayAttachments = ({\n pdfFileNodes,\n formSubmissionResult,\n}: {\n pdfFileNodes?: PDFFileNode[]\n formSubmissionResult: submissionService.FormSubmissionResult\n}) => {\n const loadAttachments = React.useCallback(\n () => submissionService.getPostSubmissionAttachments(formSubmissionResult),\n [formSubmissionResult],\n )\n const [attachmentsState] = useLoadDataState(loadAttachments)\n\n return (\n <>\n <Collapse in={attachmentsState.status === 'LOADING'} unmountOnExit>\n <div className=\"ob-downloadable-files__loading\">\n <div className=\"ob-list__text-secondary mb-1 has-text-centered\">\n Loading Attachments...\n </div>\n <LinearProgress className=\"ob-progress__downloadable-files\" />\n </div>\n </Collapse>\n <Collapse in={attachmentsState.status === 'ERROR'} unmountOnExit>\n {!!pdfFileNodes?.length && (\n <>\n <OnlyPDFDisplay className=\"ob-downloadable-files__error-pdf\">\n {pdfFileNodes}\n </OnlyPDFDisplay>\n </>\n )}\n\n <div className=\"ob-downloadable-files__error has-text-centered\">\n <MaterialIcon className=\"has-text-danger icon-large\">\n error\n </MaterialIcon>\n <OneBlinkAppsErrorOriginalMessage\n error={\n attachmentsState.status === 'ERROR'\n ? attachmentsState.error\n : undefined\n }\n />\n </div>\n </Collapse>\n <Collapse in={attachmentsState.status === 'SUCCESS'} unmountOnExit>\n <DownloadableFilesDisplay\n attachments={\n attachmentsState.status === 'SUCCESS' ? attachmentsState.result : []\n }\n pdfFileNodes={pdfFileNodes}\n />\n </Collapse>\n </>\n )\n}\n\nexport type PDFFileNode = {\n key: string\n node: React.ReactNode\n}\n\ntype DownloadableFilesDisplayProps = {\n attachments: Attachment[]\n pdfFileNodes?: PDFFileNode[]\n}\nfunction DownloadableFilesDisplay({\n attachments,\n pdfFileNodes,\n}: DownloadableFilesDisplayProps) {\n const layout = useLayout()\n\n const totalToDisplay = React.useMemo(() => {\n return attachments.length + (pdfFileNodes?.length ?? 0)\n }, [attachments, pdfFileNodes])\n\n return (\n <>\n <div className=\"ob-downloadable-files__container\">\n <Grid\n container\n spacing={2}\n justifyContent={totalToDisplay === 1 ? 'center' : undefined}\n >\n {pdfFileNodes &&\n pdfFileNodes.map(({ node, key }) => (\n <Grid size={{ xs: 12, sm: layout === 'GRID' ? 6 : 12 }} key={key}>\n {node}\n </Grid>\n ))}\n {attachments.map((attachment, index) => (\n <Grid size={{ xs: 12, sm: layout === 'GRID' ? 6 : 12 }} key={index}>\n <SingleFileDisplay attachment={attachment} />\n </Grid>\n ))}\n </Grid>\n </div>\n </>\n )\n}\n\nconst getFileTypeIcon = (type: string) => {\n // Add other appropriate icons for file types here anytime\n if (type.includes('doc')) {\n return 'description'\n }\n return 'attach_file'\n}\n\nexport const SingleFileDisplay = ({\n attachment,\n className,\n}: {\n attachment: Attachment\n className?: string\n}) => {\n const { avatar } = React.useMemo(() => {\n const avatar = () => {\n return attachment.contentType.includes('image') ? (\n <img\n src={attachment.signedUrl}\n alt={attachment.filename}\n className=\"ob-downloadable-files__thumbnail\"\n />\n ) : (\n <MaterialIcon className=\"ob-downloadable-files__icon\">\n {getFileTypeIcon(attachment.contentType)}\n </MaterialIcon>\n )\n }\n\n return { avatar: avatar() }\n }, [attachment.filename, attachment.contentType, attachment.signedUrl])\n\n return (\n <Tooltip title={attachment.filename} arrow>\n <a\n href={attachment.signedUrl}\n target=\"_blank\"\n rel=\"noreferrer\"\n download\n className={clsx('ob-downloadable-files__item', className)}\n >\n {avatar}\n <div className=\"ob-downloadable-files__content\">\n <div className=\"ob-downloadable-files__filename ob-downloadable-files__text\">\n {attachment.filename}\n </div>\n <div className=\"ob-downloadable-files__filetype ob-downloadable-files__text\">\n {attachment.contentType.split('/')[1] || 'Unknown'}\n </div>\n </div>\n <MaterialIcon className=\"ob-downloadable-files__download-icon\">\n download\n </MaterialIcon>\n </a>\n </Tooltip>\n )\n}\n\n/** Centers the PDF Download button */\nexport const OnlyPDFDisplay = ({\n children,\n className,\n}: {\n children: PDFFileNode[]\n className?: string\n}) => {\n const layout = useLayout()\n\n return (\n <div className={clsx('ob-downloadable-files__container', className)}>\n <Grid\n container\n spacing={2}\n justifyContent={children.length === 1 ? 'center' : undefined}\n >\n {children.map(({ node, key }) => (\n <Grid size={{ xs: 12, sm: layout === 'GRID' ? 6 : 12 }} key={key}>\n {node}\n </Grid>\n ))}\n </Grid>\n </div>\n )\n}\n"]}
@@ -2,7 +2,7 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
2
2
  import * as React from 'react';
3
3
  import { useHistory, useLocation } from 'react-router-dom';
4
4
  import querystring from 'query-string';
5
- import { formStoreService } from '@oneblink/apps';
5
+ import { formStoreService } from '../../apps';
6
6
  import useInfiniteScrollDataLoad from '../../hooks/useInfiniteScrollDataLoad';
7
7
  import useFormStoreTable from './table/useFormStoreTable';
8
8
  import { Box, Button, Grid } from '@mui/material';
@@ -1 +1 @@
1
- {"version":3,"file":"FormStoreTableProvider.js","sourceRoot":"","sources":["../../../src/components/formStore/FormStoreTableProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { useHistory, useLocation } from 'react-router-dom'\nimport querystring from 'query-string'\nimport { FormStoreRecord } from '@oneblink/types/typescript/submissions'\nimport { formStoreService } from '@oneblink/apps'\nimport useInfiniteScrollDataLoad from '../../hooks/useInfiniteScrollDataLoad'\nimport useFormStoreTable from './table/useFormStoreTable'\nimport { Box, Button, Grid } from '@mui/material'\nimport { FormTypes } from '@oneblink/types'\nimport useSubmissionIdValidationMessage, {\n validateIsUUID,\n} from '../../hooks/useSubmissionIdIsValid'\nimport ErrorMessage from '../messages/ErrorMessage'\nimport LoadingWithMessage from '../LoadingWithMessage'\nimport NoResourcesYet from '../messages/NoResourcesYet'\nimport FormStoreIcon from './display/FormStoreIcon'\nimport { FormStoreTableContext } from './useFormStoreTableContext'\nimport MaterialIcon from '../MaterialIcon'\n\nconst TABLE_PARAMETERS_FORM_STORE_KEY = 'REACT_TABLE_PARAMETERS_FORM_STORE'\n\nfunction getParamsFromLocalStorage() {\n const text = localStorage.getItem(TABLE_PARAMETERS_FORM_STORE_KEY)\n if (text) {\n return JSON.parse(text)\n }\n}\n\nexport function FormStoreTableProvider({\n form,\n children,\n}: {\n form: FormTypes.Form\n children: React.ReactNode\n}) {\n const history = useHistory()\n const location = useLocation()\n const {\n isLoading,\n loadError,\n records: formStoreRecords,\n onTryAgain,\n onRefresh,\n filters: parameters,\n onChangeFilters: onChangeParameters,\n nextOffset,\n } = useInfiniteScrollDataLoad<\n formStoreService.FormStoreParameters,\n FormStoreRecord\n >({\n limit: 50,\n isManual: true,\n debounceSearchMs: 1000,\n onDefaultFilters: React.useCallback((query) => {\n let defaultParameters: formStoreService.FormStoreParameters = {}\n const localStorageParams = getParamsFromLocalStorage()\n if (\n localStorageParams &&\n Object(localStorageParams) === localStorageParams\n ) {\n defaultParameters = localStorageParams\n }\n try {\n if (typeof query.parameters === 'string') {\n //allow qs params to override local storage\n defaultParameters = {\n ...defaultParameters,\n ...JSON.parse(query.parameters),\n }\n }\n } catch (error) {\n console.warn('Could not parse filter as JSON', error)\n }\n if (!defaultParameters.sorting) {\n defaultParameters.sorting = [\n { property: 'dateTimeSubmitted', direction: 'descending' },\n ]\n }\n return defaultParameters\n }, []),\n onSearch: React.useCallback(\n async (currentParameters, paging, abortSignal) => {\n // Exclude all search parameters if searching\n // for a specific submission using an identifier\n const filters = currentParameters.filters?.submissionId\n ? {\n submissionId: currentParameters.filters.submissionId,\n }\n : currentParameters.filters\n const result = await formStoreService.searchFormStoreRecords(\n {\n ...currentParameters,\n paging,\n formId: form.id,\n filters,\n },\n abortSignal,\n )\n return {\n records: result.formStoreRecords,\n meta: result.meta,\n }\n },\n [form.id],\n ),\n onValidateFilters: React.useCallback(\n (currentParameters: formStoreService.FormStoreParameters) => {\n return validateIsUUID(currentParameters.filters?.submissionId?.$eq)\n },\n [],\n ),\n })\n\n React.useEffect(() => {\n const currentSearch = querystring.parse(location.search)\n history.replace({\n search: querystring.stringify({\n ...currentSearch,\n parameters: JSON.stringify(parameters),\n }),\n })\n }, [history, location.search, parameters])\n\n const submissionIdValidationMessage = useSubmissionIdValidationMessage(\n parameters.filters?.submissionId?.$eq,\n )\n\n React.useEffect(() => {\n const paramsToStore = {\n unwindRepeatableSets: parameters?.unwindRepeatableSets,\n }\n localStorage.setItem(\n TABLE_PARAMETERS_FORM_STORE_KEY,\n JSON.stringify(paramsToStore),\n )\n }, [parameters?.unwindRepeatableSets])\n\n const formStoreTable = useFormStoreTable({\n formStoreRecords,\n parameters,\n onChangeParameters,\n submissionIdValidationMessage,\n form,\n onRefresh,\n })\n\n const visibleColumns = formStoreTable.getVisibleFlatColumns()\n\n return (\n <FormStoreTableContext.Provider value={formStoreTable}>\n {children}\n {visibleColumns?.length ? (\n <>\n {!formStoreRecords.length && !isLoading && !loadError && (\n <NoResourcesYet\n IconComponent={FormStoreIcon}\n title=\"No Records Found...\"\n >\n There are no Submissions matching your filters.\n </NoResourcesYet>\n )}\n </>\n ) : (\n <NoResourcesYet\n IconComponent={(props) => (\n <MaterialIcon {...props}>settings</MaterialIcon>\n )}\n title=\"No Columns Visible\"\n gutterBottom\n >\n It looks like you have hidden all of the available columns. Please\n enable at least one column to view submissions.\n </NoResourcesYet>\n )}\n\n {isLoading === 'INITIAL' && (\n <div className=\"ob-form-store-loading-initial\">\n <LoadingWithMessage message=\"Loading initial records...\" />\n </div>\n )}\n\n {loadError && (\n <>\n <ErrorMessage\n title=\"Error Retrieving Submissions\"\n gutterBottom\n gutterTop\n >\n {loadError.message}\n </ErrorMessage>\n <Grid container justifyContent=\"center\">\n <Button\n className=\"ob-form-store-try-again-button\"\n variant=\"outlined\"\n color=\"primary\"\n onClick={() => onTryAgain()}\n >\n Try Again\n </Button>\n </Grid>\n </>\n )}\n\n {!!nextOffset && !loadError && isLoading !== 'INITIAL' && (\n <Box padding={4} className=\"ob-form-store-load-more-button-container\">\n <Grid container justifyContent=\"center\">\n <Button\n className=\"ob-form-store-load-more-button\"\n variant=\"outlined\"\n color=\"primary\"\n onClick={() => onTryAgain(nextOffset)}\n loading={isLoading === 'MORE'}\n size=\"large\"\n loadingPosition=\"start\"\n startIcon={<MaterialIcon>read_more</MaterialIcon>}\n classes={{\n loadingIndicator: 'ob-form-store-loading-more-indicator',\n }}\n >\n Load More\n </Button>\n </Grid>\n </Box>\n )}\n </FormStoreTableContext.Provider>\n )\n}\n"]}
1
+ {"version":3,"file":"FormStoreTableProvider.js","sourceRoot":"","sources":["../../../src/components/formStore/FormStoreTableProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { useHistory, useLocation } from 'react-router-dom'\nimport querystring from 'query-string'\nimport { FormStoreRecord } from '@oneblink/types/typescript/submissions'\nimport { formStoreService } from '../../apps'\nimport useInfiniteScrollDataLoad from '../../hooks/useInfiniteScrollDataLoad'\nimport useFormStoreTable from './table/useFormStoreTable'\nimport { Box, Button, Grid } from '@mui/material'\nimport { FormTypes } from '@oneblink/types'\nimport useSubmissionIdValidationMessage, {\n validateIsUUID,\n} from '../../hooks/useSubmissionIdIsValid'\nimport ErrorMessage from '../messages/ErrorMessage'\nimport LoadingWithMessage from '../LoadingWithMessage'\nimport NoResourcesYet from '../messages/NoResourcesYet'\nimport FormStoreIcon from './display/FormStoreIcon'\nimport { FormStoreTableContext } from './useFormStoreTableContext'\nimport MaterialIcon from '../MaterialIcon'\n\nconst TABLE_PARAMETERS_FORM_STORE_KEY = 'REACT_TABLE_PARAMETERS_FORM_STORE'\n\nfunction getParamsFromLocalStorage() {\n const text = localStorage.getItem(TABLE_PARAMETERS_FORM_STORE_KEY)\n if (text) {\n return JSON.parse(text)\n }\n}\n\nexport function FormStoreTableProvider({\n form,\n children,\n}: {\n form: FormTypes.Form\n children: React.ReactNode\n}) {\n const history = useHistory()\n const location = useLocation()\n const {\n isLoading,\n loadError,\n records: formStoreRecords,\n onTryAgain,\n onRefresh,\n filters: parameters,\n onChangeFilters: onChangeParameters,\n nextOffset,\n } = useInfiniteScrollDataLoad<\n formStoreService.FormStoreParameters,\n FormStoreRecord\n >({\n limit: 50,\n isManual: true,\n debounceSearchMs: 1000,\n onDefaultFilters: React.useCallback((query) => {\n let defaultParameters: formStoreService.FormStoreParameters = {}\n const localStorageParams = getParamsFromLocalStorage()\n if (\n localStorageParams &&\n Object(localStorageParams) === localStorageParams\n ) {\n defaultParameters = localStorageParams\n }\n try {\n if (typeof query.parameters === 'string') {\n //allow qs params to override local storage\n defaultParameters = {\n ...defaultParameters,\n ...JSON.parse(query.parameters),\n }\n }\n } catch (error) {\n console.warn('Could not parse filter as JSON', error)\n }\n if (!defaultParameters.sorting) {\n defaultParameters.sorting = [\n { property: 'dateTimeSubmitted', direction: 'descending' },\n ]\n }\n return defaultParameters\n }, []),\n onSearch: React.useCallback(\n async (currentParameters, paging, abortSignal) => {\n // Exclude all search parameters if searching\n // for a specific submission using an identifier\n const filters = currentParameters.filters?.submissionId\n ? {\n submissionId: currentParameters.filters.submissionId,\n }\n : currentParameters.filters\n const result = await formStoreService.searchFormStoreRecords(\n {\n ...currentParameters,\n paging,\n formId: form.id,\n filters,\n },\n abortSignal,\n )\n return {\n records: result.formStoreRecords,\n meta: result.meta,\n }\n },\n [form.id],\n ),\n onValidateFilters: React.useCallback(\n (currentParameters: formStoreService.FormStoreParameters) => {\n return validateIsUUID(currentParameters.filters?.submissionId?.$eq)\n },\n [],\n ),\n })\n\n React.useEffect(() => {\n const currentSearch = querystring.parse(location.search)\n history.replace({\n search: querystring.stringify({\n ...currentSearch,\n parameters: JSON.stringify(parameters),\n }),\n })\n }, [history, location.search, parameters])\n\n const submissionIdValidationMessage = useSubmissionIdValidationMessage(\n parameters.filters?.submissionId?.$eq,\n )\n\n React.useEffect(() => {\n const paramsToStore = {\n unwindRepeatableSets: parameters?.unwindRepeatableSets,\n }\n localStorage.setItem(\n TABLE_PARAMETERS_FORM_STORE_KEY,\n JSON.stringify(paramsToStore),\n )\n }, [parameters?.unwindRepeatableSets])\n\n const formStoreTable = useFormStoreTable({\n formStoreRecords,\n parameters,\n onChangeParameters,\n submissionIdValidationMessage,\n form,\n onRefresh,\n })\n\n const visibleColumns = formStoreTable.getVisibleFlatColumns()\n\n return (\n <FormStoreTableContext.Provider value={formStoreTable}>\n {children}\n {visibleColumns?.length ? (\n <>\n {!formStoreRecords.length && !isLoading && !loadError && (\n <NoResourcesYet\n IconComponent={FormStoreIcon}\n title=\"No Records Found...\"\n >\n There are no Submissions matching your filters.\n </NoResourcesYet>\n )}\n </>\n ) : (\n <NoResourcesYet\n IconComponent={(props) => (\n <MaterialIcon {...props}>settings</MaterialIcon>\n )}\n title=\"No Columns Visible\"\n gutterBottom\n >\n It looks like you have hidden all of the available columns. Please\n enable at least one column to view submissions.\n </NoResourcesYet>\n )}\n\n {isLoading === 'INITIAL' && (\n <div className=\"ob-form-store-loading-initial\">\n <LoadingWithMessage message=\"Loading initial records...\" />\n </div>\n )}\n\n {loadError && (\n <>\n <ErrorMessage\n title=\"Error Retrieving Submissions\"\n gutterBottom\n gutterTop\n >\n {loadError.message}\n </ErrorMessage>\n <Grid container justifyContent=\"center\">\n <Button\n className=\"ob-form-store-try-again-button\"\n variant=\"outlined\"\n color=\"primary\"\n onClick={() => onTryAgain()}\n >\n Try Again\n </Button>\n </Grid>\n </>\n )}\n\n {!!nextOffset && !loadError && isLoading !== 'INITIAL' && (\n <Box padding={4} className=\"ob-form-store-load-more-button-container\">\n <Grid container justifyContent=\"center\">\n <Button\n className=\"ob-form-store-load-more-button\"\n variant=\"outlined\"\n color=\"primary\"\n onClick={() => onTryAgain(nextOffset)}\n loading={isLoading === 'MORE'}\n size=\"large\"\n loadingPosition=\"start\"\n startIcon={<MaterialIcon>read_more</MaterialIcon>}\n classes={{\n loadingIndicator: 'ob-form-store-loading-more-indicator',\n }}\n >\n Load More\n </Button>\n </Grid>\n </Box>\n )}\n </FormStoreTableContext.Provider>\n )\n}\n"]}
@@ -13,9 +13,7 @@ function OneBlinkFormStoreClearFiltersButton(props) {
13
13
  ...currentParameters,
14
14
  filters: undefined,
15
15
  }), false);
16
- },
17
- // eslint-disable-next-line react/no-children-prop
18
- children: _jsx(_Fragment, { children: "Clear Filters" }), ...props }));
16
+ }, children: _jsx(_Fragment, { children: "Clear Filters" }), ...props }));
19
17
  }
20
18
  /**
21
19
  * @param props
@@ -1 +1 @@
1
- {"version":3,"file":"OneBlinkFormStoreClearFiltersButton.js","sourceRoot":"","sources":["../../../src/components/formStore/OneBlinkFormStoreClearFiltersButton.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,wBAAwB,MAAM,4BAA4B,CAAA;AACjE,OAAO,YAAY,MAAM,iBAAiB,CAAA;AAG1C,SAAS,mCAAmC,CAC1C,KAA0C;IAE1C,MAAM,EAAE,kBAAkB,EAAE,UAAU,EAAE,GAAG,wBAAwB,EAAE,CAAA;IACrE,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACpC,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAA;IACvE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;IACxB,OAAO,CACL,KAAC,MAAM,IACL,SAAS,EAAC,oCAAoC,EAC9C,SAAS,EAAE,KAAC,YAAY,8BAA2B,EACnD,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,GAAG,EAAE;YACZ,kBAAkB,CAChB,CAAC,iBAAuD,EAAE,EAAE,CAAC,CAAC;gBAC5D,GAAG,iBAAiB;gBACpB,OAAO,EAAE,SAAS;aACnB,CAAC,EACF,KAAK,CACN,CAAA;QACH,CAAC;QACD,kDAAkD;QAClD,QAAQ,EAAE,8CAAkB,KACxB,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,eAAe,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport { Button } from '@mui/material'\nimport useFormStoreTableContext from './useFormStoreTableContext'\nimport MaterialIcon from '../MaterialIcon'\nimport { formStoreService } from '@oneblink/apps'\n\nfunction OneBlinkFormStoreClearFiltersButton(\n props: React.ComponentProps<typeof Button>,\n) {\n const { onChangeParameters, parameters } = useFormStoreTableContext()\n const isDisabled = React.useMemo(() => {\n return !parameters.filters || !Object.keys(parameters.filters).length\n }, [parameters.filters])\n return (\n <Button\n className=\"ob-form-store-clear-filters-button\"\n startIcon={<MaterialIcon>filter_list</MaterialIcon>}\n disabled={isDisabled}\n onClick={() => {\n onChangeParameters(\n (currentParameters: formStoreService.FormStoreParameters) => ({\n ...currentParameters,\n filters: undefined,\n }),\n false,\n )\n }}\n // eslint-disable-next-line react/no-children-prop\n children={<>Clear Filters</>}\n {...props}\n />\n )\n}\n\n/**\n * @param props\n * @returns\n * @group Components\n */\nexport default React.memo(OneBlinkFormStoreClearFiltersButton)\n"]}
1
+ {"version":3,"file":"OneBlinkFormStoreClearFiltersButton.js","sourceRoot":"","sources":["../../../src/components/formStore/OneBlinkFormStoreClearFiltersButton.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,wBAAwB,MAAM,4BAA4B,CAAA;AACjE,OAAO,YAAY,MAAM,iBAAiB,CAAA;AAG1C,SAAS,mCAAmC,CAC1C,KAA0C;IAE1C,MAAM,EAAE,kBAAkB,EAAE,UAAU,EAAE,GAAG,wBAAwB,EAAE,CAAA;IACrE,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACpC,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAA;IACvE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;IACxB,OAAO,CACL,KAAC,MAAM,IACL,SAAS,EAAC,oCAAoC,EAC9C,SAAS,EAAE,KAAC,YAAY,8BAA2B,EACnD,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,GAAG,EAAE;YACZ,kBAAkB,CAChB,CAAC,iBAAuD,EAAE,EAAE,CAAC,CAAC;gBAC5D,GAAG,iBAAiB;gBACpB,OAAO,EAAE,SAAS;aACnB,CAAC,EACF,KAAK,CACN,CAAA;QACH,CAAC,EAED,QAAQ,EAAE,8CAAkB,KACxB,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,eAAe,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport { Button } from '@mui/material'\nimport useFormStoreTableContext from './useFormStoreTableContext'\nimport MaterialIcon from '../MaterialIcon'\nimport { formStoreService } from '../../apps'\n\nfunction OneBlinkFormStoreClearFiltersButton(\n props: React.ComponentProps<typeof Button>,\n) {\n const { onChangeParameters, parameters } = useFormStoreTableContext()\n const isDisabled = React.useMemo(() => {\n return !parameters.filters || !Object.keys(parameters.filters).length\n }, [parameters.filters])\n return (\n <Button\n className=\"ob-form-store-clear-filters-button\"\n startIcon={<MaterialIcon>filter_list</MaterialIcon>}\n disabled={isDisabled}\n onClick={() => {\n onChangeParameters(\n (currentParameters: formStoreService.FormStoreParameters) => ({\n ...currentParameters,\n filters: undefined,\n }),\n false,\n )\n }}\n \n children={<>Clear Filters</>}\n {...props}\n />\n )\n}\n\n/**\n * @param props\n * @returns\n * @group Components\n */\nexport default React.memo(OneBlinkFormStoreClearFiltersButton)\n"]}
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  import * as React from 'react';
3
3
  import { Tooltip, Dialog, DialogTitle, DialogContent, DialogContentText, DialogActions, Button, } from '@mui/material';
4
4
  import ErrorSnackbar from '../ErrorSnackbar';
5
- import { formStoreService } from '@oneblink/apps';
5
+ import { formStoreService } from '../../apps';
6
6
  import useFormStoreTableContext from './useFormStoreTableContext';
7
7
  import MaterialIcon from '../MaterialIcon';
8
8
  function OneBlinkFormStoreDownloadButton(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"OneBlinkFormStoreDownloadButton.js","sourceRoot":"","sources":["../../../src/components/formStore/OneBlinkFormStoreDownloadButton.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport {\n Tooltip,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogContentText,\n DialogActions,\n Button,\n} from '@mui/material'\nimport ErrorSnackbar from '../ErrorSnackbar'\nimport { formStoreService } from '@oneblink/apps'\nimport useFormStoreTableContext from './useFormStoreTableContext'\nimport MaterialIcon from '../MaterialIcon'\n\nfunction OneBlinkFormStoreDownloadButton(\n props: React.ComponentProps<typeof Button>,\n) {\n const { getVisibleFlatColumns, parameters, form } = useFormStoreTableContext()\n const [\n { isDownloadingCsv, isPromptingDownloadCsv, downloadingCsvError },\n setState,\n ] = React.useState<{\n isDownloadingCsv: boolean\n isPromptingDownloadCsv: boolean\n downloadingCsvError: Error | null\n }>({\n isDownloadingCsv: false,\n isPromptingDownloadCsv: false,\n downloadingCsvError: null,\n })\n\n const clearError = React.useCallback(() => {\n setState((currentState) => ({\n ...currentState,\n downloadingCsvError: null,\n }))\n }, [])\n\n const downloadCsv = React.useCallback(async () => {\n setState({\n isPromptingDownloadCsv: false,\n isDownloadingCsv: true,\n downloadingCsvError: null,\n })\n try {\n await formStoreService.exportFormStoreRecords(form.name, {\n formId: form.id,\n includeColumns: getVisibleFlatColumns().map(\n (visibleColumn) => visibleColumn.id,\n ),\n ...parameters,\n })\n setState((currentState) => ({\n ...currentState,\n isDownloadingCsv: false,\n downloadingCsvError: null,\n }))\n } catch (error) {\n setState((currentState) => ({\n ...currentState,\n isDownloadingCsv: false,\n downloadingCsvError: error as Error,\n }))\n }\n }, [form, parameters, getVisibleFlatColumns])\n\n const promptDownloadCsv = React.useCallback(() => {\n if (\n !parameters.unwindRepeatableSets &&\n getVisibleFlatColumns().some(\n (c) => c.columnDef.meta?.formElementType === 'repeatableSet',\n )\n ) {\n setState((currentState) => ({\n ...currentState,\n downloadingCsvError: null,\n isPromptingDownloadCsv: true,\n }))\n return\n }\n downloadCsv()\n }, [downloadCsv, parameters.unwindRepeatableSets, getVisibleFlatColumns])\n\n const cancelPromptDownloadCsv = React.useCallback(() => {\n setState((currentState) => ({\n ...currentState,\n isPromptingDownloadCsv: false,\n }))\n }, [])\n\n return (\n <>\n <Tooltip title=\"Download submission data as a CSV file\">\n <Button\n className=\"ob-form-store-download-csv-button\"\n type=\"button\"\n loading={isDownloadingCsv}\n loadingPosition=\"start\"\n startIcon={<MaterialIcon>download</MaterialIcon>}\n onClick={promptDownloadCsv}\n {...props}\n >\n Download\n </Button>\n </Tooltip>\n\n <ErrorSnackbar open={!!downloadingCsvError} onClose={clearError}>\n <span data-cypress=\"edit-dialog-error-message\">\n {downloadingCsvError && downloadingCsvError.message}\n </span>\n </ErrorSnackbar>\n\n <Dialog\n open={isPromptingDownloadCsv}\n maxWidth=\"sm\"\n fullWidth\n onClose={cancelPromptDownloadCsv}\n >\n <DialogTitle>Column Configuration</DialogTitle>\n <DialogContent>\n <DialogContentText>\n Repeatable set columns will not be included in the export unless the{' '}\n <b>Output a row per repeatable set entry</b> option is turned on\n under <b>Column Configuration</b>.\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button onClick={cancelPromptDownloadCsv} variant=\"text\">\n Cancel\n </Button>\n <Button\n onClick={downloadCsv}\n startIcon={<MaterialIcon>download</MaterialIcon>}\n color=\"primary\"\n variant=\"contained\"\n >\n Download\n </Button>\n </DialogActions>\n </Dialog>\n </>\n )\n}\n\n/**\n * @param props\n * @returns\n * @group Components\n */\nexport default React.memo(OneBlinkFormStoreDownloadButton)\n"]}
1
+ {"version":3,"file":"OneBlinkFormStoreDownloadButton.js","sourceRoot":"","sources":["../../../src/components/formStore/OneBlinkFormStoreDownloadButton.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport {\n Tooltip,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogContentText,\n DialogActions,\n Button,\n} from '@mui/material'\nimport ErrorSnackbar from '../ErrorSnackbar'\nimport { formStoreService } from '../../apps'\nimport useFormStoreTableContext from './useFormStoreTableContext'\nimport MaterialIcon from '../MaterialIcon'\n\nfunction OneBlinkFormStoreDownloadButton(\n props: React.ComponentProps<typeof Button>,\n) {\n const { getVisibleFlatColumns, parameters, form } = useFormStoreTableContext()\n const [\n { isDownloadingCsv, isPromptingDownloadCsv, downloadingCsvError },\n setState,\n ] = React.useState<{\n isDownloadingCsv: boolean\n isPromptingDownloadCsv: boolean\n downloadingCsvError: Error | null\n }>({\n isDownloadingCsv: false,\n isPromptingDownloadCsv: false,\n downloadingCsvError: null,\n })\n\n const clearError = React.useCallback(() => {\n setState((currentState) => ({\n ...currentState,\n downloadingCsvError: null,\n }))\n }, [])\n\n const downloadCsv = React.useCallback(async () => {\n setState({\n isPromptingDownloadCsv: false,\n isDownloadingCsv: true,\n downloadingCsvError: null,\n })\n try {\n await formStoreService.exportFormStoreRecords(form.name, {\n formId: form.id,\n includeColumns: getVisibleFlatColumns().map(\n (visibleColumn) => visibleColumn.id,\n ),\n ...parameters,\n })\n setState((currentState) => ({\n ...currentState,\n isDownloadingCsv: false,\n downloadingCsvError: null,\n }))\n } catch (error) {\n setState((currentState) => ({\n ...currentState,\n isDownloadingCsv: false,\n downloadingCsvError: error as Error,\n }))\n }\n }, [form, parameters, getVisibleFlatColumns])\n\n const promptDownloadCsv = React.useCallback(() => {\n if (\n !parameters.unwindRepeatableSets &&\n getVisibleFlatColumns().some(\n (c) => c.columnDef.meta?.formElementType === 'repeatableSet',\n )\n ) {\n setState((currentState) => ({\n ...currentState,\n downloadingCsvError: null,\n isPromptingDownloadCsv: true,\n }))\n return\n }\n downloadCsv()\n }, [downloadCsv, parameters.unwindRepeatableSets, getVisibleFlatColumns])\n\n const cancelPromptDownloadCsv = React.useCallback(() => {\n setState((currentState) => ({\n ...currentState,\n isPromptingDownloadCsv: false,\n }))\n }, [])\n\n return (\n <>\n <Tooltip title=\"Download submission data as a CSV file\">\n <Button\n className=\"ob-form-store-download-csv-button\"\n type=\"button\"\n loading={isDownloadingCsv}\n loadingPosition=\"start\"\n startIcon={<MaterialIcon>download</MaterialIcon>}\n onClick={promptDownloadCsv}\n {...props}\n >\n Download\n </Button>\n </Tooltip>\n\n <ErrorSnackbar open={!!downloadingCsvError} onClose={clearError}>\n <span data-cypress=\"edit-dialog-error-message\">\n {downloadingCsvError && downloadingCsvError.message}\n </span>\n </ErrorSnackbar>\n\n <Dialog\n open={isPromptingDownloadCsv}\n maxWidth=\"sm\"\n fullWidth\n onClose={cancelPromptDownloadCsv}\n >\n <DialogTitle>Column Configuration</DialogTitle>\n <DialogContent>\n <DialogContentText>\n Repeatable set columns will not be included in the export unless the{' '}\n <b>Output a row per repeatable set entry</b> option is turned on\n under <b>Column Configuration</b>.\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button onClick={cancelPromptDownloadCsv} variant=\"text\">\n Cancel\n </Button>\n <Button\n onClick={downloadCsv}\n startIcon={<MaterialIcon>download</MaterialIcon>}\n color=\"primary\"\n variant=\"contained\"\n >\n Download\n </Button>\n </DialogActions>\n </Dialog>\n </>\n )\n}\n\n/**\n * @param props\n * @returns\n * @group Components\n */\nexport default React.memo(OneBlinkFormStoreDownloadButton)\n"]}
@@ -2,7 +2,7 @@ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import LoadingWithMessage from '../LoadingWithMessage';
4
4
  import ErrorMessage from '../messages/ErrorMessage';
5
- import { formStoreService } from '@oneblink/apps';
5
+ import { formStoreService } from '../../apps';
6
6
  import useLoadDataState from '../../hooks/useLoadDataState';
7
7
  import { FormStoreTableProvider } from './FormStoreTableProvider';
8
8
  export const FormStoreElementsContext = React.createContext([]);
@@ -1 +1 @@
1
- {"version":3,"file":"OneBlinkFormStoreProvider.js","sourceRoot":"","sources":["../../../src/components/formStore/OneBlinkFormStoreProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,kBAAkB,MAAM,uBAAuB,CAAA;AACtD,OAAO,YAAY,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,gBAAgB,MAAM,8BAA8B,CAAA;AAE3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAIjE,MAAM,CAAC,MAAM,wBAAwB,GACnC,KAAK,CAAC,aAAa,CAAgC,EAAE,CAAC,CAAA;AAExD;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,EACxC,IAAI,EACJ,QAAQ,GAIT;IACC,MAAM,wBAAwB,GAAG,KAAK,CAAC,WAAW,CAChD,CAAC,WAAyB,EAAE,EAAE;QAC5B,OAAO,gBAAgB,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAA;IACtE,CAAC,EACD,CAAC,IAAI,CAAC,EAAE,CAAC,CACV,CAAA;IACD,MAAM,CAAC,wBAAwB,EAAE,UAAU,CAAC,GAAG,gBAAgB,CAC7D,wBAAwB,CACzB,CAAA;IAED,IAAI,wBAAwB,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClD,OAAO,KAAC,kBAAkB,KAAG,CAAA;IAC/B,CAAC;IAED,IAAI,wBAAwB,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAChD,OAAO,CACL,4BACE,KAAC,YAAY,IACX,KAAK,EAAC,kCAAkC,EACxC,SAAS,QACT,UAAU,EAAE,UAAU,YAErB,wBAAwB,CAAC,KAAK,CAAC,OAAO,GAC1B,GACd,CACJ,CAAA;IACH,CAAC;IAED,OAAO,CACL,KAAC,wBAAwB,CAAC,QAAQ,IAChC,KAAK,EAAE,wBAAwB,CAAC,MAAM,CAAC,YAAY,YAEnD,KAAC,sBAAsB,IAAC,IAAI,EAAE,IAAI,YAAG,QAAQ,GAA0B,GACrC,CACrC,CAAA;AACH,CAAC","sourcesContent":["import * as React from 'react'\nimport LoadingWithMessage from '../LoadingWithMessage'\nimport ErrorMessage from '../messages/ErrorMessage'\nimport { formStoreService } from '@oneblink/apps'\nimport useLoadDataState from '../../hooks/useLoadDataState'\nimport { FormTypes } from '@oneblink/types'\nimport { FormStoreTableProvider } from './FormStoreTableProvider'\n\nexport type FormStoreElementsContextValue = FormTypes.FormElementWithName[]\n\nexport const FormStoreElementsContext =\n React.createContext<FormStoreElementsContextValue>([])\n\n/**\n * @param props\n * @returns\n * @group Components\n */\nexport function OneBlinkFormStoreProvider({\n form,\n children,\n}: {\n form: FormTypes.Form\n children: React.ReactNode\n}) {\n const fetchFormStoreDefinition = React.useCallback(\n (abortSignal?: AbortSignal) => {\n return formStoreService.getFormStoreDefinition(form.id, abortSignal)\n },\n [form.id],\n )\n const [formStoreDefinitionState, onTryAgain] = useLoadDataState(\n fetchFormStoreDefinition,\n )\n\n if (formStoreDefinitionState.status === 'LOADING') {\n return <LoadingWithMessage />\n }\n\n if (formStoreDefinitionState.status === 'ERROR') {\n return (\n <>\n <ErrorMessage\n title=\"Error Retrieving Form Definition\"\n gutterTop\n onTryAgain={onTryAgain}\n >\n {formStoreDefinitionState.error.message}\n </ErrorMessage>\n </>\n )\n }\n\n return (\n <FormStoreElementsContext.Provider\n value={formStoreDefinitionState.result.formElements}\n >\n <FormStoreTableProvider form={form}>{children}</FormStoreTableProvider>\n </FormStoreElementsContext.Provider>\n )\n}\n"]}
1
+ {"version":3,"file":"OneBlinkFormStoreProvider.js","sourceRoot":"","sources":["../../../src/components/formStore/OneBlinkFormStoreProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,kBAAkB,MAAM,uBAAuB,CAAA;AACtD,OAAO,YAAY,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,gBAAgB,MAAM,8BAA8B,CAAA;AAE3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAIjE,MAAM,CAAC,MAAM,wBAAwB,GACnC,KAAK,CAAC,aAAa,CAAgC,EAAE,CAAC,CAAA;AAExD;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,EACxC,IAAI,EACJ,QAAQ,GAIT;IACC,MAAM,wBAAwB,GAAG,KAAK,CAAC,WAAW,CAChD,CAAC,WAAyB,EAAE,EAAE;QAC5B,OAAO,gBAAgB,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAA;IACtE,CAAC,EACD,CAAC,IAAI,CAAC,EAAE,CAAC,CACV,CAAA;IACD,MAAM,CAAC,wBAAwB,EAAE,UAAU,CAAC,GAAG,gBAAgB,CAC7D,wBAAwB,CACzB,CAAA;IAED,IAAI,wBAAwB,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClD,OAAO,KAAC,kBAAkB,KAAG,CAAA;IAC/B,CAAC;IAED,IAAI,wBAAwB,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAChD,OAAO,CACL,4BACE,KAAC,YAAY,IACX,KAAK,EAAC,kCAAkC,EACxC,SAAS,QACT,UAAU,EAAE,UAAU,YAErB,wBAAwB,CAAC,KAAK,CAAC,OAAO,GAC1B,GACd,CACJ,CAAA;IACH,CAAC;IAED,OAAO,CACL,KAAC,wBAAwB,CAAC,QAAQ,IAChC,KAAK,EAAE,wBAAwB,CAAC,MAAM,CAAC,YAAY,YAEnD,KAAC,sBAAsB,IAAC,IAAI,EAAE,IAAI,YAAG,QAAQ,GAA0B,GACrC,CACrC,CAAA;AACH,CAAC","sourcesContent":["import * as React from 'react'\nimport LoadingWithMessage from '../LoadingWithMessage'\nimport ErrorMessage from '../messages/ErrorMessage'\nimport { formStoreService } from '../../apps'\nimport useLoadDataState from '../../hooks/useLoadDataState'\nimport { FormTypes } from '@oneblink/types'\nimport { FormStoreTableProvider } from './FormStoreTableProvider'\n\nexport type FormStoreElementsContextValue = FormTypes.FormElementWithName[]\n\nexport const FormStoreElementsContext =\n React.createContext<FormStoreElementsContextValue>([])\n\n/**\n * @param props\n * @returns\n * @group Components\n */\nexport function OneBlinkFormStoreProvider({\n form,\n children,\n}: {\n form: FormTypes.Form\n children: React.ReactNode\n}) {\n const fetchFormStoreDefinition = React.useCallback(\n (abortSignal?: AbortSignal) => {\n return formStoreService.getFormStoreDefinition(form.id, abortSignal)\n },\n [form.id],\n )\n const [formStoreDefinitionState, onTryAgain] = useLoadDataState(\n fetchFormStoreDefinition,\n )\n\n if (formStoreDefinitionState.status === 'LOADING') {\n return <LoadingWithMessage />\n }\n\n if (formStoreDefinitionState.status === 'ERROR') {\n return (\n <>\n <ErrorMessage\n title=\"Error Retrieving Form Definition\"\n gutterTop\n onTryAgain={onTryAgain}\n >\n {formStoreDefinitionState.error.message}\n </ErrorMessage>\n </>\n )\n }\n\n return (\n <FormStoreElementsContext.Provider\n value={formStoreDefinitionState.result.formElements}\n >\n <FormStoreTableProvider form={form}>{children}</FormStoreTableProvider>\n </FormStoreElementsContext.Provider>\n )\n}\n"]}
@@ -5,9 +5,7 @@ import useFormStoreTableContext from './useFormStoreTableContext';
5
5
  import MaterialIcon from '../MaterialIcon';
6
6
  function OneBlinkFormStoreRefreshButton(props) {
7
7
  const { onRefresh, submissionIdValidationMessage } = useFormStoreTableContext();
8
- return (_jsx(Button, { className: "ob-form-store-refresh-button", startIcon: _jsx(MaterialIcon, { children: "sync" }), onClick: onRefresh, color: "primary", variant: "contained", disabled: !!submissionIdValidationMessage,
9
- // eslint-disable-next-line react/no-children-prop
10
- children: _jsx(_Fragment, { children: "Refresh" }), ...props }));
8
+ return (_jsx(Button, { className: "ob-form-store-refresh-button", startIcon: _jsx(MaterialIcon, { children: "sync" }), onClick: onRefresh, color: "primary", variant: "contained", disabled: !!submissionIdValidationMessage, children: _jsx(_Fragment, { children: "Refresh" }), ...props }));
11
9
  }
12
10
  /**
13
11
  * @param props