@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":"generate-default-data.js","sourceRoot":"","sources":["../../src/services/generate-default-data.ts"],"names":[],"mappings":"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","sourcesContent":["import { v4 as uuidv4 } from 'uuid'\nimport { FormTypes, SubmissionTypes } from '@oneblink/types'\nimport { attachmentsService, localisationService } from '@oneblink/apps'\nimport { prepareNewAttachment } from './attachments'\nimport { dataUriToBlobSync } from './blob-utils'\nimport generateCivicaNameRecordElements from './generateCivicaNameRecordElements'\n\nexport const ENTRY_ID_PROPERTY_NAME = '$__id'\nexport const generateNewRepeatableSetEntry = () => ({\n [ENTRY_ID_PROPERTY_NAME]: uuidv4(),\n})\n\nfunction parseAttachment(\n value: unknown,\n): attachmentsService.Attachment | undefined {\n return parseUnknownAsRecord(value, (record) => {\n // Check for attachments that have not been uploaded yet\n if (\n typeof record.type === 'string' &&\n typeof record._id === 'string' &&\n typeof record.fileName === 'string' &&\n typeof record.isPrivate === 'boolean'\n ) {\n return record as attachmentsService.Attachment\n }\n\n // Check for attachments that have been uploaded already\n if (\n typeof record.id === 'string' &&\n typeof record.fileName === 'string' &&\n typeof record.url === 'string' &&\n typeof record.contentType === 'string' &&\n typeof record.isPrivate === 'boolean' &&\n parseUnknownAsRecord(\n record.s3,\n (s3) =>\n typeof s3.bucket === 'string' &&\n typeof s3.key === 'string' &&\n typeof s3.region === 'string',\n )\n ) {\n return record as SubmissionTypes.FormSubmissionAttachment\n }\n })\n}\n\nfunction parseFile(\n element: FormTypes.FormElementBinaryStorage,\n value: unknown,\n): attachmentsService.Attachment | undefined {\n return parseUnknownAsRecord(value, (record) => {\n if (\n record.type === undefined &&\n typeof record.fileName === 'string' &&\n typeof record.data === 'string'\n ) {\n const blob = dataUriToBlobSync(record.data)\n return prepareNewAttachment(blob, record.fileName, element)\n }\n\n return parseAttachment(record)\n })\n}\n\nfunction parseFiles(\n element: FormTypes.FormElementBinaryStorage,\n value: unknown,\n): Array<attachmentsService.Attachment> | undefined {\n if (Array.isArray(value)) {\n const files = value.reduce<Array<attachmentsService.Attachment>>(\n (files, v) => {\n const file = parseFile(element, v)\n if (file) {\n files.push(file)\n }\n return files\n },\n [],\n )\n if (files.length) {\n return files\n }\n }\n}\n\nexport function parseDateValue({\n dateOnly,\n daysOffset,\n value,\n}: {\n dateOnly: boolean\n daysOffset: number | undefined\n value: unknown\n}): string | undefined {\n if (typeof value !== 'string') {\n return\n }\n\n const date = localisationService.generateDate({ daysOffset, value })\n if (!date) {\n return\n }\n\n if (dateOnly) {\n const { year, month, day } = new Intl.DateTimeFormat(\n localisationService.getLocale(),\n {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n },\n )\n .formatToParts(date)\n .reduce(\n (memo, { type, value }) => ({\n ...memo,\n [type]: value,\n }),\n {\n year: '',\n month: '',\n day: '',\n },\n )\n // This is a workaround for an iOS 15 bug where the year was being returned as 2 digits: https://bugs.webkit.org/show_bug.cgi?id=230827\n const fixedYear = year.length === 2 ? date.getFullYear() : year\n return `${fixedYear}-${month}-${day}`\n } else {\n return date.toISOString()\n }\n}\n\nfunction parseStringValue(value: unknown) {\n if (typeof value === 'string' && !!value) {\n return value\n }\n return\n}\n\nfunction parseNumberValue(value: unknown) {\n if (typeof value === 'number' && !isNaN(value)) {\n return value\n }\n return\n}\n\nfunction parseStringArrayValue(value: unknown) {\n if (Array.isArray(value)) {\n return value.filter((val) => typeof val === 'string')\n }\n return\n}\n\nfunction parseUnknownAsRecord<T>(\n value: unknown,\n validate: (value: Record<string, unknown>) => T | undefined,\n): T | undefined {\n if (typeof value === 'object' && value !== null) {\n return validate(value as Record<string, unknown>)\n }\n}\n\nfunction parseUnknownAsArray<T>(\n value: unknown,\n validate: (value: unknown[]) => T[] | undefined,\n): T[] | undefined {\n if (Array.isArray(value)) {\n return validate(value)\n }\n}\n\nfunction parseFormSubmissionModel(\n elements: FormTypes.FormElement[],\n value: unknown,\n): SubmissionTypes.S3SubmissionData['submission'] | undefined {\n return parseUnknownAsRecord(value, (record) => {\n return elements.reduce<SubmissionTypes.S3SubmissionData['submission']>(\n (model, element) => {\n switch (element.type) {\n case 'section':\n case 'page': {\n const partialModel = parseFormSubmissionModel(\n element.elements,\n model,\n )\n Object.assign(model, partialModel)\n break\n }\n default: {\n model[element.name] = parsePreFillData(\n element,\n record[element.name],\n )\n }\n }\n\n return model\n },\n record,\n )\n })\n}\n\nfunction parsePreFillData(\n element: FormTypes.FormElement,\n value: unknown,\n): unknown {\n switch (element.type) {\n // If a form element is pre-filled with the \"legacy\" storage type\n // format (base64), the data should be uploaded to S3 and set in the\n // submission data. This is to cater for instances of pre-fill data\n // being created before the \"legacy\" storage type was removed.\n case 'camera':\n case 'draw': {\n if (!value) {\n break\n } else if (typeof value === 'string') {\n const blob = dataUriToBlobSync(value)\n return prepareNewAttachment(blob, 'file', element)\n } else {\n return parseAttachment(value)\n }\n }\n case 'files': {\n return parseFiles(element, value)\n }\n case 'compliance': {\n return parseUnknownAsRecord(value, (record) => {\n const selectedValue = parseStringValue(record.value)\n const notes = parseStringValue(record.notes)\n if (selectedValue) {\n return {\n value: selectedValue,\n notes,\n files: parseFiles(element, record.files),\n }\n }\n })\n }\n case 'time':\n case 'datetime':\n case 'date': {\n return parseDateValue({\n dateOnly: element.type === 'date',\n daysOffset: undefined,\n value,\n })\n }\n case 'bsb': {\n const text = parseStringValue(value)\n if (text?.match(/\\d{3}-\\d{3}/)) {\n return text\n }\n return\n }\n case 'text':\n case 'barcodeScanner':\n case 'email':\n case 'telephone':\n case 'textarea':\n case 'radio':\n case 'autocomplete': {\n return parseStringValue(value)\n }\n case 'select': {\n if (element.multi) {\n return parseStringArrayValue(value)\n } else {\n return parseStringValue(value)\n }\n }\n case 'checkboxes': {\n return parseStringArrayValue(value)\n }\n case 'calculation':\n case 'number': {\n return parseNumberValue(value)\n }\n case 'boolean': {\n return typeof value === 'boolean' ? value : false\n }\n case 'abn': {\n return parseUnknownAsRecord(value, (record) => {\n const hasABN = parseUnknownAsRecord(record.ABN, (ABN) => {\n if (Array.isArray(ABN)) {\n return ABN.some((abn) => !!parseStringValue(abn.identifierValue))\n }\n if (parseStringValue(ABN.identifierValue)) {\n return true\n }\n })\n if (!hasABN) {\n return\n }\n return record\n })\n }\n case 'pointCadastralParcel': {\n return parseUnknownAsRecord(value, (record) => {\n const hasParcelId = parseUnknownAsRecord(\n record.parcelBundle,\n (parcelBundles) => {\n return parseUnknownAsRecord(parcelBundles?.[0], (parcelBundle) => {\n return parseStringValue(parcelBundle?.parcelId)\n })\n },\n )\n if (hasParcelId) {\n return record\n }\n })\n }\n case 'pointAddress':\n case 'geoscapeAddress': {\n return parseUnknownAsRecord(value, (record) => {\n if (parseStringValue(record.addressId)) {\n return record\n }\n })\n }\n case 'pointAddressV3': {\n return parseUnknownAsRecord(value, (record) => {\n return parseUnknownAsRecord(record.properties, (properties) => {\n if (parseStringValue(properties.addressId)) {\n return record\n }\n })\n })\n }\n case 'googleAddress': {\n return parseUnknownAsRecord(value, (record) => {\n if (parseStringValue(record.place_id)) {\n return record\n }\n })\n }\n case 'freshdeskDependentField': {\n return parseUnknownAsRecord(value, (record) => {\n if (\n parseStringValue(record.category) &&\n parseStringValue(record.subCategory) &&\n parseStringValue(record.item)\n ) {\n return record\n }\n })\n }\n case 'civicaNameRecord': {\n return parseUnknownAsRecord(value, (record) => {\n if (\n parseStringValue(record.title) &&\n parseStringValue(record.familyName) &&\n Array.isArray(record.streetAddress)\n ) {\n return record\n }\n })\n }\n case 'civicaStreetName': {\n return parseUnknownAsRecord(value, (record) => {\n if (\n parseStringValue(record.formattedAccount) &&\n parseStringValue(record.formattedStreet)\n ) {\n return record\n }\n })\n }\n case 'form': {\n return parseFormSubmissionModel(element.elements || [], value)\n }\n case 'repeatableSet': {\n if (Array.isArray(element.elements) && Array.isArray(value)) {\n return value.reduce((entries, v) => {\n const entry = parseFormSubmissionModel(\n element.elements,\n v\n ? {\n ...generateNewRepeatableSetEntry(),\n ...v,\n }\n : undefined,\n )\n if (entry) {\n entries.push(entry)\n }\n return entries\n }, [])\n }\n break\n }\n case 'location': {\n return parseUnknownAsRecord(value, (record) => {\n const latitude = parseNumberValue(record.latitude)\n const longitude = parseNumberValue(record.longitude)\n if (latitude !== undefined && longitude !== undefined) {\n return {\n latitude,\n longitude,\n zoom: parseNumberValue(record.zoom),\n }\n }\n })\n }\n case 'apiNSWLiquorLicence': {\n return parseUnknownAsRecord(value, (record) => {\n return parseUnknownAsRecord(record.licenceDetail, (licenceDetail) => {\n if (parseStringValue(licenceDetail.licenceNumber)) {\n return record\n }\n })\n })\n }\n case 'arcGISWebMap': {\n return parseUnknownAsRecord(value, (record) => {\n return {\n drawingLayer: parseUnknownAsArray(\n record.drawingLayer,\n (drawingLayer) => drawingLayer,\n ),\n userInput: parseUnknownAsArray(\n record.userInput,\n (userInput) => userInput,\n ),\n layers: parseUnknownAsArray(record.layers, (layers) => {\n if (\n layers.every((layer) =>\n parseUnknownAsRecord(\n layer,\n (layerRecord) =>\n parseStringValue(layerRecord.title) &&\n Array.isArray(layerRecord.graphics),\n ),\n )\n ) {\n return layers\n }\n }),\n view: parseUnknownAsRecord(record.view, (view) => {\n if (\n parseNumberValue(view.latitude) &&\n parseNumberValue(view.longitude) &&\n parseNumberValue(view.zoom)\n ) {\n return view\n }\n }),\n snapshotImages: parseFiles(element, record.snapshotImages),\n }\n })\n }\n case 'lookupButton':\n case 'image':\n case 'html':\n case 'summary':\n case 'captcha':\n case 'heading':\n case 'infoPage':\n case 'page':\n case 'section': {\n return\n }\n default: {\n const never: never = element\n console.warn('Invalid element type used in prefill data', never)\n }\n }\n}\n\nexport default function generateDefaultData(\n elements: FormTypes.FormElement[],\n preFillData: SubmissionTypes.S3SubmissionData['submission'],\n): SubmissionTypes.S3SubmissionData['submission'] {\n return elements.reduce<SubmissionTypes.S3SubmissionData['submission']>(\n (m, el) => {\n if (el.type !== 'page' && el.type !== 'section' && el.name in m) {\n m[el.name] = parsePreFillData(el, m[el.name])\n return m\n }\n\n switch (el.type) {\n case 'checkboxes':\n case 'select':\n case 'autocomplete':\n case 'radio':\n case 'compliance': {\n const dv = getOptionsDefaultValue(el)\n if (dv) {\n if (el.type === 'compliance' && typeof dv === 'string') {\n m[el.name] = {\n value: dv,\n }\n } else {\n m[el.name] = dv\n }\n }\n break\n }\n case 'number': {\n if (typeof el.defaultValue === 'number') {\n m[el.name] = el.defaultValue\n } else if (el.isSlider) {\n m[el.name] = el.minNumber\n } else {\n m[el.name] = undefined\n }\n break\n }\n case 'section':\n case 'page': {\n if (Array.isArray(el.elements)) {\n Object.assign(m, generateDefaultData(el.elements, m))\n }\n break\n }\n case 'civicaNameRecord': {\n const nestedElements = generateCivicaNameRecordElements(el, [])\n m[el.name] = generateDefaultData(nestedElements, {\n ...el.defaultValue,\n })\n break\n }\n case 'form': {\n if (Array.isArray(el.elements)) {\n m[el.name] = generateDefaultData(el.elements, {})\n }\n break\n }\n case 'repeatableSet': {\n if (\n Array.isArray(el.elements) &&\n typeof el.minSetEntries === 'number'\n ) {\n const minSetEntries = el.minSetEntries\n // add min number of entries by default\n const entries = []\n for (let index = 0; index < minSetEntries; index++) {\n const entry = generateDefaultData(\n el.elements,\n generateNewRepeatableSetEntry(),\n )\n entries.push(entry)\n }\n m[el.name] = entries\n }\n break\n }\n case 'date':\n case 'datetime':\n case 'time': {\n if (el.defaultValue) {\n m[el.name] = parseDateValue({\n dateOnly: el.type === 'date',\n daysOffset: el.defaultValueDaysOffset,\n value: el.defaultValue,\n })\n }\n break\n }\n case 'camera':\n case 'draw':\n case 'files': {\n m[el.name] = parsePreFillData(el, el.defaultValue)\n break\n }\n case 'freshdeskDependentField':\n case 'geoscapeAddress':\n case 'pointCadastralParcel':\n case 'pointAddress':\n case 'pointAddressV3':\n case 'googleAddress':\n case 'civicaStreetName':\n case 'abn':\n case 'bsb':\n case 'text':\n case 'barcodeScanner':\n case 'email':\n case 'telephone':\n case 'textarea':\n case 'location':\n case 'apiNSWLiquorLicence':\n case 'arcGISWebMap': {\n if (el.defaultValue) {\n m[el.name] = el.defaultValue\n }\n break\n }\n case 'boolean': {\n m[el.name] = el.defaultValue || false\n break\n }\n case 'lookupButton':\n case 'captcha':\n case 'heading':\n case 'html':\n case 'image':\n case 'infoPage':\n case 'calculation':\n case 'summary':\n break\n default: {\n const never: never = el\n console.warn('Default value is not supported for element type', never)\n }\n }\n\n return m\n },\n Object.assign({}, preFillData),\n )\n}\n\nconst getOptionsDefaultValue = (el: FormTypes.FormElementWithOptions) => {\n if (!el.defaultValue) {\n return\n }\n // Cater for dynamic options\n if (el.optionsType === 'DYNAMIC' || el.optionsType === 'FRESHDESK_FIELD') {\n return el.defaultValue\n }\n // Cater for multi-select and checkboxes\n else if ((el.type === 'select' && el.multi) || el.type === 'checkboxes') {\n if (Array.isArray(el.defaultValue) && el.defaultValue.length) {\n return el.defaultValue.reduce((optionValues: string[], optionId) => {\n const option = (el.options || []).find(\n (option) => option.id === optionId,\n )\n if (option) {\n optionValues.push(option.value)\n }\n return optionValues\n }, [])\n }\n } else {\n const option = (el.options || []).find(\n (option) => option.id === el.defaultValue,\n )\n if (option) {\n return option.value\n }\n }\n return\n}\n"]}
1
+ {"version":3,"file":"generate-default-data.js","sourceRoot":"","sources":["../../src/services/generate-default-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,EAAsB,mBAAmB,EAAE,MAAM,SAAS,CAAA;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,gCAAgC,MAAM,oCAAoC,CAAA;AAEjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAA;AAC7C,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,EAAE,CAAC,CAAC;IAClD,CAAC,sBAAsB,CAAC,EAAE,MAAM,EAAE;CACnC,CAAC,CAAA;AAEF,SAAS,eAAe,CACtB,KAAc;IAEd,OAAO,oBAAoB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;QAC5C,wDAAwD;QACxD,IACE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAC/B,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;YAC9B,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;YACnC,OAAO,MAAM,CAAC,SAAS,KAAK,SAAS,EACrC,CAAC;YACD,OAAO,MAAuC,CAAA;QAChD,CAAC;QAED,wDAAwD;QACxD,IACE,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ;YAC7B,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;YACnC,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;YAC9B,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;YACtC,OAAO,MAAM,CAAC,SAAS,KAAK,SAAS;YACrC,oBAAoB,CAClB,MAAM,CAAC,EAAE,EACT,CAAC,EAAE,EAAE,EAAE,CACL,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ;gBAC7B,OAAO,EAAE,CAAC,GAAG,KAAK,QAAQ;gBAC1B,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ,CAChC,EACD,CAAC;YACD,OAAO,MAAkD,CAAA;QAC3D,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,SAAS,CAChB,OAA2C,EAC3C,KAAc;IAEd,OAAO,oBAAoB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;QAC5C,IACE,MAAM,CAAC,IAAI,KAAK,SAAS;YACzB,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;YACnC,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAC/B,CAAC;YACD,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC3C,OAAO,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC7D,CAAC;QAED,OAAO,eAAe,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,OAA2C,EAC3C,KAAc;IAEd,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CACxB,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACX,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;YAClC,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAClB,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC,EACD,EAAE,CACH,CAAA;QACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAC7B,QAAQ,EACR,UAAU,EACV,KAAK,GAKN;IACC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAM;IACR,CAAC;IAED,MAAM,IAAI,GAAG,mBAAmB,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;IACpE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAM;IACR,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,cAAc,CAClD,mBAAmB,CAAC,SAAS,EAAE,EAC/B;YACE,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,SAAS;SACf,CACF;aACE,aAAa,CAAC,IAAI,CAAC;aACnB,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1B,GAAG,IAAI;YACP,CAAC,IAAI,CAAC,EAAE,KAAK;SACd,CAAC,EACF;YACE,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,EAAE;SACR,CACF,CAAA;QACH,uIAAuI;QACvI,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAC/D,OAAO,GAAG,SAAS,IAAI,KAAK,IAAI,GAAG,EAAE,CAAA;IACvC,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACzC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAM;AACR,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAM;AACR,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAA;IACvD,CAAC;IACD,OAAM;AACR,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAc,EACd,QAA2D;IAE3D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,QAAQ,CAAC,KAAgC,CAAC,CAAA;IACnD,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAc,EACd,QAA+C;IAE/C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAAiC,EACjC,KAAc;IAEd,OAAO,oBAAoB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;QAC5C,OAAO,QAAQ,CAAC,MAAM,CACpB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACjB,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;gBACrB,KAAK,SAAS,CAAC;gBACf,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,YAAY,GAAG,wBAAwB,CAC3C,OAAO,CAAC,QAAQ,EAChB,KAAK,CACN,CAAA;oBACD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;oBAClC,MAAK;gBACP,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACR,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAgB,CACpC,OAAO,EACP,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CACrB,CAAA;gBACH,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAA;QACd,CAAC,EACD,MAAM,CACP,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,OAA8B,EAC9B,KAAc;IAEd,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,iEAAiE;QACjE,oEAAoE;QACpE,mEAAmE;QACnE,8DAA8D;QAC9D,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAK;YACP,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrC,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;gBACrC,OAAO,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;YACpD,CAAC;iBAAM,CAAC;gBACN,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,OAAO,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QACnC,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,OAAO,oBAAoB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC5C,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACpD,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC5C,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO;wBACL,KAAK,EAAE,aAAa;wBACpB,KAAK;wBACL,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;qBACzC,CAAA;gBACH,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,MAAM,CAAC;QACZ,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,OAAO,cAAc,CAAC;gBACpB,QAAQ,EAAE,OAAO,CAAC,IAAI,KAAK,MAAM;gBACjC,UAAU,EAAE,SAAS;gBACrB,KAAK;aACN,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;YACpC,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAA;YACb,CAAC;YACD,OAAM;QACR,CAAC;QACD,KAAK,MAAM,CAAC;QACZ,KAAK,gBAAgB,CAAC;QACtB,KAAK,OAAO,CAAC;QACb,KAAK,WAAW,CAAC;QACjB,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAChC,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAA;YACrC,CAAC;iBAAM,CAAC;gBACN,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAA;YAChC,CAAC;QACH,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAA;QACrC,CAAC;QACD,KAAK,aAAa,CAAC;QACnB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAChC,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;QACnD,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,OAAO,oBAAoB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC5C,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;oBACtD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;wBACvB,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAA;oBACnE,CAAC;oBACD,IAAI,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;wBAC1C,OAAO,IAAI,CAAA;oBACb,CAAC;gBACH,CAAC,CAAC,CAAA;gBACF,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAM;gBACR,CAAC;gBACD,OAAO,MAAM,CAAA;YACf,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC5B,OAAO,oBAAoB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC5C,MAAM,WAAW,GAAG,oBAAoB,CACtC,MAAM,CAAC,YAAY,EACnB,CAAC,aAAa,EAAE,EAAE;oBAChB,OAAO,oBAAoB,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE;wBAC/D,OAAO,gBAAgB,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,CAAC,CAAA;oBACjD,CAAC,CAAC,CAAA;gBACJ,CAAC,CACF,CAAA;gBACD,IAAI,WAAW,EAAE,CAAC;oBAChB,OAAO,MAAM,CAAA;gBACf,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,cAAc,CAAC;QACpB,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,OAAO,oBAAoB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC5C,IAAI,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oBACvC,OAAO,MAAM,CAAA;gBACf,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,OAAO,oBAAoB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC5C,OAAO,oBAAoB,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,EAAE;oBAC5D,IAAI,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC3C,OAAO,MAAM,CAAA;oBACf,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,OAAO,oBAAoB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC5C,IAAI,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACtC,OAAO,MAAM,CAAA;gBACf,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,yBAAyB,CAAC,CAAC,CAAC;YAC/B,OAAO,oBAAoB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC5C,IACE,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACjC,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC;oBACpC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAC7B,CAAC;oBACD,OAAO,MAAM,CAAA;gBACf,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,OAAO,oBAAoB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC5C,IACE,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC9B,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC;oBACnC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,EACnC,CAAC;oBACD,OAAO,MAAM,CAAA;gBACf,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,OAAO,oBAAoB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC5C,IACE,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC;oBACzC,gBAAgB,CAAC,MAAM,CAAC,eAAe,CAAC,EACxC,CAAC;oBACD,OAAO,MAAM,CAAA;gBACf,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,OAAO,wBAAwB,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,KAAK,CAAC,CAAA;QAChE,CAAC;QACD,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5D,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;oBACjC,MAAM,KAAK,GAAG,wBAAwB,CACpC,OAAO,CAAC,QAAQ,EAChB,CAAC;wBACC,CAAC,CAAC;4BACE,GAAG,6BAA6B,EAAE;4BAClC,GAAG,CAAC;yBACL;wBACH,CAAC,CAAC,SAAS,CACd,CAAA;oBACD,IAAI,KAAK,EAAE,CAAC;wBACV,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBACrB,CAAC;oBACD,OAAO,OAAO,CAAA;gBAChB,CAAC,EAAE,EAAE,CAAC,CAAA;YACR,CAAC;YACD,MAAK;QACP,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,OAAO,oBAAoB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC5C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAClD,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;gBACpD,IAAI,QAAQ,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBACtD,OAAO;wBACL,QAAQ;wBACR,SAAS;wBACT,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC;qBACpC,CAAA;gBACH,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,OAAO,oBAAoB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC5C,OAAO,oBAAoB,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,aAAa,EAAE,EAAE;oBAClE,IAAI,gBAAgB,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;wBAClD,OAAO,MAAM,CAAA;oBACf,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,OAAO,oBAAoB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC5C,OAAO;oBACL,YAAY,EAAE,mBAAmB,CAC/B,MAAM,CAAC,YAAY,EACnB,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAC/B;oBACD,SAAS,EAAE,mBAAmB,CAC5B,MAAM,CAAC,SAAS,EAChB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CACzB;oBACD,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;wBACpD,IACE,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACrB,oBAAoB,CAClB,KAAK,EACL,CAAC,WAAW,EAAE,EAAE,CACd,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC;4BACnC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CACtC,CACF,EACD,CAAC;4BACD,OAAO,MAAM,CAAA;wBACf,CAAC;oBACH,CAAC,CAAC;oBACF,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;wBAC/C,IACE,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;4BAC/B,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC;4BAChC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAC3B,CAAC;4BACD,OAAO,IAAI,CAAA;wBACb,CAAC;oBACH,CAAC,CAAC;oBACF,cAAc,EAAE,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,cAAc,CAAC;iBAC3D,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,cAAc,CAAC;QACpB,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,OAAM;QACR,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,KAAK,GAAU,OAAO,CAAA;YAC5B,OAAO,CAAC,IAAI,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAA;QAClE,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACzC,QAAiC,EACjC,WAA2D;IAE3D,OAAO,QAAQ,CAAC,MAAM,CACpB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;QACR,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;YAChE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;YAC7C,OAAO,CAAC,CAAA;QACV,CAAC;QAED,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,YAAY,CAAC;YAClB,KAAK,QAAQ,CAAC;YACd,KAAK,cAAc,CAAC;YACpB,KAAK,OAAO,CAAC;YACb,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,EAAE,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAA;gBACrC,IAAI,EAAE,EAAE,CAAC;oBACP,IAAI,EAAE,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;wBACvD,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;4BACX,KAAK,EAAE,EAAE;yBACV,CAAA;oBACH,CAAC;yBAAM,CAAC;wBACN,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;oBACjB,CAAC;gBACH,CAAC;gBACD,MAAK;YACP,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAI,OAAO,EAAE,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;oBACxC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,CAAA;gBAC9B,CAAC;qBAAM,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;oBACvB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAA;gBAC3B,CAAC;qBAAM,CAAC;oBACN,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA;gBACxB,CAAC;gBACD,MAAK;YACP,CAAC;YACD,KAAK,SAAS,CAAC;YACf,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;gBACvD,CAAC;gBACD,MAAK;YACP,CAAC;YACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,cAAc,GAAG,gCAAgC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;gBAC/D,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,cAAc,EAAE;oBAC/C,GAAG,EAAE,CAAC,YAAY;iBACnB,CAAC,CAAA;gBACF,MAAK;YACP,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/B,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;gBACnD,CAAC;gBACD,MAAK;YACP,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,IACE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC;oBAC1B,OAAO,EAAE,CAAC,aAAa,KAAK,QAAQ,EACpC,CAAC;oBACD,MAAM,aAAa,GAAG,EAAE,CAAC,aAAa,CAAA;oBACtC,uCAAuC;oBACvC,MAAM,OAAO,GAAG,EAAE,CAAA;oBAClB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC;wBACnD,MAAM,KAAK,GAAG,mBAAmB,CAC/B,EAAE,CAAC,QAAQ,EACX,6BAA6B,EAAE,CAChC,CAAA;wBACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBACrB,CAAC;oBACD,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,OAAO,CAAA;gBACtB,CAAC;gBACD,MAAK;YACP,CAAC;YACD,KAAK,MAAM,CAAC;YACZ,KAAK,UAAU,CAAC;YAChB,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;oBACpB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;wBAC1B,QAAQ,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM;wBAC5B,UAAU,EAAE,EAAE,CAAC,sBAAsB;wBACrC,KAAK,EAAE,EAAE,CAAC,YAAY;qBACvB,CAAC,CAAA;gBACJ,CAAC;gBACD,MAAK;YACP,CAAC;YACD,KAAK,QAAQ,CAAC;YACd,KAAK,MAAM,CAAC;YACZ,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,CAAA;gBAClD,MAAK;YACP,CAAC;YACD,KAAK,yBAAyB,CAAC;YAC/B,KAAK,iBAAiB,CAAC;YACvB,KAAK,sBAAsB,CAAC;YAC5B,KAAK,cAAc,CAAC;YACpB,KAAK,gBAAgB,CAAC;YACtB,KAAK,eAAe,CAAC;YACrB,KAAK,kBAAkB,CAAC;YACxB,KAAK,KAAK,CAAC;YACX,KAAK,KAAK,CAAC;YACX,KAAK,MAAM,CAAC;YACZ,KAAK,gBAAgB,CAAC;YACtB,KAAK,OAAO,CAAC;YACb,KAAK,WAAW,CAAC;YACjB,KAAK,UAAU,CAAC;YAChB,KAAK,UAAU,CAAC;YAChB,KAAK,qBAAqB,CAAC;YAC3B,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;oBACpB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,CAAA;gBAC9B,CAAC;gBACD,MAAK;YACP,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,IAAI,KAAK,CAAA;gBACrC,MAAK;YACP,CAAC;YACD,KAAK,cAAc,CAAC;YACpB,KAAK,SAAS,CAAC;YACf,KAAK,SAAS,CAAC;YACf,KAAK,MAAM,CAAC;YACZ,KAAK,OAAO,CAAC;YACb,KAAK,UAAU,CAAC;YAChB,KAAK,aAAa,CAAC;YACnB,KAAK,SAAS;gBACZ,MAAK;YACP,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,KAAK,GAAU,EAAE,CAAA;gBACvB,OAAO,CAAC,IAAI,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAA;YACxE,CAAC;QACH,CAAC;QAED,OAAO,CAAC,CAAA;IACV,CAAC,EACD,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,CAC/B,CAAA;AACH,CAAC;AAED,MAAM,sBAAsB,GAAG,CAAC,EAAoC,EAAE,EAAE;IACtE,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;QACrB,OAAM;IACR,CAAC;IACD,4BAA4B;IAC5B,IAAI,EAAE,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,CAAC,WAAW,KAAK,iBAAiB,EAAE,CAAC;QACzE,OAAO,EAAE,CAAC,YAAY,CAAA;IACxB,CAAC;IACD,wCAAwC;SACnC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACxE,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YAC7D,OAAO,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,YAAsB,EAAE,QAAQ,EAAE,EAAE;gBACjE,MAAM,MAAM,GAAG,CAAC,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CACpC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CACnC,CAAA;gBACD,IAAI,MAAM,EAAE,CAAC;oBACX,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACjC,CAAC;gBACD,OAAO,YAAY,CAAA;YACrB,CAAC,EAAE,EAAE,CAAC,CAAA;QACR,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,CAAC,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CACpC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,YAAY,CAC1C,CAAA;QACD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC,KAAK,CAAA;QACrB,CAAC;IACH,CAAC;IACD,OAAM;AACR,CAAC,CAAA","sourcesContent":["import { v4 as uuidv4 } from 'uuid'\nimport { FormTypes, SubmissionTypes } from '@oneblink/types'\nimport { attachmentsService, localisationService } from '../apps'\nimport { prepareNewAttachment } from './attachments'\nimport { dataUriToBlobSync } from './blob-utils'\nimport generateCivicaNameRecordElements from './generateCivicaNameRecordElements'\n\nexport const ENTRY_ID_PROPERTY_NAME = '$__id'\nexport const generateNewRepeatableSetEntry = () => ({\n [ENTRY_ID_PROPERTY_NAME]: uuidv4(),\n})\n\nfunction parseAttachment(\n value: unknown,\n): attachmentsService.Attachment | undefined {\n return parseUnknownAsRecord(value, (record) => {\n // Check for attachments that have not been uploaded yet\n if (\n typeof record.type === 'string' &&\n typeof record._id === 'string' &&\n typeof record.fileName === 'string' &&\n typeof record.isPrivate === 'boolean'\n ) {\n return record as attachmentsService.Attachment\n }\n\n // Check for attachments that have been uploaded already\n if (\n typeof record.id === 'string' &&\n typeof record.fileName === 'string' &&\n typeof record.url === 'string' &&\n typeof record.contentType === 'string' &&\n typeof record.isPrivate === 'boolean' &&\n parseUnknownAsRecord(\n record.s3,\n (s3) =>\n typeof s3.bucket === 'string' &&\n typeof s3.key === 'string' &&\n typeof s3.region === 'string',\n )\n ) {\n return record as SubmissionTypes.FormSubmissionAttachment\n }\n })\n}\n\nfunction parseFile(\n element: FormTypes.FormElementBinaryStorage,\n value: unknown,\n): attachmentsService.Attachment | undefined {\n return parseUnknownAsRecord(value, (record) => {\n if (\n record.type === undefined &&\n typeof record.fileName === 'string' &&\n typeof record.data === 'string'\n ) {\n const blob = dataUriToBlobSync(record.data)\n return prepareNewAttachment(blob, record.fileName, element)\n }\n\n return parseAttachment(record)\n })\n}\n\nfunction parseFiles(\n element: FormTypes.FormElementBinaryStorage,\n value: unknown,\n): Array<attachmentsService.Attachment> | undefined {\n if (Array.isArray(value)) {\n const files = value.reduce<Array<attachmentsService.Attachment>>(\n (files, v) => {\n const file = parseFile(element, v)\n if (file) {\n files.push(file)\n }\n return files\n },\n [],\n )\n if (files.length) {\n return files\n }\n }\n}\n\nexport function parseDateValue({\n dateOnly,\n daysOffset,\n value,\n}: {\n dateOnly: boolean\n daysOffset: number | undefined\n value: unknown\n}): string | undefined {\n if (typeof value !== 'string') {\n return\n }\n\n const date = localisationService.generateDate({ daysOffset, value })\n if (!date) {\n return\n }\n\n if (dateOnly) {\n const { year, month, day } = new Intl.DateTimeFormat(\n localisationService.getLocale(),\n {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n },\n )\n .formatToParts(date)\n .reduce(\n (memo, { type, value }) => ({\n ...memo,\n [type]: value,\n }),\n {\n year: '',\n month: '',\n day: '',\n },\n )\n // This is a workaround for an iOS 15 bug where the year was being returned as 2 digits: https://bugs.webkit.org/show_bug.cgi?id=230827\n const fixedYear = year.length === 2 ? date.getFullYear() : year\n return `${fixedYear}-${month}-${day}`\n } else {\n return date.toISOString()\n }\n}\n\nfunction parseStringValue(value: unknown) {\n if (typeof value === 'string' && !!value) {\n return value\n }\n return\n}\n\nfunction parseNumberValue(value: unknown) {\n if (typeof value === 'number' && !isNaN(value)) {\n return value\n }\n return\n}\n\nfunction parseStringArrayValue(value: unknown) {\n if (Array.isArray(value)) {\n return value.filter((val) => typeof val === 'string')\n }\n return\n}\n\nfunction parseUnknownAsRecord<T>(\n value: unknown,\n validate: (value: Record<string, unknown>) => T | undefined,\n): T | undefined {\n if (typeof value === 'object' && value !== null) {\n return validate(value as Record<string, unknown>)\n }\n}\n\nfunction parseUnknownAsArray<T>(\n value: unknown,\n validate: (value: unknown[]) => T[] | undefined,\n): T[] | undefined {\n if (Array.isArray(value)) {\n return validate(value)\n }\n}\n\nfunction parseFormSubmissionModel(\n elements: FormTypes.FormElement[],\n value: unknown,\n): SubmissionTypes.S3SubmissionData['submission'] | undefined {\n return parseUnknownAsRecord(value, (record) => {\n return elements.reduce<SubmissionTypes.S3SubmissionData['submission']>(\n (model, element) => {\n switch (element.type) {\n case 'section':\n case 'page': {\n const partialModel = parseFormSubmissionModel(\n element.elements,\n model,\n )\n Object.assign(model, partialModel)\n break\n }\n default: {\n model[element.name] = parsePreFillData(\n element,\n record[element.name],\n )\n }\n }\n\n return model\n },\n record,\n )\n })\n}\n\nfunction parsePreFillData(\n element: FormTypes.FormElement,\n value: unknown,\n): unknown {\n switch (element.type) {\n // If a form element is pre-filled with the \"legacy\" storage type\n // format (base64), the data should be uploaded to S3 and set in the\n // submission data. This is to cater for instances of pre-fill data\n // being created before the \"legacy\" storage type was removed.\n case 'camera':\n case 'draw': {\n if (!value) {\n break\n } else if (typeof value === 'string') {\n const blob = dataUriToBlobSync(value)\n return prepareNewAttachment(blob, 'file', element)\n } else {\n return parseAttachment(value)\n }\n }\n case 'files': {\n return parseFiles(element, value)\n }\n case 'compliance': {\n return parseUnknownAsRecord(value, (record) => {\n const selectedValue = parseStringValue(record.value)\n const notes = parseStringValue(record.notes)\n if (selectedValue) {\n return {\n value: selectedValue,\n notes,\n files: parseFiles(element, record.files),\n }\n }\n })\n }\n case 'time':\n case 'datetime':\n case 'date': {\n return parseDateValue({\n dateOnly: element.type === 'date',\n daysOffset: undefined,\n value,\n })\n }\n case 'bsb': {\n const text = parseStringValue(value)\n if (text?.match(/\\d{3}-\\d{3}/)) {\n return text\n }\n return\n }\n case 'text':\n case 'barcodeScanner':\n case 'email':\n case 'telephone':\n case 'textarea':\n case 'radio':\n case 'autocomplete': {\n return parseStringValue(value)\n }\n case 'select': {\n if (element.multi) {\n return parseStringArrayValue(value)\n } else {\n return parseStringValue(value)\n }\n }\n case 'checkboxes': {\n return parseStringArrayValue(value)\n }\n case 'calculation':\n case 'number': {\n return parseNumberValue(value)\n }\n case 'boolean': {\n return typeof value === 'boolean' ? value : false\n }\n case 'abn': {\n return parseUnknownAsRecord(value, (record) => {\n const hasABN = parseUnknownAsRecord(record.ABN, (ABN) => {\n if (Array.isArray(ABN)) {\n return ABN.some((abn) => !!parseStringValue(abn.identifierValue))\n }\n if (parseStringValue(ABN.identifierValue)) {\n return true\n }\n })\n if (!hasABN) {\n return\n }\n return record\n })\n }\n case 'pointCadastralParcel': {\n return parseUnknownAsRecord(value, (record) => {\n const hasParcelId = parseUnknownAsRecord(\n record.parcelBundle,\n (parcelBundles) => {\n return parseUnknownAsRecord(parcelBundles?.[0], (parcelBundle) => {\n return parseStringValue(parcelBundle?.parcelId)\n })\n },\n )\n if (hasParcelId) {\n return record\n }\n })\n }\n case 'pointAddress':\n case 'geoscapeAddress': {\n return parseUnknownAsRecord(value, (record) => {\n if (parseStringValue(record.addressId)) {\n return record\n }\n })\n }\n case 'pointAddressV3': {\n return parseUnknownAsRecord(value, (record) => {\n return parseUnknownAsRecord(record.properties, (properties) => {\n if (parseStringValue(properties.addressId)) {\n return record\n }\n })\n })\n }\n case 'googleAddress': {\n return parseUnknownAsRecord(value, (record) => {\n if (parseStringValue(record.place_id)) {\n return record\n }\n })\n }\n case 'freshdeskDependentField': {\n return parseUnknownAsRecord(value, (record) => {\n if (\n parseStringValue(record.category) &&\n parseStringValue(record.subCategory) &&\n parseStringValue(record.item)\n ) {\n return record\n }\n })\n }\n case 'civicaNameRecord': {\n return parseUnknownAsRecord(value, (record) => {\n if (\n parseStringValue(record.title) &&\n parseStringValue(record.familyName) &&\n Array.isArray(record.streetAddress)\n ) {\n return record\n }\n })\n }\n case 'civicaStreetName': {\n return parseUnknownAsRecord(value, (record) => {\n if (\n parseStringValue(record.formattedAccount) &&\n parseStringValue(record.formattedStreet)\n ) {\n return record\n }\n })\n }\n case 'form': {\n return parseFormSubmissionModel(element.elements || [], value)\n }\n case 'repeatableSet': {\n if (Array.isArray(element.elements) && Array.isArray(value)) {\n return value.reduce((entries, v) => {\n const entry = parseFormSubmissionModel(\n element.elements,\n v\n ? {\n ...generateNewRepeatableSetEntry(),\n ...v,\n }\n : undefined,\n )\n if (entry) {\n entries.push(entry)\n }\n return entries\n }, [])\n }\n break\n }\n case 'location': {\n return parseUnknownAsRecord(value, (record) => {\n const latitude = parseNumberValue(record.latitude)\n const longitude = parseNumberValue(record.longitude)\n if (latitude !== undefined && longitude !== undefined) {\n return {\n latitude,\n longitude,\n zoom: parseNumberValue(record.zoom),\n }\n }\n })\n }\n case 'apiNSWLiquorLicence': {\n return parseUnknownAsRecord(value, (record) => {\n return parseUnknownAsRecord(record.licenceDetail, (licenceDetail) => {\n if (parseStringValue(licenceDetail.licenceNumber)) {\n return record\n }\n })\n })\n }\n case 'arcGISWebMap': {\n return parseUnknownAsRecord(value, (record) => {\n return {\n drawingLayer: parseUnknownAsArray(\n record.drawingLayer,\n (drawingLayer) => drawingLayer,\n ),\n userInput: parseUnknownAsArray(\n record.userInput,\n (userInput) => userInput,\n ),\n layers: parseUnknownAsArray(record.layers, (layers) => {\n if (\n layers.every((layer) =>\n parseUnknownAsRecord(\n layer,\n (layerRecord) =>\n parseStringValue(layerRecord.title) &&\n Array.isArray(layerRecord.graphics),\n ),\n )\n ) {\n return layers\n }\n }),\n view: parseUnknownAsRecord(record.view, (view) => {\n if (\n parseNumberValue(view.latitude) &&\n parseNumberValue(view.longitude) &&\n parseNumberValue(view.zoom)\n ) {\n return view\n }\n }),\n snapshotImages: parseFiles(element, record.snapshotImages),\n }\n })\n }\n case 'lookupButton':\n case 'image':\n case 'html':\n case 'summary':\n case 'captcha':\n case 'heading':\n case 'infoPage':\n case 'page':\n case 'section': {\n return\n }\n default: {\n const never: never = element\n console.warn('Invalid element type used in prefill data', never)\n }\n }\n}\n\nexport default function generateDefaultData(\n elements: FormTypes.FormElement[],\n preFillData: SubmissionTypes.S3SubmissionData['submission'],\n): SubmissionTypes.S3SubmissionData['submission'] {\n return elements.reduce<SubmissionTypes.S3SubmissionData['submission']>(\n (m, el) => {\n if (el.type !== 'page' && el.type !== 'section' && el.name in m) {\n m[el.name] = parsePreFillData(el, m[el.name])\n return m\n }\n\n switch (el.type) {\n case 'checkboxes':\n case 'select':\n case 'autocomplete':\n case 'radio':\n case 'compliance': {\n const dv = getOptionsDefaultValue(el)\n if (dv) {\n if (el.type === 'compliance' && typeof dv === 'string') {\n m[el.name] = {\n value: dv,\n }\n } else {\n m[el.name] = dv\n }\n }\n break\n }\n case 'number': {\n if (typeof el.defaultValue === 'number') {\n m[el.name] = el.defaultValue\n } else if (el.isSlider) {\n m[el.name] = el.minNumber\n } else {\n m[el.name] = undefined\n }\n break\n }\n case 'section':\n case 'page': {\n if (Array.isArray(el.elements)) {\n Object.assign(m, generateDefaultData(el.elements, m))\n }\n break\n }\n case 'civicaNameRecord': {\n const nestedElements = generateCivicaNameRecordElements(el, [])\n m[el.name] = generateDefaultData(nestedElements, {\n ...el.defaultValue,\n })\n break\n }\n case 'form': {\n if (Array.isArray(el.elements)) {\n m[el.name] = generateDefaultData(el.elements, {})\n }\n break\n }\n case 'repeatableSet': {\n if (\n Array.isArray(el.elements) &&\n typeof el.minSetEntries === 'number'\n ) {\n const minSetEntries = el.minSetEntries\n // add min number of entries by default\n const entries = []\n for (let index = 0; index < minSetEntries; index++) {\n const entry = generateDefaultData(\n el.elements,\n generateNewRepeatableSetEntry(),\n )\n entries.push(entry)\n }\n m[el.name] = entries\n }\n break\n }\n case 'date':\n case 'datetime':\n case 'time': {\n if (el.defaultValue) {\n m[el.name] = parseDateValue({\n dateOnly: el.type === 'date',\n daysOffset: el.defaultValueDaysOffset,\n value: el.defaultValue,\n })\n }\n break\n }\n case 'camera':\n case 'draw':\n case 'files': {\n m[el.name] = parsePreFillData(el, el.defaultValue)\n break\n }\n case 'freshdeskDependentField':\n case 'geoscapeAddress':\n case 'pointCadastralParcel':\n case 'pointAddress':\n case 'pointAddressV3':\n case 'googleAddress':\n case 'civicaStreetName':\n case 'abn':\n case 'bsb':\n case 'text':\n case 'barcodeScanner':\n case 'email':\n case 'telephone':\n case 'textarea':\n case 'location':\n case 'apiNSWLiquorLicence':\n case 'arcGISWebMap': {\n if (el.defaultValue) {\n m[el.name] = el.defaultValue\n }\n break\n }\n case 'boolean': {\n m[el.name] = el.defaultValue || false\n break\n }\n case 'lookupButton':\n case 'captcha':\n case 'heading':\n case 'html':\n case 'image':\n case 'infoPage':\n case 'calculation':\n case 'summary':\n break\n default: {\n const never: never = el\n console.warn('Default value is not supported for element type', never)\n }\n }\n\n return m\n },\n Object.assign({}, preFillData),\n )\n}\n\nconst getOptionsDefaultValue = (el: FormTypes.FormElementWithOptions) => {\n if (!el.defaultValue) {\n return\n }\n // Cater for dynamic options\n if (el.optionsType === 'DYNAMIC' || el.optionsType === 'FRESHDESK_FIELD') {\n return el.defaultValue\n }\n // Cater for multi-select and checkboxes\n else if ((el.type === 'select' && el.multi) || el.type === 'checkboxes') {\n if (Array.isArray(el.defaultValue) && el.defaultValue.length) {\n return el.defaultValue.reduce((optionValues: string[], optionId) => {\n const option = (el.options || []).find(\n (option) => option.id === optionId,\n )\n if (option) {\n optionValues.push(option.value)\n }\n return optionValues\n }, [])\n }\n } else {\n const option = (el.options || []).find(\n (option) => option.id === el.defaultValue,\n )\n if (option) {\n return option.value\n }\n }\n return\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { submissionService, typeCastService } from '@oneblink/sdk-core';
2
- import { localisationService } from '@oneblink/apps';
2
+ import { localisationService } from '../apps';
3
3
  import { v4 as uuidv4 } from 'uuid';
4
4
  function processInjectableDynamicOption({ option: resource, submission: rootSubmission, formElements: rootFormElements, contextElements, contextSubmission, ...params }) {
5
5
  return submissionService.processInjectablesInCustomResource({
@@ -1 +1 @@
1
- {"version":3,"file":"injectableOptions.js","sourceRoot":"","sources":["../../src/services/injectableOptions.ts"],"names":[],"mappings":"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","sourcesContent":["import { FormTypes, SubmissionTypes } from '@oneblink/types'\nimport { submissionService, typeCastService } from '@oneblink/sdk-core'\nimport { localisationService } from '@oneblink/apps'\nimport { v4 as uuidv4 } from 'uuid'\nimport { MiscTypes } from '@oneblink/types'\nimport { TaskContext } from '../hooks/useTaskContext'\ntype Option = Pick<FormTypes.ChoiceElementOption, 'value' | 'label'>\n\nfunction processInjectableDynamicOption({\n option: resource,\n submission: rootSubmission,\n formElements: rootFormElements,\n contextElements,\n contextSubmission,\n ...params\n}: {\n option: Option\n submission: SubmissionTypes.S3SubmissionData['submission']\n formElements: FormTypes.FormElement[]\n contextElements: FormTypes.FormElement[]\n taskContext: TaskContext\n userProfile: MiscTypes.UserProfile | undefined\n contextSubmission?: SubmissionTypes.S3SubmissionData['submission']\n}): Map<string, Option> {\n return submissionService.processInjectablesInCustomResource<Option>({\n resource,\n submission: { ...rootSubmission, ...contextSubmission },\n formElements: [...rootFormElements, ...contextElements],\n replaceRootInjectables(option, submission, formElements) {\n // Replace root level form element values\n const replaceableParams: Parameters<\n typeof localisationService.replaceInjectablesWithElementValues\n >[1] = {\n ...params,\n submission,\n formElements,\n task: params.taskContext.task,\n taskGroup: params.taskContext.taskGroup,\n taskGroupInstance: params.taskContext.taskGroupInstance,\n excludeNestedElements: true,\n }\n const {\n text: label,\n hadAllInjectablesReplaced: hadAllInjectablesReplacedInLabel,\n } = localisationService.replaceInjectablesWithElementValues(\n option.label,\n replaceableParams,\n )\n if (!hadAllInjectablesReplacedInLabel) {\n return\n }\n\n const {\n text: value,\n hadAllInjectablesReplaced: hadAllInjectablesReplacedInValue,\n } = localisationService.replaceInjectablesWithElementValues(\n option.value,\n replaceableParams,\n )\n if (!hadAllInjectablesReplacedInValue) {\n return\n }\n\n return [\n label + ' ' + value,\n value,\n {\n value,\n label,\n },\n ]\n },\n prepareNestedInjectables(option, prepare) {\n return {\n value: prepare(option.value),\n label: prepare(option.label),\n }\n },\n })\n}\n\nexport default function processInjectableOption({\n option,\n submission,\n formElements,\n contextElements,\n contextSubmission,\n taskContext,\n userProfile,\n}: {\n option: FormTypes.ChoiceElementOption\n submission: SubmissionTypes.S3SubmissionData['submission']\n formElements: FormTypes.FormElement[]\n contextElements: FormTypes.FormElement[]\n contextSubmission: SubmissionTypes.S3SubmissionData['submission']\n taskContext: TaskContext\n userProfile: MiscTypes.UserProfile | undefined\n}): FormTypes.ChoiceElementOption[] {\n const options = processInjectableDynamicOption({\n option,\n submission,\n formElements,\n taskContext,\n userProfile,\n contextSubmission,\n contextElements,\n })\n\n const generatedOptions: FormTypes.ChoiceElementOption[] = []\n\n options.forEach(({ label, value }) => {\n generatedOptions.push({\n ...option,\n id: options.size === 1 ? option.id : uuidv4(),\n label,\n value,\n })\n })\n return generatedOptions\n}\n\nfunction injectOptionsAcrossEntriesElements({\n contextElements,\n contextSubmission,\n elements,\n entries,\n taskContext,\n userProfile,\n}: {\n contextElements: FormTypes.FormElement[]\n contextSubmission: SubmissionTypes.S3SubmissionData['submission']\n elements: FormTypes.FormElement[]\n entries: SubmissionTypes.S3SubmissionData['submission'][]\n taskContext: TaskContext\n userProfile: MiscTypes.UserProfile | undefined\n}): FormTypes.FormElement[] {\n return elements.map<FormTypes.FormElement>((e) => {\n switch (e.type) {\n case 'page':\n case 'section': {\n return {\n ...e,\n elements: injectOptionsAcrossEntriesElements({\n // info elements on other pages/sections will need the parent definition\n contextElements,\n contextSubmission,\n elements: e.elements,\n entries,\n taskContext,\n userProfile,\n }),\n }\n }\n case 'form': {\n if (Array.isArray(e.elements)) {\n return {\n ...e,\n elements: injectOptionsAcrossEntriesElements({\n // sub-forms do not have context of parent elements\n contextElements: e.elements,\n contextSubmission,\n elements: e.elements,\n entries: entries.reduce<\n SubmissionTypes.S3SubmissionData['submission'][]\n >((memo, entry) => {\n if (entry[e.name]) {\n memo.push(\n entry[\n e.name\n ] as SubmissionTypes.S3SubmissionData['submission'],\n )\n }\n return memo\n }, []),\n taskContext,\n userProfile,\n }),\n }\n } else {\n return e\n }\n }\n case 'repeatableSet': {\n return {\n ...e,\n elements: injectOptionsAcrossEntriesElements({\n // repeatable set entries may only know about elements within entry\n contextElements,\n contextSubmission,\n elements: e.elements,\n entries: entries.reduce<\n SubmissionTypes.S3SubmissionData['submission'][]\n >((memo, entry) => {\n const nestedEntries = entry[e.name]\n if (Array.isArray(nestedEntries)) {\n memo.push(\n ...(nestedEntries as SubmissionTypes.S3SubmissionData['submission'][]),\n )\n }\n return memo\n }, []),\n taskContext,\n userProfile,\n }),\n }\n }\n default: {\n const optionsElement = typeCastService.formElements.toOptionsElement(e)\n if (optionsElement) {\n return {\n ...optionsElement,\n options: entries.reduce<FormTypes.ChoiceElementOption[]>(\n (newOptions, submission) => {\n optionsElement.options?.forEach((o) => {\n const injected = processInjectableOption({\n option: o,\n submission,\n contextSubmission,\n formElements: elements,\n contextElements,\n taskContext,\n userProfile,\n })\n\n newOptions.push(\n ...injected.filter((generatedOption) => {\n return !newOptions.some(\n (addedOption) =>\n addedOption.value === generatedOption.value,\n )\n }),\n )\n })\n return newOptions\n },\n [],\n ),\n }\n }\n return e\n }\n }\n })\n}\n\nexport function injectOptionsAcrossAllElements({\n submission,\n ...params\n}: {\n elements: FormTypes.FormElement[]\n contextElements: FormTypes.FormElement[]\n submission: SubmissionTypes.S3SubmissionData['submission']\n taskContext: TaskContext\n userProfile: MiscTypes.UserProfile | undefined\n}): FormTypes.FormElement[] {\n // We iterate over entries as an array of submission objects because\n // child elements of a repeatable set that have injected options\n // need to include all of the injected options from the same elements\n // in sibling entries within the set. Otherwise we will not have the\n // labels for each available option to display the submission.\n return injectOptionsAcrossEntriesElements({\n ...params,\n contextSubmission: submission,\n entries: [submission],\n })\n}\n"]}
1
+ {"version":3,"file":"injectableOptions.js","sourceRoot":"","sources":["../../src/services/injectableOptions.ts"],"names":[],"mappings":"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","sourcesContent":["import { FormTypes, SubmissionTypes } from '@oneblink/types'\nimport { submissionService, typeCastService } from '@oneblink/sdk-core'\nimport { localisationService } from '../apps'\nimport { v4 as uuidv4 } from 'uuid'\nimport { MiscTypes } from '@oneblink/types'\nimport { TaskContext } from '../hooks/useTaskContext'\ntype Option = Pick<FormTypes.ChoiceElementOption, 'value' | 'label'>\n\nfunction processInjectableDynamicOption({\n option: resource,\n submission: rootSubmission,\n formElements: rootFormElements,\n contextElements,\n contextSubmission,\n ...params\n}: {\n option: Option\n submission: SubmissionTypes.S3SubmissionData['submission']\n formElements: FormTypes.FormElement[]\n contextElements: FormTypes.FormElement[]\n taskContext: TaskContext\n userProfile: MiscTypes.UserProfile | undefined\n contextSubmission?: SubmissionTypes.S3SubmissionData['submission']\n}): Map<string, Option> {\n return submissionService.processInjectablesInCustomResource<Option>({\n resource,\n submission: { ...rootSubmission, ...contextSubmission },\n formElements: [...rootFormElements, ...contextElements],\n replaceRootInjectables(option, submission, formElements) {\n // Replace root level form element values\n const replaceableParams: Parameters<\n typeof localisationService.replaceInjectablesWithElementValues\n >[1] = {\n ...params,\n submission,\n formElements,\n task: params.taskContext.task,\n taskGroup: params.taskContext.taskGroup,\n taskGroupInstance: params.taskContext.taskGroupInstance,\n excludeNestedElements: true,\n }\n const {\n text: label,\n hadAllInjectablesReplaced: hadAllInjectablesReplacedInLabel,\n } = localisationService.replaceInjectablesWithElementValues(\n option.label,\n replaceableParams,\n )\n if (!hadAllInjectablesReplacedInLabel) {\n return\n }\n\n const {\n text: value,\n hadAllInjectablesReplaced: hadAllInjectablesReplacedInValue,\n } = localisationService.replaceInjectablesWithElementValues(\n option.value,\n replaceableParams,\n )\n if (!hadAllInjectablesReplacedInValue) {\n return\n }\n\n return [\n label + ' ' + value,\n value,\n {\n value,\n label,\n },\n ]\n },\n prepareNestedInjectables(option, prepare) {\n return {\n value: prepare(option.value),\n label: prepare(option.label),\n }\n },\n })\n}\n\nexport default function processInjectableOption({\n option,\n submission,\n formElements,\n contextElements,\n contextSubmission,\n taskContext,\n userProfile,\n}: {\n option: FormTypes.ChoiceElementOption\n submission: SubmissionTypes.S3SubmissionData['submission']\n formElements: FormTypes.FormElement[]\n contextElements: FormTypes.FormElement[]\n contextSubmission: SubmissionTypes.S3SubmissionData['submission']\n taskContext: TaskContext\n userProfile: MiscTypes.UserProfile | undefined\n}): FormTypes.ChoiceElementOption[] {\n const options = processInjectableDynamicOption({\n option,\n submission,\n formElements,\n taskContext,\n userProfile,\n contextSubmission,\n contextElements,\n })\n\n const generatedOptions: FormTypes.ChoiceElementOption[] = []\n\n options.forEach(({ label, value }) => {\n generatedOptions.push({\n ...option,\n id: options.size === 1 ? option.id : uuidv4(),\n label,\n value,\n })\n })\n return generatedOptions\n}\n\nfunction injectOptionsAcrossEntriesElements({\n contextElements,\n contextSubmission,\n elements,\n entries,\n taskContext,\n userProfile,\n}: {\n contextElements: FormTypes.FormElement[]\n contextSubmission: SubmissionTypes.S3SubmissionData['submission']\n elements: FormTypes.FormElement[]\n entries: SubmissionTypes.S3SubmissionData['submission'][]\n taskContext: TaskContext\n userProfile: MiscTypes.UserProfile | undefined\n}): FormTypes.FormElement[] {\n return elements.map<FormTypes.FormElement>((e) => {\n switch (e.type) {\n case 'page':\n case 'section': {\n return {\n ...e,\n elements: injectOptionsAcrossEntriesElements({\n // info elements on other pages/sections will need the parent definition\n contextElements,\n contextSubmission,\n elements: e.elements,\n entries,\n taskContext,\n userProfile,\n }),\n }\n }\n case 'form': {\n if (Array.isArray(e.elements)) {\n return {\n ...e,\n elements: injectOptionsAcrossEntriesElements({\n // sub-forms do not have context of parent elements\n contextElements: e.elements,\n contextSubmission,\n elements: e.elements,\n entries: entries.reduce<\n SubmissionTypes.S3SubmissionData['submission'][]\n >((memo, entry) => {\n if (entry[e.name]) {\n memo.push(\n entry[\n e.name\n ] as SubmissionTypes.S3SubmissionData['submission'],\n )\n }\n return memo\n }, []),\n taskContext,\n userProfile,\n }),\n }\n } else {\n return e\n }\n }\n case 'repeatableSet': {\n return {\n ...e,\n elements: injectOptionsAcrossEntriesElements({\n // repeatable set entries may only know about elements within entry\n contextElements,\n contextSubmission,\n elements: e.elements,\n entries: entries.reduce<\n SubmissionTypes.S3SubmissionData['submission'][]\n >((memo, entry) => {\n const nestedEntries = entry[e.name]\n if (Array.isArray(nestedEntries)) {\n memo.push(\n ...(nestedEntries as SubmissionTypes.S3SubmissionData['submission'][]),\n )\n }\n return memo\n }, []),\n taskContext,\n userProfile,\n }),\n }\n }\n default: {\n const optionsElement = typeCastService.formElements.toOptionsElement(e)\n if (optionsElement) {\n return {\n ...optionsElement,\n options: entries.reduce<FormTypes.ChoiceElementOption[]>(\n (newOptions, submission) => {\n optionsElement.options?.forEach((o) => {\n const injected = processInjectableOption({\n option: o,\n submission,\n contextSubmission,\n formElements: elements,\n contextElements,\n taskContext,\n userProfile,\n })\n\n newOptions.push(\n ...injected.filter((generatedOption) => {\n return !newOptions.some(\n (addedOption) =>\n addedOption.value === generatedOption.value,\n )\n }),\n )\n })\n return newOptions\n },\n [],\n ),\n }\n }\n return e\n }\n }\n })\n}\n\nexport function injectOptionsAcrossAllElements({\n submission,\n ...params\n}: {\n elements: FormTypes.FormElement[]\n contextElements: FormTypes.FormElement[]\n submission: SubmissionTypes.S3SubmissionData['submission']\n taskContext: TaskContext\n userProfile: MiscTypes.UserProfile | undefined\n}): FormTypes.FormElement[] {\n // We iterate over entries as an array of submission objects because\n // child elements of a repeatable set that have injected options\n // need to include all of the injected options from the same elements\n // in sibling entries within the set. Otherwise we will not have the\n // labels for each available option to display the submission.\n return injectOptionsAcrossEntriesElements({\n ...params,\n contextSubmission: submission,\n entries: [submission],\n })\n}\n"]}