@oneblink/apps-react 2.3.0-beta.1 → 2.3.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 +10 -10
- package/dist/OneBlinkAutoSaveForm.js +28 -28
- package/dist/OneBlinkForm.d.ts +11 -11
- package/dist/OneBlinkForm.js +11 -11
- package/dist/OneBlinkFormBase.d.ts +28 -28
- package/dist/OneBlinkFormBase.js +472 -472
- package/dist/OneBlinkFormStoreView.d.ts +8 -0
- package/dist/OneBlinkFormStoreView.js +55 -0
- package/dist/OneBlinkFormStoreView.js.map +1 -0
- package/dist/OneBlinkReadOnlyForm.d.ts +11 -11
- package/dist/OneBlinkReadOnlyForm.js +48 -48
- package/dist/components/AnnotationModal.d.ts +8 -0
- package/dist/components/AnnotationModal.js +104 -0
- package/dist/components/AnnotationModal.js.map +1 -0
- package/dist/components/AutocompleteDropdown.d.ts +26 -0
- package/dist/components/AutocompleteDropdown.js +174 -0
- package/dist/components/AutocompleteDropdown.js.map +1 -0
- package/dist/components/CopyToClipboardButton.d.ts +9 -0
- package/dist/components/CopyToClipboardButton.js +14 -0
- package/dist/components/CopyToClipboardButton.js.map +1 -0
- package/dist/components/CopyToClipboardIconButton.d.ts +10 -10
- package/dist/components/CopyToClipboardIconButton.js +32 -32
- package/dist/components/CustomAccordion.d.ts +27 -27
- package/dist/components/CustomAccordion.js +37 -37
- package/dist/components/CustomisableButtonInner.d.ts +7 -0
- package/dist/components/CustomisableButtonInner.js +9 -0
- package/dist/components/CustomisableButtonInner.js.map +1 -0
- package/dist/components/ErrorMessage.d.ts +13 -0
- package/dist/components/ErrorMessage.js +13 -0
- package/dist/components/ErrorMessage.js.map +1 -0
- package/dist/components/ErrorSnackbar.d.ts +8 -8
- package/dist/components/ErrorSnackbar.js +25 -25
- package/dist/components/FormElementLabelContainer.d.ts +12 -0
- package/dist/components/FormElementLabelContainer.js +16 -0
- package/dist/components/FormElementLabelContainer.js.map +1 -0
- package/dist/components/FormElementOptions.d.ts +9 -0
- package/dist/components/FormElementOptions.js +15 -0
- package/dist/components/FormElementOptions.js.map +1 -0
- package/dist/components/Lists.d.ts +25 -25
- package/dist/components/Lists.js +44 -44
- package/dist/components/LoadingWithMessage.d.ts +6 -6
- package/dist/components/LoadingWithMessage.js +11 -11
- package/dist/components/LookupButton.d.ts +10 -0
- package/dist/components/LookupButton.js +30 -0
- package/dist/components/LookupButton.js.map +1 -0
- package/dist/components/LookupNotification.d.ts +12 -0
- package/dist/components/LookupNotification.js +231 -0
- package/dist/components/LookupNotification.js.map +1 -0
- package/dist/components/Modal.d.ts +14 -0
- package/dist/components/Modal.js +15 -0
- package/dist/components/Modal.js.map +1 -0
- package/dist/components/NoResourcesYet.d.ts +12 -0
- package/dist/components/NoResourcesYet.js +7 -0
- package/dist/components/NoResourcesYet.js.map +1 -0
- package/dist/components/OnLoading.d.ts +10 -0
- package/dist/components/OnLoading.js +12 -0
- package/dist/components/OnLoading.js.map +1 -0
- package/dist/components/OneBlinkAppsErrorOriginalMessage.d.ts +7 -0
- package/dist/components/OneBlinkAppsErrorOriginalMessage.js +13 -0
- package/dist/components/OneBlinkAppsErrorOriginalMessage.js.map +1 -0
- package/dist/components/OneBlinkFormElements.d.ts +19 -0
- package/dist/components/OneBlinkFormElements.js +196 -0
- package/dist/components/OneBlinkFormElements.js.map +1 -0
- package/dist/components/PageFormElements.d.ts +17 -0
- package/dist/components/PageFormElements.js +49 -0
- package/dist/components/PageFormElements.js.map +1 -0
- package/dist/components/ToggleAllCheckbox.d.ts +13 -0
- package/dist/components/ToggleAllCheckbox.js +27 -0
- package/dist/components/ToggleAllCheckbox.js.map +1 -0
- package/dist/components/attachments/AttachmentStatus.d.ts +12 -0
- package/dist/components/attachments/AttachmentStatus.js +35 -0
- package/dist/components/attachments/AttachmentStatus.js.map +1 -0
- package/dist/components/attachments/FileCard.d.ts +18 -0
- package/dist/components/attachments/FileCard.js +58 -0
- package/dist/components/attachments/FileCard.js.map +1 -0
- package/dist/components/attachments/FileCardContent.d.ts +5 -0
- package/dist/components/attachments/FileCardContent.js +11 -0
- package/dist/components/attachments/FileCardContent.js.map +1 -0
- package/dist/components/attachments/Files.d.ts +14 -0
- package/dist/components/attachments/Files.js +27 -0
- package/dist/components/attachments/Files.js.map +1 -0
- package/dist/components/attachments/ImagePreviewUnavailable.d.ts +4 -0
- package/dist/components/attachments/ImagePreviewUnavailable.js +12 -0
- package/dist/components/attachments/ImagePreviewUnavailable.js.map +1 -0
- package/dist/components/attachments/UploadingAttachment.d.ts +4 -0
- package/dist/components/attachments/UploadingAttachment.js +13 -0
- package/dist/components/attachments/UploadingAttachment.js.map +1 -0
- package/dist/components/formStore/ColumnsConfigurationButton.d.ts +10 -0
- package/dist/components/formStore/ColumnsConfigurationButton.js +29 -0
- package/dist/components/formStore/ColumnsConfigurationButton.js.map +1 -0
- package/dist/components/formStore/DownloadSubmissionDataButton.d.ts +13 -0
- package/dist/components/formStore/DownloadSubmissionDataButton.js +45 -0
- package/dist/components/formStore/DownloadSubmissionDataButton.js.map +1 -0
- package/dist/components/formStore/FormStore.d.ts +9 -0
- package/dist/components/formStore/FormStore.js +103 -0
- package/dist/components/formStore/FormStore.js.map +1 -0
- package/dist/components/formStore/FormStoreTableProvider.d.ts +6 -6
- package/dist/components/formStore/FormStoreTableProvider.js +90 -90
- package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.d.ts +5 -5
- package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.js +19 -19
- package/dist/components/formStore/OneBlinkFormStoreColumnsButton.d.ts +5 -5
- package/dist/components/formStore/OneBlinkFormStoreColumnsButton.js +66 -66
- package/dist/components/formStore/OneBlinkFormStoreDownloadButton.d.ts +5 -5
- package/dist/components/formStore/OneBlinkFormStoreDownloadButton.js +86 -86
- package/dist/components/formStore/OneBlinkFormStoreProvider.d.ts +8 -8
- package/dist/components/formStore/OneBlinkFormStoreProvider.js +24 -24
- package/dist/components/formStore/OneBlinkFormStoreRefreshButton.d.ts +5 -5
- package/dist/components/formStore/OneBlinkFormStoreRefreshButton.js +11 -11
- package/dist/components/formStore/OneBlinkFormStoreTable.d.ts +4 -4
- package/dist/components/formStore/OneBlinkFormStoreTable.js +194 -194
- package/dist/components/formStore/display/ElementDisplay.d.ts +23 -23
- package/dist/components/formStore/display/ElementDisplay.js +77 -77
- package/dist/components/formStore/display/FormStoreIcon.d.ts +2 -2
- package/dist/components/formStore/display/FormStoreIcon.js +2 -2
- package/dist/components/formStore/table/ActionedByTableCell.d.ts +11 -11
- package/dist/components/formStore/table/ActionedByTableCell.js +43 -43
- package/dist/components/formStore/table/ColumnFilters.d.ts +9 -9
- package/dist/components/formStore/table/ColumnFilters.js +179 -179
- package/dist/components/formStore/table/FormElementTableCell.d.ts +10 -10
- package/dist/components/formStore/table/FormElementTableCell.js +228 -228
- package/dist/components/formStore/table/HeaderCellMoreButton.d.ts +9 -9
- package/dist/components/formStore/table/HeaderCellMoreButton.js +48 -48
- package/dist/components/formStore/table/RepeatableSetCell.d.ts +8 -8
- package/dist/components/formStore/table/RepeatableSetCell.js +62 -62
- package/dist/components/formStore/table/RepeatableSetCellAccordion.d.ts +9 -9
- package/dist/components/formStore/table/RepeatableSetCellAccordion.js +11 -11
- package/dist/components/formStore/table/TableCellCopyButton.d.ts +7 -7
- package/dist/components/formStore/table/TableCellCopyButton.js +27 -27
- package/dist/components/formStore/table/generateColumns.d.ts +24 -24
- package/dist/components/formStore/table/generateColumns.js +290 -290
- package/dist/components/formStore/table/index.d.ts +17 -0
- package/dist/components/formStore/table/index.js +194 -0
- package/dist/components/formStore/table/index.js.map +1 -0
- package/dist/components/formStore/table/useFormStoreTable.d.ts +52 -52
- package/dist/components/formStore/table/useFormStoreTable.js +157 -157
- package/dist/components/formStore/useFormStoreTableContext.d.ts +44 -44
- package/dist/components/formStore/useFormStoreTableContext.js +9 -9
- package/dist/components/messages/ErrorMessage.d.ts +12 -12
- package/dist/components/messages/ErrorMessage.js +12 -12
- package/dist/components/messages/LargeIconMessage.d.ts +18 -18
- package/dist/components/messages/LargeIconMessage.js +33 -33
- package/dist/components/messages/NoResourcesYet.d.ts +11 -11
- package/dist/components/messages/NoResourcesYet.js +6 -6
- package/dist/components/pickers/V4CompatibleDatePicker.d.ts +32 -32
- package/dist/components/pickers/V4CompatibleDatePicker.js +70 -70
- package/dist/components/pickers/V4CompatibleDateTimePicker.d.ts +32 -32
- package/dist/components/pickers/V4CompatibleDateTimePicker.js +70 -70
- package/dist/components/pickers/V4CompatibleTimePicker.d.ts +28 -28
- package/dist/components/pickers/V4CompatibleTimePicker.js +53 -53
- package/dist/components/renderer/AnnotationModal.d.ts +8 -8
- package/dist/components/renderer/AnnotationModal.js +101 -101
- package/dist/components/renderer/AutocompleteDropdown.d.ts +26 -26
- package/dist/components/renderer/AutocompleteDropdown.js +175 -175
- package/dist/components/renderer/CopyToClipboardButton.d.ts +8 -8
- package/dist/components/renderer/CopyToClipboardButton.js +13 -13
- package/dist/components/renderer/CustomisableButtonInner.d.ts +7 -7
- package/dist/components/renderer/CustomisableButtonInner.js +8 -8
- package/dist/components/renderer/FormElementLabelContainer.d.ts +12 -12
- package/dist/components/renderer/FormElementLabelContainer.js +15 -15
- package/dist/components/renderer/FormElementOptions.d.ts +9 -9
- package/dist/components/renderer/FormElementOptions.js +14 -14
- package/dist/components/renderer/LookupButton.d.ts +10 -10
- package/dist/components/renderer/LookupButton.js +29 -29
- package/dist/components/renderer/LookupNotification.d.ts +12 -12
- package/dist/components/renderer/LookupNotification.js +230 -230
- package/dist/components/renderer/Modal.d.ts +14 -14
- package/dist/components/renderer/Modal.js +14 -14
- package/dist/components/renderer/OnLoading.d.ts +10 -10
- package/dist/components/renderer/OnLoading.js +11 -11
- package/dist/components/renderer/OneBlinkAppsErrorOriginalMessage.d.ts +7 -7
- package/dist/components/renderer/OneBlinkAppsErrorOriginalMessage.js +12 -12
- package/dist/components/renderer/OneBlinkFormElements.d.ts +19 -19
- package/dist/components/renderer/OneBlinkFormElements.js +202 -202
- package/dist/components/renderer/PageFormElements.d.ts +17 -17
- package/dist/components/renderer/PageFormElements.js +48 -48
- package/dist/components/renderer/ProgressBar.d.ts +7 -7
- package/dist/components/renderer/ProgressBar.js +6 -6
- package/dist/components/renderer/ToggleAllCheckbox.d.ts +13 -13
- package/dist/components/renderer/ToggleAllCheckbox.js +26 -26
- package/dist/components/renderer/attachments/AttachmentStatus.d.ts +10 -10
- package/dist/components/renderer/attachments/AttachmentStatus.js +36 -36
- package/dist/components/renderer/attachments/FileCard.d.ts +19 -19
- package/dist/components/renderer/attachments/FileCard.js +60 -59
- package/dist/components/renderer/attachments/FileCard.js.map +1 -1
- package/dist/components/renderer/attachments/FileCardContent.d.ts +5 -5
- package/dist/components/renderer/attachments/FileCardContent.js +10 -10
- package/dist/components/renderer/attachments/Files.d.ts +14 -0
- package/dist/components/renderer/attachments/Files.js +27 -0
- package/dist/components/renderer/attachments/Files.js.map +1 -0
- package/dist/components/renderer/attachments/ImagePreviewUnavailable.d.ts +4 -4
- package/dist/components/renderer/attachments/ImagePreviewUnavailable.js +11 -11
- package/dist/components/renderer/attachments/ProgressBar.d.ts +8 -6
- package/dist/components/renderer/attachments/ProgressBar.js +33 -12
- package/dist/components/renderer/attachments/ProgressBar.js.map +1 -1
- package/dist/components/renderer/attachments/UploadingAttachment.d.ts +4 -0
- package/dist/components/renderer/attachments/UploadingAttachment.js +13 -0
- package/dist/components/renderer/attachments/UploadingAttachment.js.map +1 -0
- package/dist/form-elements/ComplianceButton.d.ts +10 -10
- package/dist/form-elements/ComplianceButton.js +11 -11
- package/dist/form-elements/FormElementABN.d.ts +14 -14
- package/dist/form-elements/FormElementABN.js +155 -155
- package/dist/form-elements/FormElementAutocomplete.d.ts +19 -19
- package/dist/form-elements/FormElementAutocomplete.js +81 -81
- package/dist/form-elements/FormElementBSB.d.ts +18 -18
- package/dist/form-elements/FormElementBSB.js +100 -100
- package/dist/form-elements/FormElementBarcodeScanner.d.ts +14 -14
- package/dist/form-elements/FormElementBarcodeScanner.js +306 -306
- package/dist/form-elements/FormElementBoolean.d.ts +14 -14
- package/dist/form-elements/FormElementBoolean.js +16 -16
- package/dist/form-elements/FormElementCalculation.d.ts +11 -11
- package/dist/form-elements/FormElementCalculation.js +179 -179
- package/dist/form-elements/FormElementCamera.d.ts +15 -15
- package/dist/form-elements/FormElementCamera.js +227 -226
- package/dist/form-elements/FormElementCamera.js.map +1 -1
- package/dist/form-elements/FormElementCaptcha.d.ts +12 -12
- package/dist/form-elements/FormElementCaptcha.js +14 -14
- package/dist/form-elements/FormElementCheckBoxes.d.ts +15 -15
- package/dist/form-elements/FormElementCheckBoxes.js +64 -64
- package/dist/form-elements/FormElementCivicaNameRecord.d.ts +8 -8
- package/dist/form-elements/FormElementCivicaNameRecord.js +51 -51
- package/dist/form-elements/FormElementCivicaStreetName.d.ts +15 -15
- package/dist/form-elements/FormElementCivicaStreetName.js +38 -38
- package/dist/form-elements/FormElementCompliance.d.ts +22 -22
- package/dist/form-elements/FormElementCompliance.js +129 -129
- package/dist/form-elements/FormElementDate.d.ts +14 -14
- package/dist/form-elements/FormElementDate.js +74 -74
- package/dist/form-elements/FormElementDateTime.d.ts +14 -14
- package/dist/form-elements/FormElementDateTime.js +67 -67
- package/dist/form-elements/FormElementEmail.d.ts +14 -14
- package/dist/form-elements/FormElementEmail.js +22 -22
- package/dist/form-elements/FormElementFile.d.ts +13 -13
- package/dist/form-elements/FormElementFile.js +31 -31
- package/dist/form-elements/FormElementFiles/FormElementFile.d.ts +13 -0
- package/dist/form-elements/FormElementFiles/FormElementFile.js +32 -0
- package/dist/form-elements/FormElementFiles/FormElementFile.js.map +1 -0
- package/dist/form-elements/FormElementFiles/FormElementFileDisplay.d.ts +10 -0
- package/dist/form-elements/FormElementFiles/FormElementFileDisplay.js +11 -0
- package/dist/form-elements/FormElementFiles/FormElementFileDisplay.js.map +1 -0
- package/dist/form-elements/FormElementFiles/FormElementFiles.d.ts +15 -0
- package/dist/form-elements/FormElementFiles/FormElementFiles.js +17 -0
- package/dist/form-elements/FormElementFiles/FormElementFiles.js.map +1 -0
- package/dist/form-elements/FormElementFiles/FormElementFilesInvalidAttachment.d.ts +7 -0
- package/dist/form-elements/FormElementFiles/FormElementFilesInvalidAttachment.js +11 -0
- package/dist/form-elements/FormElementFiles/FormElementFilesInvalidAttachment.js.map +1 -0
- package/dist/form-elements/FormElementFiles/index.d.ts +17 -0
- package/dist/form-elements/FormElementFiles/index.js +18 -0
- package/dist/form-elements/FormElementFiles/index.js.map +1 -0
- package/dist/form-elements/FormElementFiles/legacy/FormElementFiles.d.ts +18 -0
- package/dist/form-elements/FormElementFiles/legacy/FormElementFiles.js +61 -0
- package/dist/form-elements/FormElementFiles/legacy/FormElementFiles.js.map +1 -0
- package/dist/form-elements/FormElementFiles.d.ts +15 -15
- package/dist/form-elements/FormElementFiles.js +42 -42
- package/dist/form-elements/FormElementForm.d.ts +17 -17
- package/dist/form-elements/FormElementForm.js +63 -63
- package/dist/form-elements/FormElementFreshdeskDependentField.d.ts +8 -8
- package/dist/form-elements/FormElementFreshdeskDependentField.js +15 -15
- package/dist/form-elements/FormElementGeoscapeAddress.d.ts +15 -15
- package/dist/form-elements/FormElementGeoscapeAddress.js +62 -62
- package/dist/form-elements/FormElementHTML.d.ts +8 -8
- package/dist/form-elements/FormElementHTML.js +15 -15
- package/dist/form-elements/FormElementHeading.d.ts +8 -8
- package/dist/form-elements/FormElementHeading.js +23 -23
- package/dist/form-elements/FormElementImage.d.ts +8 -8
- package/dist/form-elements/FormElementImage.js +6 -6
- package/dist/form-elements/FormElementLocation.d.ts +20 -20
- package/dist/form-elements/FormElementLocation.js +204 -204
- package/dist/form-elements/FormElementNumber.d.ts +14 -14
- package/dist/form-elements/FormElementNumber.js +72 -72
- package/dist/form-elements/FormElementPointAddress.d.ts +15 -15
- package/dist/form-elements/FormElementPointAddress.js +69 -69
- package/dist/form-elements/FormElementRadio.d.ts +15 -15
- package/dist/form-elements/FormElementRadio.js +41 -41
- package/dist/form-elements/FormElementRepeatableSet.d.ts +19 -19
- package/dist/form-elements/FormElementRepeatableSet.js +126 -126
- package/dist/form-elements/FormElementSection.d.ts +8 -8
- package/dist/form-elements/FormElementSection.js +69 -69
- package/dist/form-elements/FormElementSelect.d.ts +15 -15
- package/dist/form-elements/FormElementSelect.js +44 -44
- package/dist/form-elements/FormElementSignature.d.ts +15 -15
- package/dist/form-elements/FormElementSignature.js +138 -140
- package/dist/form-elements/FormElementSignature.js.map +1 -1
- package/dist/form-elements/FormElementSummary.d.ts +11 -11
- package/dist/form-elements/FormElementSummary.js +159 -159
- package/dist/form-elements/FormElementTelephone.d.ts +14 -14
- package/dist/form-elements/FormElementTelephone.js +22 -22
- package/dist/form-elements/FormElementText.d.ts +14 -14
- package/dist/form-elements/FormElementText.js +29 -29
- package/dist/form-elements/FormElementTextarea.d.ts +14 -14
- package/dist/form-elements/FormElementTextarea.js +30 -30
- package/dist/form-elements/FormElementTime.d.ts +14 -14
- package/dist/form-elements/FormElementTime.js +53 -53
- package/dist/form-elements/OptionButton.d.ts +11 -11
- package/dist/form-elements/OptionButton.js +9 -9
- package/dist/hooks/attachments/useAttachment.d.ts +12 -12
- package/dist/hooks/attachments/useAttachment.js +242 -242
- package/dist/hooks/attachments/useAttachmentBlobs.d.ts +19 -19
- package/dist/hooks/attachments/useAttachmentBlobs.js +23 -23
- package/dist/hooks/attachments/useAttachmentObjectURLs.d.ts +24 -0
- package/dist/hooks/attachments/useAttachmentObjectURLs.js +37 -0
- package/dist/hooks/attachments/useAttachmentObjectURLs.js.map +1 -0
- package/dist/hooks/attachments/useAttachments.d.ts +10 -10
- package/dist/hooks/attachments/useAttachments.js +69 -69
- package/dist/hooks/attachments/useLocalAttachmentBlobs.d.ts +24 -0
- package/dist/hooks/attachments/useLocalAttachmentBlobs.js +40 -0
- package/dist/hooks/attachments/useLocalAttachmentBlobs.js.map +1 -0
- package/dist/hooks/useAbnLookupAuthenticationGuid.d.ts +3 -3
- package/dist/hooks/useAbnLookupAuthenticationGuid.js +5 -5
- package/dist/hooks/useAuth.d.ts +15 -15
- package/dist/hooks/useAuth.js +42 -42
- package/dist/hooks/useBooleanState.d.ts +5 -5
- package/dist/hooks/useBooleanState.js +8 -8
- package/dist/hooks/useButtonsConfiguration.d.ts +45 -0
- package/dist/hooks/useButtonsConfiguration.js +6 -0
- package/dist/hooks/useButtonsConfiguration.js.map +1 -0
- package/dist/hooks/useCaptchaSiteKey.d.ts +3 -3
- package/dist/hooks/useCaptchaSiteKey.js +5 -5
- package/dist/hooks/useChangeEffect.d.ts +1 -0
- package/dist/hooks/useChangeEffect.js +14 -0
- package/dist/hooks/useChangeEffect.js.map +1 -0
- package/dist/hooks/useClickOutsideElement.d.ts +3 -3
- package/dist/hooks/useClickOutsideElement.js +14 -14
- package/dist/hooks/useConditionalLogic.d.ts +6 -6
- package/dist/hooks/useConditionalLogic.js +22 -22
- package/dist/hooks/useConditionallyShowOptionCallback.d.ts +5 -0
- package/dist/hooks/useConditionallyShowOptionCallback.js +20 -0
- package/dist/hooks/useConditionallyShowOptionCallback.js.map +1 -0
- package/dist/hooks/useContrastColor.d.ts +2 -2
- package/dist/hooks/useContrastColor.js +12 -12
- package/dist/hooks/useCustomValidation.d.ts +1 -0
- package/dist/hooks/useCustomValidation.js +9 -0
- package/dist/hooks/useCustomValidation.js.map +1 -0
- package/dist/hooks/useDynamicOptionsLoaderEffect.d.ts +7 -0
- package/dist/hooks/useDynamicOptionsLoaderEffect.js +45 -0
- package/dist/hooks/useDynamicOptionsLoaderEffect.js.map +1 -0
- package/dist/hooks/useDynamicOptionsLoaderState.d.ts +7 -7
- package/dist/hooks/useDynamicOptionsLoaderState.js +44 -44
- package/dist/hooks/useExecutedLookupCallback.d.ts +12 -12
- package/dist/hooks/useExecutedLookupCallback.js +15 -15
- package/dist/hooks/useFlatpickr.d.ts +10 -10
- package/dist/hooks/useFlatpickr.js +73 -73
- package/dist/hooks/useFlatpickrGuid.d.ts +7 -7
- package/dist/hooks/useFlatpickrGuid.js +11 -11
- package/dist/hooks/useFlattenElementsContext.d.ts +2 -2
- package/dist/hooks/useFlattenElementsContext.js +7 -7
- package/dist/hooks/useFormDefinition.d.ts +4 -4
- package/dist/hooks/useFormDefinition.js +9 -9
- package/dist/hooks/useFormElementOptions.d.ts +9 -9
- package/dist/hooks/useFormElementOptions.js +35 -35
- package/dist/hooks/useFormIsReadOnly.d.ts +3 -3
- package/dist/hooks/useFormIsReadOnly.js +5 -5
- package/dist/hooks/useFormSubmissionAutoSaveState.d.ts +24 -24
- package/dist/hooks/useFormSubmissionAutoSaveState.js +145 -145
- package/dist/hooks/useFormSubmissionModelContext.d.ts +15 -15
- package/dist/hooks/useFormSubmissionModelContext.js +32 -32
- package/dist/hooks/useFormSubmissionState.d.ts +10 -10
- package/dist/hooks/useFormSubmissionState.js +13 -13
- package/dist/hooks/useFormValidation.d.ts +7 -7
- package/dist/hooks/useFormValidation.js +29 -29
- package/dist/hooks/useGoogleMapsApiKey.d.ts +3 -3
- package/dist/hooks/useGoogleMapsApiKey.js +5 -5
- package/dist/hooks/useInfiniteScrollDataLoad.d.ts +30 -30
- package/dist/hooks/useInfiniteScrollDataLoad.js +124 -124
- package/dist/hooks/useInjectPages.d.ts +7 -7
- package/dist/hooks/useInjectPages.js +5 -5
- package/dist/hooks/useIsHovering.d.ts +5 -5
- package/dist/hooks/useIsHovering.js +12 -12
- package/dist/hooks/useIsMounted.d.ts +3 -3
- package/dist/hooks/useIsMounted.js +11 -11
- package/dist/hooks/useIsOffline.d.ts +6 -6
- package/dist/hooks/useIsOffline.js +26 -26
- package/dist/hooks/useIsPageVisible.d.ts +9 -9
- package/dist/hooks/useIsPageVisible.js +8 -8
- package/dist/hooks/useLegacyElements.d.ts +16 -0
- package/dist/hooks/useLegacyElements.js +55 -0
- package/dist/hooks/useLegacyElements.js.map +1 -0
- package/dist/hooks/useLoadDataState.d.ts +15 -15
- package/dist/hooks/useLoadDataState.js +54 -54
- package/dist/hooks/useLogin.d.ts +46 -46
- package/dist/hooks/useLogin.js +295 -295
- package/dist/hooks/useLookupNotification.d.ts +9 -9
- package/dist/hooks/useLookupNotification.js +10 -10
- package/dist/hooks/useLookups.d.ts +5 -5
- package/dist/hooks/useLookups.js +62 -62
- package/dist/hooks/useNullableState.d.ts +2 -2
- package/dist/hooks/useNullableState.js +6 -6
- package/dist/hooks/usePages.d.ts +24 -24
- package/dist/hooks/usePages.js +141 -141
- package/dist/hooks/useQuery.d.ts +2 -2
- package/dist/hooks/useQuery.js +7 -7
- package/dist/hooks/useSubmissionIdIsValid.d.ts +3 -3
- package/dist/hooks/useSubmissionIdIsValid.js +19 -19
- package/dist/hooks/useToggleAll.d.ts +6 -0
- package/dist/hooks/useToggleAll.js +24 -0
- package/dist/hooks/useToggleAll.js.map +1 -0
- package/dist/hooks/useToggleComplianceChildren.d.ts +3 -3
- package/dist/hooks/useToggleComplianceChildren.js +13 -13
- package/dist/index.d.ts +23 -23
- package/dist/index.js +23 -23
- package/dist/services/attachments.d.ts +10 -10
- package/dist/services/attachments.js +72 -72
- package/dist/services/barcode-readers/quagger.d.ts +1 -1
- package/dist/services/barcode-readers/quagger.js +34 -34
- package/dist/services/blob-utils.d.ts +5 -5
- package/dist/services/blob-utils.js +73 -73
- package/dist/services/checkBsbsAreInvalid.d.ts +3 -3
- package/dist/services/checkBsbsAreInvalid.js +40 -40
- package/dist/services/checkIfAttachmentsAreUploading.d.ts +3 -3
- package/dist/services/checkIfAttachmentsAreUploading.js +57 -57
- package/dist/services/checkIfAttachmentsExist.d.ts +5 -5
- package/dist/services/checkIfAttachmentsExist.js +144 -144
- package/dist/services/checkIfBsbsAreValidating.d.ts +3 -3
- package/dist/services/checkIfBsbsAreValidating.js +40 -40
- package/dist/services/clean-form-elements-ctrl-model.d.ts +4 -0
- package/dist/services/clean-form-elements-ctrl-model.js +166 -0
- package/dist/services/clean-form-elements-ctrl-model.js.map +1 -0
- package/dist/services/cleanFormSubmissionModel.d.ts +6 -6
- package/dist/services/cleanFormSubmissionModel.js +203 -203
- package/dist/services/conditionally-show-element.d.ts +11 -0
- package/dist/services/conditionally-show-element.js +92 -0
- package/dist/services/conditionally-show-element.js.map +1 -0
- package/dist/services/conditionally-show-option.d.ts +3 -0
- package/dist/services/conditionally-show-option.js +135 -0
- package/dist/services/conditionally-show-option.js.map +1 -0
- package/dist/services/defaultCoordinates.d.ts +5 -5
- package/dist/services/defaultCoordinates.js +8 -8
- package/dist/services/download-file.d.ts +3 -3
- package/dist/services/download-file.js +90 -90
- package/dist/services/drawTimestampOnCanvas.d.ts +1 -1
- package/dist/services/drawTimestampOnCanvas.js +22 -22
- package/dist/services/flattenFormElements.d.ts +2 -0
- package/dist/services/flattenFormElements.js +13 -0
- package/dist/services/flattenFormElements.js.map +1 -0
- package/dist/services/form-validation.d.ts +10 -10
- package/dist/services/form-validation.js +561 -561
- package/dist/services/generate-default-data.d.ts +13 -13
- package/dist/services/generate-default-data.js +494 -494
- package/dist/services/generateCivicaNameRecordElements.d.ts +2 -2
- package/dist/services/generateCivicaNameRecordElements.js +140 -140
- package/dist/services/generateFreshdeskDependentFieldElements.d.ts +2 -2
- package/dist/services/generateFreshdeskDependentFieldElements.js +69 -69
- package/dist/services/getCorrectDateFromDateOnlyString.d.ts +2 -0
- package/dist/services/getCorrectDateFromDateOnlyString.js +4 -0
- package/dist/services/getCorrectDateFromDateOnlyString.js.map +1 -0
- package/dist/services/sanitize-html.d.ts +2 -2
- package/dist/services/sanitize-html.js +20 -20
- package/dist/services/scrolling-service.d.ts +7 -7
- package/dist/services/scrolling-service.js +38 -38
- package/dist/services/utils-service.d.ts +5 -5
- package/dist/services/utils-service.js +16 -16
- package/dist/styles/boolean.scss +12 -0
- package/dist/styles/ob-file.scss +63 -0
- package/dist/styles/progress.scss +0 -7
- package/dist/styles.css +0 -7
- package/dist/styles.css.map +1 -1
- package/dist/types/attachments.d.ts +19 -19
- package/dist/types/attachments.js +1 -1
- package/dist/types/form.d.ts +40 -40
- package/dist/types/form.js +2 -2
- package/package.json +1 -1
@@ -1,205 +1,205 @@
|
|
1
|
-
import * as React from 'react';
|
2
|
-
import useBooleanState from '../hooks/useBooleanState';
|
3
|
-
import useIsOffline from '../hooks/useIsOffline';
|
4
|
-
import { GoogleMap, LoadScript, Marker } from '@react-google-maps/api';
|
5
|
-
import geolocation from '@blinkmobile/geolocation';
|
6
|
-
import queryString from 'query-string';
|
7
|
-
import OnLoading from '../components/renderer/OnLoading';
|
8
|
-
import defaultCoords from '../services/defaultCoordinates';
|
9
|
-
import useGoogleMapsApiKeyKey from '../hooks/useGoogleMapsApiKey';
|
10
|
-
import FormElementLabelContainer from '../components/renderer/FormElementLabelContainer';
|
11
|
-
import { Sentry } from '@oneblink/apps';
|
12
|
-
export const stringifyLocation = (location) => {
|
13
|
-
if (location) {
|
14
|
-
return `${location.latitude},${location.longitude}`;
|
15
|
-
}
|
16
|
-
};
|
17
|
-
function parseLocationValue(value) {
|
18
|
-
if (!value || typeof value !== 'object') {
|
19
|
-
return;
|
20
|
-
}
|
21
|
-
const { latitude, longitude, zoom } = value;
|
22
|
-
if (typeof latitude !== 'number' || typeof longitude !== 'number') {
|
23
|
-
return;
|
24
|
-
}
|
25
|
-
return {
|
26
|
-
latitude,
|
27
|
-
longitude,
|
28
|
-
zoom: typeof zoom === 'number' ? zoom : initialMapZoom,
|
29
|
-
};
|
30
|
-
}
|
31
|
-
const mapHeight = 300;
|
32
|
-
const initialMapZoom = 15;
|
33
|
-
const apiUrl = 'https://maps.googleapis.com/maps/api/staticmap';
|
34
|
-
function FormElementLocation({ id, element, value, onChange, validationMessage, displayValidationMessage, }) {
|
35
|
-
const [isDirty, setIsDirty] = useBooleanState(false);
|
36
|
-
const [isLocationPickerOpen, showLocationPicker, hideLocationPicker] = useBooleanState(false);
|
37
|
-
const [location, setLocation] = React.useState(undefined);
|
38
|
-
const onClear = React.useCallback(() => {
|
39
|
-
hideLocationPicker();
|
40
|
-
onChange(element, undefined);
|
41
|
-
setLocation(undefined);
|
42
|
-
}, [element, hideLocationPicker, onChange]);
|
43
|
-
const onCancel = React.useCallback(() => {
|
44
|
-
hideLocationPicker();
|
45
|
-
setLocation(parseLocationValue(value));
|
46
|
-
}, [hideLocationPicker, value]);
|
47
|
-
const onLocate = React.useCallback(async () => {
|
48
|
-
showLocationPicker();
|
49
|
-
if (location) {
|
50
|
-
return;
|
51
|
-
}
|
52
|
-
let currentLocation = null;
|
53
|
-
try {
|
54
|
-
const result = await geolocation.getCurrentPosition();
|
55
|
-
currentLocation = result.coords;
|
56
|
-
}
|
57
|
-
catch (err) {
|
58
|
-
console.error('Error while attempting to find the users current location', err);
|
59
|
-
Sentry.captureException(err);
|
60
|
-
}
|
61
|
-
finally {
|
62
|
-
setLocation(parseLocationValue(currentLocation || defaultCoords()));
|
63
|
-
}
|
64
|
-
}, [location, showLocationPicker]);
|
65
|
-
const isLoadingLocation = !location && isLocationPickerOpen;
|
66
|
-
const onConfirm = React.useCallback(() => {
|
67
|
-
setIsDirty();
|
68
|
-
hideLocationPicker();
|
69
|
-
onChange(element, location);
|
70
|
-
}, [element, hideLocationPicker, location, onChange, setIsDirty]);
|
71
|
-
// SET DEFAULT/PREFILL DATA
|
72
|
-
React.useEffect(() => {
|
73
|
-
const newValue = parseLocationValue(value);
|
74
|
-
if (newValue) {
|
75
|
-
setLocation(newValue);
|
76
|
-
}
|
77
|
-
}, [value]);
|
78
|
-
return (React.createElement("div", { className: "cypress-location-element" },
|
79
|
-
React.createElement(FormElementLabelContainer, { className: "ob-location", id: id, element: element, required: element.required },
|
80
|
-
React.createElement("div", { className: "control" },
|
81
|
-
React.createElement(LocationDisplay, { isOpen: isLocationPickerOpen, isLoading: isLoadingLocation, location: location, onChange: setLocation }),
|
82
|
-
React.createElement("div", { className: "buttons ob-buttons ob-location__buttons" }, isLocationPickerOpen ? (React.createElement(React.Fragment, null,
|
83
|
-
React.createElement("button", { type: "button", className: "is-light button ob-button ob-button__cancel ob-location__button ob-location__button-cancel cypress-cancel-location-button", onClick: onCancel, disabled: element.readOnly }, "Cancel"),
|
84
|
-
React.createElement("button", { type: "button", className: "is-primary button ob-button ob-button__confirm ob-location__button ob-location__button-confirm cypress-confirm-location-button", onClick: onConfirm, disabled: element.readOnly || !location }, "Confirm"))) : (React.createElement(React.Fragment, null,
|
85
|
-
React.createElement("button", { type: "button", className: "is-light button ob-button ob-button__clear ob-button-clear ob-location__button ob-location__button-clear cypress-clear-location-button", onClick: onClear, disabled: element.readOnly }, "Clear"),
|
86
|
-
React.createElement("button", { type: "button", className: "is-primary button ob-button ob-button__edit ob-location__button ob-location__button-edit cypress-locate-button", onClick: onLocate, disabled: element.readOnly }, "Locate"))))),
|
87
|
-
(isDirty || displayValidationMessage) && !!validationMessage && (React.createElement("div", { role: "alert", className: "has-margin-top-8" },
|
88
|
-
React.createElement("div", { className: "has-text-danger ob-error__text cypress-validation-message" }, validationMessage))))));
|
89
|
-
}
|
90
|
-
const LocationDisplay = React.memo(function LocationDisplay({ isLoading, isOpen, location, onChange, }) {
|
91
|
-
const isOffline = useIsOffline();
|
92
|
-
if (isLoading) {
|
93
|
-
return (React.createElement("figure", { className: "ob-figure" },
|
94
|
-
React.createElement("div", { className: "figure-content" },
|
95
|
-
React.createElement(OnLoading, { small: true }))));
|
96
|
-
}
|
97
|
-
if (isOffline) {
|
98
|
-
return React.createElement(LocationIsOffline, { location: location, isOpen: isOpen });
|
99
|
-
}
|
100
|
-
if (isOpen) {
|
101
|
-
if (!location) {
|
102
|
-
// There is no location to display while user is attempting to pick a location.
|
103
|
-
// This should never happen, if loading has finished a default should be set.
|
104
|
-
// Fail fast!!!
|
105
|
-
// https://en.wikipedia.org/wiki/Fail-fast
|
106
|
-
throw new Error('Default location was not set for "location" form element');
|
107
|
-
}
|
108
|
-
return React.createElement(LocationPicker, { location: location, onChange: onChange });
|
109
|
-
}
|
110
|
-
if (location) {
|
111
|
-
return React.createElement(LocationImage, { location: location });
|
112
|
-
}
|
113
|
-
return null;
|
114
|
-
});
|
115
|
-
function LocationIsOfflineFigureContent({ children, }) {
|
116
|
-
return (React.createElement("figure", { className: "ob-figure" },
|
117
|
-
React.createElement("div", { className: "figure-content has-text-centered" },
|
118
|
-
React.createElement("h4", { className: "title is-4" }, "You are currently offline"),
|
119
|
-
children)));
|
120
|
-
}
|
121
|
-
const LocationIsOffline = React.memo(function LocationIsOffline({ location, isOpen, }) {
|
122
|
-
if (isOpen) {
|
123
|
-
if (location) {
|
124
|
-
// If user is offline and attempting to pick a location and there is one set already
|
125
|
-
return (React.createElement(LocationIsOfflineFigureContent, null,
|
126
|
-
React.createElement("p", null,
|
127
|
-
"Click the ",
|
128
|
-
React.createElement("b", null, "Confirm"),
|
129
|
-
" button below to set the location to your current position.")));
|
130
|
-
}
|
131
|
-
// If user is offline and attempting to pick a location and there is one nothing set yet
|
132
|
-
return (React.createElement(LocationIsOfflineFigureContent, null,
|
133
|
-
React.createElement("p", null,
|
134
|
-
"We could not find your current location. Click the ",
|
135
|
-
React.createElement("b", null, "Cancel"),
|
136
|
-
' ',
|
137
|
-
"button below to try again.")));
|
138
|
-
}
|
139
|
-
// If user is offline and has confirmed a location
|
140
|
-
if (location) {
|
141
|
-
return (React.createElement(LocationIsOfflineFigureContent, null,
|
142
|
-
React.createElement("h3", { className: "title is-3 ob-location__latitude" }, "Latitude"),
|
143
|
-
React.createElement("p", null,
|
144
|
-
React.createElement("b", null, location.latitude)),
|
145
|
-
React.createElement("h3", { className: "title is-3 ob-location__longitude" }, "Longitude"),
|
146
|
-
React.createElement("p", null,
|
147
|
-
React.createElement("b", null, location.longitude))));
|
148
|
-
}
|
149
|
-
// User is offline with no location set and not attempting to pick a location
|
150
|
-
return null;
|
151
|
-
});
|
152
|
-
const LocationImage = React.memo(function LocationImage({ location, }) {
|
153
|
-
const googleMapsApiKey = useGoogleMapsApiKeyKey();
|
154
|
-
const staticUrl = React.useMemo(() => {
|
155
|
-
const center = `${location.latitude},${location.longitude}`;
|
156
|
-
const queries = {
|
157
|
-
key: googleMapsApiKey,
|
158
|
-
size: `${mapHeight}x${mapHeight}`,
|
159
|
-
zoom: location.zoom,
|
160
|
-
center,
|
161
|
-
markers: `color:red|${center}`,
|
162
|
-
};
|
163
|
-
return `${apiUrl}?${queryString.stringify(queries)}`;
|
164
|
-
}, [googleMapsApiKey, location]);
|
165
|
-
return (React.createElement("figure", { className: "ob-figure" },
|
166
|
-
React.createElement("img", { className: "ob-location__map", alt: `map with center at ${location.latitude} latitude, ${location.longitude} longitude`, src: staticUrl, height: mapHeight, width: mapHeight })));
|
167
|
-
});
|
168
|
-
const LocationPicker = React.memo(function SummaryResult({ location, onChange, }) {
|
169
|
-
const googleMapsApiKey = useGoogleMapsApiKeyKey();
|
170
|
-
const [map, setMap] = React.useState(null);
|
171
|
-
const center = React.useMemo(() => {
|
172
|
-
return {
|
173
|
-
lat: location.latitude,
|
174
|
-
lng: location.longitude,
|
175
|
-
};
|
176
|
-
}, [location.latitude, location.longitude]);
|
177
|
-
const onZoomChanged = React.useCallback(() => {
|
178
|
-
if (!map) {
|
179
|
-
return;
|
180
|
-
}
|
181
|
-
onChange({
|
182
|
-
latitude: location.latitude,
|
183
|
-
longitude: location.longitude,
|
184
|
-
zoom: map.getZoom(),
|
185
|
-
});
|
186
|
-
}, [location.latitude, location.longitude, map, onChange]);
|
187
|
-
return (React.createElement("figure", { className: "ob-figure" },
|
188
|
-
React.createElement(LoadScript, { googleMapsApiKey: googleMapsApiKey || '' },
|
189
|
-
React.createElement(GoogleMap, { onLoad: (map) => setMap(map), onUnmount: () => setMap(null), mapContainerStyle: {
|
190
|
-
height: 300,
|
191
|
-
}, center: center, zoom: location.zoom, onZoomChanged: onZoomChanged },
|
192
|
-
React.createElement(Marker, { animation: 2, position: center, draggable: true, onDragEnd: (e) => {
|
193
|
-
if (!e.latLng) {
|
194
|
-
return;
|
195
|
-
}
|
196
|
-
const { lat, lng } = e.latLng.toJSON();
|
197
|
-
onChange({
|
198
|
-
latitude: lat,
|
199
|
-
longitude: lng,
|
200
|
-
zoom: location.zoom,
|
201
|
-
});
|
202
|
-
} })))));
|
203
|
-
});
|
204
|
-
export default React.memo(FormElementLocation);
|
1
|
+
import * as React from 'react';
|
2
|
+
import useBooleanState from '../hooks/useBooleanState';
|
3
|
+
import useIsOffline from '../hooks/useIsOffline';
|
4
|
+
import { GoogleMap, LoadScript, Marker } from '@react-google-maps/api';
|
5
|
+
import geolocation from '@blinkmobile/geolocation';
|
6
|
+
import queryString from 'query-string';
|
7
|
+
import OnLoading from '../components/renderer/OnLoading';
|
8
|
+
import defaultCoords from '../services/defaultCoordinates';
|
9
|
+
import useGoogleMapsApiKeyKey from '../hooks/useGoogleMapsApiKey';
|
10
|
+
import FormElementLabelContainer from '../components/renderer/FormElementLabelContainer';
|
11
|
+
import { Sentry } from '@oneblink/apps';
|
12
|
+
export const stringifyLocation = (location) => {
|
13
|
+
if (location) {
|
14
|
+
return `${location.latitude},${location.longitude}`;
|
15
|
+
}
|
16
|
+
};
|
17
|
+
function parseLocationValue(value) {
|
18
|
+
if (!value || typeof value !== 'object') {
|
19
|
+
return;
|
20
|
+
}
|
21
|
+
const { latitude, longitude, zoom } = value;
|
22
|
+
if (typeof latitude !== 'number' || typeof longitude !== 'number') {
|
23
|
+
return;
|
24
|
+
}
|
25
|
+
return {
|
26
|
+
latitude,
|
27
|
+
longitude,
|
28
|
+
zoom: typeof zoom === 'number' ? zoom : initialMapZoom,
|
29
|
+
};
|
30
|
+
}
|
31
|
+
const mapHeight = 300;
|
32
|
+
const initialMapZoom = 15;
|
33
|
+
const apiUrl = 'https://maps.googleapis.com/maps/api/staticmap';
|
34
|
+
function FormElementLocation({ id, element, value, onChange, validationMessage, displayValidationMessage, }) {
|
35
|
+
const [isDirty, setIsDirty] = useBooleanState(false);
|
36
|
+
const [isLocationPickerOpen, showLocationPicker, hideLocationPicker] = useBooleanState(false);
|
37
|
+
const [location, setLocation] = React.useState(undefined);
|
38
|
+
const onClear = React.useCallback(() => {
|
39
|
+
hideLocationPicker();
|
40
|
+
onChange(element, undefined);
|
41
|
+
setLocation(undefined);
|
42
|
+
}, [element, hideLocationPicker, onChange]);
|
43
|
+
const onCancel = React.useCallback(() => {
|
44
|
+
hideLocationPicker();
|
45
|
+
setLocation(parseLocationValue(value));
|
46
|
+
}, [hideLocationPicker, value]);
|
47
|
+
const onLocate = React.useCallback(async () => {
|
48
|
+
showLocationPicker();
|
49
|
+
if (location) {
|
50
|
+
return;
|
51
|
+
}
|
52
|
+
let currentLocation = null;
|
53
|
+
try {
|
54
|
+
const result = await geolocation.getCurrentPosition();
|
55
|
+
currentLocation = result.coords;
|
56
|
+
}
|
57
|
+
catch (err) {
|
58
|
+
console.error('Error while attempting to find the users current location', err);
|
59
|
+
Sentry.captureException(err);
|
60
|
+
}
|
61
|
+
finally {
|
62
|
+
setLocation(parseLocationValue(currentLocation || defaultCoords()));
|
63
|
+
}
|
64
|
+
}, [location, showLocationPicker]);
|
65
|
+
const isLoadingLocation = !location && isLocationPickerOpen;
|
66
|
+
const onConfirm = React.useCallback(() => {
|
67
|
+
setIsDirty();
|
68
|
+
hideLocationPicker();
|
69
|
+
onChange(element, location);
|
70
|
+
}, [element, hideLocationPicker, location, onChange, setIsDirty]);
|
71
|
+
// SET DEFAULT/PREFILL DATA
|
72
|
+
React.useEffect(() => {
|
73
|
+
const newValue = parseLocationValue(value);
|
74
|
+
if (newValue) {
|
75
|
+
setLocation(newValue);
|
76
|
+
}
|
77
|
+
}, [value]);
|
78
|
+
return (React.createElement("div", { className: "cypress-location-element" },
|
79
|
+
React.createElement(FormElementLabelContainer, { className: "ob-location", id: id, element: element, required: element.required },
|
80
|
+
React.createElement("div", { className: "control" },
|
81
|
+
React.createElement(LocationDisplay, { isOpen: isLocationPickerOpen, isLoading: isLoadingLocation, location: location, onChange: setLocation }),
|
82
|
+
React.createElement("div", { className: "buttons ob-buttons ob-location__buttons" }, isLocationPickerOpen ? (React.createElement(React.Fragment, null,
|
83
|
+
React.createElement("button", { type: "button", className: "is-light button ob-button ob-button__cancel ob-location__button ob-location__button-cancel cypress-cancel-location-button", onClick: onCancel, disabled: element.readOnly }, "Cancel"),
|
84
|
+
React.createElement("button", { type: "button", className: "is-primary button ob-button ob-button__confirm ob-location__button ob-location__button-confirm cypress-confirm-location-button", onClick: onConfirm, disabled: element.readOnly || !location }, "Confirm"))) : (React.createElement(React.Fragment, null,
|
85
|
+
React.createElement("button", { type: "button", className: "is-light button ob-button ob-button__clear ob-button-clear ob-location__button ob-location__button-clear cypress-clear-location-button", onClick: onClear, disabled: element.readOnly }, "Clear"),
|
86
|
+
React.createElement("button", { type: "button", className: "is-primary button ob-button ob-button__edit ob-location__button ob-location__button-edit cypress-locate-button", onClick: onLocate, disabled: element.readOnly }, "Locate"))))),
|
87
|
+
(isDirty || displayValidationMessage) && !!validationMessage && (React.createElement("div", { role: "alert", className: "has-margin-top-8" },
|
88
|
+
React.createElement("div", { className: "has-text-danger ob-error__text cypress-validation-message" }, validationMessage))))));
|
89
|
+
}
|
90
|
+
const LocationDisplay = React.memo(function LocationDisplay({ isLoading, isOpen, location, onChange, }) {
|
91
|
+
const isOffline = useIsOffline();
|
92
|
+
if (isLoading) {
|
93
|
+
return (React.createElement("figure", { className: "ob-figure" },
|
94
|
+
React.createElement("div", { className: "figure-content" },
|
95
|
+
React.createElement(OnLoading, { small: true }))));
|
96
|
+
}
|
97
|
+
if (isOffline) {
|
98
|
+
return React.createElement(LocationIsOffline, { location: location, isOpen: isOpen });
|
99
|
+
}
|
100
|
+
if (isOpen) {
|
101
|
+
if (!location) {
|
102
|
+
// There is no location to display while user is attempting to pick a location.
|
103
|
+
// This should never happen, if loading has finished a default should be set.
|
104
|
+
// Fail fast!!!
|
105
|
+
// https://en.wikipedia.org/wiki/Fail-fast
|
106
|
+
throw new Error('Default location was not set for "location" form element');
|
107
|
+
}
|
108
|
+
return React.createElement(LocationPicker, { location: location, onChange: onChange });
|
109
|
+
}
|
110
|
+
if (location) {
|
111
|
+
return React.createElement(LocationImage, { location: location });
|
112
|
+
}
|
113
|
+
return null;
|
114
|
+
});
|
115
|
+
function LocationIsOfflineFigureContent({ children, }) {
|
116
|
+
return (React.createElement("figure", { className: "ob-figure" },
|
117
|
+
React.createElement("div", { className: "figure-content has-text-centered" },
|
118
|
+
React.createElement("h4", { className: "title is-4" }, "You are currently offline"),
|
119
|
+
children)));
|
120
|
+
}
|
121
|
+
const LocationIsOffline = React.memo(function LocationIsOffline({ location, isOpen, }) {
|
122
|
+
if (isOpen) {
|
123
|
+
if (location) {
|
124
|
+
// If user is offline and attempting to pick a location and there is one set already
|
125
|
+
return (React.createElement(LocationIsOfflineFigureContent, null,
|
126
|
+
React.createElement("p", null,
|
127
|
+
"Click the ",
|
128
|
+
React.createElement("b", null, "Confirm"),
|
129
|
+
" button below to set the location to your current position.")));
|
130
|
+
}
|
131
|
+
// If user is offline and attempting to pick a location and there is one nothing set yet
|
132
|
+
return (React.createElement(LocationIsOfflineFigureContent, null,
|
133
|
+
React.createElement("p", null,
|
134
|
+
"We could not find your current location. Click the ",
|
135
|
+
React.createElement("b", null, "Cancel"),
|
136
|
+
' ',
|
137
|
+
"button below to try again.")));
|
138
|
+
}
|
139
|
+
// If user is offline and has confirmed a location
|
140
|
+
if (location) {
|
141
|
+
return (React.createElement(LocationIsOfflineFigureContent, null,
|
142
|
+
React.createElement("h3", { className: "title is-3 ob-location__latitude" }, "Latitude"),
|
143
|
+
React.createElement("p", null,
|
144
|
+
React.createElement("b", null, location.latitude)),
|
145
|
+
React.createElement("h3", { className: "title is-3 ob-location__longitude" }, "Longitude"),
|
146
|
+
React.createElement("p", null,
|
147
|
+
React.createElement("b", null, location.longitude))));
|
148
|
+
}
|
149
|
+
// User is offline with no location set and not attempting to pick a location
|
150
|
+
return null;
|
151
|
+
});
|
152
|
+
const LocationImage = React.memo(function LocationImage({ location, }) {
|
153
|
+
const googleMapsApiKey = useGoogleMapsApiKeyKey();
|
154
|
+
const staticUrl = React.useMemo(() => {
|
155
|
+
const center = `${location.latitude},${location.longitude}`;
|
156
|
+
const queries = {
|
157
|
+
key: googleMapsApiKey,
|
158
|
+
size: `${mapHeight}x${mapHeight}`,
|
159
|
+
zoom: location.zoom,
|
160
|
+
center,
|
161
|
+
markers: `color:red|${center}`,
|
162
|
+
};
|
163
|
+
return `${apiUrl}?${queryString.stringify(queries)}`;
|
164
|
+
}, [googleMapsApiKey, location]);
|
165
|
+
return (React.createElement("figure", { className: "ob-figure" },
|
166
|
+
React.createElement("img", { className: "ob-location__map", alt: `map with center at ${location.latitude} latitude, ${location.longitude} longitude`, src: staticUrl, height: mapHeight, width: mapHeight })));
|
167
|
+
});
|
168
|
+
const LocationPicker = React.memo(function SummaryResult({ location, onChange, }) {
|
169
|
+
const googleMapsApiKey = useGoogleMapsApiKeyKey();
|
170
|
+
const [map, setMap] = React.useState(null);
|
171
|
+
const center = React.useMemo(() => {
|
172
|
+
return {
|
173
|
+
lat: location.latitude,
|
174
|
+
lng: location.longitude,
|
175
|
+
};
|
176
|
+
}, [location.latitude, location.longitude]);
|
177
|
+
const onZoomChanged = React.useCallback(() => {
|
178
|
+
if (!map) {
|
179
|
+
return;
|
180
|
+
}
|
181
|
+
onChange({
|
182
|
+
latitude: location.latitude,
|
183
|
+
longitude: location.longitude,
|
184
|
+
zoom: map.getZoom(),
|
185
|
+
});
|
186
|
+
}, [location.latitude, location.longitude, map, onChange]);
|
187
|
+
return (React.createElement("figure", { className: "ob-figure" },
|
188
|
+
React.createElement(LoadScript, { googleMapsApiKey: googleMapsApiKey || '' },
|
189
|
+
React.createElement(GoogleMap, { onLoad: (map) => setMap(map), onUnmount: () => setMap(null), mapContainerStyle: {
|
190
|
+
height: 300,
|
191
|
+
}, center: center, zoom: location.zoom, onZoomChanged: onZoomChanged },
|
192
|
+
React.createElement(Marker, { animation: 2, position: center, draggable: true, onDragEnd: (e) => {
|
193
|
+
if (!e.latLng) {
|
194
|
+
return;
|
195
|
+
}
|
196
|
+
const { lat, lng } = e.latLng.toJSON();
|
197
|
+
onChange({
|
198
|
+
latitude: lat,
|
199
|
+
longitude: lng,
|
200
|
+
zoom: location.zoom,
|
201
|
+
});
|
202
|
+
} })))));
|
203
|
+
});
|
204
|
+
export default React.memo(FormElementLocation);
|
205
205
|
//# sourceMappingURL=FormElementLocation.js.map
|
@@ -1,14 +1,14 @@
|
|
1
|
-
import * as React from 'react';
|
2
|
-
import { FormTypes } from '@oneblink/types';
|
3
|
-
import { FormElementValueChangeHandler } from '../types/form';
|
4
|
-
declare type Props = {
|
5
|
-
id: string;
|
6
|
-
element: FormTypes.NumberElement;
|
7
|
-
value: unknown;
|
8
|
-
onChange: FormElementValueChangeHandler<number>;
|
9
|
-
displayValidationMessage: boolean;
|
10
|
-
validationMessage: string | undefined;
|
11
|
-
};
|
12
|
-
declare function FormElementNumber({ id, element, value, onChange, validationMessage, displayValidationMessage, }: Props): JSX.Element;
|
13
|
-
declare const _default: React.MemoExoticComponent<typeof FormElementNumber>;
|
14
|
-
export default _default;
|
1
|
+
import * as React from 'react';
|
2
|
+
import { FormTypes } from '@oneblink/types';
|
3
|
+
import { FormElementValueChangeHandler } from '../types/form';
|
4
|
+
declare type Props = {
|
5
|
+
id: string;
|
6
|
+
element: FormTypes.NumberElement;
|
7
|
+
value: unknown;
|
8
|
+
onChange: FormElementValueChangeHandler<number>;
|
9
|
+
displayValidationMessage: boolean;
|
10
|
+
validationMessage: string | undefined;
|
11
|
+
};
|
12
|
+
declare function FormElementNumber({ id, element, value, onChange, validationMessage, displayValidationMessage, }: Props): JSX.Element;
|
13
|
+
declare const _default: React.MemoExoticComponent<typeof FormElementNumber>;
|
14
|
+
export default _default;
|
@@ -1,73 +1,73 @@
|
|
1
|
-
import * as React from 'react';
|
2
|
-
import CopyToClipboardButton from '../components/renderer/CopyToClipboardButton';
|
3
|
-
import _debounce from 'lodash.debounce';
|
4
|
-
import useBooleanState from '../hooks/useBooleanState';
|
5
|
-
import LookupButton from '../components/renderer/LookupButton';
|
6
|
-
import FormElementLabelContainer from '../components/renderer/FormElementLabelContainer';
|
7
|
-
import useIsPageVisible from '../hooks/useIsPageVisible';
|
8
|
-
function FormElementNumber({ id, element, value, onChange, validationMessage, displayValidationMessage, }) {
|
9
|
-
const isPageVisible = useIsPageVisible();
|
10
|
-
const htmlInputElementRef = React.useRef(null);
|
11
|
-
const [isDirty, setIsDirty] = useBooleanState(false);
|
12
|
-
const text = React.useMemo(() => (typeof value === 'number' ? value.toString() : ''), [value]);
|
13
|
-
const handleChange = React.useCallback((event) => {
|
14
|
-
onChange(element,
|
15
|
-
// e.target.value is a string so '0' becomes true
|
16
|
-
event.target.value ? parseFloat(event.target.value) : undefined);
|
17
|
-
}, [element, onChange]);
|
18
|
-
React.useEffect(() => {
|
19
|
-
if (htmlInputElementRef.current) {
|
20
|
-
htmlInputElementRef.current.value = text;
|
21
|
-
}
|
22
|
-
}, [htmlInputElementRef, text]);
|
23
|
-
return (React.createElement("div", { className: "cypress-number-element" },
|
24
|
-
React.createElement(FormElementLabelContainer, { className: "ob-number", id: id, element: element, required: element.required },
|
25
|
-
!element.isSlider ? (React.createElement("div", { className: "field has-addons" },
|
26
|
-
React.createElement("div", { className: "control is-expanded has-icons-right" },
|
27
|
-
React.createElement("input", { ref: htmlInputElementRef, type: "number", placeholder: element.placeholderValue, id: id, name: element.name, className: "input ob-input cypress-number-control", onChange: handleChange, required: element.required, disabled: element.readOnly, onBlur: setIsDirty }),
|
28
|
-
React.createElement("span", { className: "ob-input-icon icon is-small is-right" },
|
29
|
-
React.createElement("i", { className: "material-icons is-size-5" }, "tag"))),
|
30
|
-
!!element.readOnly && !!text && (React.createElement("div", { className: "control" },
|
31
|
-
React.createElement(CopyToClipboardButton, { className: "button is-input-addon copy-button cypress-copy-to-clipboard-button", text: text }))),
|
32
|
-
React.createElement(LookupButton, { isInputButton: true, value: value, validationMessage: validationMessage }))) : isPageVisible ? (React.createElement(SliderControl, { id: id, text: text, value: value, element: element, onChange: handleChange, onBlur: setIsDirty })) : undefined,
|
33
|
-
(isDirty || displayValidationMessage) && !!validationMessage && (React.createElement("div", { role: "alert", className: "has-margin-top-8" },
|
34
|
-
React.createElement("div", { className: "has-text-danger ob-error__text cypress-validation-message" }, validationMessage))))));
|
35
|
-
}
|
36
|
-
const sliderBubbleWidthInPixels = 24;
|
37
|
-
const SliderControl = React.memo(function SliderControl({ id, text, value, element, onChange, onBlur, }) {
|
38
|
-
const sliderOutputRef = React.useRef(null);
|
39
|
-
const sliderInputRef = React.useRef(null);
|
40
|
-
const number = React.useMemo(() => (typeof value === 'number' ? value : parseFloat(value)), [value]);
|
41
|
-
const removeIsDraggingClass = React.useMemo(() => _debounce((outputElement) => {
|
42
|
-
if (outputElement.classList.contains('is-dragging')) {
|
43
|
-
outputElement.classList.remove('is-dragging');
|
44
|
-
}
|
45
|
-
}, 500), []);
|
46
|
-
React.useEffect(() => {
|
47
|
-
if (Number.isNaN(number) ||
|
48
|
-
typeof element.maxNumber !== 'number' ||
|
49
|
-
typeof element.minNumber !== 'number') {
|
50
|
-
return;
|
51
|
-
}
|
52
|
-
const outputElement = sliderOutputRef.current;
|
53
|
-
const inputElement = sliderInputRef.current;
|
54
|
-
if (outputElement && inputElement) {
|
55
|
-
const range = element.maxNumber - element.minNumber;
|
56
|
-
const percentage = (number - element.minNumber) / range;
|
57
|
-
const inputWidth = inputElement.getBoundingClientRect().width;
|
58
|
-
const outputWidth = outputElement.getBoundingClientRect().width;
|
59
|
-
const sliderBubbleOffSetPixels = (percentage - 0.5) * -sliderBubbleWidthInPixels;
|
60
|
-
outputElement.style.left = `${percentage * inputWidth}px`;
|
61
|
-
outputElement.style.marginLeft = `-${outputWidth / 2 - sliderBubbleOffSetPixels}px`;
|
62
|
-
if (!outputElement.classList.contains('is-dragging')) {
|
63
|
-
outputElement.classList.add('is-dragging');
|
64
|
-
}
|
65
|
-
removeIsDraggingClass(outputElement);
|
66
|
-
}
|
67
|
-
}, [element.maxNumber, element.minNumber, number, removeIsDraggingClass]);
|
68
|
-
return (React.createElement("div", { className: "control" },
|
69
|
-
React.createElement("output", { ref: sliderOutputRef, className: "ob-number__output cypress-number-output", htmlFor: id }, text),
|
70
|
-
React.createElement("input", { ref: sliderInputRef, id: id, name: element.name, className: "slider ob-input is-fullwidth cypress-slider-number-control is-large is-circle cypress-number-control", step: element.sliderIncrement ? element.sliderIncrement : 1, min: element.minNumber, max: element.maxNumber, value: text, type: "range", onChange: onChange, required: element.required, disabled: element.readOnly, onBlur: onBlur })));
|
71
|
-
});
|
72
|
-
export default React.memo(FormElementNumber);
|
1
|
+
import * as React from 'react';
|
2
|
+
import CopyToClipboardButton from '../components/renderer/CopyToClipboardButton';
|
3
|
+
import _debounce from 'lodash.debounce';
|
4
|
+
import useBooleanState from '../hooks/useBooleanState';
|
5
|
+
import LookupButton from '../components/renderer/LookupButton';
|
6
|
+
import FormElementLabelContainer from '../components/renderer/FormElementLabelContainer';
|
7
|
+
import useIsPageVisible from '../hooks/useIsPageVisible';
|
8
|
+
function FormElementNumber({ id, element, value, onChange, validationMessage, displayValidationMessage, }) {
|
9
|
+
const isPageVisible = useIsPageVisible();
|
10
|
+
const htmlInputElementRef = React.useRef(null);
|
11
|
+
const [isDirty, setIsDirty] = useBooleanState(false);
|
12
|
+
const text = React.useMemo(() => (typeof value === 'number' ? value.toString() : ''), [value]);
|
13
|
+
const handleChange = React.useCallback((event) => {
|
14
|
+
onChange(element,
|
15
|
+
// e.target.value is a string so '0' becomes true
|
16
|
+
event.target.value ? parseFloat(event.target.value) : undefined);
|
17
|
+
}, [element, onChange]);
|
18
|
+
React.useEffect(() => {
|
19
|
+
if (htmlInputElementRef.current) {
|
20
|
+
htmlInputElementRef.current.value = text;
|
21
|
+
}
|
22
|
+
}, [htmlInputElementRef, text]);
|
23
|
+
return (React.createElement("div", { className: "cypress-number-element" },
|
24
|
+
React.createElement(FormElementLabelContainer, { className: "ob-number", id: id, element: element, required: element.required },
|
25
|
+
!element.isSlider ? (React.createElement("div", { className: "field has-addons" },
|
26
|
+
React.createElement("div", { className: "control is-expanded has-icons-right" },
|
27
|
+
React.createElement("input", { ref: htmlInputElementRef, type: "number", placeholder: element.placeholderValue, id: id, name: element.name, className: "input ob-input cypress-number-control", onChange: handleChange, required: element.required, disabled: element.readOnly, onBlur: setIsDirty }),
|
28
|
+
React.createElement("span", { className: "ob-input-icon icon is-small is-right" },
|
29
|
+
React.createElement("i", { className: "material-icons is-size-5" }, "tag"))),
|
30
|
+
!!element.readOnly && !!text && (React.createElement("div", { className: "control" },
|
31
|
+
React.createElement(CopyToClipboardButton, { className: "button is-input-addon copy-button cypress-copy-to-clipboard-button", text: text }))),
|
32
|
+
React.createElement(LookupButton, { isInputButton: true, value: value, validationMessage: validationMessage }))) : isPageVisible ? (React.createElement(SliderControl, { id: id, text: text, value: value, element: element, onChange: handleChange, onBlur: setIsDirty })) : undefined,
|
33
|
+
(isDirty || displayValidationMessage) && !!validationMessage && (React.createElement("div", { role: "alert", className: "has-margin-top-8" },
|
34
|
+
React.createElement("div", { className: "has-text-danger ob-error__text cypress-validation-message" }, validationMessage))))));
|
35
|
+
}
|
36
|
+
const sliderBubbleWidthInPixels = 24;
|
37
|
+
const SliderControl = React.memo(function SliderControl({ id, text, value, element, onChange, onBlur, }) {
|
38
|
+
const sliderOutputRef = React.useRef(null);
|
39
|
+
const sliderInputRef = React.useRef(null);
|
40
|
+
const number = React.useMemo(() => (typeof value === 'number' ? value : parseFloat(value)), [value]);
|
41
|
+
const removeIsDraggingClass = React.useMemo(() => _debounce((outputElement) => {
|
42
|
+
if (outputElement.classList.contains('is-dragging')) {
|
43
|
+
outputElement.classList.remove('is-dragging');
|
44
|
+
}
|
45
|
+
}, 500), []);
|
46
|
+
React.useEffect(() => {
|
47
|
+
if (Number.isNaN(number) ||
|
48
|
+
typeof element.maxNumber !== 'number' ||
|
49
|
+
typeof element.minNumber !== 'number') {
|
50
|
+
return;
|
51
|
+
}
|
52
|
+
const outputElement = sliderOutputRef.current;
|
53
|
+
const inputElement = sliderInputRef.current;
|
54
|
+
if (outputElement && inputElement) {
|
55
|
+
const range = element.maxNumber - element.minNumber;
|
56
|
+
const percentage = (number - element.minNumber) / range;
|
57
|
+
const inputWidth = inputElement.getBoundingClientRect().width;
|
58
|
+
const outputWidth = outputElement.getBoundingClientRect().width;
|
59
|
+
const sliderBubbleOffSetPixels = (percentage - 0.5) * -sliderBubbleWidthInPixels;
|
60
|
+
outputElement.style.left = `${percentage * inputWidth}px`;
|
61
|
+
outputElement.style.marginLeft = `-${outputWidth / 2 - sliderBubbleOffSetPixels}px`;
|
62
|
+
if (!outputElement.classList.contains('is-dragging')) {
|
63
|
+
outputElement.classList.add('is-dragging');
|
64
|
+
}
|
65
|
+
removeIsDraggingClass(outputElement);
|
66
|
+
}
|
67
|
+
}, [element.maxNumber, element.minNumber, number, removeIsDraggingClass]);
|
68
|
+
return (React.createElement("div", { className: "control" },
|
69
|
+
React.createElement("output", { ref: sliderOutputRef, className: "ob-number__output cypress-number-output", htmlFor: id }, text),
|
70
|
+
React.createElement("input", { ref: sliderInputRef, id: id, name: element.name, className: "slider ob-input is-fullwidth cypress-slider-number-control is-large is-circle cypress-number-control", step: element.sliderIncrement ? element.sliderIncrement : 1, min: element.minNumber, max: element.maxNumber, value: text, type: "range", onChange: onChange, required: element.required, disabled: element.readOnly, onBlur: onBlur })));
|
71
|
+
});
|
72
|
+
export default React.memo(FormElementNumber);
|
73
73
|
//# sourceMappingURL=FormElementNumber.js.map
|
@@ -1,15 +1,15 @@
|
|
1
|
-
import * as React from 'react';
|
2
|
-
import { FormTypes, PointTypes } from '@oneblink/types';
|
3
|
-
import { FormElementValueChangeHandler } from '../types/form';
|
4
|
-
declare type Props = {
|
5
|
-
formId: number;
|
6
|
-
id: string;
|
7
|
-
element: FormTypes.PointAddressElement;
|
8
|
-
value: PointTypes.PointAddress | undefined;
|
9
|
-
displayValidationMessage: boolean;
|
10
|
-
validationMessage: string | undefined;
|
11
|
-
onChange: FormElementValueChangeHandler<PointTypes.PointAddress>;
|
12
|
-
};
|
13
|
-
declare function FormElementPointAddress({ formId, id, element, value, displayValidationMessage, validationMessage, onChange, }: Props): JSX.Element;
|
14
|
-
declare const _default: React.MemoExoticComponent<typeof FormElementPointAddress>;
|
15
|
-
export default _default;
|
1
|
+
import * as React from 'react';
|
2
|
+
import { FormTypes, PointTypes } from '@oneblink/types';
|
3
|
+
import { FormElementValueChangeHandler } from '../types/form';
|
4
|
+
declare type Props = {
|
5
|
+
formId: number;
|
6
|
+
id: string;
|
7
|
+
element: FormTypes.PointAddressElement;
|
8
|
+
value: PointTypes.PointAddress | undefined;
|
9
|
+
displayValidationMessage: boolean;
|
10
|
+
validationMessage: string | undefined;
|
11
|
+
onChange: FormElementValueChangeHandler<PointTypes.PointAddress>;
|
12
|
+
};
|
13
|
+
declare function FormElementPointAddress({ formId, id, element, value, displayValidationMessage, validationMessage, onChange, }: Props): JSX.Element;
|
14
|
+
declare const _default: React.MemoExoticComponent<typeof FormElementPointAddress>;
|
15
|
+
export default _default;
|