@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.
- package/dist/OneBlinkForm.d.ts +6 -10
- package/dist/OneBlinkForm.js +0 -4
- package/dist/OneBlinkForm.js.map +1 -1
- package/dist/OneBlinkFormBase.d.ts +1 -1
- package/dist/OneBlinkFormBase.js +3 -2
- package/dist/OneBlinkFormBase.js.map +1 -1
- package/dist/OneBlinkReadOnlyForm.d.ts +1 -1
- package/dist/OneBlinkReadOnlyForm.js +1 -1
- package/dist/OneBlinkReadOnlyForm.js.map +1 -1
- package/dist/PaymentReceipt.d.ts +1 -1
- package/dist/PaymentReceipt.js +3 -3
- package/dist/PaymentReceipt.js.map +1 -1
- package/dist/apps/Sentry.d.ts +7 -0
- package/dist/apps/Sentry.js +16 -0
- package/dist/apps/Sentry.js.map +1 -0
- package/dist/apps/approvals-service.d.ts +390 -0
- package/dist/apps/approvals-service.js +987 -0
- package/dist/apps/approvals-service.js.map +1 -0
- package/dist/apps/attachments-service.d.ts +49 -0
- package/dist/apps/attachments-service.js +134 -0
- package/dist/apps/attachments-service.js.map +1 -0
- package/dist/apps/auth-service.d.ts +114 -0
- package/dist/apps/auth-service.js +194 -0
- package/dist/apps/auth-service.js.map +1 -0
- package/dist/apps/auto-save-service.d.ts +82 -0
- package/dist/apps/auto-save-service.js +105 -0
- package/dist/apps/auto-save-service.js.map +1 -0
- package/dist/apps/draft-service.d.ts +148 -0
- package/dist/apps/draft-service.js +583 -0
- package/dist/apps/draft-service.js.map +1 -0
- package/dist/apps/form-service.d.ts +204 -0
- package/dist/apps/form-service.js +718 -0
- package/dist/apps/form-service.js.map +1 -0
- package/dist/apps/form-store-service.d.ts +141 -0
- package/dist/apps/form-store-service.js +114 -0
- package/dist/apps/form-store-service.js.map +1 -0
- package/dist/apps/forms-app-environment-service.d.ts +19 -0
- package/dist/apps/forms-app-environment-service.js +55 -0
- package/dist/apps/forms-app-environment-service.js.map +1 -0
- package/dist/apps/forms-app-service.d.ts +18 -0
- package/dist/apps/forms-app-service.js +53 -0
- package/dist/apps/forms-app-service.js.map +1 -0
- package/dist/apps/index.d.ts +253 -0
- package/dist/apps/index.js +255 -0
- package/dist/apps/index.js.map +1 -0
- package/dist/apps/job-service.d.ts +20 -0
- package/dist/apps/job-service.js +95 -0
- package/dist/apps/job-service.js.map +1 -0
- package/dist/apps/localisation-service.d.ts +207 -0
- package/dist/apps/localisation-service.js +321 -0
- package/dist/apps/localisation-service.js.map +1 -0
- package/dist/apps/notification-service.d.ts +83 -0
- package/dist/apps/notification-service.js +315 -0
- package/dist/apps/notification-service.js.map +1 -0
- package/dist/apps/offline-service.d.ts +18 -0
- package/dist/apps/offline-service.js +25 -0
- package/dist/apps/offline-service.js.map +1 -0
- package/dist/apps/payment-service.d.ts +110 -0
- package/dist/apps/payment-service.js +182 -0
- package/dist/apps/payment-service.js.map +1 -0
- package/dist/apps/prefill-service.d.ts +14 -0
- package/dist/apps/prefill-service.js +19 -0
- package/dist/apps/prefill-service.js.map +1 -0
- package/dist/apps/scheduled-tasks-service.d.ts +127 -0
- package/dist/apps/scheduled-tasks-service.js +240 -0
- package/dist/apps/scheduled-tasks-service.js.map +1 -0
- package/dist/apps/scheduling-service.d.ts +101 -0
- package/dist/apps/scheduling-service.js +171 -0
- package/dist/apps/scheduling-service.js.map +1 -0
- package/dist/apps/services/AWSCognitoClient.d.ts +55 -0
- package/dist/apps/services/AWSCognitoClient.js +436 -0
- package/dist/apps/services/AWSCognitoClient.js.map +1 -0
- package/dist/apps/services/api/drafts.d.ts +7 -0
- package/dist/apps/services/api/drafts.js +236 -0
- package/dist/apps/services/api/drafts.js.map +1 -0
- package/dist/apps/services/api/notifications.d.ts +3 -0
- package/dist/apps/services/api/notifications.js +60 -0
- package/dist/apps/services/api/notifications.js.map +1 -0
- package/dist/apps/services/api/payment.d.ts +23 -0
- package/dist/apps/services/api/payment.js +235 -0
- package/dist/apps/services/api/payment.js.map +1 -0
- package/dist/apps/services/api/post-submission-attachment-urls.d.ts +7 -0
- package/dist/apps/services/api/post-submission-attachment-urls.js +19 -0
- package/dist/apps/services/api/post-submission-attachment-urls.js.map +1 -0
- package/dist/apps/services/api/prefill.d.ts +1 -0
- package/dist/apps/services/api/prefill.js +70 -0
- package/dist/apps/services/api/prefill.js.map +1 -0
- package/dist/apps/services/api/receipt-id.d.ts +2 -0
- package/dist/apps/services/api/receipt-id.js +54 -0
- package/dist/apps/services/api/receipt-id.js.map +1 -0
- package/dist/apps/services/api/scheduling.d.ts +38 -0
- package/dist/apps/services/api/scheduling.js +142 -0
- package/dist/apps/services/api/scheduling.js.map +1 -0
- package/dist/apps/services/api/submissions.d.ts +18 -0
- package/dist/apps/services/api/submissions.js +166 -0
- package/dist/apps/services/api/submissions.js.map +1 -0
- package/dist/apps/services/cognito.d.ts +302 -0
- package/dist/apps/services/cognito.js +441 -0
- package/dist/apps/services/cognito.js.map +1 -0
- package/dist/apps/services/draft-data-store.d.ts +16 -0
- package/dist/apps/services/draft-data-store.js +115 -0
- package/dist/apps/services/draft-data-store.js.map +1 -0
- package/dist/apps/services/errors/oneBlinkAppsError.d.ts +35 -0
- package/dist/apps/services/errors/oneBlinkAppsError.js +32 -0
- package/dist/apps/services/errors/oneBlinkAppsError.js.map +1 -0
- package/dist/apps/services/external-id-generation.d.ts +4 -0
- package/dist/apps/services/external-id-generation.js +59 -0
- package/dist/apps/services/external-id-generation.js.map +1 -0
- package/dist/apps/services/fetch.d.ts +12 -0
- package/dist/apps/services/fetch.js +95 -0
- package/dist/apps/services/fetch.js.map +1 -0
- package/dist/apps/services/forms-key.d.ts +51 -0
- package/dist/apps/services/forms-key.js +83 -0
- package/dist/apps/services/forms-key.js.map +1 -0
- package/dist/apps/services/generate-generic-error.d.ts +3 -0
- package/dist/apps/services/generate-generic-error.js +52 -0
- package/dist/apps/services/generate-generic-error.js.map +1 -0
- package/dist/apps/services/generateOneBlinkDownloader.d.ts +2 -0
- package/dist/apps/services/generateOneBlinkDownloader.js +11 -0
- package/dist/apps/services/generateOneBlinkDownloader.js.map +1 -0
- package/dist/apps/services/generateOneBlinkUploader.d.ts +2 -0
- package/dist/apps/services/generateOneBlinkUploader.js +11 -0
- package/dist/apps/services/generateOneBlinkUploader.js.map +1 -0
- package/dist/apps/services/getDeviceInformation.d.ts +17 -0
- package/dist/apps/services/getDeviceInformation.js +38 -0
- package/dist/apps/services/getDeviceInformation.js.map +1 -0
- package/dist/apps/services/integration-elements.d.ts +383 -0
- package/dist/apps/services/integration-elements.js +761 -0
- package/dist/apps/services/integration-elements.js.map +1 -0
- package/dist/apps/services/job-prefill.d.ts +40 -0
- package/dist/apps/services/job-prefill.js +78 -0
- package/dist/apps/services/job-prefill.js.map +1 -0
- package/dist/apps/services/payment-providers/BPOINTPaymentProvider.d.ts +29 -0
- package/dist/apps/services/payment-providers/BPOINTPaymentProvider.js +59 -0
- package/dist/apps/services/payment-providers/BPOINTPaymentProvider.js.map +1 -0
- package/dist/apps/services/payment-providers/CPPayPaymentProvider.d.ts +27 -0
- package/dist/apps/services/payment-providers/CPPayPaymentProvider.js +63 -0
- package/dist/apps/services/payment-providers/CPPayPaymentProvider.js.map +1 -0
- package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.d.ts +30 -0
- package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.js +116 -0
- package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.js.map +1 -0
- package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.d.ts +49 -0
- package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.js +116 -0
- package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.js.map +1 -0
- package/dist/apps/services/payment-providers/receipt-items.d.ts +8 -0
- package/dist/apps/services/payment-providers/receipt-items.js +58 -0
- package/dist/apps/services/payment-providers/receipt-items.js.map +1 -0
- package/dist/apps/services/pending-queue.d.ts +150 -0
- package/dist/apps/services/pending-queue.js +316 -0
- package/dist/apps/services/pending-queue.js.map +1 -0
- package/dist/apps/services/prepareSubmissionData.d.ts +2 -0
- package/dist/apps/services/prepareSubmissionData.js +113 -0
- package/dist/apps/services/prepareSubmissionData.js.map +1 -0
- package/dist/apps/services/query-string.d.ts +1 -0
- package/dist/apps/services/query-string.js +16 -0
- package/dist/apps/services/query-string.js.map +1 -0
- package/dist/apps/services/replaceInjectablesWithSubmissionValues.d.ts +3 -0
- package/dist/apps/services/replaceInjectablesWithSubmissionValues.js +18 -0
- package/dist/apps/services/replaceInjectablesWithSubmissionValues.js.map +1 -0
- package/dist/apps/services/schedulingHandlers.d.ts +36 -0
- package/dist/apps/services/schedulingHandlers.js +76 -0
- package/dist/apps/services/schedulingHandlers.js.map +1 -0
- package/dist/apps/services/server-validation.d.ts +2 -0
- package/dist/apps/services/server-validation.js +36 -0
- package/dist/apps/services/server-validation.js.map +1 -0
- package/dist/apps/services/serverRequest.d.ts +5 -0
- package/dist/apps/services/serverRequest.js +24 -0
- package/dist/apps/services/serverRequest.js.map +1 -0
- package/dist/apps/services/submit.d.ts +19 -0
- package/dist/apps/services/submit.js +219 -0
- package/dist/apps/services/submit.js.map +1 -0
- package/dist/apps/services/uploadAttachment.d.ts +52 -0
- package/dist/apps/services/uploadAttachment.js +73 -0
- package/dist/apps/services/uploadAttachment.js.map +1 -0
- package/dist/apps/services/user-token.d.ts +27 -0
- package/dist/apps/services/user-token.js +33 -0
- package/dist/apps/services/user-token.js.map +1 -0
- package/dist/apps/services/utils.d.ts +12 -0
- package/dist/apps/services/utils.js +100 -0
- package/dist/apps/services/utils.js.map +1 -0
- package/dist/apps/submission-service.d.ts +226 -0
- package/dist/apps/submission-service.js +425 -0
- package/dist/apps/submission-service.js.map +1 -0
- package/dist/apps/tenants.d.ts +30 -0
- package/dist/apps/tenants.js +155 -0
- package/dist/apps/tenants.js.map +1 -0
- package/dist/apps/types/form.d.ts +4 -0
- package/dist/apps/types/form.js +2 -0
- package/dist/apps/types/form.js.map +1 -0
- package/dist/apps/types/payments.d.ts +45 -0
- package/dist/apps/types/payments.js +2 -0
- package/dist/apps/types/payments.js.map +1 -0
- package/dist/apps/types/scheduling.d.ts +5 -0
- package/dist/apps/types/scheduling.js +2 -0
- package/dist/apps/types/scheduling.js.map +1 -0
- package/dist/apps/types/submissions.d.ts +175 -0
- package/dist/apps/types/submissions.js +2 -0
- package/dist/apps/types/submissions.js.map +1 -0
- package/dist/components/ArcGISWebMap.js +7 -4
- package/dist/components/ArcGISWebMap.js.map +1 -1
- package/dist/components/ConfirmDialog.js +1 -0
- package/dist/components/ConfirmDialog.js.map +1 -1
- package/dist/components/CustomAccordion.d.ts +3 -3
- package/dist/components/Lists.d.ts +4 -1
- package/dist/components/calendar-bookings/CalendarBookingsCancelForm.js +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsCancelForm.js.map +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsForm.d.ts +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsForm.js +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsForm.js.map +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsReschedulingForm.js +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsReschedulingForm.js.map +1 -1
- package/dist/components/calendar-bookings/ErrorModal.d.ts +1 -1
- package/dist/components/calendar-bookings/ErrorModal.js +1 -1
- package/dist/components/calendar-bookings/ErrorModal.js.map +1 -1
- package/dist/components/downloadable-files/index.d.ts +1 -1
- package/dist/components/downloadable-files/index.js +1 -1
- package/dist/components/downloadable-files/index.js.map +1 -1
- package/dist/components/downloadable-files/resource-components.d.ts +1 -1
- package/dist/components/downloadable-files/resource-components.js +1 -1
- package/dist/components/downloadable-files/resource-components.js.map +1 -1
- package/dist/components/formStore/FormStoreTableProvider.js +1 -1
- package/dist/components/formStore/FormStoreTableProvider.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.js +1 -3
- package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreDownloadButton.js +1 -1
- package/dist/components/formStore/OneBlinkFormStoreDownloadButton.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreProvider.js +1 -1
- package/dist/components/formStore/OneBlinkFormStoreProvider.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreRefreshButton.js +1 -3
- package/dist/components/formStore/OneBlinkFormStoreRefreshButton.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreTable.js +7 -7
- package/dist/components/formStore/OneBlinkFormStoreTable.js.map +1 -1
- package/dist/components/formStore/display/ElementDisplay.js +2 -2
- package/dist/components/formStore/display/ElementDisplay.js.map +1 -1
- package/dist/components/formStore/table/ColumnFilters.js +1 -1
- package/dist/components/formStore/table/ColumnFilters.js.map +1 -1
- package/dist/components/formStore/table/FormElementTableCell.js +1 -1
- package/dist/components/formStore/table/FormElementTableCell.js.map +1 -1
- package/dist/components/formStore/table/Pickers.js +1 -1
- package/dist/components/formStore/table/Pickers.js.map +1 -1
- package/dist/components/formStore/table/RepeatableSetCell.js +1 -0
- package/dist/components/formStore/table/RepeatableSetCell.js.map +1 -1
- package/dist/components/formStore/table/generateColumns.d.ts +1 -1
- package/dist/components/formStore/table/generateColumns.js.map +1 -1
- package/dist/components/formStore/table/useFormStoreTable.d.ts +1 -1
- package/dist/components/formStore/table/useFormStoreTable.js +3 -1
- package/dist/components/formStore/table/useFormStoreTable.js.map +1 -1
- package/dist/components/formStore/useFormStoreTableContext.d.ts +2 -2
- package/dist/components/mfa/MfaDialog.d.ts +1 -1
- package/dist/components/mfa/MfaDialog.js +1 -1
- package/dist/components/mfa/MfaDialog.js.map +1 -1
- package/dist/components/mfa/MultiFactorAuthentication.d.ts +1 -1
- package/dist/components/payments/PaymentForm.js +1 -1
- package/dist/components/payments/PaymentForm.js.map +1 -1
- package/dist/components/payments/WestpacQuickStreamPaymentForm.d.ts +1 -1
- package/dist/components/payments/WestpacQuickStreamPaymentForm.js +1 -1
- package/dist/components/payments/WestpacQuickStreamPaymentForm.js.map +1 -1
- package/dist/components/renderer/AutocompleteDropdown.js +1 -1
- package/dist/components/renderer/AutocompleteDropdown.js.map +1 -1
- package/dist/components/renderer/LookupNotification.js +2 -2
- package/dist/components/renderer/LookupNotification.js.map +1 -1
- package/dist/components/renderer/Modal.js +3 -1
- package/dist/components/renderer/Modal.js.map +1 -1
- package/dist/components/renderer/OneBlinkAppsErrorOriginalMessage.js +1 -1
- package/dist/components/renderer/OneBlinkAppsErrorOriginalMessage.js.map +1 -1
- package/dist/components/renderer/OneBlinkFormElements.js.map +1 -1
- package/dist/components/renderer/ReverseGeocode.js +1 -1
- package/dist/components/renderer/ReverseGeocode.js.map +1 -1
- package/dist/components/renderer/Tooltip.js +3 -1
- package/dist/components/renderer/Tooltip.js.map +1 -1
- package/dist/form-elements/FormElementAPINSWLiquorLicence.js +1 -1
- package/dist/form-elements/FormElementAPINSWLiquorLicence.js.map +1 -1
- package/dist/form-elements/FormElementArcGISWebMap.js.map +1 -1
- package/dist/form-elements/FormElementAutocomplete.js +1 -1
- package/dist/form-elements/FormElementAutocomplete.js.map +1 -1
- package/dist/form-elements/FormElementBSB.js +7 -3
- package/dist/form-elements/FormElementBSB.js.map +1 -1
- package/dist/form-elements/FormElementCalculation.js +2 -2
- package/dist/form-elements/FormElementCalculation.js.map +1 -1
- package/dist/form-elements/FormElementCivicaNameRecord.js +1 -1
- package/dist/form-elements/FormElementCivicaNameRecord.js.map +1 -1
- package/dist/form-elements/FormElementCivicaStreetName.js +1 -1
- package/dist/form-elements/FormElementCivicaStreetName.js.map +1 -1
- package/dist/form-elements/FormElementCompliance.d.ts +1 -1
- package/dist/form-elements/FormElementCompliance.js.map +1 -1
- package/dist/form-elements/FormElementDate.js +1 -1
- package/dist/form-elements/FormElementDate.js.map +1 -1
- package/dist/form-elements/FormElementDateTime.js +1 -1
- package/dist/form-elements/FormElementDateTime.js.map +1 -1
- package/dist/form-elements/FormElementFile.d.ts +1 -1
- package/dist/form-elements/FormElementFile.js.map +1 -1
- package/dist/form-elements/FormElementFiles.d.ts +1 -1
- package/dist/form-elements/FormElementFiles.js.map +1 -1
- package/dist/form-elements/FormElementFreshdeskDependentField.js +3 -10
- package/dist/form-elements/FormElementFreshdeskDependentField.js.map +1 -1
- package/dist/form-elements/FormElementGeoscapeAddress.js +1 -1
- package/dist/form-elements/FormElementGeoscapeAddress.js.map +1 -1
- package/dist/form-elements/FormElementGoogleAddress.js +1 -1
- package/dist/form-elements/FormElementGoogleAddress.js.map +1 -1
- package/dist/form-elements/FormElementLocation.js +6 -2
- package/dist/form-elements/FormElementLocation.js.map +1 -1
- package/dist/form-elements/FormElementLookupButton.js +1 -1
- package/dist/form-elements/FormElementLookupButton.js.map +1 -1
- package/dist/form-elements/FormElementNumber.js +1 -1
- package/dist/form-elements/FormElementNumber.js.map +1 -1
- package/dist/form-elements/FormElementPointAddress.js +1 -1
- package/dist/form-elements/FormElementPointAddress.js.map +1 -1
- package/dist/form-elements/FormElementPointAddressV3.js +1 -1
- package/dist/form-elements/FormElementPointAddressV3.js.map +1 -1
- package/dist/form-elements/FormElementPointCadastralParcel.js +1 -1
- package/dist/form-elements/FormElementPointCadastralParcel.js.map +1 -1
- package/dist/form-elements/FormElementSummary.js +4 -2
- package/dist/form-elements/FormElementSummary.js.map +1 -1
- package/dist/form-elements/FormElementTime.js +1 -1
- package/dist/form-elements/FormElementTime.js.map +1 -1
- package/dist/hooks/attachments/useAttachment.d.ts +1 -1
- package/dist/hooks/attachments/useAttachment.js +1 -1
- package/dist/hooks/attachments/useAttachment.js.map +1 -1
- package/dist/hooks/attachments/useAttachments.d.ts +1 -1
- package/dist/hooks/attachments/useAttachments.js.map +1 -1
- package/dist/hooks/form-date-picker/useFormDatePickerProps.js +2 -0
- package/dist/hooks/form-date-picker/useFormDatePickerProps.js.map +1 -1
- package/dist/hooks/useAuth.js +1 -1
- package/dist/hooks/useAuth.js.map +1 -1
- package/dist/hooks/useConditionalLogic.js +1 -1
- package/dist/hooks/useConditionalLogic.js.map +1 -1
- package/dist/hooks/useDrafts.d.ts +1 -1
- package/dist/hooks/useDrafts.js +1 -1
- package/dist/hooks/useDrafts.js.map +1 -1
- package/dist/hooks/useDynamicOptionsLoaderState.d.ts +1 -1
- package/dist/hooks/useDynamicOptionsLoaderState.js +1 -1
- package/dist/hooks/useDynamicOptionsLoaderState.js.map +1 -1
- package/dist/hooks/useFormElementLookups.d.ts +1 -1
- package/dist/hooks/useFormElementLookups.js +1 -1
- package/dist/hooks/useFormElementLookups.js.map +1 -1
- package/dist/hooks/useFormSubmissionAutoSaveState.d.ts +1 -1
- package/dist/hooks/useFormSubmissionAutoSaveState.js +1 -1
- package/dist/hooks/useFormSubmissionAutoSaveState.js.map +1 -1
- package/dist/hooks/useFormSubmissionDuration.js +2 -0
- package/dist/hooks/useFormSubmissionDuration.js.map +1 -1
- package/dist/hooks/useIsOffline.js +1 -1
- package/dist/hooks/useIsOffline.js.map +1 -1
- package/dist/hooks/useLoadDataState.js +3 -1
- package/dist/hooks/useLoadDataState.js.map +1 -1
- package/dist/hooks/useLogin.js +1 -1
- package/dist/hooks/useLogin.js.map +1 -1
- package/dist/hooks/useMfa.d.ts +1 -1
- package/dist/hooks/useMfa.js +1 -1
- package/dist/hooks/useMfa.js.map +1 -1
- package/dist/hooks/useOnUploadAttachment.d.ts +1 -1
- package/dist/hooks/useOnUploadAttachment.js +1 -1
- package/dist/hooks/useOnUploadAttachment.js.map +1 -1
- package/dist/hooks/useOneBlinkFormContainer.d.ts +2 -1
- package/dist/hooks/useOneBlinkFormContainer.js +2 -2
- package/dist/hooks/useOneBlinkFormContainer.js.map +1 -1
- package/dist/hooks/usePendingSubmissions.d.ts +1 -1
- package/dist/hooks/usePendingSubmissions.js +1 -1
- package/dist/hooks/usePendingSubmissions.js.map +1 -1
- package/dist/hooks/useReplaceableText.js +1 -1
- package/dist/hooks/useReplaceableText.js.map +1 -1
- package/dist/hooks/useSignUp.js +1 -1
- package/dist/hooks/useSignUp.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/services/attachments.d.ts +1 -1
- package/dist/services/attachments.js +1 -1
- package/dist/services/attachments.js.map +1 -1
- package/dist/services/blob-utils.js +1 -1
- package/dist/services/blob-utils.js.map +1 -1
- package/dist/services/checkIfAttachmentsExist.d.ts +1 -1
- package/dist/services/checkIfAttachmentsExist.js.map +1 -1
- package/dist/services/defaultCoordinates.js +1 -1
- package/dist/services/defaultCoordinates.js.map +1 -1
- package/dist/services/download-file.d.ts +1 -1
- package/dist/services/download-file.js +2 -2
- package/dist/services/download-file.js.map +1 -1
- package/dist/services/drawTimestampOnCanvas.js +1 -1
- package/dist/services/drawTimestampOnCanvas.js.map +1 -1
- package/dist/services/form-validation/validateSubmission.js +1 -1
- package/dist/services/form-validation/validateSubmission.js.map +1 -1
- package/dist/services/form-validation/validators.d.ts +1 -1
- package/dist/services/form-validation/validators.js.map +1 -1
- package/dist/services/generate-default-data.js +1 -1
- package/dist/services/generate-default-data.js.map +1 -1
- package/dist/services/injectableOptions.js +1 -1
- package/dist/services/injectableOptions.js.map +1 -1
- package/dist/styles.css +208 -204
- package/dist/types/attachments.d.ts +1 -1
- package/dist/types/attachments.js.map +1 -1
- package/dist/utils/sendGoogleAnalyticsEvent.js +1 -1
- package/dist/utils/sendGoogleAnalyticsEvent.js.map +1 -1
- package/package.json +47 -36
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateColumns.js","sourceRoot":"","sources":["../../../../src/components/formStore/table/generateColumns.tsx"],"names":[],"mappings":"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","sourcesContent":["import { FormStoreRecord } from '@oneblink/types/typescript/submissions'\nimport {\n ColumnDef,\n ColumnMeta,\n createColumnHelper,\n} from '@tanstack/react-table'\nimport { FormTypes, SubmissionTypes } from '@oneblink/types'\nimport FormElementTableCell from './FormElementTableCell'\nimport { formStoreService } from '@oneblink/apps'\nimport { OnChangeFilters } from '../../../hooks/useInfiniteScrollDataLoad'\nimport generateFreshdeskDependentFieldElements from '../../../services/generateFreshdeskDependentFieldElements'\n\nfunction generateSorting({\n formElement,\n parentElementNames,\n sorting,\n}: {\n formElement: FormTypes.FormElementWithName\n parentElementNames: string[]\n sorting: formStoreService.FormStoreParameters['sorting']\n}) {\n switch (formElement.type) {\n case 'text':\n case 'textarea':\n case 'number':\n case 'email':\n case 'telephone':\n case 'barcodeScanner':\n case 'date':\n case 'datetime':\n case 'time':\n case 'calculation': {\n const sortProperty = [\n 'submission',\n ...parentElementNames,\n formElement.name,\n ].join('.')\n return {\n property: sortProperty,\n direction: sorting?.find(({ property }) => property === sortProperty)\n ?.direction,\n }\n }\n }\n}\n\nfunction generateFilter({\n formElement,\n onChangeParameters,\n rootSubmissionFilters,\n parentElementNames,\n}: {\n formElement: FormTypes.FormElementWithName\n onChangeParameters: OnChangeFilters<formStoreService.FormStoreParameters>\n rootSubmissionFilters: formStoreService.FormStoreFilters['submission']\n parentElementNames: string[]\n}): ColumnMeta<unknown, unknown>['filter'] {\n function onChange<T>(\n newValue: formStoreService.FormStoreFilter<T> | undefined,\n shouldDebounce: boolean,\n ) {\n onChangeParameters((currentParameters) => {\n let newSubmission = {\n [formElement.name]: newValue,\n }\n\n if (parentElementNames.length) {\n const copy = [...parentElementNames]\n while (copy.length) {\n const nestedSubmission = copy.reduce<\n formStoreService.FormStoreFilters['submission']\n >(\n (memo, elementName) =>\n memo?.[\n elementName\n ] as formStoreService.FormStoreFilters['submission'],\n rootSubmissionFilters,\n )\n const elementName = copy.pop()\n if (elementName) {\n newSubmission = {\n [elementName]: {\n ...nestedSubmission,\n ...newSubmission,\n },\n }\n }\n }\n }\n\n return {\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n submission: {\n ...currentParameters.filters?.submission,\n ...newSubmission,\n },\n },\n }\n }, shouldDebounce)\n }\n\n const submissionFilters = parentElementNames.reduce<\n formStoreService.FormStoreFilters['submission']\n >(\n (memo, elementName) =>\n memo?.[elementName] as formStoreService.FormStoreFilters['submission'],\n rootSubmissionFilters,\n )\n switch (formElement.type) {\n case 'text':\n case 'textarea':\n case 'email':\n case 'telephone':\n case 'barcodeScanner': {\n return {\n type: 'TEXT',\n value: submissionFilters?.[formElement.name] as\n | { $regex: string; $options?: string }\n | undefined,\n onChange,\n }\n }\n case 'number':\n case 'calculation': {\n return {\n type: 'NUMBER',\n value: submissionFilters?.[formElement.name] as\n | { $gte?: number; $lte?: number }\n | undefined,\n onChange,\n }\n }\n case 'checkboxes':\n case 'select':\n case 'radio':\n case 'autocomplete': {\n const value = submissionFilters?.[formElement.name]\n if (Array.isArray(formElement.options)) {\n if (\n (formElement.type === 'select' && formElement.multi) ||\n formElement.type === 'checkboxes'\n ) {\n return {\n type: 'OPTIONS_MULTIPLE',\n value: value as { $elemMatch: { $in: string[] } } | undefined,\n options: formElement.options,\n onChange,\n }\n } else {\n return {\n type: 'OPTIONS_SINGLE',\n value: value as { $in: string[] } | undefined,\n options: formElement.options,\n onChange,\n }\n }\n } else {\n return {\n type: 'TEXT',\n value: value as { $regex: string } | undefined,\n onChange,\n }\n }\n }\n case 'boolean':\n return {\n type: 'BOOLEAN',\n value: submissionFilters?.[formElement.name] as\n | { $eq: boolean }\n | undefined,\n onChange,\n }\n case 'date': {\n return {\n type: 'DATE',\n value: submissionFilters?.[formElement.name] as\n | { $gte?: string; $lte?: string }\n | undefined,\n onChange,\n }\n }\n case 'datetime':\n return {\n type: 'DATETIME',\n value: submissionFilters?.[formElement.name] as\n | { $gte?: string; $lte?: string }\n | undefined,\n onChange,\n }\n default: {\n return undefined\n }\n }\n}\n\nconst generateColumns = <\n T extends { submission: SubmissionTypes.S3SubmissionData['submission'] },\n>({\n formElements,\n onChangeParameters,\n filters,\n sorting,\n unwindRepeatableSets,\n parentElementNames,\n initialColumns,\n allowCopy,\n}: {\n formElements: (FormTypes.FormElement & { tooltip?: string })[]\n onChangeParameters: OnChangeFilters<formStoreService.FormStoreParameters>\n parentElementNames: string[]\n initialColumns: Array<ColumnDef<T>>\n allowCopy: boolean\n} & {\n [P in keyof Required<formStoreService.FormStoreParameters>]:\n | formStoreService.FormStoreParameters[P]\n | undefined\n}) => {\n const columnHelper = createColumnHelper<T>()\n return formElements.reduce<Array<ColumnDef<T>>>((columns, formElement) => {\n if (unwindRepeatableSets && formElement.type === 'repeatableSet') {\n generateColumns({\n onChangeParameters,\n formElements: formElement.elements,\n parentElementNames: [...parentElementNames, formElement.name],\n initialColumns: columns,\n filters,\n allowCopy,\n sorting,\n unwindRepeatableSets,\n })\n return columns\n }\n switch (formElement.type) {\n case 'page':\n case 'section': {\n generateColumns({\n onChangeParameters,\n formElements: formElement.elements,\n parentElementNames,\n filters,\n initialColumns: columns,\n allowCopy,\n sorting,\n unwindRepeatableSets,\n })\n break\n }\n case 'form': {\n if (formElement.elements) {\n generateColumns({\n onChangeParameters,\n formElements: formElement.elements,\n parentElementNames: [...parentElementNames, formElement.name],\n initialColumns: columns,\n filters,\n allowCopy,\n sorting,\n unwindRepeatableSets,\n })\n }\n break\n }\n case 'compliance': {\n generateColumns({\n onChangeParameters,\n formElements: [\n {\n ...formElement,\n tooltip: formElement.name,\n type: 'radio',\n name: 'value',\n buttons: false,\n },\n {\n ...formElement,\n tooltip: `${formElement.name}_notes`,\n type: 'textarea',\n name: 'notes',\n label: `${formElement.label} (Notes)`,\n },\n {\n ...formElement,\n tooltip: `${formElement.name}_media`,\n type: 'files',\n restrictFileTypes: false,\n name: 'files',\n label: `${formElement.label} (Media)`,\n },\n ],\n parentElementNames: [...parentElementNames, formElement.name],\n initialColumns: columns,\n filters,\n allowCopy,\n sorting,\n unwindRepeatableSets,\n })\n break\n }\n case 'freshdeskDependentField': {\n const [categoryFormElement, subCategoryFormElement, itemFormElement] =\n generateFreshdeskDependentFieldElements(formElement)\n generateColumns({\n onChangeParameters,\n formElements: [\n {\n ...categoryFormElement,\n tooltip: `${formElement.name}_category`,\n },\n {\n ...subCategoryFormElement,\n tooltip: `${formElement.name}_sub_category`,\n },\n {\n ...itemFormElement,\n tooltip: `${formElement.name}_item`,\n },\n ],\n parentElementNames: [...parentElementNames, formElement.name],\n initialColumns: columns,\n filters,\n allowCopy,\n sorting,\n unwindRepeatableSets,\n })\n break\n }\n case 'summary':\n case 'captcha':\n case 'html':\n case 'heading':\n case 'infoPage':\n case 'image': {\n break\n }\n default: {\n const col = columnHelper.display({\n id: ['FORM_ELEMENT', ...parentElementNames, formElement.name].join(\n '_',\n ),\n header: formElement.label,\n meta: {\n sorting: generateSorting({\n formElement,\n sorting,\n parentElementNames,\n }),\n tooltip: formElement.tooltip || formElement.name,\n formElementType: formElement.type,\n filter: generateFilter({\n formElement,\n onChangeParameters,\n rootSubmissionFilters: filters?.submission,\n parentElementNames,\n }),\n },\n cell: ({ row: { original: formStoreRecord } }) => {\n const submission = parentElementNames.reduce<\n SubmissionTypes.S3SubmissionData['submission']\n >(\n (memo, elementName) =>\n memo?.[elementName] as FormStoreRecord['submission'],\n formStoreRecord.submission,\n )\n return (\n <FormElementTableCell\n formElement={formElement}\n submission={submission}\n allowCopy={allowCopy}\n />\n )\n },\n })\n columns.push(col)\n break\n }\n }\n return columns\n }, initialColumns)\n}\n\nexport default generateColumns\n"]}
|
|
1
|
+
{"version":3,"file":"generateColumns.js","sourceRoot":"","sources":["../../../../src/components/formStore/table/generateColumns.tsx"],"names":[],"mappings":"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","sourcesContent":["import { FormStoreRecord } from '@oneblink/types/typescript/submissions'\nimport {\n ColumnDef,\n ColumnMeta,\n createColumnHelper,\n} from '@tanstack/react-table'\nimport { FormTypes, SubmissionTypes } from '@oneblink/types'\nimport FormElementTableCell from './FormElementTableCell'\nimport { formStoreService } from '../../../apps'\nimport { OnChangeFilters } from '../../../hooks/useInfiniteScrollDataLoad'\nimport generateFreshdeskDependentFieldElements from '../../../services/generateFreshdeskDependentFieldElements'\n\nfunction generateSorting({\n formElement,\n parentElementNames,\n sorting,\n}: {\n formElement: FormTypes.FormElementWithName\n parentElementNames: string[]\n sorting: formStoreService.FormStoreParameters['sorting']\n}) {\n switch (formElement.type) {\n case 'text':\n case 'textarea':\n case 'number':\n case 'email':\n case 'telephone':\n case 'barcodeScanner':\n case 'date':\n case 'datetime':\n case 'time':\n case 'calculation': {\n const sortProperty = [\n 'submission',\n ...parentElementNames,\n formElement.name,\n ].join('.')\n return {\n property: sortProperty,\n direction: sorting?.find(({ property }) => property === sortProperty)\n ?.direction,\n }\n }\n }\n}\n\nfunction generateFilter({\n formElement,\n onChangeParameters,\n rootSubmissionFilters,\n parentElementNames,\n}: {\n formElement: FormTypes.FormElementWithName\n onChangeParameters: OnChangeFilters<formStoreService.FormStoreParameters>\n rootSubmissionFilters: formStoreService.FormStoreFilters['submission']\n parentElementNames: string[]\n}): ColumnMeta<unknown, unknown>['filter'] {\n function onChange<T>(\n newValue: formStoreService.FormStoreFilter<T> | undefined,\n shouldDebounce: boolean,\n ) {\n onChangeParameters((currentParameters) => {\n let newSubmission = {\n [formElement.name]: newValue,\n }\n\n if (parentElementNames.length) {\n const copy = [...parentElementNames]\n while (copy.length) {\n const nestedSubmission = copy.reduce<\n formStoreService.FormStoreFilters['submission']\n >(\n (memo, elementName) =>\n memo?.[\n elementName\n ] as formStoreService.FormStoreFilters['submission'],\n rootSubmissionFilters,\n )\n const elementName = copy.pop()\n if (elementName) {\n newSubmission = {\n [elementName]: {\n ...nestedSubmission,\n ...newSubmission,\n },\n }\n }\n }\n }\n\n return {\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n submission: {\n ...currentParameters.filters?.submission,\n ...newSubmission,\n },\n },\n }\n }, shouldDebounce)\n }\n\n const submissionFilters = parentElementNames.reduce<\n formStoreService.FormStoreFilters['submission']\n >(\n (memo, elementName) =>\n memo?.[elementName] as formStoreService.FormStoreFilters['submission'],\n rootSubmissionFilters,\n )\n switch (formElement.type) {\n case 'text':\n case 'textarea':\n case 'email':\n case 'telephone':\n case 'barcodeScanner': {\n return {\n type: 'TEXT',\n value: submissionFilters?.[formElement.name] as\n | { $regex: string; $options?: string }\n | undefined,\n onChange,\n }\n }\n case 'number':\n case 'calculation': {\n return {\n type: 'NUMBER',\n value: submissionFilters?.[formElement.name] as\n | { $gte?: number; $lte?: number }\n | undefined,\n onChange,\n }\n }\n case 'checkboxes':\n case 'select':\n case 'radio':\n case 'autocomplete': {\n const value = submissionFilters?.[formElement.name]\n if (Array.isArray(formElement.options)) {\n if (\n (formElement.type === 'select' && formElement.multi) ||\n formElement.type === 'checkboxes'\n ) {\n return {\n type: 'OPTIONS_MULTIPLE',\n value: value as { $elemMatch: { $in: string[] } } | undefined,\n options: formElement.options,\n onChange,\n }\n } else {\n return {\n type: 'OPTIONS_SINGLE',\n value: value as { $in: string[] } | undefined,\n options: formElement.options,\n onChange,\n }\n }\n } else {\n return {\n type: 'TEXT',\n value: value as { $regex: string } | undefined,\n onChange,\n }\n }\n }\n case 'boolean':\n return {\n type: 'BOOLEAN',\n value: submissionFilters?.[formElement.name] as\n | { $eq: boolean }\n | undefined,\n onChange,\n }\n case 'date': {\n return {\n type: 'DATE',\n value: submissionFilters?.[formElement.name] as\n | { $gte?: string; $lte?: string }\n | undefined,\n onChange,\n }\n }\n case 'datetime':\n return {\n type: 'DATETIME',\n value: submissionFilters?.[formElement.name] as\n | { $gte?: string; $lte?: string }\n | undefined,\n onChange,\n }\n default: {\n return undefined\n }\n }\n}\n\nconst generateColumns = <\n T extends { submission: SubmissionTypes.S3SubmissionData['submission'] },\n>({\n formElements,\n onChangeParameters,\n filters,\n sorting,\n unwindRepeatableSets,\n parentElementNames,\n initialColumns,\n allowCopy,\n}: {\n formElements: (FormTypes.FormElement & { tooltip?: string })[]\n onChangeParameters: OnChangeFilters<formStoreService.FormStoreParameters>\n parentElementNames: string[]\n initialColumns: Array<ColumnDef<T>>\n allowCopy: boolean\n} & {\n [P in keyof Required<formStoreService.FormStoreParameters>]:\n | formStoreService.FormStoreParameters[P]\n | undefined\n}) => {\n const columnHelper = createColumnHelper<T>()\n return formElements.reduce<Array<ColumnDef<T>>>((columns, formElement) => {\n if (unwindRepeatableSets && formElement.type === 'repeatableSet') {\n generateColumns({\n onChangeParameters,\n formElements: formElement.elements,\n parentElementNames: [...parentElementNames, formElement.name],\n initialColumns: columns,\n filters,\n allowCopy,\n sorting,\n unwindRepeatableSets,\n })\n return columns\n }\n switch (formElement.type) {\n case 'page':\n case 'section': {\n generateColumns({\n onChangeParameters,\n formElements: formElement.elements,\n parentElementNames,\n filters,\n initialColumns: columns,\n allowCopy,\n sorting,\n unwindRepeatableSets,\n })\n break\n }\n case 'form': {\n if (formElement.elements) {\n generateColumns({\n onChangeParameters,\n formElements: formElement.elements,\n parentElementNames: [...parentElementNames, formElement.name],\n initialColumns: columns,\n filters,\n allowCopy,\n sorting,\n unwindRepeatableSets,\n })\n }\n break\n }\n case 'compliance': {\n generateColumns({\n onChangeParameters,\n formElements: [\n {\n ...formElement,\n tooltip: formElement.name,\n type: 'radio',\n name: 'value',\n buttons: false,\n },\n {\n ...formElement,\n tooltip: `${formElement.name}_notes`,\n type: 'textarea',\n name: 'notes',\n label: `${formElement.label} (Notes)`,\n },\n {\n ...formElement,\n tooltip: `${formElement.name}_media`,\n type: 'files',\n restrictFileTypes: false,\n name: 'files',\n label: `${formElement.label} (Media)`,\n },\n ],\n parentElementNames: [...parentElementNames, formElement.name],\n initialColumns: columns,\n filters,\n allowCopy,\n sorting,\n unwindRepeatableSets,\n })\n break\n }\n case 'freshdeskDependentField': {\n const [categoryFormElement, subCategoryFormElement, itemFormElement] =\n generateFreshdeskDependentFieldElements(formElement)\n generateColumns({\n onChangeParameters,\n formElements: [\n {\n ...categoryFormElement,\n tooltip: `${formElement.name}_category`,\n },\n {\n ...subCategoryFormElement,\n tooltip: `${formElement.name}_sub_category`,\n },\n {\n ...itemFormElement,\n tooltip: `${formElement.name}_item`,\n },\n ],\n parentElementNames: [...parentElementNames, formElement.name],\n initialColumns: columns,\n filters,\n allowCopy,\n sorting,\n unwindRepeatableSets,\n })\n break\n }\n case 'summary':\n case 'captcha':\n case 'html':\n case 'heading':\n case 'infoPage':\n case 'image': {\n break\n }\n default: {\n const col = columnHelper.display({\n id: ['FORM_ELEMENT', ...parentElementNames, formElement.name].join(\n '_',\n ),\n header: formElement.label,\n meta: {\n sorting: generateSorting({\n formElement,\n sorting,\n parentElementNames,\n }),\n tooltip: formElement.tooltip || formElement.name,\n formElementType: formElement.type,\n filter: generateFilter({\n formElement,\n onChangeParameters,\n rootSubmissionFilters: filters?.submission,\n parentElementNames,\n }),\n },\n cell: ({ row: { original: formStoreRecord } }) => {\n const submission = parentElementNames.reduce<\n SubmissionTypes.S3SubmissionData['submission']\n >(\n (memo, elementName) =>\n memo?.[elementName] as FormStoreRecord['submission'],\n formStoreRecord.submission,\n )\n return (\n <FormElementTableCell\n formElement={formElement}\n submission={submission}\n allowCopy={allowCopy}\n />\n )\n },\n })\n columns.push(col)\n break\n }\n }\n return columns\n }, initialColumns)\n}\n\nexport default generateColumns\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FormTypes, SubmissionTypes } from '@oneblink/types';
|
|
2
|
-
import { formStoreService } from '
|
|
2
|
+
import { formStoreService } from '../../../apps';
|
|
3
3
|
import { SortingState, VisibilityState } from '@tanstack/react-table';
|
|
4
4
|
import { OnChangeFilters } from '../../../hooks/useInfiniteScrollDataLoad';
|
|
5
5
|
export default function useFormStoreTable({ form, formStoreRecords, parameters, onChangeParameters, onRefresh, submissionIdValidationMessage, }: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { localisationService } from '
|
|
3
|
+
import { localisationService } from '../../../apps';
|
|
4
4
|
import { useReactTable, getCoreRowModel, } from '@tanstack/react-table';
|
|
5
5
|
import { format } from 'date-fns';
|
|
6
6
|
import generateColumns from './generateColumns';
|
|
@@ -351,12 +351,14 @@ export default function useFormStoreTable({ form, formStoreRecords, parameters,
|
|
|
351
351
|
}), false);
|
|
352
352
|
}, [onChangeParameters, parameters.sorting, columns]);
|
|
353
353
|
const [columnVisibility, setColumnVisibility] = React.useState((initialState === null || initialState === void 0 ? void 0 : initialState.columnVisibility) || {});
|
|
354
|
+
// eslint-disable-next-line react-hooks/incompatible-library
|
|
354
355
|
const table = useReactTable({
|
|
355
356
|
meta: {
|
|
356
357
|
defaultHiddenColumnsVersion: initialState === null || initialState === void 0 ? void 0 : initialState.defaultHiddenColumnsVersion,
|
|
357
358
|
formId: form.id,
|
|
358
359
|
},
|
|
359
360
|
columns,
|
|
361
|
+
columnResizeMode: 'onChange',
|
|
360
362
|
data: formStoreRecords,
|
|
361
363
|
defaultColumn,
|
|
362
364
|
state: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFormStoreTable.js","sourceRoot":"","sources":["../../../../src/components/formStore/table/useFormStoreTable.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { FormTypes, SubmissionTypes } from '@oneblink/types'\nimport { formStoreService, localisationService } from '@oneblink/apps'\nimport {\n useReactTable,\n getCoreRowModel,\n OnChangeFn,\n SortingState,\n VisibilityState,\n} from '@tanstack/react-table'\nimport { format } from 'date-fns'\nimport generateColumns from './generateColumns'\nimport ActionedByTableCell from './ActionedByTableCell'\nimport TableCellCopyButton from './TableCellCopyButton'\nimport { OnChangeFilters } from '../../../hooks/useInfiniteScrollDataLoad'\nimport { FormStoreElementsContext } from '../OneBlinkFormStoreProvider'\nimport getVersionedFormTableState, { FormTableState } from './getVersionedState'\n\nconst defaultColumn = {\n minSize: 150,\n size: 225,\n}\n\nconst localStorageKey = (formId: number) =>\n `REACT_TABLE_STATE_FORM_STORE_${formId}`\n\nexport default function useFormStoreTable({\n form,\n formStoreRecords,\n parameters,\n onChangeParameters,\n onRefresh,\n submissionIdValidationMessage,\n}: {\n formStoreRecords: SubmissionTypes.FormStoreRecord[]\n form: FormTypes.Form\n parameters: formStoreService.FormStoreParameters\n onChangeParameters: OnChangeFilters<formStoreService.FormStoreParameters>\n onRefresh: () => void\n submissionIdValidationMessage?: string\n}) {\n // Resets parameters on form change\n React.useEffect(() => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: undefined,\n sorting: [\n {\n property: 'dateTimeSubmitted',\n direction: 'descending',\n },\n ],\n }),\n false,\n )\n }, [form, onChangeParameters])\n\n const formElements = React.useContext(FormStoreElementsContext)\n const columns = React.useMemo(() => {\n return generateColumns<SubmissionTypes.FormStoreRecord>({\n sorting: parameters.sorting,\n filters: parameters.filters,\n unwindRepeatableSets: parameters.unwindRepeatableSets,\n formElements,\n parentElementNames: [],\n onChangeParameters,\n allowCopy: true,\n initialColumns: [\n {\n id: 'COMPLETED_AT',\n header: 'Completion Date Time',\n meta: {\n sorting: {\n property: 'dateTimeCompleted',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'dateTimeCompleted',\n )?.direction,\n },\n filter: {\n type: 'DATETIME',\n value: parameters.filters?.dateTimeCompleted as\n | { $gte?: string; $lte?: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n dateTimeCompleted: newValue,\n },\n }),\n false,\n )\n },\n },\n },\n\n cell: ({ row: { original: formStoreRecord } }) => {\n if (!formStoreRecord.dateTimeCompleted) {\n return null\n }\n const text = format(\n new Date(formStoreRecord.dateTimeCompleted),\n localisationService.getDateFnsFormats().longDateTime,\n )\n return (\n <>\n {text}\n <TableCellCopyButton text={text} />\n </>\n )\n },\n },\n {\n id: 'SUBMITTED_AT',\n header: 'Submission Date Time',\n meta: {\n sorting: {\n property: 'dateTimeSubmitted',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'dateTimeSubmitted',\n )?.direction,\n },\n filter: {\n type: 'DATETIME',\n value: parameters.filters?.dateTimeSubmitted as\n | { $gte?: string; $lte?: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n dateTimeSubmitted: newValue,\n },\n }),\n false,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => {\n const text = format(\n new Date(formStoreRecord.dateTimeSubmitted),\n localisationService.getDateFnsFormats().longDateTime,\n )\n return (\n <>\n {text}\n <TableCellCopyButton text={text} />\n </>\n )\n },\n },\n {\n id: 'SUBMITTED_BY',\n header: 'Submitted By',\n meta: {\n sorting: undefined,\n filter: {\n type: 'TEXT',\n value: parameters.filters?.submittedBy as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n submittedBy: newValue,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <ActionedByTableCell\n userProfile={formStoreRecord.user}\n developerKey={formStoreRecord.key}\n variant=\"outlined\"\n />\n ),\n },\n {\n id: 'SUBMISSION_ID',\n header: 'Submission Id',\n meta: {\n sorting: undefined,\n filter: {\n type: 'SUBMISSION_ID',\n value: parameters.filters?.submissionId as\n | { $eq: string }\n | undefined,\n validationMessage: submissionIdValidationMessage,\n isInvalid: !!submissionIdValidationMessage,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n submissionId: newValue,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.submissionId}\n <TableCellCopyButton text={formStoreRecord.submissionId} />\n </>\n ),\n },\n {\n id: 'EXTERNAL_ID',\n header: 'External Id',\n meta: {\n sorting: {\n property: 'externalId',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'externalId',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.externalId as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n externalId: newValue,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.externalId}\n {formStoreRecord.externalId && (\n <TableCellCopyButton text={formStoreRecord.externalId} />\n )}\n </>\n ),\n },\n {\n id: 'TASK_GROUP',\n header: 'Task Group',\n meta: {\n sorting: {\n property: 'taskGroup.name',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'taskGroup.name',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.taskGroup?.name as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n taskGroup: newValue\n ? {\n name: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.taskGroup?.name}\n {formStoreRecord.taskGroup?.name && (\n <TableCellCopyButton text={formStoreRecord.taskGroup?.name} />\n )}\n </>\n ),\n },\n {\n id: 'TASK_GROUP_INSTANCE',\n header: 'Task Group Instance',\n meta: {\n sorting: {\n property: 'taskGroupInstance.label',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'taskGroupInstance.label',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.taskGroupInstance?.label as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n taskGroupInstance: newValue\n ? {\n label: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.taskGroupInstance?.label}\n {formStoreRecord.taskGroupInstance?.label && (\n <TableCellCopyButton\n text={formStoreRecord.taskGroupInstance?.label}\n />\n )}\n </>\n ),\n },\n {\n id: 'TASK',\n header: 'Task',\n meta: {\n sorting: {\n property: 'task.name',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'task.name',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.task?.name as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n task: newValue\n ? {\n name: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.task?.name}\n {formStoreRecord.task?.name && (\n <TableCellCopyButton text={formStoreRecord.task?.name} />\n )}\n </>\n ),\n },\n {\n id: 'TASK_ACTION',\n header: 'Task Action',\n meta: {\n sorting: {\n property: 'taskAction.label',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'taskAction.label',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.taskAction?.label as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n taskAction: newValue\n ? {\n label: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.taskAction?.label}\n {formStoreRecord.taskAction?.label && (\n <TableCellCopyButton text={formStoreRecord.taskAction?.label} />\n )}\n </>\n ),\n },\n ],\n })\n }, [\n formElements,\n onChangeParameters,\n parameters,\n submissionIdValidationMessage,\n ])\n\n const [initialState] = React.useState<FormTableState | undefined>(() => {\n const text = localStorage.getItem(localStorageKey(form.id))\n return getVersionedFormTableState(\n text\n ? JSON.parse(text)\n : {\n formId: form.id,\n },\n )\n })\n\n const transformedSorting = React.useMemo(() => {\n return parameters.sorting?.reduce<SortingState>(\n (memo, { property, direction }) => {\n const column = columns.find(\n (column) => column.meta?.sorting?.property === property,\n )\n if (column?.id) {\n memo.push({\n id: column.id,\n desc: direction === 'descending',\n })\n }\n return memo\n },\n [],\n )\n }, [parameters.sorting, columns])\n\n const onSortingChange: OnChangeFn<SortingState> = React.useCallback(\n (updaterOrValue) => {\n const sortingState =\n typeof updaterOrValue === 'function'\n ? updaterOrValue(\n // transform the parameters sorting state to the tanstack sorting state\n parameters.sorting?.reduce<SortingState>(\n (memo, { property, direction }) => {\n const column = columns.find(\n (column) => column.meta?.sorting?.property === property,\n )\n if (column?.id) {\n memo.push({\n id: column.id,\n desc: direction === 'descending',\n })\n }\n return memo\n },\n [],\n ) ?? [],\n )\n : updaterOrValue\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n // transform the tanstack sorting state to the parameters sorting state\n sorting: sortingState.reduce<\n NonNullable<formStoreService.FormStoreParameters['sorting']>\n >((memo, { id, desc }) => {\n const column = columns.find((column) => column.id === id)\n if (column?.meta?.sorting?.property) {\n memo.push({\n property: column.meta.sorting.property,\n direction: desc ? 'descending' : 'ascending',\n })\n }\n return memo\n }, []),\n }),\n false,\n )\n },\n [onChangeParameters, parameters.sorting, columns],\n )\n\n const [columnVisibility, setColumnVisibility] =\n React.useState<VisibilityState>(initialState?.columnVisibility || {})\n\n const table = useReactTable({\n meta: {\n defaultHiddenColumnsVersion: initialState?.defaultHiddenColumnsVersion,\n formId: form.id,\n },\n columns,\n data: formStoreRecords,\n defaultColumn,\n state: {\n sorting: transformedSorting,\n columnVisibility,\n },\n onColumnVisibilityChange: setColumnVisibility,\n onSortingChange,\n manualFiltering: true,\n initialState,\n getCoreRowModel: getCoreRowModel<SubmissionTypes.FormStoreRecord>(),\n })\n\n const state = table.getState()\n\n React.useEffect(() => {\n if (table.options.meta?.formId !== form.id) {\n // If the form id changes, do not save the state from the previous form over the that of the new form\n return\n }\n if (!state.columnSizing.isResizingColumn) {\n const storageKey = localStorageKey(form.id)\n const augmentedState = {\n ...state,\n hiddenColumns: Object.keys(state.columnVisibility),\n formId: table.options.meta?.formId,\n }\n localStorage.setItem(storageKey, JSON.stringify(augmentedState))\n }\n }, [form.id, state, table.options.meta?.formId])\n\n return {\n ...table,\n form,\n parameters,\n onChangeParameters,\n onRefresh,\n submissionIdValidationMessage,\n } as const\n}\n"]}
|
|
1
|
+
{"version":3,"file":"useFormStoreTable.js","sourceRoot":"","sources":["../../../../src/components/formStore/table/useFormStoreTable.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { FormTypes, SubmissionTypes } from '@oneblink/types'\nimport { formStoreService, localisationService } from '../../../apps'\nimport {\n useReactTable,\n getCoreRowModel,\n OnChangeFn,\n SortingState,\n VisibilityState,\n} from '@tanstack/react-table'\nimport { format } from 'date-fns'\nimport generateColumns from './generateColumns'\nimport ActionedByTableCell from './ActionedByTableCell'\nimport TableCellCopyButton from './TableCellCopyButton'\nimport { OnChangeFilters } from '../../../hooks/useInfiniteScrollDataLoad'\nimport { FormStoreElementsContext } from '../OneBlinkFormStoreProvider'\nimport getVersionedFormTableState, { FormTableState } from './getVersionedState'\n\nconst defaultColumn = {\n minSize: 150,\n size: 225,\n}\n\nconst localStorageKey = (formId: number) =>\n `REACT_TABLE_STATE_FORM_STORE_${formId}`\n\nexport default function useFormStoreTable({\n form,\n formStoreRecords,\n parameters,\n onChangeParameters,\n onRefresh,\n submissionIdValidationMessage,\n}: {\n formStoreRecords: SubmissionTypes.FormStoreRecord[]\n form: FormTypes.Form\n parameters: formStoreService.FormStoreParameters\n onChangeParameters: OnChangeFilters<formStoreService.FormStoreParameters>\n onRefresh: () => void\n submissionIdValidationMessage?: string\n}) {\n // Resets parameters on form change\n React.useEffect(() => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: undefined,\n sorting: [\n {\n property: 'dateTimeSubmitted',\n direction: 'descending',\n },\n ],\n }),\n false,\n )\n }, [form, onChangeParameters])\n\n const formElements = React.useContext(FormStoreElementsContext)\n const columns = React.useMemo(() => {\n return generateColumns<SubmissionTypes.FormStoreRecord>({\n sorting: parameters.sorting,\n filters: parameters.filters,\n unwindRepeatableSets: parameters.unwindRepeatableSets,\n formElements,\n parentElementNames: [],\n onChangeParameters,\n allowCopy: true,\n initialColumns: [\n {\n id: 'COMPLETED_AT',\n header: 'Completion Date Time',\n meta: {\n sorting: {\n property: 'dateTimeCompleted',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'dateTimeCompleted',\n )?.direction,\n },\n filter: {\n type: 'DATETIME',\n value: parameters.filters?.dateTimeCompleted as\n | { $gte?: string; $lte?: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n dateTimeCompleted: newValue,\n },\n }),\n false,\n )\n },\n },\n },\n\n cell: ({ row: { original: formStoreRecord } }) => {\n if (!formStoreRecord.dateTimeCompleted) {\n return null\n }\n const text = format(\n new Date(formStoreRecord.dateTimeCompleted),\n localisationService.getDateFnsFormats().longDateTime,\n )\n return (\n <>\n {text}\n <TableCellCopyButton text={text} />\n </>\n )\n },\n },\n {\n id: 'SUBMITTED_AT',\n header: 'Submission Date Time',\n meta: {\n sorting: {\n property: 'dateTimeSubmitted',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'dateTimeSubmitted',\n )?.direction,\n },\n filter: {\n type: 'DATETIME',\n value: parameters.filters?.dateTimeSubmitted as\n | { $gte?: string; $lte?: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n dateTimeSubmitted: newValue,\n },\n }),\n false,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => {\n const text = format(\n new Date(formStoreRecord.dateTimeSubmitted),\n localisationService.getDateFnsFormats().longDateTime,\n )\n return (\n <>\n {text}\n <TableCellCopyButton text={text} />\n </>\n )\n },\n },\n {\n id: 'SUBMITTED_BY',\n header: 'Submitted By',\n meta: {\n sorting: undefined,\n filter: {\n type: 'TEXT',\n value: parameters.filters?.submittedBy as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n submittedBy: newValue,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <ActionedByTableCell\n userProfile={formStoreRecord.user}\n developerKey={formStoreRecord.key}\n variant=\"outlined\"\n />\n ),\n },\n {\n id: 'SUBMISSION_ID',\n header: 'Submission Id',\n meta: {\n sorting: undefined,\n filter: {\n type: 'SUBMISSION_ID',\n value: parameters.filters?.submissionId as\n | { $eq: string }\n | undefined,\n validationMessage: submissionIdValidationMessage,\n isInvalid: !!submissionIdValidationMessage,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n submissionId: newValue,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.submissionId}\n <TableCellCopyButton text={formStoreRecord.submissionId} />\n </>\n ),\n },\n {\n id: 'EXTERNAL_ID',\n header: 'External Id',\n meta: {\n sorting: {\n property: 'externalId',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'externalId',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.externalId as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n externalId: newValue,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.externalId}\n {formStoreRecord.externalId && (\n <TableCellCopyButton text={formStoreRecord.externalId} />\n )}\n </>\n ),\n },\n {\n id: 'TASK_GROUP',\n header: 'Task Group',\n meta: {\n sorting: {\n property: 'taskGroup.name',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'taskGroup.name',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.taskGroup?.name as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n taskGroup: newValue\n ? {\n name: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.taskGroup?.name}\n {formStoreRecord.taskGroup?.name && (\n <TableCellCopyButton text={formStoreRecord.taskGroup?.name} />\n )}\n </>\n ),\n },\n {\n id: 'TASK_GROUP_INSTANCE',\n header: 'Task Group Instance',\n meta: {\n sorting: {\n property: 'taskGroupInstance.label',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'taskGroupInstance.label',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.taskGroupInstance?.label as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n taskGroupInstance: newValue\n ? {\n label: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.taskGroupInstance?.label}\n {formStoreRecord.taskGroupInstance?.label && (\n <TableCellCopyButton\n text={formStoreRecord.taskGroupInstance?.label}\n />\n )}\n </>\n ),\n },\n {\n id: 'TASK',\n header: 'Task',\n meta: {\n sorting: {\n property: 'task.name',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'task.name',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.task?.name as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n task: newValue\n ? {\n name: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.task?.name}\n {formStoreRecord.task?.name && (\n <TableCellCopyButton text={formStoreRecord.task?.name} />\n )}\n </>\n ),\n },\n {\n id: 'TASK_ACTION',\n header: 'Task Action',\n meta: {\n sorting: {\n property: 'taskAction.label',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'taskAction.label',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.taskAction?.label as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n taskAction: newValue\n ? {\n label: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.taskAction?.label}\n {formStoreRecord.taskAction?.label && (\n <TableCellCopyButton text={formStoreRecord.taskAction?.label} />\n )}\n </>\n ),\n },\n ],\n })\n }, [\n formElements,\n onChangeParameters,\n parameters,\n submissionIdValidationMessage,\n ])\n\n const [initialState] = React.useState<FormTableState | undefined>(() => {\n const text = localStorage.getItem(localStorageKey(form.id))\n return getVersionedFormTableState(\n text\n ? JSON.parse(text)\n : {\n formId: form.id,\n },\n )\n })\n\n const transformedSorting = React.useMemo(() => {\n return parameters.sorting?.reduce<SortingState>(\n (memo, { property, direction }) => {\n const column = columns.find(\n (column) => column.meta?.sorting?.property === property,\n )\n if (column?.id) {\n memo.push({\n id: column.id,\n desc: direction === 'descending',\n })\n }\n return memo\n },\n [],\n )\n }, [parameters.sorting, columns])\n\n const onSortingChange: OnChangeFn<SortingState> = React.useCallback(\n (updaterOrValue) => {\n const sortingState =\n typeof updaterOrValue === 'function'\n ? updaterOrValue(\n // transform the parameters sorting state to the tanstack sorting state\n parameters.sorting?.reduce<SortingState>(\n (memo, { property, direction }) => {\n const column = columns.find(\n (column) => column.meta?.sorting?.property === property,\n )\n if (column?.id) {\n memo.push({\n id: column.id,\n desc: direction === 'descending',\n })\n }\n return memo\n },\n [],\n ) ?? [],\n )\n : updaterOrValue\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n // transform the tanstack sorting state to the parameters sorting state\n sorting: sortingState.reduce<\n NonNullable<formStoreService.FormStoreParameters['sorting']>\n >((memo, { id, desc }) => {\n const column = columns.find((column) => column.id === id)\n if (column?.meta?.sorting?.property) {\n memo.push({\n property: column.meta.sorting.property,\n direction: desc ? 'descending' : 'ascending',\n })\n }\n return memo\n }, []),\n }),\n false,\n )\n },\n [onChangeParameters, parameters.sorting, columns],\n )\n\n const [columnVisibility, setColumnVisibility] =\n React.useState<VisibilityState>(initialState?.columnVisibility || {})\n\n // eslint-disable-next-line react-hooks/incompatible-library\n const table = useReactTable({\n meta: {\n defaultHiddenColumnsVersion: initialState?.defaultHiddenColumnsVersion,\n formId: form.id,\n },\n columns,\n columnResizeMode: 'onChange',\n data: formStoreRecords,\n defaultColumn,\n state: {\n sorting: transformedSorting,\n columnVisibility,\n },\n onColumnVisibilityChange: setColumnVisibility,\n onSortingChange,\n manualFiltering: true,\n initialState,\n getCoreRowModel: getCoreRowModel<SubmissionTypes.FormStoreRecord>(),\n })\n\n const state = table.getState()\n\n React.useEffect(() => {\n if (table.options.meta?.formId !== form.id) {\n // If the form id changes, do not save the state from the previous form over the that of the new form\n return\n }\n if (!state.columnSizing.isResizingColumn) {\n const storageKey = localStorageKey(form.id)\n const augmentedState = {\n ...state,\n hiddenColumns: Object.keys(state.columnVisibility),\n formId: table.options.meta?.formId,\n }\n localStorage.setItem(storageKey, JSON.stringify(augmentedState))\n }\n }, [form.id, state, table.options.meta?.formId])\n\n return {\n ...table,\n form,\n parameters,\n onChangeParameters,\n onRefresh,\n submissionIdValidationMessage,\n } as const\n}\n"]}
|
|
@@ -4,8 +4,8 @@ export type FormStoreTableContextValue = ReturnType<typeof useFormStoreTable> |
|
|
|
4
4
|
export declare const FormStoreTableContext: React.Context<FormStoreTableContextValue>;
|
|
5
5
|
export default function useFormStoreTableContext(): {
|
|
6
6
|
readonly form: import("@oneblink/types/typescript/forms").Form;
|
|
7
|
-
readonly parameters: import("
|
|
8
|
-
readonly onChangeParameters: import("../../hooks/useInfiniteScrollDataLoad").OnChangeFilters<import("
|
|
7
|
+
readonly parameters: import("../../apps/form-store-service").FormStoreParameters;
|
|
8
|
+
readonly onChangeParameters: import("../../hooks/useInfiniteScrollDataLoad").OnChangeFilters<import("../../apps/form-store-service").FormStoreParameters>;
|
|
9
9
|
readonly onRefresh: () => void;
|
|
10
10
|
readonly submissionIdValidationMessage: string | undefined;
|
|
11
11
|
readonly _features: readonly import("@tanstack/table-core").TableFeature[];
|
|
@@ -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 { QRCodeSVG } from 'qrcode.react';
|
|
4
4
|
import { Box, Collapse, Dialog, Grid, Link, Typography, DialogContent, DialogActions, Button, } from '@mui/material';
|
|
5
|
-
import { authService } from '
|
|
5
|
+
import { authService } from '../../apps';
|
|
6
6
|
import useBooleanState from '../../hooks/useBooleanState';
|
|
7
7
|
import { CopyToClipBoardIconButton } from '../CopyToClipboardIconButton';
|
|
8
8
|
import SuccessSnackbar from '../SuccessSnackbar';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MfaDialog.js","sourceRoot":"","sources":["../../../src/components/mfa/MfaDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { QRCodeSVG } from 'qrcode.react'\nimport {\n Box,\n Collapse,\n Dialog,\n Grid,\n Link,\n Typography,\n DialogContent,\n DialogActions,\n Button,\n} from '@mui/material'\nimport { authService } from '@oneblink/apps'\nimport useBooleanState from '../../hooks/useBooleanState'\nimport { CopyToClipBoardIconButton } from '../CopyToClipboardIconButton'\nimport SuccessSnackbar from '../SuccessSnackbar'\nimport InputField from '../InputField'\n\nfunction MfaDialog({\n onClose,\n onCompleted,\n mfaSetup,\n}: {\n onClose: () => void\n onCompleted: () => void\n mfaSetup: Awaited<ReturnType<typeof authService.setupMfa>> | undefined\n}) {\n const [code, setState] = React.useState('')\n const [hasSuccessfullySaved, showSuccessfullySaved, hideSuccessfullySaved] =\n useBooleanState(false)\n const [isShowingSecretCode, showSecretCode, hideSecretCode] =\n useBooleanState(false)\n\n const qrcodeValue = React.useMemo(() => {\n if (mfaSetup) {\n return authService.generateMfaQrCodeUrl(mfaSetup)\n }\n }, [mfaSetup])\n\n const [isSaving, startSaving, stopSaving] = useBooleanState(false)\n const handleSave = React.useCallback(async () => {\n startSaving()\n if (!code || !mfaSetup) {\n return\n }\n\n await mfaSetup.mfaCodeCallback(code)\n onCompleted()\n stopSaving()\n showSuccessfullySaved()\n }, [\n code,\n mfaSetup,\n onCompleted,\n showSuccessfullySaved,\n startSaving,\n stopSaving,\n ])\n\n return (\n <React.Fragment>\n <Dialog open={!!mfaSetup} onClose={onClose} title=\"Complete MFA Setup\">\n <DialogContent dividers>\n <>\n <Typography variant=\"subtitle2\" gutterBottom>\n Authenticator App\n </Typography>\n <Typography variant=\"body2\" paragraph>\n Authenticator apps like{' '}\n <Link\n href=\"https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Google Authenticator\n </Link>{' '}\n and{' '}\n <Link\n href=\"https://www.microsoft.com/en-us/security/mobile-authenticator-app\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Microsoft Authenticator\n </Link>{' '}\n generate one-time passwords that are used as a second factor to\n verify your identity when prompted during sign-in.\n </Typography>\n <Typography variant=\"subtitle2\" gutterBottom>\n Scan the QR code\n </Typography>\n <Typography variant=\"body2\" paragraph>\n Use an authenticator app or browser extension to scan the QR code\n below.\n </Typography>\n\n <Box marginBottom={2}>\n <Grid container spacing={2} alignItems=\"center\">\n <Grid>\n <Box\n border={1}\n padding={2}\n borderRadius={1}\n borderColor=\"divider\"\n display=\"inline-block\"\n >\n <QRCodeSVG value={qrcodeValue || ''} />\n </Box>\n </Grid>\n <Grid size={{ xs: 'grow' }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Having trouble scanning the QR code?{' '}\n <Link onClick={showSecretCode} component=\"button\">\n Click here\n </Link>{' '}\n to display the setup key which can be manually entered in\n your authenticator app.\n </Typography>\n </Grid>\n </Grid>\n </Box>\n\n <Collapse in={isShowingSecretCode}>\n <Box marginBottom={2}>\n <InputField\n label=\"Setup Key\"\n value={mfaSetup?.secretCode || ''}\n fullWidth\n slotProps={{\n input: {\n endAdornment: (\n <CopyToClipBoardIconButton\n text={mfaSetup?.secretCode || ''}\n />\n ),\n },\n }}\n helperText={\n <>\n <Link onClick={hideSecretCode} component=\"button\">\n Click here\n </Link>{' '}\n to hide the setup key\n </>\n }\n />\n </Box>\n </Collapse>\n\n <Typography variant=\"subtitle2\" gutterBottom>\n Verify App\n </Typography>\n <Typography variant=\"body2\" paragraph>\n Enter the 6-digit code found in your authenticator app.\n </Typography>\n\n <InputField\n autoFocus\n margin=\"none\"\n name=\"code\"\n label=\"Code\"\n fullWidth\n placeholder=\"XXXXXX\"\n variant=\"outlined\"\n value={code}\n onChange={(event) => {\n const newValue = event.target.value\n setState(() => newValue)\n }}\n disabled={isSaving}\n data-cypress=\"mfa-dialog-code\"\n />\n </>\n </DialogContent>\n <DialogActions>\n <Button onClick={onClose} disabled={isSaving}>\n Cancel\n </Button>\n <Button\n variant=\"contained\"\n color=\"primary\"\n loading={isSaving}\n onClick={handleSave}\n >\n Save\n </Button>\n </DialogActions>\n </Dialog>\n\n <SuccessSnackbar\n open={hasSuccessfullySaved}\n onClose={hideSuccessfullySaved}\n >\n MFA has been successfully setup.\n </SuccessSnackbar>\n </React.Fragment>\n )\n}\n\nexport default React.memo(MfaDialog)\n"]}
|
|
1
|
+
{"version":3,"file":"MfaDialog.js","sourceRoot":"","sources":["../../../src/components/mfa/MfaDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { QRCodeSVG } from 'qrcode.react'\nimport {\n Box,\n Collapse,\n Dialog,\n Grid,\n Link,\n Typography,\n DialogContent,\n DialogActions,\n Button,\n} from '@mui/material'\nimport { authService } from '../../apps'\nimport useBooleanState from '../../hooks/useBooleanState'\nimport { CopyToClipBoardIconButton } from '../CopyToClipboardIconButton'\nimport SuccessSnackbar from '../SuccessSnackbar'\nimport InputField from '../InputField'\n\nfunction MfaDialog({\n onClose,\n onCompleted,\n mfaSetup,\n}: {\n onClose: () => void\n onCompleted: () => void\n mfaSetup: Awaited<ReturnType<typeof authService.setupMfa>> | undefined\n}) {\n const [code, setState] = React.useState('')\n const [hasSuccessfullySaved, showSuccessfullySaved, hideSuccessfullySaved] =\n useBooleanState(false)\n const [isShowingSecretCode, showSecretCode, hideSecretCode] =\n useBooleanState(false)\n\n const qrcodeValue = React.useMemo(() => {\n if (mfaSetup) {\n return authService.generateMfaQrCodeUrl(mfaSetup)\n }\n }, [mfaSetup])\n\n const [isSaving, startSaving, stopSaving] = useBooleanState(false)\n const handleSave = React.useCallback(async () => {\n startSaving()\n if (!code || !mfaSetup) {\n return\n }\n\n await mfaSetup.mfaCodeCallback(code)\n onCompleted()\n stopSaving()\n showSuccessfullySaved()\n }, [\n code,\n mfaSetup,\n onCompleted,\n showSuccessfullySaved,\n startSaving,\n stopSaving,\n ])\n\n return (\n <React.Fragment>\n <Dialog open={!!mfaSetup} onClose={onClose} title=\"Complete MFA Setup\">\n <DialogContent dividers>\n <>\n <Typography variant=\"subtitle2\" gutterBottom>\n Authenticator App\n </Typography>\n <Typography variant=\"body2\" paragraph>\n Authenticator apps like{' '}\n <Link\n href=\"https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Google Authenticator\n </Link>{' '}\n and{' '}\n <Link\n href=\"https://www.microsoft.com/en-us/security/mobile-authenticator-app\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Microsoft Authenticator\n </Link>{' '}\n generate one-time passwords that are used as a second factor to\n verify your identity when prompted during sign-in.\n </Typography>\n <Typography variant=\"subtitle2\" gutterBottom>\n Scan the QR code\n </Typography>\n <Typography variant=\"body2\" paragraph>\n Use an authenticator app or browser extension to scan the QR code\n below.\n </Typography>\n\n <Box marginBottom={2}>\n <Grid container spacing={2} alignItems=\"center\">\n <Grid>\n <Box\n border={1}\n padding={2}\n borderRadius={1}\n borderColor=\"divider\"\n display=\"inline-block\"\n >\n <QRCodeSVG value={qrcodeValue || ''} />\n </Box>\n </Grid>\n <Grid size={{ xs: 'grow' }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Having trouble scanning the QR code?{' '}\n <Link onClick={showSecretCode} component=\"button\">\n Click here\n </Link>{' '}\n to display the setup key which can be manually entered in\n your authenticator app.\n </Typography>\n </Grid>\n </Grid>\n </Box>\n\n <Collapse in={isShowingSecretCode}>\n <Box marginBottom={2}>\n <InputField\n label=\"Setup Key\"\n value={mfaSetup?.secretCode || ''}\n fullWidth\n slotProps={{\n input: {\n endAdornment: (\n <CopyToClipBoardIconButton\n text={mfaSetup?.secretCode || ''}\n />\n ),\n },\n }}\n helperText={\n <>\n <Link onClick={hideSecretCode} component=\"button\">\n Click here\n </Link>{' '}\n to hide the setup key\n </>\n }\n />\n </Box>\n </Collapse>\n\n <Typography variant=\"subtitle2\" gutterBottom>\n Verify App\n </Typography>\n <Typography variant=\"body2\" paragraph>\n Enter the 6-digit code found in your authenticator app.\n </Typography>\n\n <InputField\n autoFocus\n margin=\"none\"\n name=\"code\"\n label=\"Code\"\n fullWidth\n placeholder=\"XXXXXX\"\n variant=\"outlined\"\n value={code}\n onChange={(event) => {\n const newValue = event.target.value\n setState(() => newValue)\n }}\n disabled={isSaving}\n data-cypress=\"mfa-dialog-code\"\n />\n </>\n </DialogContent>\n <DialogActions>\n <Button onClick={onClose} disabled={isSaving}>\n Cancel\n </Button>\n <Button\n variant=\"contained\"\n color=\"primary\"\n loading={isSaving}\n onClick={handleSave}\n >\n Save\n </Button>\n </DialogActions>\n </Dialog>\n\n <SuccessSnackbar\n open={hasSuccessfullySaved}\n onClose={hideSuccessfullySaved}\n >\n MFA has been successfully setup.\n </SuccessSnackbar>\n </React.Fragment>\n )\n}\n\nexport default React.memo(MfaDialog)\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const LargeIcon: import("@emotion/styled").StyledComponent<
|
|
1
|
+
export declare const LargeIcon: import("@emotion/styled").StyledComponent<import("@mui/material").IconOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "className" | "children" | "style" | "classes" | "sx" | "color" | "fontSize" | "baseClassName"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
|
|
2
2
|
type Props = {
|
|
3
3
|
ssoSetupUrl?: string;
|
|
4
4
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { paymentService } from '
|
|
2
|
+
import { paymentService } from '../../apps';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import WestpacQuickStreamPaymentForm from './WestpacQuickStreamPaymentForm';
|
|
5
5
|
import useQuery from '../../hooks/useQuery';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentForm.js","sourceRoot":"","sources":["../../../src/components/payments/PaymentForm.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"PaymentForm.js","sourceRoot":"","sources":["../../../src/components/payments/PaymentForm.tsx"],"names":[],"mappings":"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","sourcesContent":["import { paymentService } from '../../apps'\nimport { SubmissionTypes } from '@oneblink/types'\nimport React from 'react'\nimport WestpacQuickStreamPaymentForm from './WestpacQuickStreamPaymentForm'\nimport useQuery from '../../hooks/useQuery'\nimport useLoadDataState from '../../hooks/useLoadDataState'\nimport OnLoading from '../renderer/OnLoading'\nimport MaterialIcon from '../MaterialIcon'\nimport { CaptchaType } from '../../types/form'\n\nfunction PaymentForm({\n captchaSiteKey,\n captchaType,\n onCompleted,\n onCancelled,\n appImageUrl,\n title,\n}: {\n captchaSiteKey: string\n captchaType?: CaptchaType\n onCompleted: (result: {\n formSubmissionPayment: SubmissionTypes.FormSubmissionPayment\n paymentReceiptUrl: string\n }) => void\n onCancelled: (result: { paymentReceiptUrl: string }) => void\n appImageUrl?: string\n title?: string\n}) {\n const query = useQuery()\n\n const loadPaymentFormConfiguration = React.useCallback(\n async (abortSignal: AbortSignal) => {\n const formSubmissionPaymentId = query.formSubmissionPaymentId\n if (typeof formSubmissionPaymentId !== 'string') {\n throw new Error(\n 'It looks like you are attempting to make an unknown payment.',\n )\n }\n\n const { formSubmissionResult, paymentSubmissionEvent } =\n await paymentService.getFormSubmissionResultPayment()\n switch (paymentSubmissionEvent.type) {\n case 'WESTPAC_QUICK_STREAM': {\n const { supplierBusinessCode, publishableApiKey, isTestMode } =\n await paymentService.westpacQuickStream.getPaymentFormConfiguration(\n {\n formSubmissionPaymentId,\n formSubmissionResult,\n paymentSubmissionEvent,\n abortSignal,\n },\n )\n return {\n renderPaymentForm: () => (\n <WestpacQuickStreamPaymentForm\n formSubmissionResult={formSubmissionResult}\n paymentSubmissionEvent={paymentSubmissionEvent}\n formSubmissionPaymentId={formSubmissionPaymentId}\n supplierBusinessCode={supplierBusinessCode}\n publishableApiKey={publishableApiKey}\n isTestMode={isTestMode}\n captchaSiteKey={captchaSiteKey}\n captchaType={captchaType}\n onCompleted={onCompleted}\n onCancelled={onCancelled}\n appImageUrl={appImageUrl}\n title={title}\n />\n ),\n }\n }\n default: {\n throw new Error(\n `\"${paymentSubmissionEvent.type}\" payment events do not support a custom payment form.`,\n )\n }\n }\n },\n [\n appImageUrl,\n captchaSiteKey,\n captchaType,\n onCancelled,\n onCompleted,\n query.formSubmissionPaymentId,\n title,\n ],\n )\n\n const [state] = useLoadDataState(loadPaymentFormConfiguration)\n\n switch (state.status) {\n case 'LOADING': {\n return (\n <section>\n <div className=\"cypress-loading has-text-centered\">\n <OnLoading className=\"has-text-centered\"></OnLoading>\n <span>Loading payment configuration...</span>\n </div>\n </section>\n )\n }\n case 'ERROR': {\n return (\n <section\n className=\"cypress-payment-form-loading-error-message\"\n role=\"alert\"\n >\n <div className=\"ob-payment-form__error-icon-container has-text-centered has-margin-bottom-8\">\n <MaterialIcon className=\"ob-payment-form__error-icon has-text-danger icon-x-large\">\n error\n </MaterialIcon>\n </div>\n <p className=\"ob-payment-form__error-message has-text-centered has-margin-bottom-4\">\n {state.error.message}\n </p>\n </section>\n )\n }\n case 'SUCCESS': {\n return state.result.renderPaymentForm()\n }\n }\n}\n\nexport default React.memo(PaymentForm)\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { OneBlinkAppsError, paymentService, localisationService, } from '
|
|
2
|
+
import { OneBlinkAppsError, paymentService, localisationService, } from '../../apps';
|
|
3
3
|
import clsx from 'clsx';
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import ReCAPTCHA from 'react-google-recaptcha';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WestpacQuickStreamPaymentForm.js","sourceRoot":"","sources":["../../../src/components/payments/WestpacQuickStreamPaymentForm.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,iBAAiB,EACjB,cAAc,EAEd,mBAAmB,GACpB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,SAAS,MAAM,wBAAwB,CAAA;AAC9C,OAAO,KAAK,UAAU,MAAM,aAAa,CAAA;AACzC,OAAO,SAAS,MAAM,uBAAuB,CAAA;AAC7C,OAAO,gCAAgC,MAAM,8CAA8C,CAAA;AAC3F,OAAO,KAAK,MAAM,mBAAmB,CAAA;AACrC,OAAO,YAAY,MAAM,iBAAiB,CAAA;AAC1C,OAAO,iBAAiB,MAAM,+BAA+B,CAAA;AAE7D,OAAO,4BAA4B,MAAM,0CAA0C,CAAA;AA2CnF,SAAS,6BAA6B,CAAC,EACrC,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,KAAK,GAiBN;;IACC,MAAM,CACJ,EACE,uBAAuB,EACvB,wBAAwB,EACxB,YAAY,EACZ,sBAAsB,GACvB,EACD,2BAA2B,EAC5B,GAAG,KAAK,CAAC,QAAQ,CAKf;QACD,uBAAuB,EAAE,KAAK;QAC9B,wBAAwB,EAAE,IAAI;QAC9B,YAAY,EAAE,IAAI;QAClB,sBAAsB,EAAE,KAAK;KAC9B,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAY,IAAI,CAAC,CAAA;IAEhD,MAAM,6BAA6B,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC3D,2BAA2B,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC7C,GAAG,YAAY;YACf,uBAAuB,EAAE,KAAK;YAC9B,wBAAwB,EAAE,IAAI;SAC/B,CAAC,CAAC,CAAA;IACL,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,YAAY,CAAC,GAC1D,KAAK,CAAC,QAAQ,CAIX;QACD,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;KAChB,CAAC,CAAA;IAEJ,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QAC7C,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAClD,SAAS,CAAC,IAAI,GAAG,iBAAiB,CAAA;QAClC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAA;QAEtB,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;YACrB,IAAI,CAAC;gBACH,SAAS,CAAC,GAAG,GAAG,UAAU;oBACxB,CAAC,CAAC,gFAAgF;oBAClF,CAAC,CAAC,2EAA2E,CAAA;gBAE/E,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACpC,IAAI,CAAC;wBACH,SAAS,CAAC,gBAAgB,CACxB,MAAM,EACN,GAAG,EAAE;4BACH,OAAO,CAAC,SAAS,CAAC,CAAA;wBACpB,CAAC,EACD;4BACE,MAAM,EAAE,eAAe,CAAC,MAAM;yBAC/B,CACF,CAAA;wBAED,SAAS,CAAC,gBAAgB,CACxB,OAAO,EACP,GAAG,EAAE;4BACH,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;wBACjE,CAAC,EACD;4BACE,MAAM,EAAE,eAAe,CAAC,MAAM;yBAC/B,CACF,CAAA;wBAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;oBACtC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAA;wBAC5C,MAAM,CAAC,KAAK,CAAC,CAAA;oBACf,CAAC;gBACH,CAAC,CAAC,CAAA;gBAEF,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC;oBACzB,iBAAiB;iBAClB,CAAC,CAAA;gBACF,MAAM,eAAe,GAAG,MAAM,IAAI,OAAO,CACvC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAClB,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,kBAAkB,CAClD;wBACE,MAAM,EAAE;4BACN,oBAAoB;yBACrB;wBACD,MAAM,EAAE;4BACN,KAAK,EAAE;gCACL,KAAK,EAAE,MAAM;6BACd;yBACF;wBACD,iBAAiB,EAAE,IAAI;wBACvB,sBAAsB,EAAE,IAAI;qBAC7B,EACD,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;wBACf,IAAI,MAAM,EAAE,CAAC;4BACX,MAAM,CAAC,MAAM,CAAC,CAAA;4BACd,OAAM;wBACR,CAAC;wBACD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;oBAC5B,CAAC,CACF,CAAA;gBACH,CAAC,CACF,CAAA;gBAED,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpC,YAAY,CAAC;wBACX,YAAY,EAAE,eAAe;wBAC7B,SAAS,EAAE,KAAK;wBAChB,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpC,YAAY,CAAC;wBACX,YAAY,EAAE,IAAI;wBAClB,SAAS,EAAE,KAAK;wBAChB,SAAS,EAAE,KAAc;qBAC1B,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,CAAA;QAED,GAAG,EAAE,CAAA;QAEL,OAAO,GAAG,EAAE;YACV,eAAe,CAAC,KAAK,EAAE,CAAA;YACvB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QACtC,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,CAAC,CAAA;IAEzD,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CACjC,GAAG,EAAE,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,UAAU,EAC/B,CAAC,WAAW,CAAC,CACd,CAAA;IAED,MAAM,oBAAoB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,QAAuB,EAAE,EAAE;QACzE,2BAA2B,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC7C,GAAG,YAAY;YACf,YAAY,EAAE,QAAQ;YACtB,sBAAsB,EAAE,QAAQ,KAAK,IAAI;SAC1C,CAAC,CAAC,CAAA;IACL,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,cAAc,GAAG,iBAAiB,CAAC;QACvC,cAAc;QACd,UAAU;QACV,eAAe,EAAE,oBAAoB;QACrC,WAAW,EAAE,aAAa;KAC3B,CAAC,CAAA;IAEF,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;;QACrD,MAAA,UAAU,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAA;QAC3B,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,KAAK,GAAG,MAAM,CAAA,MAAA,UAAU,CAAC,OAAO,0CAClC,YAAY,GACb,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACf,OAAO,CAAC,GAAG,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAA;oBAC5D,OAAO,IAAI,CAAA;gBACb,CAAC,CAAC,CAAA,CAAA;gBACJ,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;oBACpC,UAAU,CAAC,KAAK,CAAC;wBACf,OAAO,EAAE,+BAA+B;wBACxC,IAAI,EAAE,WAAW;wBACjB,YAAY,EAAE,gDAAgD;wBAC9D,QAAQ,EAAE,IAAI;wBACd,YAAY,EAAE,IAAI;wBAClB,YAAY,EAAE,IAAI;qBACnB,CAAC,CAAA;gBACJ,CAAC;gBACD,OAAO;oBACL,cAAc,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI;oBAC7B,sBAAsB,EAAE,KAAK;iBAC9B,CAAA;YACH,CAAC;YACD,KAAK,UAAU,CAAC;YAChB;gBACE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAA;QACzE,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAA;IAE/B,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QAChD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAM;QACR,CAAC;QAED,2BAA2B,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC7C,GAAG,YAAY;YACf,uBAAuB,EAAE,IAAI;YAC7B,wBAAwB,EAAE,IAAI;SAC/B,CAAC,CAAC,CAAA;QAEH,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC7C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,MAAM,CAAC,CAAA;gBACtD,2BAA2B,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;oBAC7C,GAAG,YAAY;oBACf,uBAAuB,EAAE,KAAK;oBAC9B,wBAAwB,EAAE,IAAI;iBAC/B,CAAC,CAAC,CAAA;gBACH,OAAM;YACR,CAAC;YAED,MAAM,EAAE,cAAc,EAAE,sBAAsB,EAAE,GAC9C,MAAM,iBAAiB,EAAE,CAAA;YAE3B,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,2BAA2B,CAAC;oBAC1B,YAAY,EAAE,IAAI;oBAClB,sBAAsB;oBACtB,uBAAuB,EAAE,KAAK;oBAC9B,wBAAwB,EAAE,IAAI;iBAC/B,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YAED,cAAc,CAAC,kBAAkB;iBAC9B,mBAAmB,CAAC;gBACnB,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,gBAAgB;gBACtD,oBAAoB;gBACpB,uBAAuB;gBACvB,sBAAsB;gBACtB,cAAc;gBACd,YAAY,EAAE,cAAc;aAC7B,CAAC;iBACD,IAAI,CAAC,WAAW,CAAC;iBACjB,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,2BAA2B,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;oBAC7C,GAAG,YAAY;oBACf,uBAAuB,EAAE,KAAK;oBAC9B,wBAAwB,EAAE,KAAK;iBAChC,CAAC,CAAC,CAAA;YACL,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE;QACD,YAAY;QACZ,iBAAiB;QACjB,oBAAoB;QACpB,uBAAuB;QACvB,sBAAsB;QACtB,cAAc;QACd,WAAW;KACZ,CAAC,CAAA;IAEF,MAAM,CAAC,EAAE,uBAAuB,EAAE,WAAW,EAAE,EAAE,cAAc,CAAC,GAC9D,KAAK,CAAC,QAAQ,CAGX;QACD,uBAAuB,EAAE,KAAK;QAC9B,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;IAEJ,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC9C,cAAc,CAAC;YACb,uBAAuB,EAAE,KAAK;YAC9B,WAAW,EAAE,IAAI;SAClB,CAAC,CAAA;IACJ,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QAChD,cAAc,CAAC;YACb,uBAAuB,EAAE,IAAI;YAC7B,WAAW,EAAE,IAAI;SAClB,CAAC,CAAA;QACF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,kBAAkB,CAAC,aAAa,CAAC;gBACnE,uBAAuB;gBACvB,oBAAoB;aACrB,CAAC,CAAA;YACF,WAAW,CAAC,MAAM,CAAC,CAAA;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;YAC/C,cAAc,CAAC;gBACb,uBAAuB,EAAE,KAAK;gBAC9B,WAAW,EAAE,KAAc;aAC5B,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,EAAE,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,WAAW,CAAC,CAAC,CAAA;IAEhE,OAAO,CACL,8BACG,SAAS,IAAI,CACZ,4BACE,eAAK,SAAS,EAAC,mCAAmC,aAChD,KAAC,SAAS,IAAC,SAAS,EAAC,mBAAmB,GAAa,EACrD,sDAAqC,IACjC,GACE,CACX,EAEA,SAAS,IAAI,CACZ,mBAAS,SAAS,EAAC,4CAA4C,aAC7D,cAAK,SAAS,EAAC,6EAA6E,YAC1F,KAAC,YAAY,IAAC,SAAS,EAAC,0DAA0D,sBAEnE,GACX,EACN,YAAG,SAAS,EAAC,sEAAsE,YAChF,SAAS,CAAC,OAAO,GAChB,IACI,CACX,EAED,4BACE,gBACE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wBAClB,KAAK,CAAC,cAAc,EAAE,CAAA;wBACtB,YAAY,EAAE,CAAA;oBAChB,CAAC,aAED,eAAK,SAAS,EAAC,gDAAgD,aAC5D,CAAC,CAAC,WAAW,IAAI,CAChB,iBAAQ,SAAS,EAAC,sDAAsD,YACtE,cACE,GAAG,EAAC,kBAAkB,EACtB,SAAS,EAAC,YAAY,EACtB,GAAG,EAAE,WAAW,GAChB,GACK,CACV,EACA,CAAC,CAAC,KAAK,IAAI,CACV,aAAI,SAAS,EAAC,kEAAkE,YAC7E,KAAK,GACH,CACN,EACD,gBAAO,SAAS,EAAC,kCAAkC,yEAE3C,EAER,eAAK,SAAS,EAAC,6CAA6C,aAC1D,mCAAiB,EACjB,cAAK,SAAS,EAAC,mDAAmD,YAC/D,mBAAmB,CAAC,cAAc,CACjC,MAAA,MAAA,oBAAoB,CAAC,OAAO,0CAAE,MAAM,mCAAI,CAAC,CAC1C,GACG,IACF,EACN,sCACuB,qBAAqB,EAC1C,SAAS,EAAC,mCAAmC,GACxC,EACN,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,CAC3B,8BACE,KAAC,SAAS,OACJ,cAAc,EAClB,SAAS,EAAC,+EAA+E,GACzF,EACD,sBAAsB,IAAI,CACzB,KAAC,4BAA4B,IAC3B,OAAO,EAAC,0CAA0C,EAClD,SAAS,EAAC,kBAAkB,GAC5B,CACH,IACA,CACJ,IACG,EACL,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,CAC3B,eAAK,SAAS,EAAC,mDAAmD,aAChE,iBACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,uBAAuB,IAAI,uBAAuB,EAC5D,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,IAAI,CAAC,8BAA8B,EAAE;wCAC9C,YAAY,EAAE,uBAAuB;qCACtC,CAAC,uBAGK,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,uBAAuB,IAAI,uBAAuB,EAC5D,SAAS,EAAE,IAAI,CAAC,6BAA6B,EAAE;wCAC7C,YAAY,EAAE,uBAAuB;qCACtC,CAAC,6BAGK,IACL,CACP,IACI,GACC,EAEV,KAAC,KAAK,IACJ,MAAM,EAAE,CAAC,CAAC,wBAAwB,EAClC,KAAK,EAAC,eAAe,EACrB,SAAS,EAAC,oCAAoC,EAC9C,OAAO,EACL,4BACE,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,gEAAgE,EAC1E,OAAO,EAAE,6BAA6B,EACtC,SAAS,2BAGF,GACR,YAGL,8BACE,wBACG,wBAAwB,YAAY,KAAK;gCACxC,CAAC,CAAC,wBAAwB,CAAC,OAAO;gCAClC,CAAC,CAAC,wBAAwB,GACxB,EACL,wBAAwB,YAAY,iBAAiB,IAAI,CACxD,KAAC,gCAAgC,IAC/B,KAAK,EAAE,wBAAwB,CAAC,aAAa,GAC7C,CACH,IACA,GACG,EAER,KAAC,KAAK,IACJ,MAAM,EAAE,CAAC,CAAC,WAAW,EACrB,KAAK,EAAC,cAAc,EACpB,SAAS,EAAC,mCAAmC,EAC7C,OAAO,EACL,4BACE,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,+DAA+D,EACzE,OAAO,EAAE,gBAAgB,EACzB,SAAS,2BAGF,GACR,YAGL,8BACE,wBACG,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,GAC7D,EACL,WAAW,YAAY,iBAAiB,IAAI,CAC3C,KAAC,gCAAgC,IAC/B,KAAK,EAAE,WAAW,CAAC,aAAa,GAChC,CACH,IACA,GACG,IACP,CACJ,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA","sourcesContent":["import {\n OneBlinkAppsError,\n paymentService,\n submissionService,\n localisationService,\n} from '@oneblink/apps'\nimport { SubmissionTypes, SubmissionEventTypes } from '@oneblink/types'\nimport clsx from 'clsx'\nimport React from 'react'\nimport ReCAPTCHA from 'react-google-recaptcha'\nimport * as bulmaToast from 'bulma-toast'\nimport OnLoading from '../renderer/OnLoading'\nimport OneBlinkAppsErrorOriginalMessage from '../renderer/OneBlinkAppsErrorOriginalMessage'\nimport Modal from '../renderer/Modal'\nimport MaterialIcon from '../MaterialIcon'\nimport useReCAPTCHAProps from '../../hooks/useReCAPTCHAProps'\nimport { CaptchaType } from '../../typedoc'\nimport FormElementValidationMessage from '../renderer/FormElementValidationMessage'\n\ninterface TrustedFrame {\n submitForm(\n callback: (\n errors:\n | Array<{\n fieldName: string\n messages: string[]\n }>\n | undefined,\n data: {\n singleUseToken: {\n singleUseTokenId: string\n }\n },\n ) => void,\n ): void\n}\n\ndeclare global {\n interface Window {\n QuickstreamAPI: {\n init(options: { publishableApiKey: string }): void\n creditCards: {\n createTrustedFrame(\n options: unknown,\n callback: (\n errors:\n | Array<{\n fieldName: string\n messages: string[]\n }>\n | undefined,\n data: {\n trustedFrame: TrustedFrame\n },\n ) => void,\n ): void\n }\n }\n }\n}\nfunction WestpacQuickStreamPaymentForm({\n formSubmissionResult,\n paymentSubmissionEvent,\n formSubmissionPaymentId,\n supplierBusinessCode,\n publishableApiKey,\n isTestMode,\n captchaSiteKey,\n captchaType,\n onCompleted,\n onCancelled,\n appImageUrl,\n title,\n}: {\n formSubmissionResult: submissionService.FormSubmissionResult\n paymentSubmissionEvent: SubmissionEventTypes.WestpacQuickStreamSubmissionEvent\n formSubmissionPaymentId: string\n supplierBusinessCode: string\n publishableApiKey: string\n isTestMode: boolean\n captchaSiteKey: string\n captchaType?: CaptchaType\n onCompleted: (result: {\n formSubmissionPayment: SubmissionTypes.FormSubmissionPayment\n paymentReceiptUrl: string\n }) => void\n onCancelled: (result: { paymentReceiptUrl: string }) => void\n appImageUrl?: string\n title?: string\n}) {\n const [\n {\n isCompletingTransaction,\n completeTransactionError,\n captchaToken,\n displayCaptchaRequired,\n },\n setCompleteTransactionState,\n ] = React.useState<{\n captchaToken: string | null\n displayCaptchaRequired: boolean\n isCompletingTransaction: boolean\n completeTransactionError: Error | null\n }>({\n isCompletingTransaction: false,\n completeTransactionError: null,\n captchaToken: null,\n displayCaptchaRequired: false,\n })\n\n const captchaRef = React.useRef<ReCAPTCHA>(null)\n\n const clearCompleteTransactionError = React.useCallback(() => {\n setCompleteTransactionState((currentState) => ({\n ...currentState,\n isCompletingTransaction: false,\n completeTransactionError: null,\n }))\n }, [])\n\n const [{ trustedFrame, isLoading, loadError }, setLoadState] =\n React.useState<{\n trustedFrame: TrustedFrame | null\n isLoading: boolean\n loadError: Error | null\n }>({\n trustedFrame: null,\n isLoading: true,\n loadError: null,\n })\n\n React.useEffect(() => {\n const abortController = new AbortController()\n const scriptEle = document.createElement('script')\n scriptEle.type = 'text/javascript'\n scriptEle.async = true\n\n const run = async () => {\n try {\n scriptEle.src = isTestMode\n ? 'https://api.quickstream.support.qvalent.com/rest/v1/quickstream-api-1.0.min.js'\n : 'https://api.quickstream.westpac.com.au/rest/v1/quickstream-api-1.0.min.js'\n\n await new Promise((resolve, reject) => {\n try {\n scriptEle.addEventListener(\n 'load',\n () => {\n resolve(undefined)\n },\n {\n signal: abortController.signal,\n },\n )\n\n scriptEle.addEventListener(\n 'error',\n () => {\n reject(new Error(`Failed to load the script ${scriptEle.src}`))\n },\n {\n signal: abortController.signal,\n },\n )\n\n document.body.appendChild(scriptEle)\n } catch (error) {\n console.warn('Failed to load script', error)\n reject(error)\n }\n })\n\n window.QuickstreamAPI.init({\n publishableApiKey,\n })\n const newTrustedFrame = await new Promise<TrustedFrame>(\n (resolve, reject) => {\n window.QuickstreamAPI.creditCards.createTrustedFrame(\n {\n config: {\n supplierBusinessCode,\n },\n iframe: {\n style: {\n width: '100%',\n },\n },\n showAcceptedCards: true,\n showRequiredIndicators: true,\n },\n (errors, data) => {\n if (errors) {\n reject(errors)\n return\n }\n resolve(data.trustedFrame)\n },\n )\n },\n )\n\n if (!abortController.signal.aborted) {\n setLoadState({\n trustedFrame: newTrustedFrame,\n isLoading: false,\n loadError: null,\n })\n }\n } catch (error) {\n if (!abortController.signal.aborted) {\n setLoadState({\n trustedFrame: null,\n isLoading: false,\n loadError: error as Error,\n })\n }\n }\n }\n\n run()\n\n return () => {\n abortController.abort()\n document.body.removeChild(scriptEle)\n }\n }, [isTestMode, publishableApiKey, supplierBusinessCode])\n\n const recaptchaType = React.useMemo(\n () => captchaType ?? 'CHECKBOX',\n [captchaType],\n )\n\n const hanedleCaptchaChange = React.useCallback((newValue: string | null) => {\n setCompleteTransactionState((currentState) => ({\n ...currentState,\n captchaToken: newValue,\n displayCaptchaRequired: newValue === null,\n }))\n }, [])\n\n const recaptchaProps = useReCAPTCHAProps({\n captchaSiteKey,\n captchaRef,\n onCaptchaChange: hanedleCaptchaChange,\n captchaType: recaptchaType,\n })\n\n const getRecaptchaToken = React.useCallback(async () => {\n captchaRef.current?.reset()\n switch (captchaType) {\n case 'INVISIBLE': {\n const token = await captchaRef.current\n ?.executeAsync()\n .catch((error) => {\n console.log('Invisible captcha executeAsync failure', error)\n return null\n })\n if (!token) {\n console.log('Captcha token failure')\n bulmaToast.toast({\n message: 'Failed to get a captcha token',\n type: 'is-danger',\n extraClasses: 'ob-toast cypress-failed-captcha-token-creation',\n duration: 4000,\n pauseOnHover: true,\n closeOnClick: true,\n })\n }\n return {\n recaptchaToken: token ?? null,\n displayCaptchaRequired: false,\n }\n }\n case 'CHECKBOX':\n default:\n return { recaptchaToken: captchaToken, displayCaptchaRequired: true }\n }\n }, [captchaToken, captchaType])\n\n const handleSubmit = React.useCallback(async () => {\n if (!trustedFrame) {\n return\n }\n\n setCompleteTransactionState((currentState) => ({\n ...currentState,\n isCompletingTransaction: true,\n completeTransactionError: null,\n }))\n\n trustedFrame.submitForm(async (errors, data) => {\n if (errors) {\n console.log('Invalid payment form submission', errors)\n setCompleteTransactionState((currentState) => ({\n ...currentState,\n isCompletingTransaction: false,\n completeTransactionError: null,\n }))\n return\n }\n\n const { recaptchaToken, displayCaptchaRequired } =\n await getRecaptchaToken()\n\n if (!recaptchaToken) {\n setCompleteTransactionState({\n captchaToken: null,\n displayCaptchaRequired,\n isCompletingTransaction: false,\n completeTransactionError: null,\n })\n return\n }\n\n paymentService.westpacQuickStream\n .completeTransaction({\n singleUseTokenId: data.singleUseToken.singleUseTokenId,\n formSubmissionResult,\n formSubmissionPaymentId,\n paymentSubmissionEvent,\n captchaSiteKey,\n captchaToken: recaptchaToken,\n })\n .then(onCompleted)\n .catch((error) => {\n setCompleteTransactionState((currentState) => ({\n ...currentState,\n isCompletingTransaction: false,\n completeTransactionError: error,\n }))\n })\n })\n }, [\n trustedFrame,\n getRecaptchaToken,\n formSubmissionResult,\n formSubmissionPaymentId,\n paymentSubmissionEvent,\n captchaSiteKey,\n onCompleted,\n ])\n\n const [{ isCancellingTransaction, cancelError }, setCancelState] =\n React.useState<{\n isCancellingTransaction: boolean\n cancelError: Error | null\n }>({\n isCancellingTransaction: false,\n cancelError: null,\n })\n\n const clearCancelError = React.useCallback(() => {\n setCancelState({\n isCancellingTransaction: false,\n cancelError: null,\n })\n }, [])\n\n const handleCancel = React.useCallback(async () => {\n setCancelState({\n isCancellingTransaction: true,\n cancelError: null,\n })\n try {\n const result = await paymentService.westpacQuickStream.cancelPayment({\n formSubmissionPaymentId,\n formSubmissionResult,\n })\n onCancelled(result)\n } catch (error) {\n console.warn('Failed to cancel payment', error)\n setCancelState({\n isCancellingTransaction: false,\n cancelError: error as Error,\n })\n }\n }, [formSubmissionPaymentId, formSubmissionResult, onCancelled])\n\n return (\n <>\n {isLoading && (\n <section>\n <div className=\"cypress-loading has-text-centered\">\n <OnLoading className=\"has-text-centered\"></OnLoading>\n <span>Building payment form...</span>\n </div>\n </section>\n )}\n\n {loadError && (\n <section className=\"cypress-payment-form-loading-error-message\">\n <div className=\"ob-payment-form__error-icon-container has-text-centered has-margin-bottom-8\">\n <MaterialIcon className=\"ob-payment-form__error-icon has-text-danger icon-x-large\">\n error\n </MaterialIcon>\n </div>\n <p className=\"ob-payment-form__error-message has-text-centered has-margin-bottom-4\">\n {loadError.message}\n </p>\n </section>\n )}\n\n <section>\n <form\n onSubmit={(event) => {\n event.preventDefault()\n handleSubmit()\n }}\n >\n <div className=\"ob-payment-form__westpac-quickstream-container\">\n {!!appImageUrl && (\n <figure className=\"image is-128x128 has-margin-bottom-6 ml-auto mr-auto\">\n <img\n alt=\"Application Icon\"\n className=\"is-rounded\"\n src={appImageUrl}\n />\n </figure>\n )}\n {!!title && (\n <h3 className=\"title is-3 is-size-3-mobile ob-header__heading has-text-centered\">\n {title}\n </h3>\n )}\n <label className=\"label ob-label has-text-centered\">\n Fill out the form below to complete your secure payment.\n </label>\n\n <div className=\"ob-payment-form__westpac-quickstream-amount\">\n <div>Amount</div>\n <div className=\"ob-payment-form__westpac-quickstream-amount-value\">\n {localisationService.formatCurrency(\n formSubmissionResult.payment?.amount ?? 0,\n )}\n </div>\n </div>\n <div\n data-quickstream-api=\"creditCardContainer\"\n className=\"quickstream-credit-card-container\"\n ></div>\n {!isLoading && !loadError && (\n <>\n <ReCAPTCHA\n {...recaptchaProps}\n className=\"ob-input cypress-captcha-control ob-payment-form__westpac-quickstream-captcha\"\n />\n {displayCaptchaRequired && (\n <FormElementValidationMessage\n message=\"Please complete the CAPTCHA successfully\"\n className=\"cypress-required\"\n />\n )}\n </>\n )}\n </div>\n {!isLoading && !loadError && (\n <div className=\"ob-payment-form__westpac-quickstream-form-actions\">\n <button\n type=\"button\"\n disabled={isCompletingTransaction || isCancellingTransaction}\n onClick={handleCancel}\n className={clsx('button ob-button is-outlined', {\n 'is-loading': isCancellingTransaction,\n })}\n >\n Cancel\n </button>\n <button\n type=\"submit\"\n disabled={isCompletingTransaction || isCancellingTransaction}\n className={clsx('button ob-button is-success', {\n 'is-loading': isCompletingTransaction,\n })}\n >\n Make Payment\n </button>\n </div>\n )}\n </form>\n </section>\n\n <Modal\n isOpen={!!completeTransactionError}\n title=\"Payment Issue\"\n className=\"cypress-payment-error-close-button\"\n actions={\n <>\n <button\n type=\"button\"\n className=\"button ob-button cypress-payment-error-close-button is-primary\"\n onClick={clearCompleteTransactionError}\n autoFocus\n >\n Okay\n </button>\n </>\n }\n >\n <>\n <div>\n {completeTransactionError instanceof Error\n ? completeTransactionError.message\n : completeTransactionError}\n </div>\n {completeTransactionError instanceof OneBlinkAppsError && (\n <OneBlinkAppsErrorOriginalMessage\n error={completeTransactionError.originalError}\n />\n )}\n </>\n </Modal>\n\n <Modal\n isOpen={!!cancelError}\n title=\"Cancel Issue\"\n className=\"cypress-cancel-error-close-button\"\n actions={\n <>\n <button\n type=\"button\"\n className=\"button ob-button cypress-cancel-error-close-button is-primary\"\n onClick={clearCancelError}\n autoFocus\n >\n Okay\n </button>\n </>\n }\n >\n <>\n <div>\n {cancelError instanceof Error ? cancelError.message : cancelError}\n </div>\n {cancelError instanceof OneBlinkAppsError && (\n <OneBlinkAppsErrorOriginalMessage\n error={cancelError.originalError}\n />\n )}\n </>\n </Modal>\n </>\n )\n}\n\nexport default React.memo(WestpacQuickStreamPaymentForm)\n"]}
|
|
1
|
+
{"version":3,"file":"WestpacQuickStreamPaymentForm.js","sourceRoot":"","sources":["../../../src/components/payments/WestpacQuickStreamPaymentForm.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n OneBlinkAppsError,\n paymentService,\n submissionService,\n localisationService,\n} from '../../apps'\nimport { SubmissionTypes, SubmissionEventTypes } from '@oneblink/types'\nimport clsx from 'clsx'\nimport React from 'react'\nimport ReCAPTCHA from 'react-google-recaptcha'\nimport * as bulmaToast from 'bulma-toast'\nimport OnLoading from '../renderer/OnLoading'\nimport OneBlinkAppsErrorOriginalMessage from '../renderer/OneBlinkAppsErrorOriginalMessage'\nimport Modal from '../renderer/Modal'\nimport MaterialIcon from '../MaterialIcon'\nimport useReCAPTCHAProps from '../../hooks/useReCAPTCHAProps'\nimport { CaptchaType } from '../../typedoc'\nimport FormElementValidationMessage from '../renderer/FormElementValidationMessage'\n\ninterface TrustedFrame {\n submitForm(\n callback: (\n errors:\n | Array<{\n fieldName: string\n messages: string[]\n }>\n | undefined,\n data: {\n singleUseToken: {\n singleUseTokenId: string\n }\n },\n ) => void,\n ): void\n}\n\ndeclare global {\n interface Window {\n QuickstreamAPI: {\n init(options: { publishableApiKey: string }): void\n creditCards: {\n createTrustedFrame(\n options: unknown,\n callback: (\n errors:\n | Array<{\n fieldName: string\n messages: string[]\n }>\n | undefined,\n data: {\n trustedFrame: TrustedFrame\n },\n ) => void,\n ): void\n }\n }\n }\n}\nfunction WestpacQuickStreamPaymentForm({\n formSubmissionResult,\n paymentSubmissionEvent,\n formSubmissionPaymentId,\n supplierBusinessCode,\n publishableApiKey,\n isTestMode,\n captchaSiteKey,\n captchaType,\n onCompleted,\n onCancelled,\n appImageUrl,\n title,\n}: {\n formSubmissionResult: submissionService.FormSubmissionResult\n paymentSubmissionEvent: SubmissionEventTypes.WestpacQuickStreamSubmissionEvent\n formSubmissionPaymentId: string\n supplierBusinessCode: string\n publishableApiKey: string\n isTestMode: boolean\n captchaSiteKey: string\n captchaType?: CaptchaType\n onCompleted: (result: {\n formSubmissionPayment: SubmissionTypes.FormSubmissionPayment\n paymentReceiptUrl: string\n }) => void\n onCancelled: (result: { paymentReceiptUrl: string }) => void\n appImageUrl?: string\n title?: string\n}) {\n const [\n {\n isCompletingTransaction,\n completeTransactionError,\n captchaToken,\n displayCaptchaRequired,\n },\n setCompleteTransactionState,\n ] = React.useState<{\n captchaToken: string | null\n displayCaptchaRequired: boolean\n isCompletingTransaction: boolean\n completeTransactionError: Error | null\n }>({\n isCompletingTransaction: false,\n completeTransactionError: null,\n captchaToken: null,\n displayCaptchaRequired: false,\n })\n\n const captchaRef = React.useRef<ReCAPTCHA>(null)\n\n const clearCompleteTransactionError = React.useCallback(() => {\n setCompleteTransactionState((currentState) => ({\n ...currentState,\n isCompletingTransaction: false,\n completeTransactionError: null,\n }))\n }, [])\n\n const [{ trustedFrame, isLoading, loadError }, setLoadState] =\n React.useState<{\n trustedFrame: TrustedFrame | null\n isLoading: boolean\n loadError: Error | null\n }>({\n trustedFrame: null,\n isLoading: true,\n loadError: null,\n })\n\n React.useEffect(() => {\n const abortController = new AbortController()\n const scriptEle = document.createElement('script')\n scriptEle.type = 'text/javascript'\n scriptEle.async = true\n\n const run = async () => {\n try {\n scriptEle.src = isTestMode\n ? 'https://api.quickstream.support.qvalent.com/rest/v1/quickstream-api-1.0.min.js'\n : 'https://api.quickstream.westpac.com.au/rest/v1/quickstream-api-1.0.min.js'\n\n await new Promise((resolve, reject) => {\n try {\n scriptEle.addEventListener(\n 'load',\n () => {\n resolve(undefined)\n },\n {\n signal: abortController.signal,\n },\n )\n\n scriptEle.addEventListener(\n 'error',\n () => {\n reject(new Error(`Failed to load the script ${scriptEle.src}`))\n },\n {\n signal: abortController.signal,\n },\n )\n\n document.body.appendChild(scriptEle)\n } catch (error) {\n console.warn('Failed to load script', error)\n reject(error)\n }\n })\n\n window.QuickstreamAPI.init({\n publishableApiKey,\n })\n const newTrustedFrame = await new Promise<TrustedFrame>(\n (resolve, reject) => {\n window.QuickstreamAPI.creditCards.createTrustedFrame(\n {\n config: {\n supplierBusinessCode,\n },\n iframe: {\n style: {\n width: '100%',\n },\n },\n showAcceptedCards: true,\n showRequiredIndicators: true,\n },\n (errors, data) => {\n if (errors) {\n reject(errors)\n return\n }\n resolve(data.trustedFrame)\n },\n )\n },\n )\n\n if (!abortController.signal.aborted) {\n setLoadState({\n trustedFrame: newTrustedFrame,\n isLoading: false,\n loadError: null,\n })\n }\n } catch (error) {\n if (!abortController.signal.aborted) {\n setLoadState({\n trustedFrame: null,\n isLoading: false,\n loadError: error as Error,\n })\n }\n }\n }\n\n run()\n\n return () => {\n abortController.abort()\n document.body.removeChild(scriptEle)\n }\n }, [isTestMode, publishableApiKey, supplierBusinessCode])\n\n const recaptchaType = React.useMemo(\n () => captchaType ?? 'CHECKBOX',\n [captchaType],\n )\n\n const hanedleCaptchaChange = React.useCallback((newValue: string | null) => {\n setCompleteTransactionState((currentState) => ({\n ...currentState,\n captchaToken: newValue,\n displayCaptchaRequired: newValue === null,\n }))\n }, [])\n\n const recaptchaProps = useReCAPTCHAProps({\n captchaSiteKey,\n captchaRef,\n onCaptchaChange: hanedleCaptchaChange,\n captchaType: recaptchaType,\n })\n\n const getRecaptchaToken = React.useCallback(async () => {\n captchaRef.current?.reset()\n switch (captchaType) {\n case 'INVISIBLE': {\n const token = await captchaRef.current\n ?.executeAsync()\n .catch((error) => {\n console.log('Invisible captcha executeAsync failure', error)\n return null\n })\n if (!token) {\n console.log('Captcha token failure')\n bulmaToast.toast({\n message: 'Failed to get a captcha token',\n type: 'is-danger',\n extraClasses: 'ob-toast cypress-failed-captcha-token-creation',\n duration: 4000,\n pauseOnHover: true,\n closeOnClick: true,\n })\n }\n return {\n recaptchaToken: token ?? null,\n displayCaptchaRequired: false,\n }\n }\n case 'CHECKBOX':\n default:\n return { recaptchaToken: captchaToken, displayCaptchaRequired: true }\n }\n }, [captchaToken, captchaType])\n\n const handleSubmit = React.useCallback(async () => {\n if (!trustedFrame) {\n return\n }\n\n setCompleteTransactionState((currentState) => ({\n ...currentState,\n isCompletingTransaction: true,\n completeTransactionError: null,\n }))\n\n trustedFrame.submitForm(async (errors, data) => {\n if (errors) {\n console.log('Invalid payment form submission', errors)\n setCompleteTransactionState((currentState) => ({\n ...currentState,\n isCompletingTransaction: false,\n completeTransactionError: null,\n }))\n return\n }\n\n const { recaptchaToken, displayCaptchaRequired } =\n await getRecaptchaToken()\n\n if (!recaptchaToken) {\n setCompleteTransactionState({\n captchaToken: null,\n displayCaptchaRequired,\n isCompletingTransaction: false,\n completeTransactionError: null,\n })\n return\n }\n\n paymentService.westpacQuickStream\n .completeTransaction({\n singleUseTokenId: data.singleUseToken.singleUseTokenId,\n formSubmissionResult,\n formSubmissionPaymentId,\n paymentSubmissionEvent,\n captchaSiteKey,\n captchaToken: recaptchaToken,\n })\n .then(onCompleted)\n .catch((error) => {\n setCompleteTransactionState((currentState) => ({\n ...currentState,\n isCompletingTransaction: false,\n completeTransactionError: error,\n }))\n })\n })\n }, [\n trustedFrame,\n getRecaptchaToken,\n formSubmissionResult,\n formSubmissionPaymentId,\n paymentSubmissionEvent,\n captchaSiteKey,\n onCompleted,\n ])\n\n const [{ isCancellingTransaction, cancelError }, setCancelState] =\n React.useState<{\n isCancellingTransaction: boolean\n cancelError: Error | null\n }>({\n isCancellingTransaction: false,\n cancelError: null,\n })\n\n const clearCancelError = React.useCallback(() => {\n setCancelState({\n isCancellingTransaction: false,\n cancelError: null,\n })\n }, [])\n\n const handleCancel = React.useCallback(async () => {\n setCancelState({\n isCancellingTransaction: true,\n cancelError: null,\n })\n try {\n const result = await paymentService.westpacQuickStream.cancelPayment({\n formSubmissionPaymentId,\n formSubmissionResult,\n })\n onCancelled(result)\n } catch (error) {\n console.warn('Failed to cancel payment', error)\n setCancelState({\n isCancellingTransaction: false,\n cancelError: error as Error,\n })\n }\n }, [formSubmissionPaymentId, formSubmissionResult, onCancelled])\n\n return (\n <>\n {isLoading && (\n <section>\n <div className=\"cypress-loading has-text-centered\">\n <OnLoading className=\"has-text-centered\"></OnLoading>\n <span>Building payment form...</span>\n </div>\n </section>\n )}\n\n {loadError && (\n <section className=\"cypress-payment-form-loading-error-message\">\n <div className=\"ob-payment-form__error-icon-container has-text-centered has-margin-bottom-8\">\n <MaterialIcon className=\"ob-payment-form__error-icon has-text-danger icon-x-large\">\n error\n </MaterialIcon>\n </div>\n <p className=\"ob-payment-form__error-message has-text-centered has-margin-bottom-4\">\n {loadError.message}\n </p>\n </section>\n )}\n\n <section>\n <form\n onSubmit={(event) => {\n event.preventDefault()\n handleSubmit()\n }}\n >\n <div className=\"ob-payment-form__westpac-quickstream-container\">\n {!!appImageUrl && (\n <figure className=\"image is-128x128 has-margin-bottom-6 ml-auto mr-auto\">\n <img\n alt=\"Application Icon\"\n className=\"is-rounded\"\n src={appImageUrl}\n />\n </figure>\n )}\n {!!title && (\n <h3 className=\"title is-3 is-size-3-mobile ob-header__heading has-text-centered\">\n {title}\n </h3>\n )}\n <label className=\"label ob-label has-text-centered\">\n Fill out the form below to complete your secure payment.\n </label>\n\n <div className=\"ob-payment-form__westpac-quickstream-amount\">\n <div>Amount</div>\n <div className=\"ob-payment-form__westpac-quickstream-amount-value\">\n {localisationService.formatCurrency(\n formSubmissionResult.payment?.amount ?? 0,\n )}\n </div>\n </div>\n <div\n data-quickstream-api=\"creditCardContainer\"\n className=\"quickstream-credit-card-container\"\n ></div>\n {!isLoading && !loadError && (\n <>\n <ReCAPTCHA\n {...recaptchaProps}\n className=\"ob-input cypress-captcha-control ob-payment-form__westpac-quickstream-captcha\"\n />\n {displayCaptchaRequired && (\n <FormElementValidationMessage\n message=\"Please complete the CAPTCHA successfully\"\n className=\"cypress-required\"\n />\n )}\n </>\n )}\n </div>\n {!isLoading && !loadError && (\n <div className=\"ob-payment-form__westpac-quickstream-form-actions\">\n <button\n type=\"button\"\n disabled={isCompletingTransaction || isCancellingTransaction}\n onClick={handleCancel}\n className={clsx('button ob-button is-outlined', {\n 'is-loading': isCancellingTransaction,\n })}\n >\n Cancel\n </button>\n <button\n type=\"submit\"\n disabled={isCompletingTransaction || isCancellingTransaction}\n className={clsx('button ob-button is-success', {\n 'is-loading': isCompletingTransaction,\n })}\n >\n Make Payment\n </button>\n </div>\n )}\n </form>\n </section>\n\n <Modal\n isOpen={!!completeTransactionError}\n title=\"Payment Issue\"\n className=\"cypress-payment-error-close-button\"\n actions={\n <>\n <button\n type=\"button\"\n className=\"button ob-button cypress-payment-error-close-button is-primary\"\n onClick={clearCompleteTransactionError}\n autoFocus\n >\n Okay\n </button>\n </>\n }\n >\n <>\n <div>\n {completeTransactionError instanceof Error\n ? completeTransactionError.message\n : completeTransactionError}\n </div>\n {completeTransactionError instanceof OneBlinkAppsError && (\n <OneBlinkAppsErrorOriginalMessage\n error={completeTransactionError.originalError}\n />\n )}\n </>\n </Modal>\n\n <Modal\n isOpen={!!cancelError}\n title=\"Cancel Issue\"\n className=\"cypress-cancel-error-close-button\"\n actions={\n <>\n <button\n type=\"button\"\n className=\"button ob-button cypress-cancel-error-close-button is-primary\"\n onClick={clearCancelError}\n autoFocus\n >\n Okay\n </button>\n </>\n }\n >\n <>\n <div>\n {cancelError instanceof Error ? cancelError.message : cancelError}\n </div>\n {cancelError instanceof OneBlinkAppsError && (\n <OneBlinkAppsErrorOriginalMessage\n error={cancelError.originalError}\n />\n )}\n </>\n </Modal>\n </>\n )\n}\n\nexport default React.memo(WestpacQuickStreamPaymentForm)\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import clsx from 'clsx';
|
|
4
|
-
import { Sentry } from '
|
|
4
|
+
import { Sentry } from '../../apps';
|
|
5
5
|
import useBooleanState from '../../hooks/useBooleanState';
|
|
6
6
|
import { LookupNotificationContext } from '../../hooks/useLookupNotification';
|
|
7
7
|
import MaterialIcon from '../MaterialIcon';
|