@oneblink/apps-react 9.0.0-beta.3 → 9.0.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/dist/OneBlinkForm.d.ts +0 -4
  2. package/dist/OneBlinkForm.js +0 -4
  3. package/dist/OneBlinkForm.js.map +1 -1
  4. package/dist/OneBlinkFormBase.d.ts +1 -1
  5. package/dist/OneBlinkFormBase.js +2 -2
  6. package/dist/OneBlinkFormBase.js.map +1 -1
  7. package/dist/OneBlinkReadOnlyForm.d.ts +1 -1
  8. package/dist/OneBlinkReadOnlyForm.js +1 -1
  9. package/dist/OneBlinkReadOnlyForm.js.map +1 -1
  10. package/dist/PaymentReceipt.d.ts +1 -1
  11. package/dist/PaymentReceipt.js +3 -3
  12. package/dist/PaymentReceipt.js.map +1 -1
  13. package/dist/apps/index.d.ts +18 -18
  14. package/dist/apps/index.js +18 -18
  15. package/dist/apps/index.js.map +1 -1
  16. package/dist/apps/tenants.d.ts +2 -1
  17. package/dist/apps/tenants.js +25 -1
  18. package/dist/apps/tenants.js.map +1 -1
  19. package/dist/components/ArcGISWebMap.js +7 -4
  20. package/dist/components/ArcGISWebMap.js.map +1 -1
  21. package/dist/components/ConfirmDialog.js +3 -2
  22. package/dist/components/ConfirmDialog.js.map +1 -1
  23. package/dist/components/calendar-bookings/CalendarBookingsCancelForm.js +1 -1
  24. package/dist/components/calendar-bookings/CalendarBookingsCancelForm.js.map +1 -1
  25. package/dist/components/calendar-bookings/CalendarBookingsForm.d.ts +1 -1
  26. package/dist/components/calendar-bookings/CalendarBookingsForm.js +1 -1
  27. package/dist/components/calendar-bookings/CalendarBookingsForm.js.map +1 -1
  28. package/dist/components/calendar-bookings/CalendarBookingsReschedulingForm.js +1 -1
  29. package/dist/components/calendar-bookings/CalendarBookingsReschedulingForm.js.map +1 -1
  30. package/dist/components/calendar-bookings/ErrorModal.d.ts +1 -1
  31. package/dist/components/calendar-bookings/ErrorModal.js +1 -1
  32. package/dist/components/calendar-bookings/ErrorModal.js.map +1 -1
  33. package/dist/components/downloadable-files/index.d.ts +1 -1
  34. package/dist/components/downloadable-files/index.js +1 -1
  35. package/dist/components/downloadable-files/index.js.map +1 -1
  36. package/dist/components/downloadable-files/resource-components.d.ts +1 -1
  37. package/dist/components/downloadable-files/resource-components.js +1 -1
  38. package/dist/components/downloadable-files/resource-components.js.map +1 -1
  39. package/dist/components/formStore/FormStoreTableProvider.js +1 -1
  40. package/dist/components/formStore/FormStoreTableProvider.js.map +1 -1
  41. package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.js +1 -3
  42. package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.js.map +1 -1
  43. package/dist/components/formStore/OneBlinkFormStoreDownloadButton.js +1 -1
  44. package/dist/components/formStore/OneBlinkFormStoreDownloadButton.js.map +1 -1
  45. package/dist/components/formStore/OneBlinkFormStoreProvider.js +1 -1
  46. package/dist/components/formStore/OneBlinkFormStoreProvider.js.map +1 -1
  47. package/dist/components/formStore/OneBlinkFormStoreRefreshButton.js +1 -3
  48. package/dist/components/formStore/OneBlinkFormStoreRefreshButton.js.map +1 -1
  49. package/dist/components/formStore/OneBlinkFormStoreTable.js +3 -3
  50. package/dist/components/formStore/OneBlinkFormStoreTable.js.map +1 -1
  51. package/dist/components/formStore/display/ElementDisplay.js +2 -2
  52. package/dist/components/formStore/display/ElementDisplay.js.map +1 -1
  53. package/dist/components/formStore/table/ColumnFilters.js +1 -1
  54. package/dist/components/formStore/table/ColumnFilters.js.map +1 -1
  55. package/dist/components/formStore/table/FormElementTableCell.js +1 -1
  56. package/dist/components/formStore/table/FormElementTableCell.js.map +1 -1
  57. package/dist/components/formStore/table/Pickers.js +1 -1
  58. package/dist/components/formStore/table/Pickers.js.map +1 -1
  59. package/dist/components/formStore/table/RepeatableSetCell.js +1 -0
  60. package/dist/components/formStore/table/RepeatableSetCell.js.map +1 -1
  61. package/dist/components/formStore/table/generateColumns.d.ts +1 -1
  62. package/dist/components/formStore/table/generateColumns.js.map +1 -1
  63. package/dist/components/formStore/table/useFormStoreTable.d.ts +1 -1
  64. package/dist/components/formStore/table/useFormStoreTable.js +2 -1
  65. package/dist/components/formStore/table/useFormStoreTable.js.map +1 -1
  66. package/dist/components/mfa/MfaDialog.d.ts +1 -1
  67. package/dist/components/mfa/MfaDialog.js +1 -1
  68. package/dist/components/mfa/MfaDialog.js.map +1 -1
  69. package/dist/components/payments/PaymentForm.js +1 -1
  70. package/dist/components/payments/PaymentForm.js.map +1 -1
  71. package/dist/components/payments/WestpacQuickStreamPaymentForm.d.ts +1 -1
  72. package/dist/components/payments/WestpacQuickStreamPaymentForm.js +1 -1
  73. package/dist/components/payments/WestpacQuickStreamPaymentForm.js.map +1 -1
  74. package/dist/components/renderer/AutocompleteDropdown.js +1 -1
  75. package/dist/components/renderer/AutocompleteDropdown.js.map +1 -1
  76. package/dist/components/renderer/LookupNotification.js +2 -2
  77. package/dist/components/renderer/LookupNotification.js.map +1 -1
  78. package/dist/components/renderer/Modal.js +3 -1
  79. package/dist/components/renderer/Modal.js.map +1 -1
  80. package/dist/components/renderer/OneBlinkAppsErrorOriginalMessage.js +1 -1
  81. package/dist/components/renderer/OneBlinkAppsErrorOriginalMessage.js.map +1 -1
  82. package/dist/components/renderer/OneBlinkFormElements.js.map +1 -1
  83. package/dist/components/renderer/ReverseGeocode.js +1 -1
  84. package/dist/components/renderer/ReverseGeocode.js.map +1 -1
  85. package/dist/components/renderer/Tooltip.js +3 -1
  86. package/dist/components/renderer/Tooltip.js.map +1 -1
  87. package/dist/form-elements/FormElementAPINSWLiquorLicence.js +1 -1
  88. package/dist/form-elements/FormElementAPINSWLiquorLicence.js.map +1 -1
  89. package/dist/form-elements/FormElementArcGISWebMap.js.map +1 -1
  90. package/dist/form-elements/FormElementAutocomplete.js +1 -1
  91. package/dist/form-elements/FormElementAutocomplete.js.map +1 -1
  92. package/dist/form-elements/FormElementBSB.js +2 -2
  93. package/dist/form-elements/FormElementBSB.js.map +1 -1
  94. package/dist/form-elements/FormElementCalculation.js +2 -2
  95. package/dist/form-elements/FormElementCalculation.js.map +1 -1
  96. package/dist/form-elements/FormElementCivicaNameRecord.js +1 -1
  97. package/dist/form-elements/FormElementCivicaNameRecord.js.map +1 -1
  98. package/dist/form-elements/FormElementCivicaStreetName.js +1 -1
  99. package/dist/form-elements/FormElementCivicaStreetName.js.map +1 -1
  100. package/dist/form-elements/FormElementCompliance.d.ts +1 -1
  101. package/dist/form-elements/FormElementCompliance.js.map +1 -1
  102. package/dist/form-elements/FormElementDate.js +1 -1
  103. package/dist/form-elements/FormElementDate.js.map +1 -1
  104. package/dist/form-elements/FormElementDateTime.js +1 -1
  105. package/dist/form-elements/FormElementDateTime.js.map +1 -1
  106. package/dist/form-elements/FormElementFile.d.ts +1 -1
  107. package/dist/form-elements/FormElementFile.js.map +1 -1
  108. package/dist/form-elements/FormElementFiles.d.ts +1 -1
  109. package/dist/form-elements/FormElementFiles.js.map +1 -1
  110. package/dist/form-elements/FormElementFreshdeskDependentField.js +3 -10
  111. package/dist/form-elements/FormElementFreshdeskDependentField.js.map +1 -1
  112. package/dist/form-elements/FormElementGeoscapeAddress.js +1 -1
  113. package/dist/form-elements/FormElementGeoscapeAddress.js.map +1 -1
  114. package/dist/form-elements/FormElementGoogleAddress.js +1 -1
  115. package/dist/form-elements/FormElementGoogleAddress.js.map +1 -1
  116. package/dist/form-elements/FormElementLocation.js +6 -2
  117. package/dist/form-elements/FormElementLocation.js.map +1 -1
  118. package/dist/form-elements/FormElementLookupButton.js +1 -1
  119. package/dist/form-elements/FormElementLookupButton.js.map +1 -1
  120. package/dist/form-elements/FormElementNumber.js +1 -1
  121. package/dist/form-elements/FormElementNumber.js.map +1 -1
  122. package/dist/form-elements/FormElementPointAddress.js +1 -1
  123. package/dist/form-elements/FormElementPointAddress.js.map +1 -1
  124. package/dist/form-elements/FormElementPointAddressV3.js +1 -1
  125. package/dist/form-elements/FormElementPointAddressV3.js.map +1 -1
  126. package/dist/form-elements/FormElementPointCadastralParcel.js +1 -1
  127. package/dist/form-elements/FormElementPointCadastralParcel.js.map +1 -1
  128. package/dist/form-elements/FormElementSummary.js +4 -2
  129. package/dist/form-elements/FormElementSummary.js.map +1 -1
  130. package/dist/form-elements/FormElementTime.js +1 -1
  131. package/dist/form-elements/FormElementTime.js.map +1 -1
  132. package/dist/hooks/attachments/useAttachment.d.ts +1 -1
  133. package/dist/hooks/attachments/useAttachment.js +1 -1
  134. package/dist/hooks/attachments/useAttachment.js.map +1 -1
  135. package/dist/hooks/attachments/useAttachments.d.ts +1 -1
  136. package/dist/hooks/attachments/useAttachments.js.map +1 -1
  137. package/dist/hooks/form-date-picker/useFormDatePickerProps.js +2 -0
  138. package/dist/hooks/form-date-picker/useFormDatePickerProps.js.map +1 -1
  139. package/dist/hooks/useAuth.js +1 -1
  140. package/dist/hooks/useAuth.js.map +1 -1
  141. package/dist/hooks/useConditionalLogic.js +1 -1
  142. package/dist/hooks/useConditionalLogic.js.map +1 -1
  143. package/dist/hooks/useDrafts.d.ts +1 -1
  144. package/dist/hooks/useDrafts.js +1 -1
  145. package/dist/hooks/useDrafts.js.map +1 -1
  146. package/dist/hooks/useDynamicOptionsLoaderState.d.ts +1 -1
  147. package/dist/hooks/useDynamicOptionsLoaderState.js +1 -1
  148. package/dist/hooks/useDynamicOptionsLoaderState.js.map +1 -1
  149. package/dist/hooks/useFormElementLookups.d.ts +1 -1
  150. package/dist/hooks/useFormElementLookups.js +1 -1
  151. package/dist/hooks/useFormElementLookups.js.map +1 -1
  152. package/dist/hooks/useFormSubmissionAutoSaveState.d.ts +1 -1
  153. package/dist/hooks/useFormSubmissionAutoSaveState.js +1 -1
  154. package/dist/hooks/useFormSubmissionAutoSaveState.js.map +1 -1
  155. package/dist/hooks/useFormSubmissionDuration.js +2 -0
  156. package/dist/hooks/useFormSubmissionDuration.js.map +1 -1
  157. package/dist/hooks/useIsOffline.js +1 -1
  158. package/dist/hooks/useIsOffline.js.map +1 -1
  159. package/dist/hooks/useLoadDataState.js +4 -3
  160. package/dist/hooks/useLoadDataState.js.map +1 -1
  161. package/dist/hooks/useLogin.js +1 -1
  162. package/dist/hooks/useLogin.js.map +1 -1
  163. package/dist/hooks/useMfa.d.ts +1 -1
  164. package/dist/hooks/useMfa.js +1 -1
  165. package/dist/hooks/useMfa.js.map +1 -1
  166. package/dist/hooks/useOnUploadAttachment.d.ts +1 -1
  167. package/dist/hooks/useOnUploadAttachment.js +1 -1
  168. package/dist/hooks/useOnUploadAttachment.js.map +1 -1
  169. package/dist/hooks/useOneBlinkFormContainer.d.ts +2 -1
  170. package/dist/hooks/useOneBlinkFormContainer.js +2 -2
  171. package/dist/hooks/useOneBlinkFormContainer.js.map +1 -1
  172. package/dist/hooks/usePendingSubmissions.d.ts +1 -1
  173. package/dist/hooks/usePendingSubmissions.js +1 -1
  174. package/dist/hooks/usePendingSubmissions.js.map +1 -1
  175. package/dist/hooks/useReplaceableText.js +1 -1
  176. package/dist/hooks/useReplaceableText.js.map +1 -1
  177. package/dist/hooks/useSignUp.js +1 -1
  178. package/dist/hooks/useSignUp.js.map +1 -1
  179. package/dist/services/attachments.d.ts +1 -1
  180. package/dist/services/attachments.js +1 -1
  181. package/dist/services/attachments.js.map +1 -1
  182. package/dist/services/blob-utils.js +1 -1
  183. package/dist/services/blob-utils.js.map +1 -1
  184. package/dist/services/checkIfAttachmentsExist.d.ts +1 -1
  185. package/dist/services/checkIfAttachmentsExist.js.map +1 -1
  186. package/dist/services/defaultCoordinates.js +1 -1
  187. package/dist/services/defaultCoordinates.js.map +1 -1
  188. package/dist/services/download-file.d.ts +1 -1
  189. package/dist/services/download-file.js +2 -2
  190. package/dist/services/download-file.js.map +1 -1
  191. package/dist/services/drawTimestampOnCanvas.js +1 -1
  192. package/dist/services/drawTimestampOnCanvas.js.map +1 -1
  193. package/dist/services/form-validation/validateSubmission.js +1 -1
  194. package/dist/services/form-validation/validateSubmission.js.map +1 -1
  195. package/dist/services/form-validation/validators.d.ts +1 -1
  196. package/dist/services/form-validation/validators.js.map +1 -1
  197. package/dist/services/generate-default-data.js +1 -1
  198. package/dist/services/generate-default-data.js.map +1 -1
  199. package/dist/services/injectableOptions.js +1 -1
  200. package/dist/services/injectableOptions.js.map +1 -1
  201. package/dist/types/attachments.d.ts +1 -1
  202. package/dist/types/attachments.js.map +1 -1
  203. package/dist/utils/sendGoogleAnalyticsEvent.js +1 -1
  204. package/dist/utils/sendGoogleAnalyticsEvent.js.map +1 -1
  205. package/package.json +10 -7
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentReceipt.js","sourceRoot":"","sources":["../src/PaymentReceipt.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { useHistory } from 'react-router-dom'\nimport {\n paymentService,\n submissionService,\n OneBlinkAppsError,\n schedulingService,\n localisationService,\n} from '@oneblink/apps'\nimport useIsMounted from './hooks/useIsMounted'\n\nimport useQuery from './hooks/useQuery'\nimport Modal from './components/renderer/Modal'\nimport OnLoading from './components/renderer/OnLoading'\nimport {\n Receipt,\n ReceiptList,\n ReceiptListItem,\n ReceiptButton,\n} from './components/receipts'\nimport MaterialIcon from './components/MaterialIcon'\nimport DownloadableFiles from './components/downloadable-files'\n\nconst { handlePaymentQuerystring, handlePaymentSubmissionEvent } =\n paymentService\n\nfunction PaymentReceipt({\n onDone,\n onCancel,\n}: {\n /**\n * The function to call when the user clicks 'Done'. See\n * [FormSubmissionResult](https://oneblink.github.io/apps/modules/submissionService.html#FormSubmissionResult)\n * for the structure of the argument.\n */\n onDone: (\n submissionResult: submissionService.FormSubmissionResult,\n ) => Promise<void>\n /**\n * The function to call when the user clicks 'Cancel'. See\n * [FormSubmissionResult](https://oneblink.github.io/apps/modules/submissionService.html#FormSubmissionResult)\n * for the structure of the argument.\n */\n onCancel: (\n submissionResult: submissionService.FormSubmissionResult,\n ) => Promise<void>\n}) {\n const isMounted = useIsMounted()\n const query = useQuery()\n const history = useHistory()\n\n const [\n {\n isLoading,\n loadError,\n transaction,\n submissionResult,\n receiptItems,\n schedulingBooking,\n },\n setLoadState,\n ] = React.useState<{\n isLoading: boolean\n loadError: Error | null\n transaction: paymentService.HandlePaymentResult['transaction'] | null\n submissionResult: submissionService.FormSubmissionResult | null\n receiptItems: paymentService.PaymentReceiptItem[] | null\n schedulingBooking: schedulingService.SchedulingBooking | null\n }>({\n isLoading: true,\n loadError: null,\n transaction: null,\n submissionResult: null,\n receiptItems: null,\n schedulingBooking: null,\n })\n const [\n { isRunningPostSubmissionAction, postSubmissionError },\n setPostSubmissionState,\n ] = React.useState<{\n isRunningPostSubmissionAction: boolean\n postSubmissionError: OneBlinkAppsError | null\n }>({\n isRunningPostSubmissionAction: false,\n postSubmissionError: null,\n })\n const clearPostSubmissionError = React.useCallback(() => {\n setPostSubmissionState((currentState) => ({\n ...currentState,\n postSubmissionError: null,\n }))\n }, [])\n const [{ isRetrying, retryError }, setRetryState] = React.useState<{\n isRetrying: boolean\n retryError: OneBlinkAppsError | null\n }>({\n isRetrying: false,\n retryError: null,\n })\n const clearRetryError = React.useCallback(() => {\n setRetryState((currentState) => ({\n ...currentState,\n retryError: null,\n }))\n }, [])\n\n React.useEffect(() => {\n let ignore = false\n\n const getTransaction = async () => {\n let newError = null\n let newTransaction = null\n let newSubmissionResult = null\n let newReceiptItems = null\n let newSchedulingBooking = null\n try {\n const result = await handlePaymentQuerystring(query)\n newTransaction = result.transaction\n newSubmissionResult = result.submissionResult\n newReceiptItems = result.receiptItems\n newSchedulingBooking = result.schedulingBooking ?? null\n } catch (error) {\n console.warn('Error while attempting to load transaction', error)\n newError = error as Error\n }\n\n if (!ignore) {\n setLoadState({\n isLoading: false,\n loadError: newError,\n transaction: newTransaction,\n submissionResult: newSubmissionResult,\n receiptItems: newReceiptItems,\n schedulingBooking: newSchedulingBooking,\n })\n }\n }\n getTransaction()\n\n return () => {\n ignore = true\n }\n }, [query])\n\n const executePostSubmissionAction = React.useCallback(\n async (\n action: (\n submissionRresult: submissionService.FormSubmissionResult,\n ) => Promise<void>,\n ) => {\n if (!submissionResult || !isMounted.current) {\n return\n }\n\n setPostSubmissionState({\n isRunningPostSubmissionAction: true,\n postSubmissionError: null,\n })\n\n let newError = null\n try {\n await action({ ...submissionResult, payment: null })\n } catch (error) {\n console.warn('Error while running post submission action', error)\n newError = error as OneBlinkAppsError\n }\n\n if (isMounted.current) {\n setPostSubmissionState({\n isRunningPostSubmissionAction: false,\n postSubmissionError: newError,\n })\n }\n },\n [isMounted, submissionResult],\n )\n\n const handleDone = React.useCallback(async () => {\n executePostSubmissionAction(onDone)\n }, [executePostSubmissionAction, onDone])\n\n const handleCancel = React.useCallback(() => {\n executePostSubmissionAction(onCancel)\n }, [executePostSubmissionAction, onCancel])\n\n const handleTryAgain = React.useCallback(async () => {\n if (!submissionResult || !submissionResult.payment) {\n return\n }\n const paymentSubmissionEvent = submissionResult.payment.submissionEvent\n\n if (isMounted.current) {\n setRetryState({\n isRetrying: true,\n retryError: null,\n })\n }\n\n let newError = null\n try {\n submissionResult.payment = await handlePaymentSubmissionEvent({\n amount: submissionResult.payment.amount,\n formSubmissionResult: submissionResult,\n paymentSubmissionEvent,\n paymentReceiptUrl: submissionResult.payment.paymentReceiptUrl,\n paymentFormUrl: submissionResult.payment.paymentFormUrl,\n })\n await submissionService.executePostSubmissionAction(submissionResult, {\n onRedirectToRelativeUrl: (url) => history.push(url),\n onRedirectToAbsoluteUrl: (url) => window.location.assign(url),\n })\n } catch (error) {\n console.warn('Error while attempting to retry transaction', error)\n newError = error as OneBlinkAppsError\n }\n\n if (isMounted.current) {\n setRetryState({\n isRetrying: false,\n retryError: newError,\n })\n }\n }, [history, isMounted, submissionResult])\n\n return (\n <div>\n {isLoading && (\n <section>\n <div className=\"cypress-loading has-text-centered\">\n <OnLoading className=\"has-text-centered\"></OnLoading>\n <span>Retrieving transaction details...</span>\n </div>\n </section>\n )}\n\n {transaction && (\n <Receipt\n className=\"ob-payment-receipt\"\n containerClassName=\"ob-payment-receipt__container\"\n >\n <ReceiptList\n successIconClassName=\"ob-payment-receipt__success-icon\"\n warningIconClassName=\"ob-payment-receipt__warning-icon\"\n warningMessageClassName=\"ob-payment-receipt__warning-message cypress-payment-receipt-warning-message\"\n warningMessage={\n transaction.isSuccess\n ? undefined\n : transaction.errorMessage || undefined\n }\n >\n {receiptItems &&\n receiptItems.length &&\n receiptItems.map((receiptItem, i) => {\n return (\n <ReceiptListItem\n key={i}\n className={receiptItem.className ?? ''}\n valueClassName={receiptItem.valueClassName ?? ''}\n icon={receiptItem.icon}\n label={receiptItem.label}\n value={receiptItem.value}\n allowCopyToClipboard={receiptItem.allowCopyToClipboard}\n />\n )\n })}\n {schedulingBooking && transaction.isSuccess && (\n <>\n {schedulingBooking.location && (\n <ReceiptListItem\n className=\"ob-scheduling-receipt__location\"\n valueClassName=\"cypress-scheduling-receipt-location\"\n icon=\"location_on\"\n label=\"Location\"\n value={schedulingBooking.location}\n />\n )}\n\n <ReceiptListItem\n className=\"ob-scheduling-receipt__start-time\"\n valueClassName=\"cypress-scheduling-receipt-start-time\"\n icon=\"schedule\"\n label=\"Start Time\"\n value={localisationService.formatDatetimeLong(\n schedulingBooking.startTime,\n )}\n />\n\n <ReceiptListItem\n className=\"ob-scheduling-receipt__end-time\"\n valueClassName=\"cypress-scheduling-receipt-end-time\"\n icon=\"schedule\"\n label=\"End Time\"\n value={localisationService.formatDatetimeLong(\n schedulingBooking.endTime,\n )}\n />\n </>\n )}\n <ReceiptListItem\n className=\"ob-payment-receipt__warning\"\n valueClassName=\"cypress-payment-receipt-warning\"\n label=\"Warning\"\n value=\"Please do not click back in your browser, doing so will cause issues with your payment.\"\n />\n </ReceiptList>\n\n {submissionResult && transaction.isSuccess && (\n <DownloadableFiles\n formSubmissionResult={submissionResult}\n layout=\"LIST\"\n />\n )}\n\n <div className=\"buttons\">\n {transaction.isSuccess ? (\n <ReceiptButton\n className=\"is-primary ob-payment-receipt__button ob-payment-receipt__okay-button cypress-payment-receipt-okay-button\"\n label=\"Done\"\n isLoading={isRunningPostSubmissionAction}\n onClick={handleDone}\n />\n ) : (\n <>\n <ReceiptButton\n className=\"ob-payment-receipt__button ob-payment-receipt__cancel-button cypress-payment-receipt-cancel-button\"\n label=\"Cancel\"\n isDisabled={isRetrying}\n isLoading={isRunningPostSubmissionAction}\n onClick={handleCancel}\n />\n <ReceiptButton\n className=\"is-primary ob-payment-receipt__button ob-payment-receipt__try-again-button cypress-payment-receipt-try-again-button\"\n label=\"Try Again\"\n isDisabled={isRunningPostSubmissionAction}\n isLoading={isRetrying}\n onClick={handleTryAgain}\n />\n </>\n )}\n </div>\n </Receipt>\n )}\n\n {loadError && (\n <section className=\"cypress-payment-receipt-loading-error-message\">\n <div className=\"ob-payment-receipt__error-icon-container has-text-centered has-margin-bottom-8\">\n <MaterialIcon className=\"ob-payment-receipt__error-icon has-text-danger icon-x-large\">\n error\n </MaterialIcon>\n </div>\n <p className=\"ob-payment-receipt__error-message has-text-centered has-margin-bottom-4\">\n {loadError.message}\n </p>\n </section>\n )}\n\n {retryError && (\n <Modal\n isOpen\n title={retryError.title || 'Whoops...'}\n bodyClassName=\"cypress-payment-receipt-retry-error-message\"\n actions={\n <button\n type=\"button\"\n className=\"button ob-button is-primary cypress-payment-receipt-retry-error-okay-button\"\n onClick={clearRetryError}\n autoFocus\n >\n Okay\n </button>\n }\n >\n {retryError.message}\n </Modal>\n )}\n\n {postSubmissionError && (\n <Modal\n isOpen\n title={postSubmissionError.title || 'Whoops...'}\n bodyClassName=\"cypress-payment-receipt-retry-error-message\"\n actions={\n <button\n type=\"button\"\n className=\"button ob-button is-primary cypress-payment-receipt-retry-error-okay-button\"\n onClick={clearPostSubmissionError}\n autoFocus\n >\n Okay\n </button>\n }\n >\n {postSubmissionError.message}\n </Modal>\n )}\n </div>\n )\n}\n\n/**\n * Component for rendering a OneBlink Form Payment Receipt. This component will\n * payment receipt but it is up to the developer to implement what happens when\n * the user clicks 'Done'.\n *\n * It is also recommended to import the `css` from this library as well.\n *\n * ```js\n * import { PaymentReceipt } 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 { PaymentReceipt } from '@oneblink/apps-react'\n * import '@oneblink/apps-react/dist/styles.css'\n *\n * function ReceiptContainer() {\n * const handleDone = React.useCallback(async () => {\n * console.log('All done!')\n * }, [])\n * const handleCancel = React.useCallback(async () => {\n * console.log('Cancelled!')\n * }, [])\n *\n * return <PaymentReceipt onDone={handleDone} onCancel={handleCancel} />\n * }\n *\n * function App() {\n * return (\n * <IsOfflineContextProvider>\n * <ReceiptContainer />\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(PaymentReceipt)\n"]}
1
+ {"version":3,"file":"PaymentReceipt.js","sourceRoot":"","sources":["../src/PaymentReceipt.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { useHistory } from 'react-router-dom'\nimport {\n paymentService,\n submissionService,\n OneBlinkAppsError,\n schedulingService,\n localisationService,\n} from './apps'\nimport useIsMounted from './hooks/useIsMounted'\n\nimport useQuery from './hooks/useQuery'\nimport Modal from './components/renderer/Modal'\nimport OnLoading from './components/renderer/OnLoading'\nimport {\n Receipt,\n ReceiptList,\n ReceiptListItem,\n ReceiptButton,\n} from './components/receipts'\nimport MaterialIcon from './components/MaterialIcon'\nimport DownloadableFiles from './components/downloadable-files'\n\nconst { handlePaymentQuerystring, handlePaymentSubmissionEvent } =\n paymentService\n\nfunction PaymentReceipt({\n onDone,\n onCancel,\n}: {\n /**\n * The function to call when the user clicks 'Done'. See\n * [FormSubmissionResult](https://oneblink.github.io/apps/modules/submissionService.html#FormSubmissionResult)\n * for the structure of the argument.\n */\n onDone: (\n submissionResult: submissionService.FormSubmissionResult,\n ) => Promise<void>\n /**\n * The function to call when the user clicks 'Cancel'. See\n * [FormSubmissionResult](https://oneblink.github.io/apps/modules/submissionService.html#FormSubmissionResult)\n * for the structure of the argument.\n */\n onCancel: (\n submissionResult: submissionService.FormSubmissionResult,\n ) => Promise<void>\n}) {\n const isMounted = useIsMounted()\n const query = useQuery()\n const history = useHistory()\n\n const [\n {\n isLoading,\n loadError,\n transaction,\n submissionResult,\n receiptItems,\n schedulingBooking,\n },\n setLoadState,\n ] = React.useState<{\n isLoading: boolean\n loadError: Error | null\n transaction: paymentService.HandlePaymentResult['transaction'] | null\n submissionResult: submissionService.FormSubmissionResult | null\n receiptItems: paymentService.PaymentReceiptItem[] | null\n schedulingBooking: schedulingService.SchedulingBooking | null\n }>({\n isLoading: true,\n loadError: null,\n transaction: null,\n submissionResult: null,\n receiptItems: null,\n schedulingBooking: null,\n })\n const [\n { isRunningPostSubmissionAction, postSubmissionError },\n setPostSubmissionState,\n ] = React.useState<{\n isRunningPostSubmissionAction: boolean\n postSubmissionError: OneBlinkAppsError | null\n }>({\n isRunningPostSubmissionAction: false,\n postSubmissionError: null,\n })\n const clearPostSubmissionError = React.useCallback(() => {\n setPostSubmissionState((currentState) => ({\n ...currentState,\n postSubmissionError: null,\n }))\n }, [])\n const [{ isRetrying, retryError }, setRetryState] = React.useState<{\n isRetrying: boolean\n retryError: OneBlinkAppsError | null\n }>({\n isRetrying: false,\n retryError: null,\n })\n const clearRetryError = React.useCallback(() => {\n setRetryState((currentState) => ({\n ...currentState,\n retryError: null,\n }))\n }, [])\n\n React.useEffect(() => {\n let ignore = false\n\n const getTransaction = async () => {\n let newError = null\n let newTransaction = null\n let newSubmissionResult = null\n let newReceiptItems = null\n let newSchedulingBooking = null\n try {\n const result = await handlePaymentQuerystring(query)\n newTransaction = result.transaction\n newSubmissionResult = result.submissionResult\n newReceiptItems = result.receiptItems\n newSchedulingBooking = result.schedulingBooking ?? null\n } catch (error) {\n console.warn('Error while attempting to load transaction', error)\n newError = error as Error\n }\n\n if (!ignore) {\n setLoadState({\n isLoading: false,\n loadError: newError,\n transaction: newTransaction,\n submissionResult: newSubmissionResult,\n receiptItems: newReceiptItems,\n schedulingBooking: newSchedulingBooking,\n })\n }\n }\n getTransaction()\n\n return () => {\n ignore = true\n }\n }, [query])\n\n const executePostSubmissionAction = React.useCallback(\n async (\n action: (\n submissionRresult: submissionService.FormSubmissionResult,\n ) => Promise<void>,\n ) => {\n if (!submissionResult || !isMounted.current) {\n return\n }\n\n setPostSubmissionState({\n isRunningPostSubmissionAction: true,\n postSubmissionError: null,\n })\n\n let newError = null\n try {\n await action({ ...submissionResult, payment: null })\n } catch (error) {\n console.warn('Error while running post submission action', error)\n newError = error as OneBlinkAppsError\n }\n\n if (isMounted.current) {\n setPostSubmissionState({\n isRunningPostSubmissionAction: false,\n postSubmissionError: newError,\n })\n }\n },\n [isMounted, submissionResult],\n )\n\n const handleDone = React.useCallback(async () => {\n executePostSubmissionAction(onDone)\n }, [executePostSubmissionAction, onDone])\n\n const handleCancel = React.useCallback(() => {\n executePostSubmissionAction(onCancel)\n }, [executePostSubmissionAction, onCancel])\n\n const handleTryAgain = React.useCallback(async () => {\n if (!submissionResult || !submissionResult.payment) {\n return\n }\n const paymentSubmissionEvent = submissionResult.payment.submissionEvent\n\n if (isMounted.current) {\n setRetryState({\n isRetrying: true,\n retryError: null,\n })\n }\n\n let newError = null\n try {\n const payment = await handlePaymentSubmissionEvent({\n amount: submissionResult.payment.amount,\n formSubmissionResult: submissionResult,\n paymentSubmissionEvent,\n paymentReceiptUrl: submissionResult.payment.paymentReceiptUrl,\n paymentFormUrl: submissionResult.payment.paymentFormUrl,\n })\n await submissionService.executePostSubmissionAction({ ...submissionResult, payment }, {\n onRedirectToRelativeUrl: (url) => history.push(url),\n onRedirectToAbsoluteUrl: (url) => window.location.assign(url),\n })\n } catch (error) {\n console.warn('Error while attempting to retry transaction', error)\n newError = error as OneBlinkAppsError\n }\n\n if (isMounted.current) {\n setRetryState({\n isRetrying: false,\n retryError: newError,\n })\n }\n }, [history, isMounted, submissionResult])\n\n return (\n <div>\n {isLoading && (\n <section>\n <div className=\"cypress-loading has-text-centered\">\n <OnLoading className=\"has-text-centered\"></OnLoading>\n <span>Retrieving transaction details...</span>\n </div>\n </section>\n )}\n\n {transaction && (\n <Receipt\n className=\"ob-payment-receipt\"\n containerClassName=\"ob-payment-receipt__container\"\n >\n <ReceiptList\n successIconClassName=\"ob-payment-receipt__success-icon\"\n warningIconClassName=\"ob-payment-receipt__warning-icon\"\n warningMessageClassName=\"ob-payment-receipt__warning-message cypress-payment-receipt-warning-message\"\n warningMessage={\n transaction.isSuccess\n ? undefined\n : transaction.errorMessage || undefined\n }\n >\n {receiptItems &&\n receiptItems.length &&\n receiptItems.map((receiptItem, i) => {\n return (\n <ReceiptListItem\n key={i}\n className={receiptItem.className ?? ''}\n valueClassName={receiptItem.valueClassName ?? ''}\n icon={receiptItem.icon}\n label={receiptItem.label}\n value={receiptItem.value}\n allowCopyToClipboard={receiptItem.allowCopyToClipboard}\n />\n )\n })}\n {schedulingBooking && transaction.isSuccess && (\n <>\n {schedulingBooking.location && (\n <ReceiptListItem\n className=\"ob-scheduling-receipt__location\"\n valueClassName=\"cypress-scheduling-receipt-location\"\n icon=\"location_on\"\n label=\"Location\"\n value={schedulingBooking.location}\n />\n )}\n\n <ReceiptListItem\n className=\"ob-scheduling-receipt__start-time\"\n valueClassName=\"cypress-scheduling-receipt-start-time\"\n icon=\"schedule\"\n label=\"Start Time\"\n value={localisationService.formatDatetimeLong(\n schedulingBooking.startTime,\n )}\n />\n\n <ReceiptListItem\n className=\"ob-scheduling-receipt__end-time\"\n valueClassName=\"cypress-scheduling-receipt-end-time\"\n icon=\"schedule\"\n label=\"End Time\"\n value={localisationService.formatDatetimeLong(\n schedulingBooking.endTime,\n )}\n />\n </>\n )}\n <ReceiptListItem\n className=\"ob-payment-receipt__warning\"\n valueClassName=\"cypress-payment-receipt-warning\"\n label=\"Warning\"\n value=\"Please do not click back in your browser, doing so will cause issues with your payment.\"\n />\n </ReceiptList>\n\n {submissionResult && transaction.isSuccess && (\n <DownloadableFiles\n formSubmissionResult={submissionResult}\n layout=\"LIST\"\n />\n )}\n\n <div className=\"buttons\">\n {transaction.isSuccess ? (\n <ReceiptButton\n className=\"is-primary ob-payment-receipt__button ob-payment-receipt__okay-button cypress-payment-receipt-okay-button\"\n label=\"Done\"\n isLoading={isRunningPostSubmissionAction}\n onClick={handleDone}\n />\n ) : (\n <>\n <ReceiptButton\n className=\"ob-payment-receipt__button ob-payment-receipt__cancel-button cypress-payment-receipt-cancel-button\"\n label=\"Cancel\"\n isDisabled={isRetrying}\n isLoading={isRunningPostSubmissionAction}\n onClick={handleCancel}\n />\n <ReceiptButton\n className=\"is-primary ob-payment-receipt__button ob-payment-receipt__try-again-button cypress-payment-receipt-try-again-button\"\n label=\"Try Again\"\n isDisabled={isRunningPostSubmissionAction}\n isLoading={isRetrying}\n onClick={handleTryAgain}\n />\n </>\n )}\n </div>\n </Receipt>\n )}\n\n {loadError && (\n <section className=\"cypress-payment-receipt-loading-error-message\">\n <div className=\"ob-payment-receipt__error-icon-container has-text-centered has-margin-bottom-8\">\n <MaterialIcon className=\"ob-payment-receipt__error-icon has-text-danger icon-x-large\">\n error\n </MaterialIcon>\n </div>\n <p className=\"ob-payment-receipt__error-message has-text-centered has-margin-bottom-4\">\n {loadError.message}\n </p>\n </section>\n )}\n\n {retryError && (\n <Modal\n isOpen\n title={retryError.title || 'Whoops...'}\n bodyClassName=\"cypress-payment-receipt-retry-error-message\"\n actions={\n <button\n type=\"button\"\n className=\"button ob-button is-primary cypress-payment-receipt-retry-error-okay-button\"\n onClick={clearRetryError}\n autoFocus\n >\n Okay\n </button>\n }\n >\n {retryError.message}\n </Modal>\n )}\n\n {postSubmissionError && (\n <Modal\n isOpen\n title={postSubmissionError.title || 'Whoops...'}\n bodyClassName=\"cypress-payment-receipt-retry-error-message\"\n actions={\n <button\n type=\"button\"\n className=\"button ob-button is-primary cypress-payment-receipt-retry-error-okay-button\"\n onClick={clearPostSubmissionError}\n autoFocus\n >\n Okay\n </button>\n }\n >\n {postSubmissionError.message}\n </Modal>\n )}\n </div>\n )\n}\n\n/**\n * Component for rendering a OneBlink Form Payment Receipt. This component will\n * payment receipt but it is up to the developer to implement what happens when\n * the user clicks 'Done'.\n *\n * It is also recommended to import the `css` from this library as well.\n *\n * ```js\n * import { PaymentReceipt } 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 { PaymentReceipt } from '@oneblink/apps-react'\n * import '@oneblink/apps-react/dist/styles.css'\n *\n * function ReceiptContainer() {\n * const handleDone = React.useCallback(async () => {\n * console.log('All done!')\n * }, [])\n * const handleCancel = React.useCallback(async () => {\n * console.log('Cancelled!')\n * }, [])\n *\n * return <PaymentReceipt onDone={handleDone} onCancel={handleCancel} />\n * }\n *\n * function App() {\n * return (\n * <IsOfflineContextProvider>\n * <ReceiptContainer />\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(PaymentReceipt)\n"]}
@@ -4,7 +4,7 @@
4
4
  * Helper functions for offline handling
5
5
  *
6
6
  * ```js
7
- * import { offlineService } from '@oneblink/apps'
7
+ * import { offlineService } from '@oneblink/apps-react'
8
8
  * ```
9
9
  */
10
10
  export * as offlineService from './offline-service';
@@ -17,7 +17,7 @@ export * as offlineService from './offline-service';
17
17
  * service.**
18
18
  *
19
19
  * ```js
20
- * import { authService } from '@oneblink/apps'
20
+ * import { authService } from '@oneblink/apps-react'
21
21
  * ```
22
22
  */
23
23
  export * as authService from './auth-service';
@@ -27,7 +27,7 @@ export * as authService from './auth-service';
27
27
  * Helper functions for handling drafts.
28
28
  *
29
29
  * ```js
30
- * import { draftService } from '@oneblink/apps'
30
+ * import { draftService } from '@oneblink/apps-react'
31
31
  * ```
32
32
  */
33
33
  export * as draftService from './draft-service';
@@ -37,7 +37,7 @@ export * as draftService from './draft-service';
37
37
  * Helper functions for offline handling
38
38
  *
39
39
  * ```js
40
- * import { prefillService } from '@oneblink/apps'
40
+ * import { prefillService } from '@oneblink/apps-react'
41
41
  * ```
42
42
  */
43
43
  export * as prefillService from './prefill-service';
@@ -47,7 +47,7 @@ export * as prefillService from './prefill-service';
47
47
  * Helper functions for payment handling
48
48
  *
49
49
  * ```js
50
- * import { paymentService } from '@oneblink/apps'
50
+ * import { paymentService } from '@oneblink/apps-react'
51
51
  * ```
52
52
  */
53
53
  export * as paymentService from './payment-service';
@@ -57,7 +57,7 @@ export * as paymentService from './payment-service';
57
57
  * Helper functions for scheduling booking handling
58
58
  *
59
59
  * ```js
60
- * import { schedulingService } from '@oneblink/apps'
60
+ * import { schedulingService } from '@oneblink/apps-react'
61
61
  * ```
62
62
  */
63
63
  export * as schedulingService from './scheduling-service';
@@ -67,7 +67,7 @@ export * as schedulingService from './scheduling-service';
67
67
  * Helper functions for job handling
68
68
  *
69
69
  * ```js
70
- * import { jobService } from '@oneblink/apps'
70
+ * import { jobService } from '@oneblink/apps-react'
71
71
  * ```
72
72
  */
73
73
  export * as jobService from './job-service';
@@ -77,7 +77,7 @@ export * as jobService from './job-service';
77
77
  * Helper functions for handling form submissions
78
78
  *
79
79
  * ```js
80
- * import { submissionService } from '@oneblink/apps'
80
+ * import { submissionService } from '@oneblink/apps-react'
81
81
  * ```
82
82
  */
83
83
  export * as submissionService from './submission-service';
@@ -87,7 +87,7 @@ export * as submissionService from './submission-service';
87
87
  * Helper functions for handling data while user is completing form.
88
88
  *
89
89
  * ```js
90
- * import { autoSaveService } from '@oneblink/apps'
90
+ * import { autoSaveService } from '@oneblink/apps-react'
91
91
  * ```
92
92
  */
93
93
  export * as autoSaveService from './auto-save-service';
@@ -97,7 +97,7 @@ export * as autoSaveService from './auto-save-service';
97
97
  * Helper functions for notification handling
98
98
  *
99
99
  * ```js
100
- * import { notificationService } from '@oneblink/apps'
100
+ * import { notificationService } from '@oneblink/apps-react'
101
101
  * ```
102
102
  *
103
103
  * ### Service Worker
@@ -172,7 +172,7 @@ export * as notificationService from './notification-service';
172
172
  * Helper functions for form handling
173
173
  *
174
174
  * ```js
175
- * import { formService } from '@oneblink/apps'
175
+ * import { formService } from '@oneblink/apps-react'
176
176
  * ```
177
177
  */
178
178
  export * as formService from './form-service';
@@ -182,7 +182,7 @@ export * as formService from './form-service';
182
182
  * Helper functions for handling approvals
183
183
  *
184
184
  * ```js
185
- * import { approvalsService } from '@oneblink/apps'
185
+ * import { approvalsService } from '@oneblink/apps-react'
186
186
  * ```
187
187
  */
188
188
  export * as approvalsService from './approvals-service';
@@ -192,7 +192,7 @@ export * as approvalsService from './approvals-service';
192
192
  * Helper functions for forms apps
193
193
  *
194
194
  * ```js
195
- * import { formsAppService } from '@oneblink/apps'
195
+ * import { formsAppService } from '@oneblink/apps-react'
196
196
  * ```
197
197
  */
198
198
  export * as formsAppService from './forms-app-service';
@@ -202,7 +202,7 @@ export * as formsAppService from './forms-app-service';
202
202
  * Helper functions for handling Form Store Records
203
203
  *
204
204
  * ```js
205
- * import { formStoreService } from '@oneblink/apps'
205
+ * import { formStoreService } from '@oneblink/apps-react'
206
206
  * ```
207
207
  */
208
208
  export * as formStoreService from './form-store-service';
@@ -212,7 +212,7 @@ export * as formStoreService from './form-store-service';
212
212
  * Helper functions for handling all things locale.
213
213
  *
214
214
  * ```js
215
- * import { localisationService } from '@oneblink/apps'
215
+ * import { localisationService } from '@oneblink/apps-react'
216
216
  * ```
217
217
  */
218
218
  export * as localisationService from './localisation-service';
@@ -222,7 +222,7 @@ export * as localisationService from './localisation-service';
222
222
  * Helper functions for attachment handling
223
223
  *
224
224
  * ```js
225
- * import { attachmentsService } from '@oneblink/apps'
225
+ * import { attachmentsService } from '@oneblink/apps-react'
226
226
  * ```
227
227
  */
228
228
  export * as attachmentsService from './attachments-service';
@@ -232,7 +232,7 @@ export * as attachmentsService from './attachments-service';
232
232
  * Helper functions for scheduled tasks
233
233
  *
234
234
  * ```js
235
- * import { scheduledTasksService } from '@oneblink/apps'
235
+ * import { scheduledTasksService } from '@oneblink/apps-react'
236
236
  * ```
237
237
  */
238
238
  export * as scheduledTasksService from './scheduled-tasks-service';
@@ -242,7 +242,7 @@ export * as scheduledTasksService from './scheduled-tasks-service';
242
242
  * Helper functions for forms app environments
243
243
  *
244
244
  * ```js
245
- * import { formsAppEnvironmentService } from '@oneblink/apps'
245
+ * import { formsAppEnvironmentService } from '@oneblink/apps-react'
246
246
  * ```
247
247
  */
248
248
  export * as formsAppEnvironmentService from './forms-app-environment-service';
@@ -4,7 +4,7 @@
4
4
  * Helper functions for offline handling
5
5
  *
6
6
  * ```js
7
- * import { offlineService } from '@oneblink/apps'
7
+ * import { offlineService } from '@oneblink/apps-react'
8
8
  * ```
9
9
  */
10
10
  export * as offlineService from './offline-service';
@@ -17,7 +17,7 @@ export * as offlineService from './offline-service';
17
17
  * service.**
18
18
  *
19
19
  * ```js
20
- * import { authService } from '@oneblink/apps'
20
+ * import { authService } from '@oneblink/apps-react'
21
21
  * ```
22
22
  */
23
23
  export * as authService from './auth-service';
@@ -27,7 +27,7 @@ export * as authService from './auth-service';
27
27
  * Helper functions for handling drafts.
28
28
  *
29
29
  * ```js
30
- * import { draftService } from '@oneblink/apps'
30
+ * import { draftService } from '@oneblink/apps-react'
31
31
  * ```
32
32
  */
33
33
  export * as draftService from './draft-service';
@@ -37,7 +37,7 @@ export * as draftService from './draft-service';
37
37
  * Helper functions for offline handling
38
38
  *
39
39
  * ```js
40
- * import { prefillService } from '@oneblink/apps'
40
+ * import { prefillService } from '@oneblink/apps-react'
41
41
  * ```
42
42
  */
43
43
  export * as prefillService from './prefill-service';
@@ -47,7 +47,7 @@ export * as prefillService from './prefill-service';
47
47
  * Helper functions for payment handling
48
48
  *
49
49
  * ```js
50
- * import { paymentService } from '@oneblink/apps'
50
+ * import { paymentService } from '@oneblink/apps-react'
51
51
  * ```
52
52
  */
53
53
  export * as paymentService from './payment-service';
@@ -57,7 +57,7 @@ export * as paymentService from './payment-service';
57
57
  * Helper functions for scheduling booking handling
58
58
  *
59
59
  * ```js
60
- * import { schedulingService } from '@oneblink/apps'
60
+ * import { schedulingService } from '@oneblink/apps-react'
61
61
  * ```
62
62
  */
63
63
  export * as schedulingService from './scheduling-service';
@@ -67,7 +67,7 @@ export * as schedulingService from './scheduling-service';
67
67
  * Helper functions for job handling
68
68
  *
69
69
  * ```js
70
- * import { jobService } from '@oneblink/apps'
70
+ * import { jobService } from '@oneblink/apps-react'
71
71
  * ```
72
72
  */
73
73
  export * as jobService from './job-service';
@@ -77,7 +77,7 @@ export * as jobService from './job-service';
77
77
  * Helper functions for handling form submissions
78
78
  *
79
79
  * ```js
80
- * import { submissionService } from '@oneblink/apps'
80
+ * import { submissionService } from '@oneblink/apps-react'
81
81
  * ```
82
82
  */
83
83
  export * as submissionService from './submission-service';
@@ -87,7 +87,7 @@ export * as submissionService from './submission-service';
87
87
  * Helper functions for handling data while user is completing form.
88
88
  *
89
89
  * ```js
90
- * import { autoSaveService } from '@oneblink/apps'
90
+ * import { autoSaveService } from '@oneblink/apps-react'
91
91
  * ```
92
92
  */
93
93
  export * as autoSaveService from './auto-save-service';
@@ -97,7 +97,7 @@ export * as autoSaveService from './auto-save-service';
97
97
  * Helper functions for notification handling
98
98
  *
99
99
  * ```js
100
- * import { notificationService } from '@oneblink/apps'
100
+ * import { notificationService } from '@oneblink/apps-react'
101
101
  * ```
102
102
  *
103
103
  * ### Service Worker
@@ -172,7 +172,7 @@ export * as notificationService from './notification-service';
172
172
  * Helper functions for form handling
173
173
  *
174
174
  * ```js
175
- * import { formService } from '@oneblink/apps'
175
+ * import { formService } from '@oneblink/apps-react'
176
176
  * ```
177
177
  */
178
178
  export * as formService from './form-service';
@@ -182,7 +182,7 @@ export * as formService from './form-service';
182
182
  * Helper functions for handling approvals
183
183
  *
184
184
  * ```js
185
- * import { approvalsService } from '@oneblink/apps'
185
+ * import { approvalsService } from '@oneblink/apps-react'
186
186
  * ```
187
187
  */
188
188
  export * as approvalsService from './approvals-service';
@@ -192,7 +192,7 @@ export * as approvalsService from './approvals-service';
192
192
  * Helper functions for forms apps
193
193
  *
194
194
  * ```js
195
- * import { formsAppService } from '@oneblink/apps'
195
+ * import { formsAppService } from '@oneblink/apps-react'
196
196
  * ```
197
197
  */
198
198
  export * as formsAppService from './forms-app-service';
@@ -202,7 +202,7 @@ export * as formsAppService from './forms-app-service';
202
202
  * Helper functions for handling Form Store Records
203
203
  *
204
204
  * ```js
205
- * import { formStoreService } from '@oneblink/apps'
205
+ * import { formStoreService } from '@oneblink/apps-react'
206
206
  * ```
207
207
  */
208
208
  export * as formStoreService from './form-store-service';
@@ -212,7 +212,7 @@ export * as formStoreService from './form-store-service';
212
212
  * Helper functions for handling all things locale.
213
213
  *
214
214
  * ```js
215
- * import { localisationService } from '@oneblink/apps'
215
+ * import { localisationService } from '@oneblink/apps-react'
216
216
  * ```
217
217
  */
218
218
  export * as localisationService from './localisation-service';
@@ -222,7 +222,7 @@ export * as localisationService from './localisation-service';
222
222
  * Helper functions for attachment handling
223
223
  *
224
224
  * ```js
225
- * import { attachmentsService } from '@oneblink/apps'
225
+ * import { attachmentsService } from '@oneblink/apps-react'
226
226
  * ```
227
227
  */
228
228
  export * as attachmentsService from './attachments-service';
@@ -232,7 +232,7 @@ export * as attachmentsService from './attachments-service';
232
232
  * Helper functions for scheduled tasks
233
233
  *
234
234
  * ```js
235
- * import { scheduledTasksService } from '@oneblink/apps'
235
+ * import { scheduledTasksService } from '@oneblink/apps-react'
236
236
  * ```
237
237
  */
238
238
  export * as scheduledTasksService from './scheduled-tasks-service';
@@ -242,7 +242,7 @@ export * as scheduledTasksService from './scheduled-tasks-service';
242
242
  * Helper functions for forms app environments
243
243
  *
244
244
  * ```js
245
- * import { formsAppEnvironmentService } from '@oneblink/apps'
245
+ * import { formsAppEnvironmentService } from '@oneblink/apps-react'
246
246
  * ```
247
247
  */
248
248
  export * as formsAppEnvironmentService from './forms-app-environment-service';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/apps/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAA;AACnD;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAA;AAC7C;;;;;;;;GAQG;AACH,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAA;AAC/C;;;;;;;;GAQG;AACH,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAA;AACnD;;;;;;;;GAQG;AACH,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAA;AACnD;;;;;;;;GAQG;AACH,OAAO,KAAK,iBAAiB,MAAM,sBAAsB,CAAA;AACzD;;;;;;;;GAQG;AACH,OAAO,KAAK,UAAU,MAAM,eAAe,CAAA;AAC3C;;;;;;;;GAQG;AACH,OAAO,KAAK,iBAAiB,MAAM,sBAAsB,CAAA;AACzD;;;;;;;;GAQG;AACH,OAAO,KAAK,eAAe,MAAM,qBAAqB,CAAA;AACtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,OAAO,KAAK,mBAAmB,MAAM,wBAAwB,CAAA;AAC7D;;;;;;;;GAQG;AACH,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAA;AAC7C;;;;;;;;GAQG;AACH,OAAO,KAAK,gBAAgB,MAAM,qBAAqB,CAAA;AACvD;;;;;;;;GAQG;AACH,OAAO,KAAK,eAAe,MAAM,qBAAqB,CAAA;AACtD;;;;;;;;GAQG;AACH,OAAO,KAAK,gBAAgB,MAAM,sBAAsB,CAAA;AACxD;;;;;;;;GAQG;AACH,OAAO,KAAK,mBAAmB,MAAM,wBAAwB,CAAA;AAC7D;;;;;;;;GAQG;AACH,OAAO,KAAK,kBAAkB,MAAM,uBAAuB,CAAA;AAC3D;;;;;;;;GAQG;AACH,OAAO,KAAK,qBAAqB,MAAM,2BAA2B,CAAA;AAClE;;;;;;;;GAQG;AACH,OAAO,KAAK,0BAA0B,MAAM,iCAAiC,CAAA;AAE7E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAClF,OAAO,OAAO,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;AAE5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,CAAA;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAA","sourcesContent":["/**\n * ## Offline Service\n *\n * Helper functions for offline handling\n *\n * ```js\n * import { offlineService } from '@oneblink/apps'\n * ```\n */\nexport * as offlineService from './offline-service'\n/**\n * ## Authentication/Authorisation Service\n *\n * Helper functions for handling user authentication and authorisation.\n *\n * **NOTE: `init()` must be called before using some of the functions in this\n * service.**\n *\n * ```js\n * import { authService } from '@oneblink/apps'\n * ```\n */\nexport * as authService from './auth-service'\n/**\n * ## Draft Service\n *\n * Helper functions for handling drafts.\n *\n * ```js\n * import { draftService } from '@oneblink/apps'\n * ```\n */\nexport * as draftService from './draft-service'\n/**\n * ## Prefill Service\n *\n * Helper functions for offline handling\n *\n * ```js\n * import { prefillService } from '@oneblink/apps'\n * ```\n */\nexport * as prefillService from './prefill-service'\n/**\n * ## Payment Service\n *\n * Helper functions for payment handling\n *\n * ```js\n * import { paymentService } from '@oneblink/apps'\n * ```\n */\nexport * as paymentService from './payment-service'\n/**\n * ## Scheduling Service\n *\n * Helper functions for scheduling booking handling\n *\n * ```js\n * import { schedulingService } from '@oneblink/apps'\n * ```\n */\nexport * as schedulingService from './scheduling-service'\n/**\n * ## Job Service\n *\n * Helper functions for job handling\n *\n * ```js\n * import { jobService } from '@oneblink/apps'\n * ```\n */\nexport * as jobService from './job-service'\n/**\n * ## Submission Service\n *\n * Helper functions for handling form submissions\n *\n * ```js\n * import { submissionService } from '@oneblink/apps'\n * ```\n */\nexport * as submissionService from './submission-service'\n/**\n * ## Auto Save Service\n *\n * Helper functions for handling data while user is completing form.\n *\n * ```js\n * import { autoSaveService } from '@oneblink/apps'\n * ```\n */\nexport * as autoSaveService from './auto-save-service'\n/**\n * ## Notification Service\n *\n * Helper functions for notification handling\n *\n * ```js\n * import { notificationService } from '@oneblink/apps'\n * ```\n *\n * ### Service Worker\n *\n * To display push notifications and allow them to be clicked to open the\n * application, add the following JavaScript to your service worker (we\n * recommend using\n * [offline-plugin](https://www.npmjs.com/package/offline-plugin)):\n *\n * #### Example\n *\n * ```js\n * self.addEventListener('push', (event) => {\n * console.log('push event', event)\n *\n * if (!event.data) {\n * console.log('Received push event without any data', event)\n * return\n * }\n * const notification = event.data.json()\n *\n * event.waitUntil(\n * clients.matchAll().then((c) => {\n * if (c.length === 0 || c.every((client) => !client.focused)) {\n * // Show notification\n * return self.registration.showNotification(\n * notification.title,\n * notification.options,\n * )\n * } else {\n * console.log('Application is already open!')\n * }\n * }),\n * )\n * })\n *\n * self.addEventListener('notificationclick', (event) => {\n * console.log('notification click event', event)\n *\n * const pathname =\n * event.notification.data && event.notification.data.pathname\n * ? event.notification.data.pathname\n * : '/'\n *\n * event.waitUntil(\n * clients.matchAll().then((clis) => {\n * const client = clis[0]\n * if (client === undefined) {\n * // there are no visible windows. Open one.\n * clients.openWindow(pathname)\n * } else {\n * client.navigate(pathname)\n * client.focus()\n * }\n *\n * return self.registration\n * .getNotifications()\n * .then((notifications) => {\n * notifications.forEach((notification) => {\n * notification.close()\n * })\n * })\n * }),\n * )\n * })\n * ```\n */\nexport * as notificationService from './notification-service'\n/**\n * ## Form Service\n *\n * Helper functions for form handling\n *\n * ```js\n * import { formService } from '@oneblink/apps'\n * ```\n */\nexport * as formService from './form-service'\n/**\n * ## Approvals Service\n *\n * Helper functions for handling approvals\n *\n * ```js\n * import { approvalsService } from '@oneblink/apps'\n * ```\n */\nexport * as approvalsService from './approvals-service'\n/**\n * ## Forms App Service\n *\n * Helper functions for forms apps\n *\n * ```js\n * import { formsAppService } from '@oneblink/apps'\n * ```\n */\nexport * as formsAppService from './forms-app-service'\n/**\n * ## Form Store Service\n *\n * Helper functions for handling Form Store Records\n *\n * ```js\n * import { formStoreService } from '@oneblink/apps'\n * ```\n */\nexport * as formStoreService from './form-store-service'\n/**\n * ## Localisation Service\n *\n * Helper functions for handling all things locale.\n *\n * ```js\n * import { localisationService } from '@oneblink/apps'\n * ```\n */\nexport * as localisationService from './localisation-service'\n/**\n * ## Attachments Service\n *\n * Helper functions for attachment handling\n *\n * ```js\n * import { attachmentsService } from '@oneblink/apps'\n * ```\n */\nexport * as attachmentsService from './attachments-service'\n/**\n * ## Scheduled Tasks Service\n *\n * Helper functions for scheduled tasks\n *\n * ```js\n * import { scheduledTasksService } from '@oneblink/apps'\n * ```\n */\nexport * as scheduledTasksService from './scheduled-tasks-service'\n/**\n * ## Forms App Environment Service\n *\n * Helper functions for forms app environments\n *\n * ```js\n * import { formsAppEnvironmentService } from '@oneblink/apps'\n * ```\n */\nexport * as formsAppEnvironmentService from './forms-app-environment-service'\n\nexport { default as OneBlinkAppsError } from './services/errors/oneBlinkAppsError'\nimport tenants from './tenants'\nexport { default as Sentry } from './Sentry'\n\nexport const useTenantCivicPlus = () => tenants.useCivicPlus()\nexport const useTenantOneBlink = () => tenants.useOneBlink()\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/apps/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAA;AACnD;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAA;AAC7C;;;;;;;;GAQG;AACH,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAA;AAC/C;;;;;;;;GAQG;AACH,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAA;AACnD;;;;;;;;GAQG;AACH,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAA;AACnD;;;;;;;;GAQG;AACH,OAAO,KAAK,iBAAiB,MAAM,sBAAsB,CAAA;AACzD;;;;;;;;GAQG;AACH,OAAO,KAAK,UAAU,MAAM,eAAe,CAAA;AAC3C;;;;;;;;GAQG;AACH,OAAO,KAAK,iBAAiB,MAAM,sBAAsB,CAAA;AACzD;;;;;;;;GAQG;AACH,OAAO,KAAK,eAAe,MAAM,qBAAqB,CAAA;AACtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,OAAO,KAAK,mBAAmB,MAAM,wBAAwB,CAAA;AAC7D;;;;;;;;GAQG;AACH,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAA;AAC7C;;;;;;;;GAQG;AACH,OAAO,KAAK,gBAAgB,MAAM,qBAAqB,CAAA;AACvD;;;;;;;;GAQG;AACH,OAAO,KAAK,eAAe,MAAM,qBAAqB,CAAA;AACtD;;;;;;;;GAQG;AACH,OAAO,KAAK,gBAAgB,MAAM,sBAAsB,CAAA;AACxD;;;;;;;;GAQG;AACH,OAAO,KAAK,mBAAmB,MAAM,wBAAwB,CAAA;AAC7D;;;;;;;;GAQG;AACH,OAAO,KAAK,kBAAkB,MAAM,uBAAuB,CAAA;AAC3D;;;;;;;;GAQG;AACH,OAAO,KAAK,qBAAqB,MAAM,2BAA2B,CAAA;AAClE;;;;;;;;GAQG;AACH,OAAO,KAAK,0BAA0B,MAAM,iCAAiC,CAAA;AAE7E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAClF,OAAO,OAAO,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;AAE5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,CAAA;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAA","sourcesContent":["/**\n * ## Offline Service\n *\n * Helper functions for offline handling\n *\n * ```js\n * import { offlineService } from '@oneblink/apps-react'\n * ```\n */\nexport * as offlineService from './offline-service'\n/**\n * ## Authentication/Authorisation Service\n *\n * Helper functions for handling user authentication and authorisation.\n *\n * **NOTE: `init()` must be called before using some of the functions in this\n * service.**\n *\n * ```js\n * import { authService } from '@oneblink/apps-react'\n * ```\n */\nexport * as authService from './auth-service'\n/**\n * ## Draft Service\n *\n * Helper functions for handling drafts.\n *\n * ```js\n * import { draftService } from '@oneblink/apps-react'\n * ```\n */\nexport * as draftService from './draft-service'\n/**\n * ## Prefill Service\n *\n * Helper functions for offline handling\n *\n * ```js\n * import { prefillService } from '@oneblink/apps-react'\n * ```\n */\nexport * as prefillService from './prefill-service'\n/**\n * ## Payment Service\n *\n * Helper functions for payment handling\n *\n * ```js\n * import { paymentService } from '@oneblink/apps-react'\n * ```\n */\nexport * as paymentService from './payment-service'\n/**\n * ## Scheduling Service\n *\n * Helper functions for scheduling booking handling\n *\n * ```js\n * import { schedulingService } from '@oneblink/apps-react'\n * ```\n */\nexport * as schedulingService from './scheduling-service'\n/**\n * ## Job Service\n *\n * Helper functions for job handling\n *\n * ```js\n * import { jobService } from '@oneblink/apps-react'\n * ```\n */\nexport * as jobService from './job-service'\n/**\n * ## Submission Service\n *\n * Helper functions for handling form submissions\n *\n * ```js\n * import { submissionService } from '@oneblink/apps-react'\n * ```\n */\nexport * as submissionService from './submission-service'\n/**\n * ## Auto Save Service\n *\n * Helper functions for handling data while user is completing form.\n *\n * ```js\n * import { autoSaveService } from '@oneblink/apps-react'\n * ```\n */\nexport * as autoSaveService from './auto-save-service'\n/**\n * ## Notification Service\n *\n * Helper functions for notification handling\n *\n * ```js\n * import { notificationService } from '@oneblink/apps-react'\n * ```\n *\n * ### Service Worker\n *\n * To display push notifications and allow them to be clicked to open the\n * application, add the following JavaScript to your service worker (we\n * recommend using\n * [offline-plugin](https://www.npmjs.com/package/offline-plugin)):\n *\n * #### Example\n *\n * ```js\n * self.addEventListener('push', (event) => {\n * console.log('push event', event)\n *\n * if (!event.data) {\n * console.log('Received push event without any data', event)\n * return\n * }\n * const notification = event.data.json()\n *\n * event.waitUntil(\n * clients.matchAll().then((c) => {\n * if (c.length === 0 || c.every((client) => !client.focused)) {\n * // Show notification\n * return self.registration.showNotification(\n * notification.title,\n * notification.options,\n * )\n * } else {\n * console.log('Application is already open!')\n * }\n * }),\n * )\n * })\n *\n * self.addEventListener('notificationclick', (event) => {\n * console.log('notification click event', event)\n *\n * const pathname =\n * event.notification.data && event.notification.data.pathname\n * ? event.notification.data.pathname\n * : '/'\n *\n * event.waitUntil(\n * clients.matchAll().then((clis) => {\n * const client = clis[0]\n * if (client === undefined) {\n * // there are no visible windows. Open one.\n * clients.openWindow(pathname)\n * } else {\n * client.navigate(pathname)\n * client.focus()\n * }\n *\n * return self.registration\n * .getNotifications()\n * .then((notifications) => {\n * notifications.forEach((notification) => {\n * notification.close()\n * })\n * })\n * }),\n * )\n * })\n * ```\n */\nexport * as notificationService from './notification-service'\n/**\n * ## Form Service\n *\n * Helper functions for form handling\n *\n * ```js\n * import { formService } from '@oneblink/apps-react'\n * ```\n */\nexport * as formService from './form-service'\n/**\n * ## Approvals Service\n *\n * Helper functions for handling approvals\n *\n * ```js\n * import { approvalsService } from '@oneblink/apps-react'\n * ```\n */\nexport * as approvalsService from './approvals-service'\n/**\n * ## Forms App Service\n *\n * Helper functions for forms apps\n *\n * ```js\n * import { formsAppService } from '@oneblink/apps-react'\n * ```\n */\nexport * as formsAppService from './forms-app-service'\n/**\n * ## Form Store Service\n *\n * Helper functions for handling Form Store Records\n *\n * ```js\n * import { formStoreService } from '@oneblink/apps-react'\n * ```\n */\nexport * as formStoreService from './form-store-service'\n/**\n * ## Localisation Service\n *\n * Helper functions for handling all things locale.\n *\n * ```js\n * import { localisationService } from '@oneblink/apps-react'\n * ```\n */\nexport * as localisationService from './localisation-service'\n/**\n * ## Attachments Service\n *\n * Helper functions for attachment handling\n *\n * ```js\n * import { attachmentsService } from '@oneblink/apps-react'\n * ```\n */\nexport * as attachmentsService from './attachments-service'\n/**\n * ## Scheduled Tasks Service\n *\n * Helper functions for scheduled tasks\n *\n * ```js\n * import { scheduledTasksService } from '@oneblink/apps-react'\n * ```\n */\nexport * as scheduledTasksService from './scheduled-tasks-service'\n/**\n * ## Forms App Environment Service\n *\n * Helper functions for forms app environments\n *\n * ```js\n * import { formsAppEnvironmentService } from '@oneblink/apps-react'\n * ```\n */\nexport * as formsAppEnvironmentService from './forms-app-environment-service'\n\nexport { default as OneBlinkAppsError } from './services/errors/oneBlinkAppsError'\nimport tenants from './tenants'\nexport { default as Sentry } from './Sentry'\n\nexport const useTenantCivicPlus = () => tenants.useCivicPlus()\nexport const useTenantOneBlink = () => tenants.useOneBlink()\n"]}
@@ -17,12 +17,13 @@ interface OneBlinkAppsTenant {
17
17
  distanceUnitShortName: string;
18
18
  }
19
19
  declare class Tenants {
20
- tenant: 'oneblink' | 'civicplus';
20
+ tenant: 'oneblink' | 'civicplus' | 'oneblinkUS';
21
21
  constructor();
22
22
  get isTestEnvironment(): boolean;
23
23
  get current(): OneBlinkAppsTenant;
24
24
  get locale(): "en-AU" | "en-US";
25
25
  useOneBlink(): void;
26
+ useOneBlinkUS(): void;
26
27
  useCivicPlus(): void;
27
28
  }
28
29
  declare const _default: Tenants;
@@ -59,6 +59,17 @@ const tenants = {
59
59
  distanceUnit: 'feet',
60
60
  distanceUnitShortName: 'ft',
61
61
  },
62
+ oneblinkUS: {
63
+ awsRegion: 'us-east-1',
64
+ loginDomain: 'login.test.us.oneblink.io',
65
+ apiOrigin: 'https://auth-api.test.us.oneblink.io',
66
+ vapidPublicKey: 'BF-WeCKYxp6R55nN5SX7L0_dVRAXlMdVRdsuvbiv0T7zP-yXTGTMw4F1O45pC0UdTk2m6DaOkZRzTJ1XWh2ByZw',
67
+ intlFormats: generateFormatters('en-US'),
68
+ name: 'OneBlink',
69
+ productShortName: 'OneBlink LcS',
70
+ distanceUnit: 'feet',
71
+ distanceUnitShortName: 'ft',
72
+ },
62
73
  },
63
74
  prod: {
64
75
  oneblink: {
@@ -83,6 +94,17 @@ const tenants = {
83
94
  distanceUnit: 'feet',
84
95
  distanceUnitShortName: 'ft',
85
96
  },
97
+ oneblinkUS: {
98
+ awsRegion: 'us-east-1',
99
+ loginDomain: 'login.us.oneblink.io',
100
+ apiOrigin: 'https://auth-api.us.oneblink.io',
101
+ vapidPublicKey: 'BKL8Vk_U46_To07_fkVOAExQp8Zi_XjEDunLqCz8cYEXcX3Em0qMdMdROfT6MYb7EKIkUK1Ymgvf3tFnkYrKCfc',
102
+ intlFormats: generateFormatters('en-US'),
103
+ name: 'OneBlink',
104
+ productShortName: 'OneBlink LcS',
105
+ distanceUnit: 'feet',
106
+ distanceUnitShortName: 'ft',
107
+ },
86
108
  },
87
109
  };
88
110
  class Tenants {
@@ -118,8 +140,10 @@ class Tenants {
118
140
  useOneBlink() {
119
141
  this.tenant = 'oneblink';
120
142
  }
143
+ useOneBlinkUS() {
144
+ this.tenant = 'oneblinkUS';
145
+ }
121
146
  useCivicPlus() {
122
- console.log('triggered');
123
147
  this.tenant = 'civicplus';
124
148
  }
125
149
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tenants.js","sourceRoot":"","sources":["../../src/apps/tenants.ts"],"names":[],"mappings":"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","sourcesContent":["interface OneBlinkAppsTenant {\n awsRegion: string\n loginDomain: string\n apiOrigin: string\n vapidPublicKey: string\n intlFormats: {\n number: Intl.NumberFormat\n currency: Intl.NumberFormat\n date: Intl.DateTimeFormat\n dateLong: Intl.DateTimeFormat\n time: Intl.DateTimeFormat\n olderIOSTime: Intl.DateTimeFormat\n }\n name: string\n productShortName: string\n distanceUnit: string\n distanceUnitShortName: string\n}\ntype Locale = 'en-AU' | 'en-US'\n\nconst getCurrency = (locale: Locale) => {\n switch (locale) {\n case 'en-US':\n return 'USD'\n case 'en-AU':\n default:\n return 'AUD'\n }\n}\n\nconst generateFormatters = (locale: Locale) => {\n return {\n number: new Intl.NumberFormat(locale, {\n style: 'decimal',\n maximumFractionDigits: 20,\n }),\n currency: new Intl.NumberFormat(locale, {\n style: 'currency',\n currency: getCurrency(locale),\n }),\n date: new Intl.DateTimeFormat(locale, {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n }),\n dateLong: new Intl.DateTimeFormat(locale, {\n dateStyle: 'full',\n }),\n time: new Intl.DateTimeFormat(locale, {\n timeStyle: 'short',\n }),\n olderIOSTime: new Intl.DateTimeFormat(locale, {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n }),\n }\n}\n\nconst tenants = {\n test: {\n oneblink: {\n awsRegion: 'ap-southeast-2',\n loginDomain: 'login.test.oneblink.io',\n apiOrigin: 'https://auth-api.test.blinkm.io',\n vapidPublicKey:\n 'BE5wtYdaQW3z7DWc08rzNlOwPuituVWFRLW_lUMD78ZJatFOjio8fYDHaIpQCRyeKsJ5j4kLaFU374J4dM90iUc',\n intlFormats: generateFormatters('en-AU'),\n name: 'OneBlink',\n productShortName: 'OneBlink LcS',\n distanceUnit: 'meters',\n distanceUnitShortName: 'm',\n },\n civicplus: {\n awsRegion: 'us-east-2',\n loginDomain: 'login.test.transform.civicplus.com',\n apiOrigin: 'https://auth-api.test.transform.civicplus.com',\n vapidPublicKey:\n 'BLg2Dn9sYj1a0I3AcS22Fg71uubdMLwoemG8zfnPOljgFKB-5MR3FIxc2Mtt0AzM3zk2QWl3YzEy6EEwIUmz19k',\n intlFormats: generateFormatters('en-US'),\n name: 'CivicPlus',\n productShortName: 'CivicOptimize',\n distanceUnit: 'feet',\n distanceUnitShortName: 'ft',\n },\n },\n prod: {\n oneblink: {\n awsRegion: 'ap-southeast-2',\n loginDomain: 'login.oneblink.io',\n apiOrigin: 'https://auth-api.blinkm.io',\n vapidPublicKey:\n 'BADH0JnMngI0uFKUnbC79VGXy5d6WutccnEvVuFBMx--BrZtFAHGTgOBiABJXmE8_VHC92_jK5K-2qdP2kZeius',\n intlFormats: generateFormatters('en-AU'),\n name: 'OneBlink',\n productShortName: 'OneBlink LcS',\n distanceUnit: 'meters',\n distanceUnitShortName: 'm',\n },\n civicplus: {\n awsRegion: 'us-east-2',\n loginDomain: 'login.transform.civicplus.com',\n apiOrigin: 'https://auth-api.transform.civicplus.com',\n vapidPublicKey:\n 'BLoDtCutrC7tEd75x89zBaIyz3Fk8AeWOcABasV3YO4Tei5UO8WjJVPFyilNLYxeseaiKlgoa0DOh1HoR59M_G4',\n intlFormats: generateFormatters('en-US'),\n name: 'CivicPlus',\n productShortName: 'CivicOptimize',\n distanceUnit: 'feet',\n distanceUnitShortName: 'ft',\n },\n },\n}\n\nclass Tenants {\n tenant: 'oneblink' | 'civicplus'\n\n constructor() {\n this.tenant = 'oneblink'\n }\n\n get isTestEnvironment() {\n // @ts-expect-error\n return window.ONEBLINK_APPS_ENVIRONMENT === 'test'\n }\n\n get current(): OneBlinkAppsTenant {\n switch (this.tenant) {\n case 'civicplus':\n return this.isTestEnvironment\n ? tenants.test.civicplus\n : tenants.prod.civicplus\n case 'oneblink':\n default:\n return this.isTestEnvironment\n ? tenants.test.oneblink\n : tenants.prod.oneblink\n }\n }\n\n get locale() /* : string */ {\n switch (this.tenant) {\n case 'civicplus':\n return 'en-US'\n case 'oneblink':\n default:\n return 'en-AU'\n }\n }\n\n useOneBlink() {\n this.tenant = 'oneblink'\n }\n\n useCivicPlus() {\n console.log('triggered')\n this.tenant = 'civicplus'\n }\n}\n\nexport default new Tenants()\n"]}
1
+ {"version":3,"file":"tenants.js","sourceRoot":"","sources":["../../src/apps/tenants.ts"],"names":[],"mappings":"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","sourcesContent":["interface OneBlinkAppsTenant {\n awsRegion: string\n loginDomain: string\n apiOrigin: string\n vapidPublicKey: string\n intlFormats: {\n number: Intl.NumberFormat\n currency: Intl.NumberFormat\n date: Intl.DateTimeFormat\n dateLong: Intl.DateTimeFormat\n time: Intl.DateTimeFormat\n olderIOSTime: Intl.DateTimeFormat\n }\n name: string\n productShortName: string\n distanceUnit: string\n distanceUnitShortName: string\n}\ntype Locale = 'en-AU' | 'en-US'\n\nconst getCurrency = (locale: Locale) => {\n switch (locale) {\n case 'en-US':\n return 'USD'\n case 'en-AU':\n default:\n return 'AUD'\n }\n}\n\nconst generateFormatters = (locale: Locale) => {\n return {\n number: new Intl.NumberFormat(locale, {\n style: 'decimal',\n maximumFractionDigits: 20,\n }),\n currency: new Intl.NumberFormat(locale, {\n style: 'currency',\n currency: getCurrency(locale),\n }),\n date: new Intl.DateTimeFormat(locale, {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n }),\n dateLong: new Intl.DateTimeFormat(locale, {\n dateStyle: 'full',\n }),\n time: new Intl.DateTimeFormat(locale, {\n timeStyle: 'short',\n }),\n olderIOSTime: new Intl.DateTimeFormat(locale, {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n }),\n }\n}\n\nconst tenants: Record<\n 'test' | 'prod',\n {\n oneblink: OneBlinkAppsTenant\n civicplus: OneBlinkAppsTenant\n oneblinkUS: OneBlinkAppsTenant\n }\n> = {\n test: {\n oneblink: {\n awsRegion: 'ap-southeast-2',\n loginDomain: 'login.test.oneblink.io',\n apiOrigin: 'https://auth-api.test.blinkm.io',\n vapidPublicKey:\n 'BE5wtYdaQW3z7DWc08rzNlOwPuituVWFRLW_lUMD78ZJatFOjio8fYDHaIpQCRyeKsJ5j4kLaFU374J4dM90iUc',\n intlFormats: generateFormatters('en-AU'),\n name: 'OneBlink',\n productShortName: 'OneBlink LcS',\n distanceUnit: 'meters',\n distanceUnitShortName: 'm',\n },\n civicplus: {\n awsRegion: 'us-east-2',\n loginDomain: 'login.test.transform.civicplus.com',\n apiOrigin: 'https://auth-api.test.transform.civicplus.com',\n vapidPublicKey:\n 'BLg2Dn9sYj1a0I3AcS22Fg71uubdMLwoemG8zfnPOljgFKB-5MR3FIxc2Mtt0AzM3zk2QWl3YzEy6EEwIUmz19k',\n intlFormats: generateFormatters('en-US'),\n name: 'CivicPlus',\n productShortName: 'CivicOptimize',\n distanceUnit: 'feet',\n distanceUnitShortName: 'ft',\n },\n oneblinkUS: {\n awsRegion: 'us-east-1',\n loginDomain: 'login.test.us.oneblink.io',\n apiOrigin: 'https://auth-api.test.us.oneblink.io',\n vapidPublicKey: 'BF-WeCKYxp6R55nN5SX7L0_dVRAXlMdVRdsuvbiv0T7zP-yXTGTMw4F1O45pC0UdTk2m6DaOkZRzTJ1XWh2ByZw',\n intlFormats: generateFormatters('en-US'),\n name: 'OneBlink',\n productShortName: 'OneBlink LcS',\n distanceUnit: 'feet',\n distanceUnitShortName: 'ft',\n },\n },\n prod: {\n oneblink: {\n awsRegion: 'ap-southeast-2',\n loginDomain: 'login.oneblink.io',\n apiOrigin: 'https://auth-api.blinkm.io',\n vapidPublicKey:\n 'BADH0JnMngI0uFKUnbC79VGXy5d6WutccnEvVuFBMx--BrZtFAHGTgOBiABJXmE8_VHC92_jK5K-2qdP2kZeius',\n intlFormats: generateFormatters('en-AU'),\n name: 'OneBlink',\n productShortName: 'OneBlink LcS',\n distanceUnit: 'meters',\n distanceUnitShortName: 'm',\n },\n civicplus: {\n awsRegion: 'us-east-2',\n loginDomain: 'login.transform.civicplus.com',\n apiOrigin: 'https://auth-api.transform.civicplus.com',\n vapidPublicKey:\n 'BLoDtCutrC7tEd75x89zBaIyz3Fk8AeWOcABasV3YO4Tei5UO8WjJVPFyilNLYxeseaiKlgoa0DOh1HoR59M_G4',\n intlFormats: generateFormatters('en-US'),\n name: 'CivicPlus',\n productShortName: 'CivicOptimize',\n distanceUnit: 'feet',\n distanceUnitShortName: 'ft',\n },\n oneblinkUS: {\n awsRegion: 'us-east-1',\n loginDomain: 'login.us.oneblink.io',\n apiOrigin: 'https://auth-api.us.oneblink.io',\n vapidPublicKey: 'BKL8Vk_U46_To07_fkVOAExQp8Zi_XjEDunLqCz8cYEXcX3Em0qMdMdROfT6MYb7EKIkUK1Ymgvf3tFnkYrKCfc',\n intlFormats: generateFormatters('en-US'),\n name: 'OneBlink',\n productShortName: 'OneBlink LcS',\n distanceUnit: 'feet',\n distanceUnitShortName: 'ft',\n },\n },\n}\n\nclass Tenants {\n tenant: 'oneblink' | 'civicplus' | 'oneblinkUS'\n\n constructor() {\n this.tenant = 'oneblink'\n }\n\n get isTestEnvironment() {\n // @ts-expect-error\n return window.ONEBLINK_APPS_ENVIRONMENT === 'test'\n }\n\n get current(): OneBlinkAppsTenant {\n switch (this.tenant) {\n case 'civicplus':\n return this.isTestEnvironment\n ? tenants.test.civicplus\n : tenants.prod.civicplus\n case 'oneblink':\n default:\n return this.isTestEnvironment\n ? tenants.test.oneblink\n : tenants.prod.oneblink\n }\n }\n\n get locale() /* : string */ {\n switch (this.tenant) {\n case 'civicplus':\n return 'en-US'\n case 'oneblink':\n default:\n return 'en-AU'\n }\n }\n\n useOneBlink() {\n this.tenant = 'oneblink'\n }\n\n useOneBlinkUS() {\n this.tenant = 'oneblinkUS'\n }\n\n useCivicPlus() {\n this.tenant = 'civicplus'\n }\n}\n\nexport default new Tenants()\n"]}
@@ -17,13 +17,15 @@ import TextSymbol from '@arcgis/core/symbols/TextSymbol';
17
17
  import * as geometryEngine from '@arcgis/core/geometry/geometryEngine';
18
18
  import { Box, Divider, IconButton } from '@mui/material';
19
19
  import throttle from 'lodash.throttle';
20
- import { localisationService } from '@oneblink/apps';
20
+ import { localisationService } from '../apps';
21
21
  import { v4 as uuid } from 'uuid';
22
22
  import OnLoading from '../components/renderer/OnLoading';
23
23
  import MaterialIcon from './MaterialIcon';
24
24
  import useIsPageVisible from '../hooks/useIsPageVisible';
25
25
  import '../styles/arcgis-external.css';
26
26
  function DrawingOptionsList({ options, sketchTool, onClose, sketchToolType, setSelectedGraphicAttributes, }) {
27
+ if (!sketchTool.current)
28
+ return null;
27
29
  return (_jsxs("div", { className: "esri-widget", children: [_jsxs(Box, { sx: {
28
30
  display: 'flex',
29
31
  alignItems: 'center',
@@ -32,8 +34,9 @@ function DrawingOptionsList({ options, sketchTool, onClose, sketchToolType, setS
32
34
  e.stopPropagation();
33
35
  onClose();
34
36
  }, size: "small", "data-cypress": "copy-to-clip-board-button", children: _jsx(MaterialIcon, { fontSize: "small", children: "close" }) })] }), _jsx(Divider, { sx: { backgroundColor: 'unset', margin: '0px 8px' } }), _jsx(Box, { sx: { maxHeight: '200px', overflowY: 'auto' }, children: options === null || options === void 0 ? void 0 : options.map(({ id, value, label, description }) => (_jsx("div", { className: "ob-list__item is-clickable", style: { alignItems: 'center' }, onClick: () => {
37
+ var _a;
35
38
  onClose();
36
- sketchTool === null || sketchTool === void 0 ? void 0 : sketchTool.create(sketchToolType);
39
+ (_a = sketchTool === null || sketchTool === void 0 ? void 0 : sketchTool.current) === null || _a === void 0 ? void 0 : _a.create(sketchToolType);
37
40
  setSelectedGraphicAttributes({ value, label, description });
38
41
  }, children: label }, id))) })] }));
39
42
  }
@@ -565,9 +568,9 @@ function FormElementArcGISWebMap({ element, id, value, onChange, takeScreenShotR
565
568
  if (loadError) {
566
569
  return (_jsx("figure", { className: "ob-figure", children: _jsxs("div", { className: "figure-content has-text-centered", children: [_jsx(MaterialIcon, { className: "icon-large has-margin-bottom-6 has-text-warning", children: "error" }), _jsx("h4", { className: "title is-4", children: "We were unable to display your web map" }), _jsx("p", { children: loadError.message })] }) }));
567
570
  }
568
- return (_jsxs(_Fragment, { children: [isLoading && (_jsx("div", { className: "figure-content-absolute-center", children: _jsx(OnLoading, { small: true }) })), _jsx("div", { className: "arcgis-web-map", ref: ref, id: id, "aria-describedby": props['aria-describedby'] }), _jsx("div", { id: drawingOptionsContainerId, children: !!activeSketchToolMenu && sketchToolRef.current && (_jsx(DrawingOptionsList, { options: ((_b = (_a = element.allowedDrawingTools) === null || _a === void 0 ? void 0 : _a.find((tool) => tool.type === activeSketchToolMenu)) === null || _b === void 0 ? void 0 : _b.graphicAttributeOptions) || [], onClose: () => setActiveSketchToolMenu(undefined), setSelectedGraphicAttributes: (opt) => {
571
+ return (_jsxs(_Fragment, { children: [isLoading && (_jsx("div", { className: "figure-content-absolute-center", children: _jsx(OnLoading, { small: true }) })), _jsx("div", { className: "arcgis-web-map", ref: ref, id: id, "aria-describedby": props['aria-describedby'] }), _jsx("div", { id: drawingOptionsContainerId, children: !!activeSketchToolMenu && sketchToolRef && (_jsx(DrawingOptionsList, { options: ((_b = (_a = element.allowedDrawingTools) === null || _a === void 0 ? void 0 : _a.find((tool) => tool.type === activeSketchToolMenu)) === null || _b === void 0 ? void 0 : _b.graphicAttributeOptions) || [], onClose: () => setActiveSketchToolMenu(undefined), setSelectedGraphicAttributes: (opt) => {
569
572
  setSelectedGraphicAttributes(opt);
570
- }, sketchToolType: activeSketchToolMenu, sketchTool: sketchToolRef.current })) })] }));
573
+ }, sketchToolType: activeSketchToolMenu, sketchTool: sketchToolRef })) })] }));
571
574
  }
572
575
  export default React.memo(FormElementArcGISWebMap);
573
576
  //# sourceMappingURL=ArcGISWebMap.js.map