@oneblink/apps-react 8.14.0 → 9.0.0-beta.2
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/OneBlinkAutoSaveForm.d.ts +1 -1
- package/dist/OneBlinkAutoSaveForm.js +6 -8
- package/dist/OneBlinkAutoSaveForm.js.map +1 -1
- package/dist/OneBlinkForm.js +3 -2
- package/dist/OneBlinkForm.js.map +1 -1
- package/dist/OneBlinkFormBase.d.ts +1 -1
- package/dist/OneBlinkFormBase.js +49 -146
- package/dist/OneBlinkFormBase.js.map +1 -1
- package/dist/OneBlinkReadOnlyForm.d.ts +1 -1
- package/dist/OneBlinkReadOnlyForm.js +2 -1
- package/dist/OneBlinkReadOnlyForm.js.map +1 -1
- package/dist/PaymentReceipt.d.ts +1 -1
- package/dist/PaymentReceipt.js +9 -30
- package/dist/PaymentReceipt.js.map +1 -1
- package/dist/components/ArcGISWebMap.d.ts +3 -3
- package/dist/components/ArcGISWebMap.js +25 -38
- package/dist/components/ArcGISWebMap.js.map +1 -1
- package/dist/components/Clickable.d.ts +1 -1
- package/dist/components/Clickable.js +2 -1
- package/dist/components/Clickable.js.map +1 -1
- package/dist/components/ConfirmDialog.d.ts +2 -2
- package/dist/components/ConfirmDialog.js +7 -14
- package/dist/components/ConfirmDialog.js.map +1 -1
- package/dist/components/CopyToClipboardIconButton.d.ts +1 -1
- package/dist/components/CopyToClipboardIconButton.js +10 -14
- package/dist/components/CopyToClipboardIconButton.js.map +1 -1
- package/dist/components/CustomAccordion.d.ts +3 -20
- package/dist/components/ErrorSnackbar.d.ts +1 -1
- package/dist/components/ErrorSnackbar.js +6 -7
- package/dist/components/ErrorSnackbar.js.map +1 -1
- package/dist/components/ImageCropper/CropModal.d.ts +1 -1
- package/dist/components/ImageCropper/CropModal.js +2 -8
- package/dist/components/ImageCropper/CropModal.js.map +1 -1
- package/dist/components/ImageCropper/index.d.ts +1 -1
- package/dist/components/ImageCropper/index.js +3 -5
- package/dist/components/ImageCropper/index.js.map +1 -1
- package/dist/components/InputClear.js +2 -3
- package/dist/components/InputClear.js.map +1 -1
- package/dist/components/InputField.d.ts +3 -2
- package/dist/components/InputField.js +5 -2
- package/dist/components/InputField.js.map +1 -1
- package/dist/components/Lists.d.ts +1 -6
- package/dist/components/Lists.js +2 -2
- package/dist/components/Lists.js.map +1 -1
- package/dist/components/LoadingWithMessage.js +2 -6
- package/dist/components/LoadingWithMessage.js.map +1 -1
- package/dist/components/MaterialIcon.d.ts +2 -4
- package/dist/components/MaterialIcon.js +4 -4
- package/dist/components/MaterialIcon.js.map +1 -1
- package/dist/components/NotificationGrid.d.ts +2 -2
- package/dist/components/NotificationGrid.js +4 -7
- package/dist/components/NotificationGrid.js.map +1 -1
- package/dist/components/QuillHTML.d.ts +1 -1
- package/dist/components/QuillHTML.js +2 -1
- package/dist/components/QuillHTML.js.map +1 -1
- package/dist/components/SuccessSnackbar.d.ts +1 -1
- package/dist/components/SuccessSnackbar.js +3 -6
- package/dist/components/SuccessSnackbar.js.map +1 -1
- package/dist/components/ValidationErrorsCard.d.ts +2 -2
- package/dist/components/ValidationErrorsCard.js +32 -49
- package/dist/components/ValidationErrorsCard.js.map +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsCancelForm.d.ts +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsCancelForm.js +5 -6
- package/dist/components/calendar-bookings/CalendarBookingsCancelForm.js.map +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsContainer.d.ts +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsContainer.js +9 -11
- package/dist/components/calendar-bookings/CalendarBookingsContainer.js.map +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsForm.d.ts +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsForm.js +33 -45
- package/dist/components/calendar-bookings/CalendarBookingsForm.js.map +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsProvider.d.ts +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsProvider.js +2 -6
- package/dist/components/calendar-bookings/CalendarBookingsProvider.js.map +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsReschedulingForm.d.ts +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsReschedulingForm.js +5 -6
- package/dist/components/calendar-bookings/CalendarBookingsReschedulingForm.js.map +1 -1
- package/dist/components/calendar-bookings/ErrorModal.js +7 -11
- package/dist/components/calendar-bookings/ErrorModal.js.map +1 -1
- package/dist/components/downloadable-files/LayoutProvider.d.ts +1 -1
- package/dist/components/downloadable-files/LayoutProvider.js +2 -1
- package/dist/components/downloadable-files/LayoutProvider.js.map +1 -1
- package/dist/components/downloadable-files/index.d.ts +1 -1
- package/dist/components/downloadable-files/index.js +3 -5
- package/dist/components/downloadable-files/index.js.map +1 -1
- package/dist/components/downloadable-files/resource-components.d.ts +3 -3
- package/dist/components/downloadable-files/resource-components.js +9 -32
- package/dist/components/downloadable-files/resource-components.js.map +1 -1
- package/dist/components/formStore/FormStoreTableProvider.d.ts +1 -1
- package/dist/components/formStore/FormStoreTableProvider.js +5 -15
- package/dist/components/formStore/FormStoreTableProvider.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.d.ts +1 -1
- package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.js +3 -2
- package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreColumnsButton.d.ts +1 -1
- package/dist/components/formStore/OneBlinkFormStoreColumnsButton.js +21 -54
- package/dist/components/formStore/OneBlinkFormStoreColumnsButton.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreDownloadButton.d.ts +2 -2
- package/dist/components/formStore/OneBlinkFormStoreDownloadButton.js +7 -26
- package/dist/components/formStore/OneBlinkFormStoreDownloadButton.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreProvider.d.ts +1 -1
- package/dist/components/formStore/OneBlinkFormStoreProvider.js +4 -5
- package/dist/components/formStore/OneBlinkFormStoreProvider.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreRefreshButton.d.ts +1 -1
- package/dist/components/formStore/OneBlinkFormStoreRefreshButton.js +3 -2
- package/dist/components/formStore/OneBlinkFormStoreRefreshButton.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreTable.d.ts +1 -1
- package/dist/components/formStore/OneBlinkFormStoreTable.js +128 -94
- package/dist/components/formStore/OneBlinkFormStoreTable.js.map +1 -1
- package/dist/components/formStore/display/ElementDisplay.d.ts +3 -4
- package/dist/components/formStore/display/ElementDisplay.js +9 -12
- package/dist/components/formStore/display/ElementDisplay.js.map +1 -1
- package/dist/components/formStore/display/FormStoreIcon.d.ts +1 -1
- package/dist/components/formStore/display/FormStoreIcon.js +2 -2
- package/dist/components/formStore/display/FormStoreIcon.js.map +1 -1
- package/dist/components/formStore/table/ActionedByTableCell.d.ts +1 -1
- package/dist/components/formStore/table/ActionedByTableCell.js +6 -7
- package/dist/components/formStore/table/ActionedByTableCell.js.map +1 -1
- package/dist/components/formStore/table/ColumnFilters.d.ts +3 -3
- package/dist/components/formStore/table/ColumnFilters.js +84 -100
- package/dist/components/formStore/table/ColumnFilters.js.map +1 -1
- package/dist/components/formStore/table/FormElementTableCell.d.ts +1 -1
- package/dist/components/formStore/table/FormElementTableCell.js +34 -97
- package/dist/components/formStore/table/FormElementTableCell.js.map +1 -1
- package/dist/components/formStore/table/HeaderCellMoreButton.d.ts +4 -4
- package/dist/components/formStore/table/HeaderCellMoreButton.js +26 -32
- package/dist/components/formStore/table/HeaderCellMoreButton.js.map +1 -1
- package/dist/components/formStore/table/Pickers.d.ts +4 -4
- package/dist/components/formStore/table/Pickers.js +14 -13
- package/dist/components/formStore/table/Pickers.js.map +1 -1
- package/dist/components/formStore/table/RepeatableSetCell.js +16 -21
- package/dist/components/formStore/table/RepeatableSetCell.js.map +1 -1
- package/dist/components/formStore/table/RepeatableSetCellAccordion.js +2 -4
- package/dist/components/formStore/table/RepeatableSetCellAccordion.js.map +1 -1
- package/dist/components/formStore/table/TableCellCopyButton.d.ts +1 -1
- package/dist/components/formStore/table/TableCellCopyButton.js +2 -3
- package/dist/components/formStore/table/TableCellCopyButton.js.map +1 -1
- package/dist/components/formStore/table/generateColumns.d.ts +5 -6
- package/dist/components/formStore/table/generateColumns.js +23 -18
- package/dist/components/formStore/table/generateColumns.js.map +1 -1
- package/dist/components/formStore/table/getVersionedState.d.ts +4 -3
- package/dist/components/formStore/table/getVersionedState.js +23 -6
- package/dist/components/formStore/table/getVersionedState.js.map +1 -1
- package/dist/components/formStore/table/useFormStoreTable.d.ts +146 -37
- package/dist/components/formStore/table/useFormStoreTable.js +266 -199
- package/dist/components/formStore/table/useFormStoreTable.js.map +1 -1
- package/dist/components/formStore/useFormStoreTableContext.d.ts +142 -33
- package/dist/components/messages/ErrorMessage.js +3 -3
- package/dist/components/messages/ErrorMessage.js.map +1 -1
- package/dist/components/messages/LargeIconMessage.js +2 -6
- package/dist/components/messages/LargeIconMessage.js.map +1 -1
- package/dist/components/messages/NoResourcesYet.d.ts +1 -1
- package/dist/components/messages/NoResourcesYet.js +2 -1
- package/dist/components/messages/NoResourcesYet.js.map +1 -1
- package/dist/components/mfa/MfaDialog.d.ts +1 -1
- package/dist/components/mfa/MfaDialog.js +9 -48
- package/dist/components/mfa/MfaDialog.js.map +1 -1
- package/dist/components/mfa/MultiFactorAuthentication.d.ts +2 -5
- package/dist/components/mfa/MultiFactorAuthentication.js +14 -45
- package/dist/components/mfa/MultiFactorAuthentication.js.map +1 -1
- package/dist/components/payments/PaymentForm.d.ts +1 -1
- package/dist/components/payments/PaymentForm.js +4 -9
- package/dist/components/payments/PaymentForm.js.map +1 -1
- package/dist/components/payments/WestpacQuickStreamPaymentForm.d.ts +1 -1
- package/dist/components/payments/WestpacQuickStreamPaymentForm.js +11 -45
- package/dist/components/payments/WestpacQuickStreamPaymentForm.js.map +1 -1
- package/dist/components/receipts/Receipt.d.ts +1 -1
- package/dist/components/receipts/Receipt.js +2 -2
- package/dist/components/receipts/Receipt.js.map +1 -1
- package/dist/components/receipts/ReceiptButton.d.ts +1 -1
- package/dist/components/receipts/ReceiptButton.js +3 -2
- package/dist/components/receipts/ReceiptButton.js.map +1 -1
- package/dist/components/receipts/ReceiptList.d.ts +1 -1
- package/dist/components/receipts/ReceiptList.js +2 -9
- package/dist/components/receipts/ReceiptList.js.map +1 -1
- package/dist/components/receipts/ReceiptListItem.d.ts +1 -1
- package/dist/components/receipts/ReceiptListItem.js +2 -11
- package/dist/components/receipts/ReceiptListItem.js.map +1 -1
- package/dist/components/renderer/AnnotationModal.d.ts +1 -1
- package/dist/components/renderer/AnnotationModal.js +6 -14
- package/dist/components/renderer/AnnotationModal.js.map +1 -1
- package/dist/components/renderer/AutocompleteDropdown.d.ts +1 -1
- package/dist/components/renderer/AutocompleteDropdown.js +15 -34
- package/dist/components/renderer/AutocompleteDropdown.js.map +1 -1
- package/dist/components/renderer/CopyToClipboardButton.d.ts +1 -1
- package/dist/components/renderer/CopyToClipboardButton.js +2 -4
- package/dist/components/renderer/CopyToClipboardButton.js.map +1 -1
- package/dist/components/renderer/CustomisableButtonInner.js +2 -4
- package/dist/components/renderer/CustomisableButtonInner.js.map +1 -1
- package/dist/components/renderer/FormElementLabelContainer.d.ts +3 -3
- package/dist/components/renderer/FormElementLabelContainer.js +7 -14
- package/dist/components/renderer/FormElementLabelContainer.js.map +1 -1
- package/dist/components/renderer/FormElementOptions.d.ts +1 -1
- package/dist/components/renderer/FormElementOptions.js +4 -5
- package/dist/components/renderer/FormElementOptions.js.map +1 -1
- package/dist/components/renderer/FormElementValidationMessage.js +3 -5
- package/dist/components/renderer/FormElementValidationMessage.js.map +1 -1
- package/dist/components/renderer/LookupButton.d.ts +1 -1
- package/dist/components/renderer/LookupButton.js +4 -8
- package/dist/components/renderer/LookupButton.js.map +1 -1
- package/dist/components/renderer/LookupNotification.d.ts +1 -1
- package/dist/components/renderer/LookupNotification.js +14 -36
- package/dist/components/renderer/LookupNotification.js.map +1 -1
- package/dist/components/renderer/Modal.d.ts +3 -3
- package/dist/components/renderer/Modal.js +5 -10
- package/dist/components/renderer/Modal.js.map +1 -1
- package/dist/components/renderer/OnLoading.d.ts +1 -1
- package/dist/components/renderer/OnLoading.js +3 -3
- package/dist/components/renderer/OnLoading.js.map +1 -1
- package/dist/components/renderer/OneBlinkAppsErrorOriginalMessage.d.ts +1 -1
- package/dist/components/renderer/OneBlinkAppsErrorOriginalMessage.js +2 -4
- package/dist/components/renderer/OneBlinkAppsErrorOriginalMessage.js.map +1 -1
- package/dist/components/renderer/OneBlinkFormElements.d.ts +1 -1
- package/dist/components/renderer/OneBlinkFormElements.js +61 -90
- package/dist/components/renderer/OneBlinkFormElements.js.map +1 -1
- package/dist/components/renderer/PageFormElements.d.ts +1 -1
- package/dist/components/renderer/PageFormElements.js +3 -5
- package/dist/components/renderer/PageFormElements.js.map +1 -1
- package/dist/components/renderer/ProgressBar.d.ts +1 -1
- package/dist/components/renderer/ProgressBar.js +2 -1
- package/dist/components/renderer/ProgressBar.js.map +1 -1
- package/dist/components/renderer/ReverseGeocode.d.ts +1 -1
- package/dist/components/renderer/ReverseGeocode.js +2 -1
- package/dist/components/renderer/ReverseGeocode.js.map +1 -1
- package/dist/components/renderer/ToggleAllCheckbox.js +4 -5
- package/dist/components/renderer/ToggleAllCheckbox.js.map +1 -1
- package/dist/components/renderer/Tooltip.d.ts +1 -1
- package/dist/components/renderer/Tooltip.js +3 -1
- package/dist/components/renderer/Tooltip.js.map +1 -1
- package/dist/components/renderer/attachments/AttachmentStatus.d.ts +1 -1
- package/dist/components/renderer/attachments/AttachmentStatus.js +6 -15
- package/dist/components/renderer/attachments/AttachmentStatus.js.map +1 -1
- package/dist/components/renderer/attachments/DropdownMenu.js +30 -42
- package/dist/components/renderer/attachments/DropdownMenu.js.map +1 -1
- package/dist/components/renderer/attachments/FileCard.d.ts +1 -1
- package/dist/components/renderer/attachments/FileCard.js +2 -10
- package/dist/components/renderer/attachments/FileCard.js.map +1 -1
- package/dist/components/renderer/attachments/FileCardContent.d.ts +1 -1
- package/dist/components/renderer/attachments/FileCardContent.js +3 -4
- package/dist/components/renderer/attachments/FileCardContent.js.map +1 -1
- package/dist/components/renderer/attachments/ImagePreviewUnavailable.d.ts +1 -1
- package/dist/components/renderer/attachments/ImagePreviewUnavailable.js +2 -5
- package/dist/components/renderer/attachments/ImagePreviewUnavailable.js.map +1 -1
- package/dist/components/renderer/attachments/ProgressBar.js +2 -4
- package/dist/components/renderer/attachments/ProgressBar.js.map +1 -1
- package/dist/form-elements/ComplianceButton.js +3 -4
- package/dist/form-elements/ComplianceButton.js.map +1 -1
- package/dist/form-elements/FormElementABN.d.ts +1 -1
- package/dist/form-elements/FormElementABN.js +18 -28
- package/dist/form-elements/FormElementABN.js.map +1 -1
- package/dist/form-elements/FormElementAPINSWLiquorLicence.d.ts +2 -2
- package/dist/form-elements/FormElementAPINSWLiquorLicence.js +3 -21
- package/dist/form-elements/FormElementAPINSWLiquorLicence.js.map +1 -1
- package/dist/form-elements/FormElementArcGISWebMap.d.ts +1 -1
- package/dist/form-elements/FormElementArcGISWebMap.js +21 -36
- package/dist/form-elements/FormElementArcGISWebMap.js.map +1 -1
- package/dist/form-elements/FormElementAutocomplete.d.ts +1 -1
- package/dist/form-elements/FormElementAutocomplete.js +5 -9
- package/dist/form-elements/FormElementAutocomplete.js.map +1 -1
- package/dist/form-elements/FormElementBSB.d.ts +1 -1
- package/dist/form-elements/FormElementBSB.js +17 -30
- package/dist/form-elements/FormElementBSB.js.map +1 -1
- package/dist/form-elements/FormElementBarcodeScanner.d.ts +1 -1
- package/dist/form-elements/FormElementBarcodeScanner.js +16 -50
- package/dist/form-elements/FormElementBarcodeScanner.js.map +1 -1
- package/dist/form-elements/FormElementBoolean.d.ts +1 -1
- package/dist/form-elements/FormElementBoolean.js +4 -4
- package/dist/form-elements/FormElementBoolean.js.map +1 -1
- package/dist/form-elements/FormElementCalculation.d.ts +1 -1
- package/dist/form-elements/FormElementCalculation.js +2 -9
- package/dist/form-elements/FormElementCalculation.js.map +1 -1
- package/dist/form-elements/FormElementCamera.d.ts +1 -1
- package/dist/form-elements/FormElementCamera.js +7 -53
- package/dist/form-elements/FormElementCamera.js.map +1 -1
- package/dist/form-elements/FormElementCaptcha.d.ts +1 -1
- package/dist/form-elements/FormElementCaptcha.js +2 -4
- package/dist/form-elements/FormElementCaptcha.js.map +1 -1
- package/dist/form-elements/FormElementCheckBoxes.d.ts +1 -1
- package/dist/form-elements/FormElementCheckBoxes.js +23 -33
- package/dist/form-elements/FormElementCheckBoxes.js.map +1 -1
- package/dist/form-elements/FormElementCivicaNameRecord.d.ts +1 -1
- package/dist/form-elements/FormElementCivicaNameRecord.js +2 -1
- package/dist/form-elements/FormElementCivicaNameRecord.js.map +1 -1
- package/dist/form-elements/FormElementCivicaStreetName.d.ts +1 -1
- package/dist/form-elements/FormElementCivicaStreetName.js +2 -4
- package/dist/form-elements/FormElementCivicaStreetName.js.map +1 -1
- package/dist/form-elements/FormElementCompliance.d.ts +1 -1
- package/dist/form-elements/FormElementCompliance.js +13 -25
- package/dist/form-elements/FormElementCompliance.js.map +1 -1
- package/dist/form-elements/FormElementDate.d.ts +1 -1
- package/dist/form-elements/FormElementDate.js +2 -9
- package/dist/form-elements/FormElementDate.js.map +1 -1
- package/dist/form-elements/FormElementDateTime.d.ts +1 -1
- package/dist/form-elements/FormElementDateTime.js +2 -9
- package/dist/form-elements/FormElementDateTime.js.map +1 -1
- package/dist/form-elements/FormElementEmail.d.ts +1 -1
- package/dist/form-elements/FormElementEmail.js +4 -13
- package/dist/form-elements/FormElementEmail.js.map +1 -1
- package/dist/form-elements/FormElementFile.js +2 -12
- package/dist/form-elements/FormElementFile.js.map +1 -1
- package/dist/form-elements/FormElementFiles.d.ts +1 -1
- package/dist/form-elements/FormElementFiles.js +9 -17
- package/dist/form-elements/FormElementFiles.js.map +1 -1
- package/dist/form-elements/FormElementForm.d.ts +1 -1
- package/dist/form-elements/FormElementForm.js +2 -1
- package/dist/form-elements/FormElementForm.js.map +1 -1
- package/dist/form-elements/FormElementFreshdeskDependentField.d.ts +1 -1
- package/dist/form-elements/FormElementFreshdeskDependentField.js +2 -1
- package/dist/form-elements/FormElementFreshdeskDependentField.js.map +1 -1
- package/dist/form-elements/FormElementGeoscapeAddress.d.ts +1 -1
- package/dist/form-elements/FormElementGeoscapeAddress.js +2 -4
- package/dist/form-elements/FormElementGeoscapeAddress.js.map +1 -1
- package/dist/form-elements/FormElementGoogleAddress.d.ts +1 -1
- package/dist/form-elements/FormElementGoogleAddress.js +2 -7
- package/dist/form-elements/FormElementGoogleAddress.js.map +1 -1
- package/dist/form-elements/FormElementHTML.d.ts +1 -1
- package/dist/form-elements/FormElementHTML.js +2 -3
- package/dist/form-elements/FormElementHTML.js.map +1 -1
- package/dist/form-elements/FormElementHeading.d.ts +1 -1
- package/dist/form-elements/FormElementHeading.js +7 -8
- package/dist/form-elements/FormElementHeading.js.map +1 -1
- package/dist/form-elements/FormElementImage.d.ts +1 -1
- package/dist/form-elements/FormElementImage.js +3 -3
- package/dist/form-elements/FormElementImage.js.map +1 -1
- package/dist/form-elements/FormElementLocation.d.ts +1 -1
- package/dist/form-elements/FormElementLocation.js +16 -47
- package/dist/form-elements/FormElementLocation.js.map +1 -1
- package/dist/form-elements/FormElementLookupButton.d.ts +2 -3
- package/dist/form-elements/FormElementLookupButton.js +4 -7
- package/dist/form-elements/FormElementLookupButton.js.map +1 -1
- package/dist/form-elements/FormElementNumber.d.ts +1 -1
- package/dist/form-elements/FormElementNumber.js +3 -14
- package/dist/form-elements/FormElementNumber.js.map +1 -1
- package/dist/form-elements/FormElementPointAddress.d.ts +2 -2
- package/dist/form-elements/FormElementPointAddress.js +6 -13
- package/dist/form-elements/FormElementPointAddress.js.map +1 -1
- package/dist/form-elements/FormElementPointAddressV3.d.ts +1 -1
- package/dist/form-elements/FormElementPointAddressV3.js +2 -9
- package/dist/form-elements/FormElementPointAddressV3.js.map +1 -1
- package/dist/form-elements/FormElementPointCadastralParcel.d.ts +1 -1
- package/dist/form-elements/FormElementPointCadastralParcel.js +14 -26
- package/dist/form-elements/FormElementPointCadastralParcel.js.map +1 -1
- package/dist/form-elements/FormElementRadio.d.ts +1 -1
- package/dist/form-elements/FormElementRadio.js +24 -30
- package/dist/form-elements/FormElementRadio.js.map +1 -1
- package/dist/form-elements/FormElementRepeatableSet.d.ts +1 -1
- package/dist/form-elements/FormElementRepeatableSet.js +21 -39
- package/dist/form-elements/FormElementRepeatableSet.js.map +1 -1
- package/dist/form-elements/FormElementSection.d.ts +1 -1
- package/dist/form-elements/FormElementSection.js +16 -34
- package/dist/form-elements/FormElementSection.js.map +1 -1
- package/dist/form-elements/FormElementSelect.d.ts +1 -1
- package/dist/form-elements/FormElementSelect.js +12 -23
- package/dist/form-elements/FormElementSelect.js.map +1 -1
- package/dist/form-elements/FormElementSignature.d.ts +1 -1
- package/dist/form-elements/FormElementSignature.js +21 -46
- package/dist/form-elements/FormElementSignature.js.map +1 -1
- package/dist/form-elements/FormElementSummary.d.ts +1 -1
- package/dist/form-elements/FormElementSummary.js +5 -4
- package/dist/form-elements/FormElementSummary.js.map +1 -1
- package/dist/form-elements/FormElementTelephone.d.ts +1 -1
- package/dist/form-elements/FormElementTelephone.js +4 -13
- package/dist/form-elements/FormElementTelephone.js.map +1 -1
- package/dist/form-elements/FormElementText.d.ts +1 -1
- package/dist/form-elements/FormElementText.js +6 -21
- package/dist/form-elements/FormElementText.js.map +1 -1
- package/dist/form-elements/FormElementTextarea.d.ts +1 -1
- package/dist/form-elements/FormElementTextarea.js +6 -20
- package/dist/form-elements/FormElementTextarea.js.map +1 -1
- package/dist/form-elements/FormElementTime.d.ts +1 -1
- package/dist/form-elements/FormElementTime.js +2 -9
- package/dist/form-elements/FormElementTime.js.map +1 -1
- package/dist/form-elements/OptionButton.js +3 -5
- package/dist/form-elements/OptionButton.js.map +1 -1
- package/dist/hooks/attachments/useAttachmentBlobs.d.ts +1 -1
- package/dist/hooks/attachments/useAttachmentBlobs.js +2 -1
- package/dist/hooks/attachments/useAttachmentBlobs.js.map +1 -1
- package/dist/hooks/form-date-picker/useFormDatePickerProps.d.ts +7 -8
- package/dist/hooks/form-date-picker/useFormDatePickerProps.js +8 -10
- package/dist/hooks/form-date-picker/useFormDatePickerProps.js.map +1 -1
- package/dist/hooks/useAuth.d.ts +1 -1
- package/dist/hooks/useAuth.js +2 -1
- package/dist/hooks/useAuth.js.map +1 -1
- package/dist/hooks/useDrafts.d.ts +1 -1
- package/dist/hooks/useDrafts.js +2 -1
- package/dist/hooks/useDrafts.js.map +1 -1
- package/dist/hooks/useDynamicOptionsLoaderState.d.ts +1 -1
- package/dist/hooks/useDynamicOptionsLoaderState.js +4 -13
- package/dist/hooks/useDynamicOptionsLoaderState.js.map +1 -1
- package/dist/hooks/useFormElementLookups.d.ts +1 -1
- package/dist/hooks/useFormElementLookups.js +2 -1
- package/dist/hooks/useFormElementLookups.js.map +1 -1
- package/dist/hooks/useFormSubmissionModelContext.d.ts +1 -1
- package/dist/hooks/useFormSubmissionModelContext.js +2 -1
- package/dist/hooks/useFormSubmissionModelContext.js.map +1 -1
- package/dist/hooks/useFormSubmissionState.d.ts +1 -1
- package/dist/hooks/useFormSubmissionState.js +1 -1
- package/dist/hooks/useFormSubmissionState.js.map +1 -1
- package/dist/hooks/useIsHovering.d.ts +1 -1
- package/dist/hooks/useIsHovering.js +4 -4
- package/dist/hooks/useIsHovering.js.map +1 -1
- package/dist/hooks/useIsOffline.d.ts +1 -1
- package/dist/hooks/useIsOffline.js +2 -1
- package/dist/hooks/useIsOffline.js.map +1 -1
- package/dist/hooks/useIsPageVisible.d.ts +1 -1
- package/dist/hooks/useIsPageVisible.js +2 -1
- package/dist/hooks/useIsPageVisible.js.map +1 -1
- package/dist/hooks/useMfa.d.ts +1 -1
- package/dist/hooks/useMfa.js +2 -1
- package/dist/hooks/useMfa.js.map +1 -1
- package/dist/hooks/usePages.d.ts +1 -1
- package/dist/hooks/usePendingSubmissions.d.ts +1 -1
- package/dist/hooks/usePendingSubmissions.js +2 -1
- package/dist/hooks/usePendingSubmissions.js.map +1 -1
- package/dist/hooks/useReCAPTCHAProps.d.ts +1 -1
- package/dist/hooks/useReCAPTCHAProps.js.map +1 -1
- package/package.json +21 -25
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarBookingsForm.js","sourceRoot":"","sources":["../../../src/components/calendar-bookings/CalendarBookingsForm.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { NylasScheduling } from '@nylas/react'\nimport { NylasSchedulerResponse, NylasEvent } from '@nylas/web-elements'\nimport { Collapse, Fade } from '@mui/material'\nimport {\n schedulingService,\n submissionService,\n OneBlinkAppsError,\n} from '@oneblink/apps'\nimport clsx from 'clsx'\nimport { Receipt } from '../receipts'\nimport ErrorModal from './ErrorModal'\nimport OnLoading from '../renderer/OnLoading'\nimport CalendarBookingsContainer from './CalendarBookingsContainer'\nimport useCalendarBookings from './CalendarBookingsProvider'\n\nfunction NylasBookingForm({\n submissionId,\n name,\n email,\n configurationId,\n sessionId,\n onBookingConfirmed,\n onDone,\n}: Awaited<\n ReturnType<typeof schedulingService.createNylasNewBookingSession>\n> & {\n submissionId: string\n onDone: (\n formSubmissionResult: submissionService.FormSubmissionResult,\n ) => Promise<void>\n}) {\n const { setBookingError, onTimeSlotConfirmed } = useCalendarBookings()\n\n const [\n {\n formSubmissionResult,\n isRunningPostSubmissionAction,\n postSubmissionError,\n isConfirmingBooking,\n confirmingBookingError,\n },\n setPostSubmissionState,\n ] = React.useState<{\n formSubmissionResult: submissionService.FormSubmissionResult | null\n isRunningPostSubmissionAction: boolean\n postSubmissionError: OneBlinkAppsError | null\n isConfirmingBooking: boolean\n confirmingBookingError: OneBlinkAppsError | null\n }>({\n formSubmissionResult: null,\n isRunningPostSubmissionAction: false,\n postSubmissionError: null,\n isConfirmingBooking: false,\n confirmingBookingError: null,\n })\n const clearPostSubmissionError = React.useCallback(() => {\n setPostSubmissionState((currentState) => ({\n ...currentState,\n postSubmissionError: null,\n }))\n }, [])\n const clearConfirmingBookingError = React.useCallback(() => {\n setPostSubmissionState((currentState) => ({\n ...currentState,\n confirmingBookingError: null,\n }))\n }, [])\n\n const executePostSubmissionAction = React.useCallback(\n async (formSubmissionResult: submissionService.FormSubmissionResult) => {\n setPostSubmissionState((currentState) => ({\n ...currentState,\n formSubmissionResult,\n isRunningPostSubmissionAction: true,\n postSubmissionError: null,\n }))\n\n try {\n await onDone({\n ...formSubmissionResult,\n scheduling: null,\n })\n } catch (error) {\n console.warn('Error while running post submission action', error)\n setPostSubmissionState((currentState) => ({\n ...currentState,\n formSubmissionResult,\n isRunningPostSubmissionAction: false,\n postSubmissionError: error as OneBlinkAppsError,\n }))\n }\n },\n [onDone],\n )\n\n const handleConfirmedBooking = React.useCallback(\n async (schedulingBooking: schedulingService.SchedulingBooking) => {\n setPostSubmissionState((currentState) => ({\n ...currentState,\n isConfirmingBooking: true,\n confirmingBookingError: null,\n }))\n\n try {\n const formSubmissionResult = await onBookingConfirmed(schedulingBooking)\n setPostSubmissionState((currentState) => ({\n ...currentState,\n formSubmissionResult,\n }))\n if (formSubmissionResult.payment) {\n setTimeout(async () => {\n executePostSubmissionAction(formSubmissionResult)\n }, 2000)\n } else {\n setPostSubmissionState((currentState) => ({\n ...currentState,\n isConfirmingBooking: false,\n formSubmissionResult,\n }))\n }\n } catch (error) {\n console.warn('Error while handling confirmed booking', error)\n setPostSubmissionState((currentState) => ({\n ...currentState,\n isConfirmingBooking: false,\n confirmingBookingError: error as OneBlinkAppsError,\n }))\n }\n },\n [onBookingConfirmed, executePostSubmissionAction],\n )\n\n return (\n <>\n <Collapse in={isConfirmingBooking}>\n <div className=\"has-margin-top-1\">\n <div className=\"cypress-loading has-text-centered\">\n <OnLoading className=\"has-text-centered\" />\n <Fade in={!!formSubmissionResult?.payment}>\n <span>Redirecting to payment</span>\n </Fade>\n </div>\n </div>\n </Collapse>\n\n <div className=\"ob-scheduling-booking-form\">\n {!formSubmissionResult?.payment && (\n <NylasScheduling\n eventOverrides={{\n timeslotConfirmed: onTimeSlotConfirmed,\n async bookedEventInfo(\n event: CustomEvent<\n NylasSchedulerResponse<\n NylasEvent & {\n event_id: string\n additional_guests: Array<{\n name: string\n email: string\n }>\n guest: {\n name: string\n email: string\n }\n additional_fields: Record<string, unknown>\n start_time: number\n end_time: number\n email_language: string\n timezone: string\n location?: string\n }\n >\n >,\n ) {\n console.log('bookedEventInfo event', event)\n\n event.preventDefault()\n\n if ('error' in event.detail) {\n setBookingError(\n event.detail.error?.message ?? 'Calendar Booking Error',\n )\n } else if ('data' in event.detail) {\n await handleConfirmedBooking({\n submissionId,\n startTime: new Date(event.detail.data.start_time * 1000),\n endTime: new Date(event.detail.data.end_time * 1000),\n location: event.detail.data.location,\n isReschedule: false,\n })\n }\n },\n }}\n bookingInfo={{\n primaryParticipant: {\n name: name ?? '',\n email: email ?? '',\n },\n additionalFields: {\n submissionId: {\n value: submissionId,\n type: 'text',\n },\n },\n }}\n enableUserFeedback={false}\n configurationId={configurationId}\n sessionId={sessionId}\n nylasBranding={false}\n />\n )}\n\n {formSubmissionResult && !formSubmissionResult.payment && (\n <Receipt\n className=\"ob-scheduling-receipt\"\n containerClassName=\"ob-scheduling-receipt__container\"\n >\n <div className=\"buttons\">\n <button\n type=\"button\"\n className={clsx(\n 'is-primary button ob-button ob-scheduling-receipt__button ob-scheduling-receipt__okay-button cypress-scheduling-receipt-okay-button',\n { 'is-loading': isRunningPostSubmissionAction },\n )}\n disabled={isRunningPostSubmissionAction}\n onClick={() =>\n executePostSubmissionAction(formSubmissionResult)\n }\n >\n Done\n </button>\n </div>\n </Receipt>\n )}\n\n <ErrorModal\n error={postSubmissionError}\n onClose={clearPostSubmissionError}\n />\n\n <ErrorModal\n error={confirmingBookingError}\n onClose={clearConfirmingBookingError}\n />\n </div>\n </>\n )\n}\n\nfunction CalendarBookingsForm({\n onDone,\n}: {\n onDone: (\n formSubmissionResult: submissionService.FormSubmissionResult,\n ) => Promise<void>\n}) {\n return (\n <CalendarBookingsContainer\n fetchConfiguration={schedulingService.createNylasNewBookingSession}\n >\n {(props) => <NylasBookingForm {...props} onDone={onDone} />}\n </CalendarBookingsContainer>\n )\n}\n\nexport default React.memo(CalendarBookingsForm)\n"]}
|
|
1
|
+
{"version":3,"file":"CalendarBookingsForm.js","sourceRoot":"","sources":["../../../src/components/calendar-bookings/CalendarBookingsForm.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { NylasScheduling } from '@nylas/react'\nimport { NylasSchedulerResponse, NylasEvent } from '@nylas/web-elements'\nimport { Collapse, Fade } from '@mui/material'\nimport {\n schedulingService,\n submissionService,\n OneBlinkAppsError,\n} from '@oneblink/apps'\nimport clsx from 'clsx'\nimport { Receipt } from '../receipts'\nimport ErrorModal from './ErrorModal'\nimport OnLoading from '../renderer/OnLoading'\nimport CalendarBookingsContainer from './CalendarBookingsContainer'\nimport useCalendarBookings from './CalendarBookingsProvider'\n\nfunction NylasBookingForm({\n submissionId,\n name,\n email,\n configurationId,\n sessionId,\n onBookingConfirmed,\n onDone,\n}: Awaited<\n ReturnType<typeof schedulingService.createNylasNewBookingSession>\n> & {\n submissionId: string\n onDone: (\n formSubmissionResult: submissionService.FormSubmissionResult,\n ) => Promise<void>\n}) {\n const { setBookingError, onTimeSlotConfirmed } = useCalendarBookings()\n\n const [\n {\n formSubmissionResult,\n isRunningPostSubmissionAction,\n postSubmissionError,\n isConfirmingBooking,\n confirmingBookingError,\n },\n setPostSubmissionState,\n ] = React.useState<{\n formSubmissionResult: submissionService.FormSubmissionResult | null\n isRunningPostSubmissionAction: boolean\n postSubmissionError: OneBlinkAppsError | null\n isConfirmingBooking: boolean\n confirmingBookingError: OneBlinkAppsError | null\n }>({\n formSubmissionResult: null,\n isRunningPostSubmissionAction: false,\n postSubmissionError: null,\n isConfirmingBooking: false,\n confirmingBookingError: null,\n })\n const clearPostSubmissionError = React.useCallback(() => {\n setPostSubmissionState((currentState) => ({\n ...currentState,\n postSubmissionError: null,\n }))\n }, [])\n const clearConfirmingBookingError = React.useCallback(() => {\n setPostSubmissionState((currentState) => ({\n ...currentState,\n confirmingBookingError: null,\n }))\n }, [])\n\n const executePostSubmissionAction = React.useCallback(\n async (formSubmissionResult: submissionService.FormSubmissionResult) => {\n setPostSubmissionState((currentState) => ({\n ...currentState,\n formSubmissionResult,\n isRunningPostSubmissionAction: true,\n postSubmissionError: null,\n }))\n\n try {\n await onDone({\n ...formSubmissionResult,\n scheduling: null,\n })\n } catch (error) {\n console.warn('Error while running post submission action', error)\n setPostSubmissionState((currentState) => ({\n ...currentState,\n formSubmissionResult,\n isRunningPostSubmissionAction: false,\n postSubmissionError: error as OneBlinkAppsError,\n }))\n }\n },\n [onDone],\n )\n\n const handleConfirmedBooking = React.useCallback(\n async (schedulingBooking: schedulingService.SchedulingBooking) => {\n setPostSubmissionState((currentState) => ({\n ...currentState,\n isConfirmingBooking: true,\n confirmingBookingError: null,\n }))\n\n try {\n const formSubmissionResult = await onBookingConfirmed(schedulingBooking)\n setPostSubmissionState((currentState) => ({\n ...currentState,\n formSubmissionResult,\n }))\n if (formSubmissionResult.payment) {\n setTimeout(async () => {\n executePostSubmissionAction(formSubmissionResult)\n }, 2000)\n } else {\n setPostSubmissionState((currentState) => ({\n ...currentState,\n isConfirmingBooking: false,\n formSubmissionResult,\n }))\n }\n } catch (error) {\n console.warn('Error while handling confirmed booking', error)\n setPostSubmissionState((currentState) => ({\n ...currentState,\n isConfirmingBooking: false,\n confirmingBookingError: error as OneBlinkAppsError,\n }))\n }\n },\n [onBookingConfirmed, executePostSubmissionAction],\n )\n\n return (\n <>\n <Collapse in={isConfirmingBooking}>\n <div className=\"has-margin-top-1\">\n <div className=\"cypress-loading has-text-centered\">\n <OnLoading className=\"has-text-centered\" />\n <Fade in={!!formSubmissionResult?.payment}>\n <span>Redirecting to payment</span>\n </Fade>\n </div>\n </div>\n </Collapse>\n\n <div className=\"ob-scheduling-booking-form\">\n {!formSubmissionResult?.payment && (\n <NylasScheduling\n eventOverrides={{\n timeslotConfirmed: onTimeSlotConfirmed,\n async bookedEventInfo(\n event: CustomEvent<\n NylasSchedulerResponse<\n NylasEvent & {\n event_id: string\n additional_guests: Array<{\n name: string\n email: string\n }>\n guest: {\n name: string\n email: string\n }\n additional_fields: Record<string, unknown>\n start_time: number\n end_time: number\n email_language: string\n timezone: string\n location?: string\n }\n >\n >,\n ) {\n console.log('bookedEventInfo event', event)\n\n event.preventDefault()\n\n if ('error' in event.detail) {\n setBookingError(\n event.detail.error?.message ?? 'Calendar Booking Error',\n )\n } else if ('data' in event.detail) {\n await handleConfirmedBooking({\n submissionId,\n startTime: new Date(event.detail.data.start_time * 1000),\n endTime: new Date(event.detail.data.end_time * 1000),\n location: event.detail.data.location,\n isReschedule: false,\n })\n }\n },\n }}\n bookingInfo={{\n primaryParticipant: {\n name: name ?? '',\n email: email ?? '',\n },\n additionalFields: {\n submissionId: {\n value: submissionId,\n type: 'text',\n },\n },\n }}\n enableUserFeedback={false}\n configurationId={configurationId}\n sessionId={sessionId}\n nylasBranding={false}\n />\n )}\n\n {formSubmissionResult && !formSubmissionResult.payment && (\n <Receipt\n className=\"ob-scheduling-receipt\"\n containerClassName=\"ob-scheduling-receipt__container\"\n >\n <div className=\"buttons\">\n <button\n type=\"button\"\n className={clsx(\n 'is-primary button ob-button ob-scheduling-receipt__button ob-scheduling-receipt__okay-button cypress-scheduling-receipt-okay-button',\n { 'is-loading': isRunningPostSubmissionAction },\n )}\n disabled={isRunningPostSubmissionAction}\n onClick={() =>\n executePostSubmissionAction(formSubmissionResult)\n }\n >\n Done\n </button>\n </div>\n </Receipt>\n )}\n\n <ErrorModal\n error={postSubmissionError}\n onClose={clearPostSubmissionError}\n />\n\n <ErrorModal\n error={confirmingBookingError}\n onClose={clearConfirmingBookingError}\n />\n </div>\n </>\n )\n}\n\nfunction CalendarBookingsForm({\n onDone,\n}: {\n onDone: (\n formSubmissionResult: submissionService.FormSubmissionResult,\n ) => Promise<void>\n}) {\n return (\n <CalendarBookingsContainer\n fetchConfiguration={schedulingService.createNylasNewBookingSession}\n >\n {(props) => <NylasBookingForm {...props} onDone={onDone} />}\n </CalendarBookingsContainer>\n )\n}\n\nexport default React.memo(CalendarBookingsForm)\n"]}
|
|
@@ -8,6 +8,6 @@ type CalendarBookingsContextProps = {
|
|
|
8
8
|
export declare function CalendarBookingsProvider({ children, refreshNylasState, }: {
|
|
9
9
|
children: React.ReactNode;
|
|
10
10
|
refreshNylasState: () => void;
|
|
11
|
-
}):
|
|
11
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
12
12
|
export default function useCalendarBookings(): CalendarBookingsContextProps;
|
|
13
13
|
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
2
|
import React, { useContext, createContext, useMemo, useCallback, } from 'react';
|
|
2
3
|
import { Snackbar, Alert, Button, useTheme } from '@mui/material';
|
|
3
4
|
import Color from 'color';
|
|
@@ -51,12 +52,7 @@ export function CalendarBookingsProvider({ children, refreshNylasState, }) {
|
|
|
51
52
|
onTimeSlotConfirmed,
|
|
52
53
|
themeConfig,
|
|
53
54
|
}), [setBookingError, onTimeSlotConfirmed, themeConfig]);
|
|
54
|
-
return (
|
|
55
|
-
React.createElement(React.Fragment, null,
|
|
56
|
-
children,
|
|
57
|
-
React.createElement(Snackbar, { anchorOrigin: { vertical: 'bottom', horizontal: 'right' }, open: isShowingErrorSnack },
|
|
58
|
-
React.createElement(Alert, { onClose: hideErrorSnack, severity: 'error', elevation: 6, variant: "filled", action: React.createElement(Button, { color: "inherit", variant: "text", size: "small", onClick: refreshNylasState },
|
|
59
|
-
React.createElement("b", null, "Start Again")) }, bookingError)))));
|
|
55
|
+
return (_jsx(CalendarBookingsContext.Provider, { value: value, children: _jsxs(_Fragment, { children: [children, _jsx(Snackbar, { anchorOrigin: { vertical: 'bottom', horizontal: 'right' }, open: isShowingErrorSnack, children: _jsx(Alert, { onClose: hideErrorSnack, severity: 'error', elevation: 6, variant: "filled", action: _jsx(Button, { color: "inherit", variant: "text", size: "small", onClick: refreshNylasState, children: _jsx("b", { children: "Start Again" }) }), children: bookingError }) })] }) }));
|
|
60
56
|
}
|
|
61
57
|
export default function useCalendarBookings() {
|
|
62
58
|
return useContext(CalendarBookingsContext);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarBookingsProvider.js","sourceRoot":"","sources":["../../../src/components/calendar-bookings/CalendarBookingsProvider.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CalendarBookingsProvider.js","sourceRoot":"","sources":["../../../src/components/calendar-bookings/CalendarBookingsProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EACZ,UAAU,EACV,aAAa,EACb,OAAO,EACP,WAAW,GAEZ,MAAM,OAAO,CAAA;AAEd,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,eAAe,MAAM,6BAA6B,CAAA;AAQzD,MAAM,uBAAuB,GAAG,aAAa,CAA+B;IAC1E,eAAe,EAAE,GAAG,EAAE,GAAE,CAAC;IACzB,mBAAmB,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;IACnC,WAAW,EAAE,EAAE;CAChB,CAAC,CAAA;AAEF,MAAM,UAAU,wBAAwB,CAAC,EACvC,QAAQ,EACR,iBAAiB,GAIlB;IACC,MAAM,CAAC,mBAAmB,EAAE,cAAc,EAAE,cAAc,CAAC,GACzD,eAAe,CAAC,KAAK,CAAC,CAAA;IACxB,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAA;IAEjE,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,WAAmB,EAAE,EAAE;QACtB,gBAAgB,CAAC,WAAW,CAAC,CAAA;QAC7B,cAAc,EAAE,CAAA;IAClB,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAA;IAED;;;;;OAKG;IACH,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QACvD,UAAU,CAAC,GAAG,EAAE;;YACd,MAAM,0BAA0B,GAAG,MAAA,MAAA,MAAA,MAAA,QAAQ;iBACxC,aAAa,CAAC,kBAAkB,CAAC,0CAChC,UAAU,0CAAE,aAAa,CAAC,oBAAoB,CAAC,0CAC/C,UAAU,0CAAE,aAAa,CAAC,eAAe,CAA4B,CAAA;YAEzE,IAAI,0BAA0B,EAAE,CAAC;gBAC/B,0BAA0B,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA;YACnD,CAAC;QACH,CAAC,EAAE,EAAE,CAAC,CAAA;IACR,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IAExB,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EACjD,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAC7B,CAAA;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,MAAM,UAAU,GAA0D;YACxE,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;YACvC,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;YAC7C,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;YAC7C,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI;YACzC,qBAAqB,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU;YAClD,mBAAmB,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE;SAC1D,CAAA;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,UAAU,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAA;QAC5D,CAAC;QACD,OAAO,UAAU,CAAA;IACnB,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;IAEnD,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,CAAC;QACL,eAAe;QACf,mBAAmB;QACnB,WAAW;KACZ,CAAC,EACF,CAAC,eAAe,EAAE,mBAAmB,EAAE,WAAW,CAAC,CACpD,CAAA;IAED,OAAO,CACL,KAAC,uBAAuB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAC5C,8BACG,QAAQ,EACT,KAAC,QAAQ,IACP,YAAY,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,EACzD,IAAI,EAAE,mBAAmB,YAEzB,KAAC,KAAK,IACJ,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,CAAC,EACZ,OAAO,EAAC,QAAQ,EAChB,MAAM,EACJ,KAAC,MAAM,IACL,KAAK,EAAC,SAAS,EACf,OAAO,EAAC,MAAM,EACd,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,iBAAiB,YAE1B,sCAAkB,GACX,YAGV,YAAY,GACP,GACC,IACV,GAC8B,CACpC,CAAA;AACH,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,mBAAmB;IACzC,OAAO,UAAU,CAAC,uBAAuB,CAAC,CAAA;AAC5C,CAAC","sourcesContent":["import React, {\n useContext,\n createContext,\n useMemo,\n useCallback,\n ComponentProps,\n} from 'react'\nimport { NylasScheduling } from '@nylas/react'\nimport { Snackbar, Alert, Button, useTheme } from '@mui/material'\nimport Color from 'color'\nimport useBooleanState from '../../hooks/useBooleanState'\n\ntype CalendarBookingsContextProps = {\n setBookingError: (errorString: string) => void\n onTimeSlotConfirmed: () => Promise<void>\n themeConfig: ComponentProps<typeof NylasScheduling>['themeConfig']\n}\n\nconst CalendarBookingsContext = createContext<CalendarBookingsContextProps>({\n setBookingError: () => {},\n onTimeSlotConfirmed: async () => {},\n themeConfig: {},\n})\n\nexport function CalendarBookingsProvider({\n children,\n refreshNylasState,\n}: {\n children: React.ReactNode\n refreshNylasState: () => void\n}) {\n const [isShowingErrorSnack, showErrorSnack, hideErrorSnack] =\n useBooleanState(false)\n const [bookingError, _setBookingError] = React.useState<string>()\n\n const setBookingError = useCallback(\n (errorString: string) => {\n _setBookingError(errorString)\n showErrorSnack()\n },\n [showErrorSnack],\n )\n\n /**\n * The alternative here is to set the submissionId field to multi-line-text\n * input then use the below css It works because the booking form only has 1\n * multi-line-text input Unfortunately chrome won't allow :nth-child selectors\n * on part() selectors ::part(nbf__textarea-component) { display: none; }\n */\n const onTimeSlotConfirmed = React.useCallback(async () => {\n setTimeout(() => {\n const submissionIdInputComponent = document\n .querySelector('nylas-scheduling')\n ?.shadowRoot?.querySelector('nylas-booking-form')\n ?.shadowRoot?.querySelector('#submissionId') as HTMLElement | undefined\n\n if (submissionIdInputComponent) {\n submissionIdInputComponent.style.display = 'none'\n }\n }, 50)\n }, [])\n\n const theme = useTheme()\n\n const colorIsLight = useMemo(\n () => Color(theme.palette.primary.main).isLight(),\n [theme.palette.primary.main],\n )\n\n const themeConfig = useMemo(() => {\n const nylasTheme: ComponentProps<typeof NylasScheduling>['themeConfig'] = {\n '--nylas-info': theme.palette.info.main,\n '--nylas-success': theme.palette.success.main,\n '--nylas-warning': theme.palette.warning.main,\n '--nylas-error': theme.palette.error.main,\n '--nylas-font-family': theme.typography.fontFamily,\n '--nylas-font-size': theme.typography.fontSize.toString(),\n }\n\n if (!colorIsLight) {\n nylasTheme['--nylas-primary'] = theme.palette.primary.main\n }\n return nylasTheme\n }, [theme.palette, colorIsLight, theme.typography])\n\n const value = useMemo(\n () => ({\n setBookingError,\n onTimeSlotConfirmed,\n themeConfig,\n }),\n [setBookingError, onTimeSlotConfirmed, themeConfig],\n )\n\n return (\n <CalendarBookingsContext.Provider value={value}>\n <>\n {children}\n <Snackbar\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n open={isShowingErrorSnack}\n >\n <Alert\n onClose={hideErrorSnack}\n severity={'error'}\n elevation={6}\n variant=\"filled\"\n action={\n <Button\n color=\"inherit\"\n variant=\"text\"\n size=\"small\"\n onClick={refreshNylasState}\n >\n <b>Start Again</b>\n </Button>\n }\n >\n {bookingError}\n </Alert>\n </Snackbar>\n </>\n </CalendarBookingsContext.Provider>\n )\n}\n\nexport default function useCalendarBookings() {\n return useContext(CalendarBookingsContext)\n}\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import { NylasScheduling } from '@nylas/react';
|
|
3
4
|
import { schedulingService } from '@oneblink/apps';
|
|
@@ -7,11 +8,9 @@ import useCalendarBookings from './CalendarBookingsProvider';
|
|
|
7
8
|
function NylasReschedulingForm({ submissionId, name, email, sessionId, bookingRef, }) {
|
|
8
9
|
const { setBookingError, onTimeSlotConfirmed, themeConfig } = useCalendarBookings();
|
|
9
10
|
if (!bookingRef) {
|
|
10
|
-
return (
|
|
11
|
-
React.createElement("span", { className: "cypress-booking-ref-not-found-error-message" }, "Could not find a calendar booking to reschedule")));
|
|
11
|
+
return (_jsx(ErrorMessage, { title: "Error Retrieving Data", gutterTop: true, children: _jsx("span", { className: "cypress-booking-ref-not-found-error-message", children: "Could not find a calendar booking to reschedule" }) }));
|
|
12
12
|
}
|
|
13
|
-
return (
|
|
14
|
-
React.createElement(NylasScheduling, { sessionId: sessionId, eventOverrides: {
|
|
13
|
+
return (_jsx("div", { className: "ob-scheduling-booking-form", children: _jsx(NylasScheduling, { sessionId: sessionId, eventOverrides: {
|
|
15
14
|
timeslotConfirmed: onTimeSlotConfirmed,
|
|
16
15
|
bookedEventInfo: async (event) => {
|
|
17
16
|
var _a;
|
|
@@ -28,10 +27,10 @@ function NylasReschedulingForm({ submissionId, name, email, sessionId, bookingRe
|
|
|
28
27
|
additionalFields: {
|
|
29
28
|
submissionId: { value: submissionId, type: 'text' },
|
|
30
29
|
},
|
|
31
|
-
}, themeConfig: themeConfig, enableUserFeedback: false, rescheduleBookingRef: bookingRef, nylasBranding: false })));
|
|
30
|
+
}, themeConfig: themeConfig, enableUserFeedback: false, rescheduleBookingRef: bookingRef, nylasBranding: false }) }));
|
|
32
31
|
}
|
|
33
32
|
function ReschedulingForm() {
|
|
34
|
-
return (
|
|
33
|
+
return (_jsx(CalendarBookingsContainer, { fetchConfiguration: schedulingService.createNylasExistingBookingSession, children: (props) => _jsx(NylasReschedulingForm, { ...props }) }));
|
|
35
34
|
}
|
|
36
35
|
export default React.memo(ReschedulingForm);
|
|
37
36
|
//# sourceMappingURL=CalendarBookingsReschedulingForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarBookingsReschedulingForm.js","sourceRoot":"","sources":["../../../src/components/calendar-bookings/CalendarBookingsReschedulingForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,YAAY,MAAM,0BAA0B,CAAA;AACnD,OAAO,yBAAyB,MAAM,6BAA6B,CAAA;AACnE,OAAO,mBAAmB,MAAM,4BAA4B,CAAA;AAE5D,SAAS,qBAAqB,CAAC,EAC7B,YAAY,EACZ,IAAI,EACJ,KAAK,EACL,SAAS,EACT,UAAU,GAKX;IACC,MAAM,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE,GACzD,mBAAmB,EAAE,CAAA;IAEvB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"CalendarBookingsReschedulingForm.js","sourceRoot":"","sources":["../../../src/components/calendar-bookings/CalendarBookingsReschedulingForm.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,YAAY,MAAM,0BAA0B,CAAA;AACnD,OAAO,yBAAyB,MAAM,6BAA6B,CAAA;AACnE,OAAO,mBAAmB,MAAM,4BAA4B,CAAA;AAE5D,SAAS,qBAAqB,CAAC,EAC7B,YAAY,EACZ,IAAI,EACJ,KAAK,EACL,SAAS,EACT,UAAU,GAKX;IACC,MAAM,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE,GACzD,mBAAmB,EAAE,CAAA;IAEvB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CACL,KAAC,YAAY,IAAC,KAAK,EAAC,uBAAuB,EAAC,SAAS,kBACnD,eAAM,SAAS,EAAC,6CAA6C,gEAEtD,GACM,CAChB,CAAA;IACH,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,4BAA4B,YACzC,KAAC,eAAe,IACd,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE;gBACd,iBAAiB,EAAE,mBAAmB;gBACtC,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;;oBAC/B,KAAK,CAAC,cAAc,EAAE,CAAA;oBACtB,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBACvB,eAAe,CACb,MAAA,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,mCAAI,wBAAwB,CACvD,CAAA;oBACH,CAAC;gBACH,CAAC;aACF,EACD,WAAW,EAAE;gBACX,kBAAkB,EAAE;oBAClB,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE;oBAChB,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE;iBACnB;gBACD,gBAAgB,EAAE;oBAChB,YAAY,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;iBACpD;aACF,EACD,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,KAAK,EACzB,oBAAoB,EAAE,UAAU,EAChC,aAAa,EAAE,KAAK,GACpB,GACE,CACP,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,CACL,KAAC,yBAAyB,IACxB,kBAAkB,EAAE,iBAAiB,CAAC,iCAAiC,YAEtE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAC,qBAAqB,OAAK,KAAK,GAAI,GACtB,CAC7B,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA","sourcesContent":["import React from 'react'\nimport { NylasScheduling } from '@nylas/react'\nimport { schedulingService } from '@oneblink/apps'\nimport ErrorMessage from '../messages/ErrorMessage'\nimport CalendarBookingsContainer from './CalendarBookingsContainer'\nimport useCalendarBookings from './CalendarBookingsProvider'\n\nfunction NylasReschedulingForm({\n submissionId,\n name,\n email,\n sessionId,\n bookingRef,\n}: Awaited<\n ReturnType<typeof schedulingService.createNylasExistingBookingSession>\n> & {\n submissionId: string\n}) {\n const { setBookingError, onTimeSlotConfirmed, themeConfig } =\n useCalendarBookings()\n\n if (!bookingRef) {\n return (\n <ErrorMessage title=\"Error Retrieving Data\" gutterTop>\n <span className=\"cypress-booking-ref-not-found-error-message\">\n Could not find a calendar booking to reschedule\n </span>\n </ErrorMessage>\n )\n }\n\n return (\n <div className=\"ob-scheduling-booking-form\">\n <NylasScheduling\n sessionId={sessionId}\n eventOverrides={{\n timeslotConfirmed: onTimeSlotConfirmed,\n bookedEventInfo: async (event) => {\n event.preventDefault()\n if (event.detail.error) {\n setBookingError(\n event.detail.error.message ?? 'Calendar Booking Error',\n )\n }\n },\n }}\n bookingInfo={{\n primaryParticipant: {\n name: name ?? '',\n email: email ?? '',\n },\n additionalFields: {\n submissionId: { value: submissionId, type: 'text' },\n },\n }}\n themeConfig={themeConfig}\n enableUserFeedback={false}\n rescheduleBookingRef={bookingRef}\n nylasBranding={false}\n />\n </div>\n )\n}\n\nfunction ReschedulingForm() {\n return (\n <CalendarBookingsContainer\n fetchConfiguration={schedulingService.createNylasExistingBookingSession}\n >\n {(props) => <NylasReschedulingForm {...props} />}\n </CalendarBookingsContainer>\n )\n}\n\nexport default React.memo(ReschedulingForm)\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
import clsx from 'clsx';
|
|
3
4
|
import { OneBlinkAppsError } from '@oneblink/apps';
|
|
@@ -31,18 +32,13 @@ function ErrorModal({ error, closeButtonLabel, closeButtonClassName, onClose, })
|
|
|
31
32
|
if (!displayError) {
|
|
32
33
|
return null;
|
|
33
34
|
}
|
|
34
|
-
return (
|
|
35
|
+
return (_jsx(Modal, { isOpen: true, title: displayError.title, className: "cypress-error-modal", cardClassName: clsx({
|
|
35
36
|
'has-text-centered': displayError.isOffline,
|
|
36
|
-
}), titleClassName: "cypress-error-title", bodyClassName: "cypress-error-message", actions:
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
dangerouslySetInnerHTML: {
|
|
42
|
-
__html: sanitizedHtml,
|
|
43
|
-
} }),
|
|
44
|
-
displayError.isOffline && (React.createElement(MaterialIcon, { className: "has-text-warning icon-x-large" }, "wifi_off")),
|
|
45
|
-
React.createElement(OneBlinkAppsErrorOriginalMessage, { error: displayError.originalError }))));
|
|
37
|
+
}), titleClassName: "cypress-error-title", bodyClassName: "cypress-error-message", actions: _jsx(_Fragment, { children: _jsx("button", { type: "button", className: clsx('button ob-button cypress-close-error is-primary', closeButtonClassName), onClick: handleClose, autoFocus: true, children: closeButtonLabel || 'Okay' }) }), children: _jsxs(_Fragment, { children: [_jsx("div", {
|
|
38
|
+
// eslint-disable-next-line react/no-danger
|
|
39
|
+
dangerouslySetInnerHTML: {
|
|
40
|
+
__html: sanitizedHtml,
|
|
41
|
+
} }), displayError.isOffline && (_jsx(MaterialIcon, { className: "has-text-warning icon-x-large", children: "wifi_off" })), _jsx(OneBlinkAppsErrorOriginalMessage, { error: displayError.originalError })] }) }));
|
|
46
42
|
}
|
|
47
43
|
export default React.memo(ErrorModal);
|
|
48
44
|
//# sourceMappingURL=ErrorModal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorModal.js","sourceRoot":"","sources":["../../../src/components/calendar-bookings/ErrorModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,gCAAgC,MAAM,8CAA8C,CAAA;AAC3F,OAAO,YAAY,MAAM,8BAA8B,CAAA;AACvD,OAAO,KAAK,MAAM,mBAAmB,CAAA;AACrC,OAAO,YAAY,MAAM,iBAAiB,CAAA;AAS1C,SAAS,UAAU,CAAC,EAClB,KAAK,EACL,gBAAgB,EAChB,oBAAoB,EACpB,OAAO,GACD;IACN,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,IAAI,YAAY,CAAA;QAEhB,IAAI,CAAC,CAAC,KAAK,YAAY,iBAAiB,CAAC,EAAE,CAAC;YAC1C,YAAY,GAAG,IAAI,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACrD,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,KAAK,CAAA;QACtB,CAAC;QACD,OAAO,YAAY,CAAA;IACrB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACvC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAA;QACrB,OAAO,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QAC/C,IAAI,CAAC,YAAY;YAAE,OAAM;QAEzB,OAAO,EAAE,CAAA;IACX,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAA;IAE3B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"ErrorModal.js","sourceRoot":"","sources":["../../../src/components/calendar-bookings/ErrorModal.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,gCAAgC,MAAM,8CAA8C,CAAA;AAC3F,OAAO,YAAY,MAAM,8BAA8B,CAAA;AACvD,OAAO,KAAK,MAAM,mBAAmB,CAAA;AACrC,OAAO,YAAY,MAAM,iBAAiB,CAAA;AAS1C,SAAS,UAAU,CAAC,EAClB,KAAK,EACL,gBAAgB,EAChB,oBAAoB,EACpB,OAAO,GACD;IACN,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,IAAI,YAAY,CAAA;QAEhB,IAAI,CAAC,CAAC,KAAK,YAAY,iBAAiB,CAAC,EAAE,CAAC;YAC1C,YAAY,GAAG,IAAI,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACrD,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,KAAK,CAAA;QACtB,CAAC;QACD,OAAO,YAAY,CAAA;IACrB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACvC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAA;QACrB,OAAO,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QAC/C,IAAI,CAAC,YAAY;YAAE,OAAM;QAEzB,OAAO,EAAE,CAAA;IACX,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAA;IAE3B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,KAAC,KAAK,IACJ,MAAM,QACN,KAAK,EAAE,YAAY,CAAC,KAAK,EACzB,SAAS,EAAC,qBAAqB,EAC/B,aAAa,EAAE,IAAI,CAAC;YAClB,mBAAmB,EAAE,YAAY,CAAC,SAAS;SAC5C,CAAC,EACF,cAAc,EAAC,qBAAqB,EACpC,aAAa,EAAC,uBAAuB,EACrC,OAAO,EACL,4BACE,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,IAAI,CACb,iDAAiD,EACjD,oBAAoB,CACrB,EACD,OAAO,EAAE,WAAW,EACpB,SAAS,kBAER,gBAAgB,IAAI,MAAM,GACpB,GACR,YAGL,8BACE;oBACE,2CAA2C;oBAC3C,uBAAuB,EAAE;wBACvB,MAAM,EAAE,aAAa;qBACtB,GACD,EACD,YAAY,CAAC,SAAS,IAAI,CACzB,KAAC,YAAY,IAAC,SAAS,EAAC,+BAA+B,yBAExC,CAChB,EACD,KAAC,gCAAgC,IAAC,KAAK,EAAE,YAAY,CAAC,aAAa,GAAI,IACtE,GACG,CACT,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAQ,UAAU,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport clsx from 'clsx'\nimport { OneBlinkAppsError } from '@oneblink/apps'\nimport OneBlinkAppsErrorOriginalMessage from '../renderer/OneBlinkAppsErrorOriginalMessage'\nimport sanitizeHtml from '../../services/sanitize-html'\nimport Modal from '../renderer/Modal'\nimport MaterialIcon from '../MaterialIcon'\n\ntype Props = {\n error: OneBlinkAppsError | Error | null\n closeButtonLabel?: string\n closeButtonClassName?: string\n onClose: () => unknown\n}\n\nfunction ErrorModal({\n error,\n closeButtonLabel,\n closeButtonClassName,\n onClose,\n}: Props) {\n const displayError = React.useMemo(() => {\n if (!error) return\n let displayError\n\n if (!(error instanceof OneBlinkAppsError)) {\n displayError = new OneBlinkAppsError(error.message)\n } else {\n displayError = error\n }\n return displayError\n }, [error])\n\n const sanitizedHtml = React.useMemo(() => {\n if (!error) return ''\n return sanitizeHtml(error.message)\n }, [error])\n\n const handleClose = React.useCallback(async () => {\n if (!displayError) return\n\n onClose()\n }, [displayError, onClose])\n\n if (!displayError) {\n return null\n }\n\n return (\n <Modal\n isOpen\n title={displayError.title}\n className=\"cypress-error-modal\"\n cardClassName={clsx({\n 'has-text-centered': displayError.isOffline,\n })}\n titleClassName=\"cypress-error-title\"\n bodyClassName=\"cypress-error-message\"\n actions={\n <>\n <button\n type=\"button\"\n className={clsx(\n 'button ob-button cypress-close-error is-primary',\n closeButtonClassName,\n )}\n onClick={handleClose}\n autoFocus\n >\n {closeButtonLabel || 'Okay'}\n </button>\n </>\n }\n >\n <>\n <div\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{\n __html: sanitizedHtml,\n }}\n />\n {displayError.isOffline && (\n <MaterialIcon className=\"has-text-warning icon-x-large\">\n wifi_off\n </MaterialIcon>\n )}\n <OneBlinkAppsErrorOriginalMessage error={displayError.originalError} />\n </>\n </Modal>\n )\n}\n\nexport default React.memo<Props>(ErrorModal)\n"]}
|
|
@@ -3,5 +3,5 @@ export type LayoutType = 'GRID' | 'LIST';
|
|
|
3
3
|
export declare const LayoutProvider: ({ children, layout, }: {
|
|
4
4
|
children: React.ReactNode;
|
|
5
5
|
layout: LayoutType;
|
|
6
|
-
}) =>
|
|
6
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export declare const useLayout: () => LayoutType;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
const LayoutContext = React.createContext('GRID');
|
|
3
4
|
export const LayoutProvider = ({ children, layout, }) => {
|
|
4
|
-
return (
|
|
5
|
+
return (_jsx(LayoutContext.Provider, { value: layout, children: children }));
|
|
5
6
|
};
|
|
6
7
|
export const useLayout = () => {
|
|
7
8
|
return React.useContext(LayoutContext);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutProvider.js","sourceRoot":"","sources":["../../../src/components/downloadable-files/LayoutProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAa,MAAM,CAAC,CAAA;AAE7D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,QAAQ,EACR,MAAM,GAIP,EAAE,EAAE;IACH,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"LayoutProvider.js","sourceRoot":"","sources":["../../../src/components/downloadable-files/LayoutProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAa,MAAM,CAAC,CAAA;AAE7D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,QAAQ,EACR,MAAM,GAIP,EAAE,EAAE;IACH,OAAO,CACL,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,YAAG,QAAQ,GAA0B,CAC3E,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE;IAC5B,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;AACxC,CAAC,CAAA","sourcesContent":["import * as React from 'react'\n\nexport type LayoutType = 'GRID' | 'LIST'\n\nconst LayoutContext = React.createContext<LayoutType>('GRID')\n\nexport const LayoutProvider = ({\n children,\n layout,\n}: {\n children: React.ReactNode\n layout: LayoutType\n}) => {\n return (\n <LayoutContext.Provider value={layout}>{children}</LayoutContext.Provider>\n )\n}\n\nexport const useLayout = () => {\n return React.useContext(LayoutContext)\n}\n"]}
|
|
@@ -12,7 +12,7 @@ declare function DownloadableFiles({ formSubmissionResult, divider, layout, }: {
|
|
|
12
12
|
* some screen sizes. `LIST` will always render each file on a new line.
|
|
13
13
|
*/
|
|
14
14
|
layout?: LayoutType;
|
|
15
|
-
}):
|
|
15
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
16
16
|
/**
|
|
17
17
|
* Component for rendering post-submission downloadable files such as PDFs and
|
|
18
18
|
* attachments. The only thing required is the `formSubmissionResult`.
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
import { localisationService, authService, } from '@oneblink/apps';
|
|
3
4
|
import { OnlyPDFDisplay, LoadAndDisplayAttachments, SingleFileDisplay, } from './resource-components';
|
|
@@ -33,7 +34,7 @@ function DownloadableFiles({ formSubmissionResult, divider, layout, }) {
|
|
|
33
34
|
return formSubmissionResult.downloadSubmissionPdfs.reduce((memo, { id, configuration, url }) => {
|
|
34
35
|
memo.push({
|
|
35
36
|
key: `pdf-file-node-${id}`,
|
|
36
|
-
node: (
|
|
37
|
+
node: (_jsx(SingleFileDisplay, { attachment: {
|
|
37
38
|
filename: getSubmissionPDFFileName(configuration),
|
|
38
39
|
signedUrl: url,
|
|
39
40
|
contentType: 'application/pdf',
|
|
@@ -46,10 +47,7 @@ function DownloadableFiles({ formSubmissionResult, divider, layout, }) {
|
|
|
46
47
|
if (!formSubmissionResult.attachmentsAccessToken && !pdfFileNodes) {
|
|
47
48
|
return null;
|
|
48
49
|
}
|
|
49
|
-
return (
|
|
50
|
-
React.createElement(LayoutProvider, { layout: layout !== null && layout !== void 0 ? layout : 'GRID' },
|
|
51
|
-
divider && React.createElement("hr", { className: "divider" }),
|
|
52
|
-
pdfFileNodes && !formSubmissionResult.attachmentsAccessToken ? (React.createElement(OnlyPDFDisplay, null, pdfFileNodes)) : (React.createElement(LoadAndDisplayAttachments, { formSubmissionResult: formSubmissionResult, pdfFileNodes: pdfFileNodes })))));
|
|
50
|
+
return (_jsx("div", { className: "ob-downloadable-files__wrapper", children: _jsxs(LayoutProvider, { layout: layout !== null && layout !== void 0 ? layout : 'GRID', children: [divider && _jsx("hr", { className: "divider" }), pdfFileNodes && !formSubmissionResult.attachmentsAccessToken ? (_jsx(OnlyPDFDisplay, { children: pdfFileNodes })) : (_jsx(LoadAndDisplayAttachments, { formSubmissionResult: formSubmissionResult, pdfFileNodes: pdfFileNodes }))] }) }));
|
|
53
51
|
}
|
|
54
52
|
/**
|
|
55
53
|
* Component for rendering post-submission downloadable files such as PDFs and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/downloadable-files/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAEL,mBAAmB,EACnB,WAAW,GACZ,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAc,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAGnC,SAAS,iBAAiB,CAAC,EACzB,oBAAoB,EACpB,OAAO,EACP,MAAM,GAYP;IACC,MAAM,wBAAwB,GAAG,WAAW,CAC1C,CAAC,gBAAkC,EAAE,EAAE;;QACrC,MAAM,cAAc,GAAG,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,WAAW,CAAA;QACpD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,YAAY,CAAA;QACrB,CAAC;QAED,OAAO,mBAAmB,CAAC,sCAAsC,CAC/D,cAAc,EACd;YACE,kBAAkB,EAChB,oBAAoB,CAAC,gCAAgC;YACvD,IAAI,EAAE,oBAAoB,CAAC,UAAU;YACrC,UAAU,EAAE,oBAAoB,CAAC,UAAU;YAC3C,YAAY,EAAE,oBAAoB,CAAC,YAAY,IAAI,EAAE;YACrD,mBAAmB,EAAE,oBAAoB,CAAC,mBAAmB,IAAI,EAAE;YACnE,UAAU,EAAE,oBAAoB,CAAC,UAAU,IAAI,SAAS;YACxD,WAAW,EAAE,WAAW,CAAC,cAAc,EAAE,IAAI,SAAS;YACtD,IAAI,EAAE,MAAA,oBAAoB,CAAC,cAAc,0CAAE,IAAI;YAC/C,SAAS,EAAE,MAAA,oBAAoB,CAAC,cAAc,0CAAE,SAAS;YACzD,iBAAiB,EACf,MAAA,oBAAoB,CAAC,cAAc,0CAAE,iBAAiB;SACzD,CACF,CAAC,IAAI,CAAA;IACR,CAAC,EACD,CAAC,oBAAoB,CAAC,CACvB,CAAA;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;;QACtC,MAAM,gBAAgB,GACpB,MAAA,oBAAoB,CAAC,UAAU,CAAC,qBAAqB,0CAAE,gBAAgB,CAAA;QAEzE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QAED,IAAI,oBAAoB,CAAC,sBAAsB,EAAE,CAAC;YAChD,OAAO,oBAAoB,CAAC,sBAAsB,CAAC,MAAM,CAKvD,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,EAAE;gBACrC,IAAI,CAAC,IAAI,CAAC;oBACR,GAAG,EAAE,iBAAiB,EAAE,EAAE;oBAC1B,IAAI,EAAE,CACJ,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/downloadable-files/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport {\n submissionService,\n localisationService,\n authService,\n} from '@oneblink/apps'\nimport {\n OnlyPDFDisplay,\n LoadAndDisplayAttachments,\n SingleFileDisplay,\n} from './resource-components'\nimport { LayoutProvider, LayoutType } from './LayoutProvider'\nimport { useCallback } from 'react'\nimport { PDFConfiguration } from '@oneblink/types/typescript/submissionEvents'\n\nfunction DownloadableFiles({\n formSubmissionResult,\n divider,\n layout,\n}: {\n /** The form submission with the pdf and/or attachments config on it. */\n formSubmissionResult: submissionService.FormSubmissionResult\n /** Whether to render a divider above the content. */\n divider?: boolean\n /**\n * The layout to use for the downloadable files. Options are `GRID` and\n * `LIST`. Defaults to `GRID`. `GRID` will render files next to each other at\n * some screen sizes. `LIST` will always render each file on a new line.\n */\n layout?: LayoutType\n}) {\n const getSubmissionPDFFileName = useCallback(\n (pdfConfiguration: PDFConfiguration) => {\n const customFileName = pdfConfiguration?.pdfFileName\n if (!customFileName) {\n return 'Submission'\n }\n\n return localisationService.replaceInjectablesWithSubmissionValues(\n customFileName,\n {\n previousApprovalId:\n formSubmissionResult.previousFormSubmissionApprovalId,\n form: formSubmissionResult.definition,\n submission: formSubmissionResult.submission,\n submissionId: formSubmissionResult.submissionId || '',\n submissionTimestamp: formSubmissionResult.submissionTimestamp || '',\n externalId: formSubmissionResult.externalId || undefined,\n userProfile: authService.getUserProfile() || undefined,\n task: formSubmissionResult.taskCompletion?.task,\n taskGroup: formSubmissionResult.taskCompletion?.taskGroup,\n taskGroupInstance:\n formSubmissionResult.taskCompletion?.taskGroupInstance,\n },\n ).text\n },\n [formSubmissionResult],\n )\n\n const pdfFileNodes = React.useMemo(() => {\n const allowPDFDownload =\n formSubmissionResult.definition.postSubmissionReceipt?.allowPDFDownload\n\n if (!allowPDFDownload) {\n return\n }\n\n if (formSubmissionResult.downloadSubmissionPdfs) {\n return formSubmissionResult.downloadSubmissionPdfs.reduce<\n Array<{\n key: string\n node: React.ReactNode\n }>\n >((memo, { id, configuration, url }) => {\n memo.push({\n key: `pdf-file-node-${id}`,\n node: (\n <SingleFileDisplay\n attachment={{\n filename: getSubmissionPDFFileName(configuration),\n signedUrl: url,\n contentType: 'application/pdf',\n }}\n className={`cypress-receipt-download-pdf-button-${id}`}\n />\n ),\n })\n\n return memo\n }, [])\n }\n }, [formSubmissionResult, getSubmissionPDFFileName])\n\n if (!formSubmissionResult.attachmentsAccessToken && !pdfFileNodes) {\n return null\n }\n\n return (\n <div className=\"ob-downloadable-files__wrapper\">\n <LayoutProvider layout={layout ?? 'GRID'}>\n {divider && <hr className=\"divider\" />}\n {pdfFileNodes && !formSubmissionResult.attachmentsAccessToken ? (\n <OnlyPDFDisplay>{pdfFileNodes}</OnlyPDFDisplay>\n ) : (\n <LoadAndDisplayAttachments\n formSubmissionResult={formSubmissionResult}\n pdfFileNodes={pdfFileNodes}\n />\n )}\n </LayoutProvider>\n </div>\n )\n}\n\n/**\n * Component for rendering post-submission downloadable files such as PDFs and\n * attachments. The only thing required is the `formSubmissionResult`.\n *\n * It is also recommended to import the `css` from this library as well.\n *\n * ```js\n * import { DownloadableFiles } from '@oneblink/apps-react'\n * import '@oneblink/apps-react/dist/styles.css'\n * ```\n *\n * #### Example\n *\n * ```tsx\n * import React from 'react'\n * import ReactDOM from 'react-dom'\n * import { DownloadableFiles } from '@oneblink/apps-react'\n * import '@oneblink/apps-react/dist/styles.css'\n *\n * function SubmissionContainer() {\n *\n * const [state, setState] = useState(null)\n *\n * const handleSubmit = React.useCallback(async () => {\n * ...\n * setState(result)\n * }, [])\n *\n * return (\n * <div>\n * ...\n * {state && (\n * <DownloadableFiles formSubmissionResult={state} />\n * )}\n * </div>\n * )\n * }\n *\n * function App() {\n * return (\n * <IsOfflineContextProvider>\n * <SubmissionContainer />\n * </IsOfflineContextProvider>\n * )\n * }\n *\n * const root = document.getElementById('root')\n * if (root) {\n * ReactDOM.render(<App />, root)\n * }\n * ```\n *\n * @param props\n * @returns\n * @group Components\n */\nexport default React.memo(DownloadableFiles)\n"]}
|
|
@@ -4,7 +4,7 @@ type Attachment = Awaited<ReturnType<typeof submissionService.getPostSubmissionA
|
|
|
4
4
|
export declare const LoadAndDisplayAttachments: ({ pdfFileNodes, formSubmissionResult, }: {
|
|
5
5
|
pdfFileNodes?: PDFFileNode[];
|
|
6
6
|
formSubmissionResult: submissionService.FormSubmissionResult;
|
|
7
|
-
}) =>
|
|
7
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
export type PDFFileNode = {
|
|
9
9
|
key: string;
|
|
10
10
|
node: React.ReactNode;
|
|
@@ -12,10 +12,10 @@ export type PDFFileNode = {
|
|
|
12
12
|
export declare const SingleFileDisplay: ({ attachment, className, }: {
|
|
13
13
|
attachment: Attachment;
|
|
14
14
|
className?: string;
|
|
15
|
-
}) =>
|
|
15
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
16
16
|
/** Centers the PDF Download button */
|
|
17
17
|
export declare const OnlyPDFDisplay: ({ children, className, }: {
|
|
18
18
|
children: PDFFileNode[];
|
|
19
19
|
className?: string;
|
|
20
|
-
}) =>
|
|
20
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
21
21
|
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
import { Collapse, Grid, LinearProgress, Tooltip } from '@mui/material';
|
|
3
4
|
import MaterialIcon from '../MaterialIcon';
|
|
@@ -9,21 +10,9 @@ import { useLayout } from './LayoutProvider';
|
|
|
9
10
|
export const LoadAndDisplayAttachments = ({ pdfFileNodes, formSubmissionResult, }) => {
|
|
10
11
|
const loadAttachments = React.useCallback(() => submissionService.getPostSubmissionAttachments(formSubmissionResult), [formSubmissionResult]);
|
|
11
12
|
const [attachmentsState] = useLoadDataState(loadAttachments);
|
|
12
|
-
return (
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
React.createElement("div", { className: "ob-list__text-secondary mb-1 has-text-centered" }, "Loading Attachments..."),
|
|
16
|
-
React.createElement(LinearProgress, { className: "ob-progress__downloadable-files" }))),
|
|
17
|
-
React.createElement(Collapse, { in: attachmentsState.status === 'ERROR', unmountOnExit: true },
|
|
18
|
-
!!(pdfFileNodes === null || pdfFileNodes === void 0 ? void 0 : pdfFileNodes.length) && (React.createElement(React.Fragment, null,
|
|
19
|
-
React.createElement(OnlyPDFDisplay, { className: "ob-downloadable-files__error-pdf" }, pdfFileNodes))),
|
|
20
|
-
React.createElement("div", { className: "ob-downloadable-files__error has-text-centered" },
|
|
21
|
-
React.createElement(MaterialIcon, { className: "has-text-danger icon-large" }, "error"),
|
|
22
|
-
React.createElement(OneBlinkAppsErrorOriginalMessage, { error: attachmentsState.status === 'ERROR'
|
|
23
|
-
? attachmentsState.error
|
|
24
|
-
: undefined }))),
|
|
25
|
-
React.createElement(Collapse, { in: attachmentsState.status === 'SUCCESS', unmountOnExit: true },
|
|
26
|
-
React.createElement(DownloadableFilesDisplay, { attachments: attachmentsState.status === 'SUCCESS' ? attachmentsState.result : [], pdfFileNodes: pdfFileNodes }))));
|
|
13
|
+
return (_jsxs(_Fragment, { children: [_jsx(Collapse, { in: attachmentsState.status === 'LOADING', unmountOnExit: true, children: _jsxs("div", { className: "ob-downloadable-files__loading", children: [_jsx("div", { className: "ob-list__text-secondary mb-1 has-text-centered", children: "Loading Attachments..." }), _jsx(LinearProgress, { className: "ob-progress__downloadable-files" })] }) }), _jsxs(Collapse, { in: attachmentsState.status === 'ERROR', unmountOnExit: true, children: [!!(pdfFileNodes === null || pdfFileNodes === void 0 ? void 0 : pdfFileNodes.length) && (_jsx(_Fragment, { children: _jsx(OnlyPDFDisplay, { className: "ob-downloadable-files__error-pdf", children: pdfFileNodes }) })), _jsxs("div", { className: "ob-downloadable-files__error has-text-centered", children: [_jsx(MaterialIcon, { className: "has-text-danger icon-large", children: "error" }), _jsx(OneBlinkAppsErrorOriginalMessage, { error: attachmentsState.status === 'ERROR'
|
|
14
|
+
? attachmentsState.error
|
|
15
|
+
: undefined })] })] }), _jsx(Collapse, { in: attachmentsState.status === 'SUCCESS', unmountOnExit: true, children: _jsx(DownloadableFilesDisplay, { attachments: attachmentsState.status === 'SUCCESS' ? attachmentsState.result : [], pdfFileNodes: pdfFileNodes }) })] }));
|
|
27
16
|
};
|
|
28
17
|
function DownloadableFilesDisplay({ attachments, pdfFileNodes, }) {
|
|
29
18
|
const layout = useLayout();
|
|
@@ -31,13 +20,8 @@ function DownloadableFilesDisplay({ attachments, pdfFileNodes, }) {
|
|
|
31
20
|
var _a;
|
|
32
21
|
return attachments.length + ((_a = pdfFileNodes === null || pdfFileNodes === void 0 ? void 0 : pdfFileNodes.length) !== null && _a !== void 0 ? _a : 0);
|
|
33
22
|
}, [attachments, pdfFileNodes]);
|
|
34
|
-
return (
|
|
35
|
-
|
|
36
|
-
React.createElement(Grid, { container: true, spacing: 2, justifyContent: totalToDisplay === 1 ? 'center' : undefined },
|
|
37
|
-
pdfFileNodes &&
|
|
38
|
-
pdfFileNodes.map(({ node, key }) => (React.createElement(Grid, { item: true, xs: 12, sm: layout === 'GRID' ? 6 : 12, key: key }, node))),
|
|
39
|
-
attachments.map((attachment, index) => (React.createElement(Grid, { item: true, xs: 12, sm: layout === 'GRID' ? 6 : 12, key: index },
|
|
40
|
-
React.createElement(SingleFileDisplay, { attachment: attachment }))))))));
|
|
23
|
+
return (_jsx(_Fragment, { children: _jsx("div", { className: "ob-downloadable-files__container", children: _jsxs(Grid, { container: true, spacing: 2, justifyContent: totalToDisplay === 1 ? 'center' : undefined, children: [pdfFileNodes &&
|
|
24
|
+
pdfFileNodes.map(({ node, key }) => (_jsx(Grid, { size: { xs: 12, sm: layout === 'GRID' ? 6 : 12 }, children: node }, key))), attachments.map((attachment, index) => (_jsx(Grid, { size: { xs: 12, sm: layout === 'GRID' ? 6 : 12 }, children: _jsx(SingleFileDisplay, { attachment: attachment }) }, index)))] }) }) }));
|
|
41
25
|
}
|
|
42
26
|
const getFileTypeIcon = (type) => {
|
|
43
27
|
// Add other appropriate icons for file types here anytime
|
|
@@ -49,22 +33,15 @@ const getFileTypeIcon = (type) => {
|
|
|
49
33
|
export const SingleFileDisplay = ({ attachment, className, }) => {
|
|
50
34
|
const { avatar } = React.useMemo(() => {
|
|
51
35
|
const avatar = () => {
|
|
52
|
-
return attachment.contentType.includes('image') ? (
|
|
36
|
+
return attachment.contentType.includes('image') ? (_jsx("img", { src: attachment.signedUrl, alt: attachment.filename, className: "ob-downloadable-files__thumbnail" })) : (_jsx(MaterialIcon, { className: "ob-downloadable-files__icon", children: getFileTypeIcon(attachment.contentType) }));
|
|
53
37
|
};
|
|
54
38
|
return { avatar: avatar() };
|
|
55
39
|
}, [attachment.filename, attachment.contentType, attachment.signedUrl]);
|
|
56
|
-
return (
|
|
57
|
-
React.createElement("a", { href: attachment.signedUrl, target: "_blank", rel: "noreferrer", download: true, className: clsx('ob-downloadable-files__item', className) },
|
|
58
|
-
avatar,
|
|
59
|
-
React.createElement("div", { className: "ob-downloadable-files__content" },
|
|
60
|
-
React.createElement("div", { className: "ob-downloadable-files__filename ob-downloadable-files__text" }, attachment.filename),
|
|
61
|
-
React.createElement("div", { className: "ob-downloadable-files__filetype ob-downloadable-files__text" }, attachment.contentType.split('/')[1] || 'Unknown')),
|
|
62
|
-
React.createElement(MaterialIcon, { className: "ob-downloadable-files__download-icon" }, "download"))));
|
|
40
|
+
return (_jsx(Tooltip, { title: attachment.filename, arrow: true, children: _jsxs("a", { href: attachment.signedUrl, target: "_blank", rel: "noreferrer", download: true, className: clsx('ob-downloadable-files__item', className), children: [avatar, _jsxs("div", { className: "ob-downloadable-files__content", children: [_jsx("div", { className: "ob-downloadable-files__filename ob-downloadable-files__text", children: attachment.filename }), _jsx("div", { className: "ob-downloadable-files__filetype ob-downloadable-files__text", children: attachment.contentType.split('/')[1] || 'Unknown' })] }), _jsx(MaterialIcon, { className: "ob-downloadable-files__download-icon", children: "download" })] }) }));
|
|
63
41
|
};
|
|
64
42
|
/** Centers the PDF Download button */
|
|
65
43
|
export const OnlyPDFDisplay = ({ children, className, }) => {
|
|
66
44
|
const layout = useLayout();
|
|
67
|
-
return (
|
|
68
|
-
React.createElement(Grid, { container: true, spacing: 2, justifyContent: children.length === 1 ? 'center' : undefined }, children.map(({ node, key }) => (React.createElement(Grid, { item: true, xs: 12, sm: layout === 'GRID' ? 6 : 12, key: key }, node))))));
|
|
45
|
+
return (_jsx("div", { className: clsx('ob-downloadable-files__container', className), children: _jsx(Grid, { container: true, spacing: 2, justifyContent: children.length === 1 ? 'center' : undefined, children: children.map(({ node, key }) => (_jsx(Grid, { size: { xs: 12, sm: layout === 'GRID' ? 6 : 12 }, children: node }, key))) }) }));
|
|
69
46
|
};
|
|
70
47
|
//# sourceMappingURL=resource-components.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-components.js","sourceRoot":"","sources":["../../../src/components/downloadable-files/resource-components.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { Collapse, Grid, LinearProgress, Tooltip } from '@mui/material'\nimport MaterialIcon from '../MaterialIcon'\nimport { submissionService } from '@oneblink/apps'\nimport useLoadDataState from '../../hooks/useLoadDataState'\nimport OneBlinkAppsErrorOriginalMessage from '../renderer/OneBlinkAppsErrorOriginalMessage'\nimport clsx from 'clsx'\nimport { useLayout } from './LayoutProvider'\n\ntype Attachment = Awaited<\n ReturnType<typeof submissionService.getPostSubmissionAttachments>\n>[number]\n\nexport const LoadAndDisplayAttachments = ({\n pdfFileNodes,\n formSubmissionResult,\n}: {\n pdfFileNodes?: PDFFileNode[]\n formSubmissionResult: submissionService.FormSubmissionResult\n}) => {\n const loadAttachments = React.useCallback(\n () => submissionService.getPostSubmissionAttachments(formSubmissionResult),\n [formSubmissionResult],\n )\n const [attachmentsState] = useLoadDataState(loadAttachments)\n\n return (\n <>\n <Collapse in={attachmentsState.status === 'LOADING'} unmountOnExit>\n <div className=\"ob-downloadable-files__loading\">\n <div className=\"ob-list__text-secondary mb-1 has-text-centered\">\n Loading Attachments...\n </div>\n <LinearProgress className=\"ob-progress__downloadable-files\" />\n </div>\n </Collapse>\n <Collapse in={attachmentsState.status === 'ERROR'} unmountOnExit>\n {!!pdfFileNodes?.length && (\n <>\n <OnlyPDFDisplay className=\"ob-downloadable-files__error-pdf\">\n {pdfFileNodes}\n </OnlyPDFDisplay>\n </>\n )}\n\n <div className=\"ob-downloadable-files__error has-text-centered\">\n <MaterialIcon className=\"has-text-danger icon-large\">\n error\n </MaterialIcon>\n <OneBlinkAppsErrorOriginalMessage\n error={\n attachmentsState.status === 'ERROR'\n ? attachmentsState.error\n : undefined\n }\n />\n </div>\n </Collapse>\n <Collapse in={attachmentsState.status === 'SUCCESS'} unmountOnExit>\n <DownloadableFilesDisplay\n attachments={\n attachmentsState.status === 'SUCCESS' ? attachmentsState.result : []\n }\n pdfFileNodes={pdfFileNodes}\n />\n </Collapse>\n </>\n )\n}\n\nexport type PDFFileNode = {\n key: string\n node: React.ReactNode\n}\n\ntype DownloadableFilesDisplayProps = {\n attachments: Attachment[]\n pdfFileNodes?: PDFFileNode[]\n}\nfunction DownloadableFilesDisplay({\n attachments,\n pdfFileNodes,\n}: DownloadableFilesDisplayProps) {\n const layout = useLayout()\n\n const totalToDisplay = React.useMemo(() => {\n return attachments.length + (pdfFileNodes?.length ?? 0)\n }, [attachments, pdfFileNodes])\n\n return (\n <>\n <div className=\"ob-downloadable-files__container\">\n <Grid\n container\n spacing={2}\n justifyContent={totalToDisplay === 1 ? 'center' : undefined}\n >\n {pdfFileNodes &&\n pdfFileNodes.map(({ node, key }) => (\n <Grid item xs={12} sm={layout === 'GRID' ? 6 : 12} key={key}>\n {node}\n </Grid>\n ))}\n {attachments.map((attachment, index) => (\n <Grid item xs={12} sm={layout === 'GRID' ? 6 : 12} key={index}>\n <SingleFileDisplay attachment={attachment} />\n </Grid>\n ))}\n </Grid>\n </div>\n </>\n )\n}\n\nconst getFileTypeIcon = (type: string) => {\n // Add other appropriate icons for file types here anytime\n if (type.includes('doc')) {\n return 'description'\n }\n return 'attach_file'\n}\n\nexport const SingleFileDisplay = ({\n attachment,\n className,\n}: {\n attachment: Attachment\n className?: string\n}) => {\n const { avatar } = React.useMemo(() => {\n const avatar = () => {\n return attachment.contentType.includes('image') ? (\n <img\n src={attachment.signedUrl}\n alt={attachment.filename}\n className=\"ob-downloadable-files__thumbnail\"\n />\n ) : (\n <MaterialIcon className=\"ob-downloadable-files__icon\">\n {getFileTypeIcon(attachment.contentType)}\n </MaterialIcon>\n )\n }\n\n return { avatar: avatar() }\n }, [attachment.filename, attachment.contentType, attachment.signedUrl])\n\n return (\n <Tooltip title={attachment.filename} arrow>\n <a\n href={attachment.signedUrl}\n target=\"_blank\"\n rel=\"noreferrer\"\n download\n className={clsx('ob-downloadable-files__item', className)}\n >\n {avatar}\n <div className=\"ob-downloadable-files__content\">\n <div className=\"ob-downloadable-files__filename ob-downloadable-files__text\">\n {attachment.filename}\n </div>\n <div className=\"ob-downloadable-files__filetype ob-downloadable-files__text\">\n {attachment.contentType.split('/')[1] || 'Unknown'}\n </div>\n </div>\n <MaterialIcon className=\"ob-downloadable-files__download-icon\">\n download\n </MaterialIcon>\n </a>\n </Tooltip>\n )\n}\n\n/** Centers the PDF Download button */\nexport const OnlyPDFDisplay = ({\n children,\n className,\n}: {\n children: PDFFileNode[]\n className?: string\n}) => {\n const layout = useLayout()\n\n return (\n <div className={clsx('ob-downloadable-files__container', className)}>\n <Grid\n container\n spacing={2}\n justifyContent={children.length === 1 ? 'center' : undefined}\n >\n {children.map(({ node, key }) => (\n <Grid item xs={12} sm={layout === 'GRID' ? 6 : 12} key={key}>\n {node}\n </Grid>\n ))}\n </Grid>\n </div>\n )\n}\n"]}
|
|
1
|
+
{"version":3,"file":"resource-components.js","sourceRoot":"","sources":["../../../src/components/downloadable-files/resource-components.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { Collapse, Grid, LinearProgress, Tooltip } from '@mui/material'\nimport MaterialIcon from '../MaterialIcon'\nimport { submissionService } from '@oneblink/apps'\nimport useLoadDataState from '../../hooks/useLoadDataState'\nimport OneBlinkAppsErrorOriginalMessage from '../renderer/OneBlinkAppsErrorOriginalMessage'\nimport clsx from 'clsx'\nimport { useLayout } from './LayoutProvider'\n\ntype Attachment = Awaited<\n ReturnType<typeof submissionService.getPostSubmissionAttachments>\n>[number]\n\nexport const LoadAndDisplayAttachments = ({\n pdfFileNodes,\n formSubmissionResult,\n}: {\n pdfFileNodes?: PDFFileNode[]\n formSubmissionResult: submissionService.FormSubmissionResult\n}) => {\n const loadAttachments = React.useCallback(\n () => submissionService.getPostSubmissionAttachments(formSubmissionResult),\n [formSubmissionResult],\n )\n const [attachmentsState] = useLoadDataState(loadAttachments)\n\n return (\n <>\n <Collapse in={attachmentsState.status === 'LOADING'} unmountOnExit>\n <div className=\"ob-downloadable-files__loading\">\n <div className=\"ob-list__text-secondary mb-1 has-text-centered\">\n Loading Attachments...\n </div>\n <LinearProgress className=\"ob-progress__downloadable-files\" />\n </div>\n </Collapse>\n <Collapse in={attachmentsState.status === 'ERROR'} unmountOnExit>\n {!!pdfFileNodes?.length && (\n <>\n <OnlyPDFDisplay className=\"ob-downloadable-files__error-pdf\">\n {pdfFileNodes}\n </OnlyPDFDisplay>\n </>\n )}\n\n <div className=\"ob-downloadable-files__error has-text-centered\">\n <MaterialIcon className=\"has-text-danger icon-large\">\n error\n </MaterialIcon>\n <OneBlinkAppsErrorOriginalMessage\n error={\n attachmentsState.status === 'ERROR'\n ? attachmentsState.error\n : undefined\n }\n />\n </div>\n </Collapse>\n <Collapse in={attachmentsState.status === 'SUCCESS'} unmountOnExit>\n <DownloadableFilesDisplay\n attachments={\n attachmentsState.status === 'SUCCESS' ? attachmentsState.result : []\n }\n pdfFileNodes={pdfFileNodes}\n />\n </Collapse>\n </>\n )\n}\n\nexport type PDFFileNode = {\n key: string\n node: React.ReactNode\n}\n\ntype DownloadableFilesDisplayProps = {\n attachments: Attachment[]\n pdfFileNodes?: PDFFileNode[]\n}\nfunction DownloadableFilesDisplay({\n attachments,\n pdfFileNodes,\n}: DownloadableFilesDisplayProps) {\n const layout = useLayout()\n\n const totalToDisplay = React.useMemo(() => {\n return attachments.length + (pdfFileNodes?.length ?? 0)\n }, [attachments, pdfFileNodes])\n\n return (\n <>\n <div className=\"ob-downloadable-files__container\">\n <Grid\n container\n spacing={2}\n justifyContent={totalToDisplay === 1 ? 'center' : undefined}\n >\n {pdfFileNodes &&\n pdfFileNodes.map(({ node, key }) => (\n <Grid size={{ xs: 12, sm: layout === 'GRID' ? 6 : 12 }} key={key}>\n {node}\n </Grid>\n ))}\n {attachments.map((attachment, index) => (\n <Grid size={{ xs: 12, sm: layout === 'GRID' ? 6 : 12 }} key={index}>\n <SingleFileDisplay attachment={attachment} />\n </Grid>\n ))}\n </Grid>\n </div>\n </>\n )\n}\n\nconst getFileTypeIcon = (type: string) => {\n // Add other appropriate icons for file types here anytime\n if (type.includes('doc')) {\n return 'description'\n }\n return 'attach_file'\n}\n\nexport const SingleFileDisplay = ({\n attachment,\n className,\n}: {\n attachment: Attachment\n className?: string\n}) => {\n const { avatar } = React.useMemo(() => {\n const avatar = () => {\n return attachment.contentType.includes('image') ? (\n <img\n src={attachment.signedUrl}\n alt={attachment.filename}\n className=\"ob-downloadable-files__thumbnail\"\n />\n ) : (\n <MaterialIcon className=\"ob-downloadable-files__icon\">\n {getFileTypeIcon(attachment.contentType)}\n </MaterialIcon>\n )\n }\n\n return { avatar: avatar() }\n }, [attachment.filename, attachment.contentType, attachment.signedUrl])\n\n return (\n <Tooltip title={attachment.filename} arrow>\n <a\n href={attachment.signedUrl}\n target=\"_blank\"\n rel=\"noreferrer\"\n download\n className={clsx('ob-downloadable-files__item', className)}\n >\n {avatar}\n <div className=\"ob-downloadable-files__content\">\n <div className=\"ob-downloadable-files__filename ob-downloadable-files__text\">\n {attachment.filename}\n </div>\n <div className=\"ob-downloadable-files__filetype ob-downloadable-files__text\">\n {attachment.contentType.split('/')[1] || 'Unknown'}\n </div>\n </div>\n <MaterialIcon className=\"ob-downloadable-files__download-icon\">\n download\n </MaterialIcon>\n </a>\n </Tooltip>\n )\n}\n\n/** Centers the PDF Download button */\nexport const OnlyPDFDisplay = ({\n children,\n className,\n}: {\n children: PDFFileNode[]\n className?: string\n}) => {\n const layout = useLayout()\n\n return (\n <div className={clsx('ob-downloadable-files__container', className)}>\n <Grid\n container\n spacing={2}\n justifyContent={children.length === 1 ? 'center' : undefined}\n >\n {children.map(({ node, key }) => (\n <Grid size={{ xs: 12, sm: layout === 'GRID' ? 6 : 12 }} key={key}>\n {node}\n </Grid>\n ))}\n </Grid>\n </div>\n )\n}\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
import { useHistory, useLocation } from 'react-router-dom';
|
|
3
4
|
import querystring from 'query-string';
|
|
@@ -5,7 +6,6 @@ import { formStoreService } from '@oneblink/apps';
|
|
|
5
6
|
import useInfiniteScrollDataLoad from '../../hooks/useInfiniteScrollDataLoad';
|
|
6
7
|
import useFormStoreTable from './table/useFormStoreTable';
|
|
7
8
|
import { Box, Button, Grid } from '@mui/material';
|
|
8
|
-
import { LoadingButton } from '@mui/lab';
|
|
9
9
|
import useSubmissionIdValidationMessage, { validateIsUUID, } from '../../hooks/useSubmissionIdIsValid';
|
|
10
10
|
import ErrorMessage from '../messages/ErrorMessage';
|
|
11
11
|
import LoadingWithMessage from '../LoadingWithMessage';
|
|
@@ -103,19 +103,9 @@ export function FormStoreTableProvider({ form, children, }) {
|
|
|
103
103
|
form,
|
|
104
104
|
onRefresh,
|
|
105
105
|
});
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
React.createElement(LoadingWithMessage, { message: "Loading initial records..." }))),
|
|
111
|
-
loadError && (React.createElement(React.Fragment, null,
|
|
112
|
-
React.createElement(ErrorMessage, { title: "Error Retrieving Submissions", gutterBottom: true, gutterTop: true }, loadError.message),
|
|
113
|
-
React.createElement(Grid, { container: true, justifyContent: "center" },
|
|
114
|
-
React.createElement(Button, { className: "ob-form-store-try-again-button", variant: "outlined", color: "primary", onClick: () => onTryAgain() }, "Try Again")))),
|
|
115
|
-
!!nextOffset && !loadError && isLoading !== 'INITIAL' && (React.createElement(Box, { padding: 4, className: "ob-form-store-load-more-button-container" },
|
|
116
|
-
React.createElement(Grid, { container: true, justifyContent: "center" },
|
|
117
|
-
React.createElement(LoadingButton, { className: "ob-form-store-load-more-button", variant: "outlined", color: "primary", onClick: () => onTryAgain(nextOffset), loading: isLoading === 'MORE', size: "large", loadingPosition: "start", startIcon: React.createElement(MaterialIcon, null, "read_more"), classes: {
|
|
118
|
-
loadingIndicator: 'ob-form-store-loading-more-indicator',
|
|
119
|
-
} }, "Load More"))))));
|
|
106
|
+
const visibleColumns = formStoreTable.getVisibleFlatColumns();
|
|
107
|
+
return (_jsxs(FormStoreTableContext.Provider, { value: formStoreTable, children: [children, (visibleColumns === null || visibleColumns === void 0 ? void 0 : visibleColumns.length) ? (_jsx(_Fragment, { children: !formStoreRecords.length && !isLoading && !loadError && (_jsx(NoResourcesYet, { IconComponent: FormStoreIcon, title: "No Records Found...", children: "There are no Submissions matching your filters." })) })) : (_jsx(NoResourcesYet, { IconComponent: (props) => (_jsx(MaterialIcon, { ...props, children: "settings" })), title: "No Columns Visible", gutterBottom: true, children: "It looks like you have hidden all of the available columns. Please enable at least one column to view submissions." })), isLoading === 'INITIAL' && (_jsx("div", { className: "ob-form-store-loading-initial", children: _jsx(LoadingWithMessage, { message: "Loading initial records..." }) })), loadError && (_jsxs(_Fragment, { children: [_jsx(ErrorMessage, { title: "Error Retrieving Submissions", gutterBottom: true, gutterTop: true, children: loadError.message }), _jsx(Grid, { container: true, justifyContent: "center", children: _jsx(Button, { className: "ob-form-store-try-again-button", variant: "outlined", color: "primary", onClick: () => onTryAgain(), children: "Try Again" }) })] })), !!nextOffset && !loadError && isLoading !== 'INITIAL' && (_jsx(Box, { padding: 4, className: "ob-form-store-load-more-button-container", children: _jsx(Grid, { container: true, justifyContent: "center", children: _jsx(Button, { className: "ob-form-store-load-more-button", variant: "outlined", color: "primary", onClick: () => onTryAgain(nextOffset), loading: isLoading === 'MORE', size: "large", loadingPosition: "start", startIcon: _jsx(MaterialIcon, { children: "read_more" }), classes: {
|
|
108
|
+
loadingIndicator: 'ob-form-store-loading-more-indicator',
|
|
109
|
+
}, children: "Load More" }) }) }))] }));
|
|
120
110
|
}
|
|
121
111
|
//# sourceMappingURL=FormStoreTableProvider.js.map
|