@ovok/native 1.5.6 → 1.6.1
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/README.md +35 -19
- package/android/src/main/AndroidManifest.xml +1 -20
- package/app.plugin.js +181 -0
- package/lib/commonjs/index.js +5 -104
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/modules/auth/delete-account-button/components/delete-account-button.js +2 -0
- package/lib/commonjs/modules/auth/delete-account-button/components/delete-account-button.js.map +1 -1
- package/lib/commonjs/modules/auth/hooks/use-rate-limit-cooldown.js +23 -0
- package/lib/commonjs/modules/auth/hooks/use-rate-limit-cooldown.js.map +1 -0
- package/lib/commonjs/modules/auth/hooks/use-session.js +105 -0
- package/lib/commonjs/modules/auth/hooks/use-session.js.map +1 -0
- package/lib/commonjs/modules/auth/index.js +44 -0
- package/lib/commonjs/modules/auth/index.js.map +1 -1
- package/lib/commonjs/modules/auth/logout-button/components/logout-button.js +5 -2
- package/lib/commonjs/modules/auth/logout-button/components/logout-button.js.map +1 -1
- package/lib/commonjs/modules/auth/register/components/form/inputs.js +50 -1
- package/lib/commonjs/modules/auth/register/components/form/inputs.js.map +1 -1
- package/lib/commonjs/modules/auth/register/components/form/register-button.js +4 -0
- package/lib/commonjs/modules/auth/register/components/form/register-button.js.map +1 -1
- package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js +6 -0
- package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js.map +1 -1
- package/lib/commonjs/modules/auth/reset-password/components/form/inputs.js +12 -0
- package/lib/commonjs/modules/auth/reset-password/components/form/inputs.js.map +1 -1
- package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-button.js +4 -0
- package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-button.js.map +1 -1
- package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js +7 -1
- package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
- package/lib/commonjs/modules/auth/session/components/session-list.js +82 -0
- package/lib/commonjs/modules/auth/session/components/session-list.js.map +1 -0
- package/lib/commonjs/modules/auth/session/events.js +19 -0
- package/lib/commonjs/modules/auth/session/events.js.map +1 -0
- package/lib/commonjs/modules/auth/session/index.js +13 -0
- package/lib/commonjs/modules/auth/session/index.js.map +1 -0
- package/lib/commonjs/modules/auth/session/types/session-list-props.js +6 -0
- package/lib/commonjs/modules/auth/session/types/session-list-props.js.map +1 -0
- package/lib/commonjs/modules/auth/sign-in/components/form/inputs.js +26 -0
- package/lib/commonjs/modules/auth/sign-in/components/form/inputs.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/form/login-form-provider.js +48 -1
- package/lib/commonjs/modules/auth/sign-in/components/form/login-form-provider.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/form/mfa-code-input.js +58 -0
- package/lib/commonjs/modules/auth/sign-in/components/form/mfa-code-input.js.map +1 -0
- package/lib/commonjs/modules/auth/sign-in/components/form/sign-in-with-email.js +2 -0
- package/lib/commonjs/modules/auth/sign-in/components/form/sign-in-with-email.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/form/signin-button.js +13 -5
- package/lib/commonjs/modules/auth/sign-in/components/form/signin-button.js.map +1 -1
- package/lib/commonjs/modules/auth/types/session.js +2 -0
- package/lib/commonjs/modules/auth/types/session.js.map +1 -0
- package/lib/commonjs/modules/auth/utils/rate-limit.js +37 -0
- package/lib/commonjs/modules/auth/utils/rate-limit.js.map +1 -0
- package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js +3 -2
- package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -1
- package/lib/commonjs/modules/background-sync/background-safe-storage.js +76 -0
- package/lib/commonjs/modules/background-sync/background-safe-storage.js.map +1 -0
- package/lib/commonjs/modules/background-sync/index.js +11 -0
- package/lib/commonjs/modules/background-sync/index.js.map +1 -1
- package/lib/commonjs/modules/bt-device/index.js +0 -22
- package/lib/commonjs/modules/bt-device/index.js.map +1 -1
- package/lib/commonjs/modules/bt-device-instructions/index.js +39 -0
- package/lib/commonjs/modules/bt-device-instructions/index.js.map +1 -0
- package/lib/commonjs/modules/bt-management/components/android-bluetooth-foreground-service.js +64 -0
- package/lib/commonjs/modules/bt-management/components/android-bluetooth-foreground-service.js.map +1 -0
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +94 -26
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js +1 -0
- package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/runtime-context.js +95 -0
- package/lib/commonjs/modules/bt-management/hooks/runtime-context.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-background-sync.js +51 -0
- package/lib/commonjs/modules/bt-management/hooks/use-background-sync.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-bluetooth-state.js +51 -0
- package/lib/commonjs/modules/bt-management/hooks/use-bluetooth-state.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-device-connection.js +40 -0
- package/lib/commonjs/modules/bt-management/hooks/use-device-connection.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-health-import.js +82 -0
- package/lib/commonjs/modules/bt-management/hooks/use-health-import.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-measurements.js +79 -0
- package/lib/commonjs/modules/bt-management/hooks/use-measurements.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-nearby-devices.js +33 -0
- package/lib/commonjs/modules/bt-management/hooks/use-nearby-devices.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-paired-devices.js +58 -0
- package/lib/commonjs/modules/bt-management/hooks/use-paired-devices.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-scan-control.js +21 -0
- package/lib/commonjs/modules/bt-management/hooks/use-scan-control.js.map +1 -0
- package/lib/commonjs/modules/bt-management/index.js +154 -0
- package/lib/commonjs/modules/bt-management/index.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +41 -5
- package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/bt-manager.js +91 -22
- package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +59 -0
- package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +107 -4
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +9 -1
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/measurement-state-machine.js +5 -3
- package/lib/commonjs/modules/bt-management/services/devices/measurement-state-machine.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/spo/spo2.main-services.js +12 -0
- package/lib/commonjs/modules/bt-management/services/devices/spo/spo2.main-services.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/push-notification.js +39 -0
- package/lib/commonjs/modules/bt-management/services/push-notification.js.map +1 -0
- package/lib/commonjs/modules/bt-management/testing/fake-ble-manager.js +132 -0
- package/lib/commonjs/modules/bt-management/testing/fake-ble-manager.js.map +1 -0
- package/lib/commonjs/modules/bt-management/testing/index.js +28 -0
- package/lib/commonjs/modules/bt-management/testing/index.js.map +1 -0
- package/lib/commonjs/modules/bt-management/testing/recorded-frames.js +23 -0
- package/lib/commonjs/modules/bt-management/testing/recorded-frames.js.map +1 -0
- package/lib/commonjs/modules/bt-management/types/bluetooth-error.js +82 -0
- package/lib/commonjs/modules/bt-management/types/bluetooth-error.js.map +1 -0
- package/lib/commonjs/modules/bt-management/types/device-connection-event.js +6 -0
- package/lib/commonjs/modules/bt-management/types/device-connection-event.js.map +1 -0
- package/lib/commonjs/modules/bt-management/types/result-policy.js +6 -0
- package/lib/commonjs/modules/bt-management/types/result-policy.js.map +1 -0
- package/lib/commonjs/modules/bt-management/utils/result-identity.js +63 -0
- package/lib/commonjs/modules/bt-management/utils/result-identity.js.map +1 -0
- package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js +20 -5
- package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js +29 -4
- package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/data-processor.js +2 -2
- package/lib/commonjs/modules/data-sync/services/managers/data-processor.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/sync-progress-manager.js +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/sync-progress-manager.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js +29 -21
- package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/retry-save.js +99 -0
- package/lib/commonjs/modules/data-sync/utils/retry-save.js.map +1 -0
- package/lib/commonjs/modules/helpers/form-items/form-field.js +2 -0
- package/lib/commonjs/modules/helpers/form-items/form-field.js.map +1 -1
- package/lib/commonjs/modules/helpers/index.js +23 -4
- package/lib/commonjs/modules/helpers/index.js.map +1 -1
- package/lib/commonjs/modules/helpers/utils/s-log.js +4 -13
- package/lib/commonjs/modules/helpers/utils/s-log.js.map +1 -1
- package/lib/commonjs/modules/helpers/utils/sentry-logger.js +27 -17
- package/lib/commonjs/modules/helpers/utils/sentry-logger.js.map +1 -1
- package/lib/commonjs/modules/helpers/utils/telemetry.js +230 -0
- package/lib/commonjs/modules/helpers/utils/telemetry.js.map +1 -0
- package/lib/commonjs/modules/image/components/optimized-image.js +31 -6
- package/lib/commonjs/modules/image/components/optimized-image.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/content/questionnaire-content-error.js +18 -9
- package/lib/commonjs/modules/questionnaire-response-form/components/content/questionnaire-content-error.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.js +3 -2
- package/lib/commonjs/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.js +4 -2
- package/lib/commonjs/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form-provider.js +44 -17
- package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form-provider.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js +2 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.js.map +1 -1
- package/lib/commonjs/modules/tile/components/task-icon.js +2 -1
- package/lib/commonjs/modules/tile/components/task-icon.js.map +1 -1
- package/lib/commonjs/modules/tile/constants/measurement-icon-svg.js +4 -1
- package/lib/commonjs/modules/tile/constants/measurement-icon-svg.js.map +1 -1
- package/lib/commonjs/modules/ui/components/background-sync-setting.js +123 -0
- package/lib/commonjs/modules/ui/components/background-sync-setting.js.map +1 -0
- package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js +119 -0
- package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js.map +1 -0
- package/lib/commonjs/modules/ui/components/ecg-strip-viewer.js +175 -0
- package/lib/commonjs/modules/ui/components/ecg-strip-viewer.js.map +1 -0
- package/lib/commonjs/modules/ui/components/health-import-card.js +141 -0
- package/lib/commonjs/modules/ui/components/health-import-card.js.map +1 -0
- package/lib/commonjs/modules/ui/components/manual-entry-form.js +136 -0
- package/lib/commonjs/modules/ui/components/manual-entry-form.js.map +1 -0
- package/lib/commonjs/modules/ui/components/pairing-flow.js +247 -0
- package/lib/commonjs/modules/ui/components/pairing-flow.js.map +1 -0
- package/lib/commonjs/modules/ui/components/supported-devices-catalog-list.js +107 -0
- package/lib/commonjs/modules/ui/components/supported-devices-catalog-list.js.map +1 -0
- package/lib/commonjs/modules/ui/components/urine-test-result.js +99 -0
- package/lib/commonjs/modules/ui/components/urine-test-result.js.map +1 -0
- package/lib/commonjs/modules/ui/index.js +116 -0
- package/lib/commonjs/modules/ui/index.js.map +1 -0
- package/lib/commonjs/modules/ui/types.js +6 -0
- package/lib/commonjs/modules/ui/types.js.map +1 -0
- package/lib/commonjs/modules/ui/use-ovok-ui.js +51 -0
- package/lib/commonjs/modules/ui/use-ovok-ui.js.map +1 -0
- package/lib/module/index.js +3 -9
- package/lib/module/index.js.map +1 -1
- package/lib/module/modules/auth/delete-account-button/components/delete-account-button.js +2 -0
- package/lib/module/modules/auth/delete-account-button/components/delete-account-button.js.map +1 -1
- package/lib/module/modules/auth/hooks/use-rate-limit-cooldown.js +17 -0
- package/lib/module/modules/auth/hooks/use-rate-limit-cooldown.js.map +1 -0
- package/lib/module/modules/auth/hooks/use-session.js +99 -0
- package/lib/module/modules/auth/hooks/use-session.js.map +1 -0
- package/lib/module/modules/auth/index.js +4 -0
- package/lib/module/modules/auth/index.js.map +1 -1
- package/lib/module/modules/auth/logout-button/components/logout-button.js +5 -2
- package/lib/module/modules/auth/logout-button/components/logout-button.js.map +1 -1
- package/lib/module/modules/auth/register/components/form/inputs.js +50 -1
- package/lib/module/modules/auth/register/components/form/inputs.js.map +1 -1
- package/lib/module/modules/auth/register/components/form/register-button.js +4 -0
- package/lib/module/modules/auth/register/components/form/register-button.js.map +1 -1
- package/lib/module/modules/auth/register/components/form/register-form-provider.js +6 -0
- package/lib/module/modules/auth/register/components/form/register-form-provider.js.map +1 -1
- package/lib/module/modules/auth/reset-password/components/form/inputs.js +12 -0
- package/lib/module/modules/auth/reset-password/components/form/inputs.js.map +1 -1
- package/lib/module/modules/auth/reset-password/components/form/reset-password-button.js +4 -0
- package/lib/module/modules/auth/reset-password/components/form/reset-password-button.js.map +1 -1
- package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js +7 -1
- package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
- package/lib/module/modules/auth/session/components/session-list.js +76 -0
- package/lib/module/modules/auth/session/components/session-list.js.map +1 -0
- package/lib/module/modules/auth/session/events.js +13 -0
- package/lib/module/modules/auth/session/events.js.map +1 -0
- package/lib/module/modules/auth/session/index.js +4 -0
- package/lib/module/modules/auth/session/index.js.map +1 -0
- package/lib/module/modules/auth/session/types/session-list-props.js +4 -0
- package/lib/module/modules/auth/session/types/session-list-props.js.map +1 -0
- package/lib/module/modules/auth/sign-in/components/form/inputs.js +26 -0
- package/lib/module/modules/auth/sign-in/components/form/inputs.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/form/login-form-provider.js +48 -1
- package/lib/module/modules/auth/sign-in/components/form/login-form-provider.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/form/mfa-code-input.js +52 -0
- package/lib/module/modules/auth/sign-in/components/form/mfa-code-input.js.map +1 -0
- package/lib/module/modules/auth/sign-in/components/form/sign-in-with-email.js +2 -0
- package/lib/module/modules/auth/sign-in/components/form/sign-in-with-email.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/form/signin-button.js +13 -5
- package/lib/module/modules/auth/sign-in/components/form/signin-button.js.map +1 -1
- package/lib/module/modules/auth/types/session.js +2 -0
- package/lib/module/modules/auth/types/session.js.map +1 -0
- package/lib/module/modules/auth/utils/rate-limit.js +31 -0
- package/lib/module/modules/auth/utils/rate-limit.js.map +1 -0
- package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js +3 -2
- package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -1
- package/lib/module/modules/background-sync/background-safe-storage.js +71 -0
- package/lib/module/modules/background-sync/background-safe-storage.js.map +1 -0
- package/lib/module/modules/background-sync/index.js +1 -0
- package/lib/module/modules/background-sync/index.js.map +1 -1
- package/lib/module/modules/bt-device/index.js +0 -2
- package/lib/module/modules/bt-device/index.js.map +1 -1
- package/lib/module/modules/bt-device-instructions/index.js +6 -0
- package/lib/module/modules/bt-device-instructions/index.js.map +1 -0
- package/lib/module/modules/bt-management/components/android-bluetooth-foreground-service.js +58 -0
- package/lib/module/modules/bt-management/components/android-bluetooth-foreground-service.js.map +1 -0
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +94 -26
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/module/modules/bt-management/constants/measurement-field-catalog.js +1 -0
- package/lib/module/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/runtime-context.js +86 -0
- package/lib/module/modules/bt-management/hooks/runtime-context.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-background-sync.js +45 -0
- package/lib/module/modules/bt-management/hooks/use-background-sync.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-bluetooth-state.js +45 -0
- package/lib/module/modules/bt-management/hooks/use-bluetooth-state.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-device-connection.js +34 -0
- package/lib/module/modules/bt-management/hooks/use-device-connection.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-health-import.js +76 -0
- package/lib/module/modules/bt-management/hooks/use-health-import.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-measurements.js +73 -0
- package/lib/module/modules/bt-management/hooks/use-measurements.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-nearby-devices.js +27 -0
- package/lib/module/modules/bt-management/hooks/use-nearby-devices.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-paired-devices.js +52 -0
- package/lib/module/modules/bt-management/hooks/use-paired-devices.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-scan-control.js +16 -0
- package/lib/module/modules/bt-management/hooks/use-scan-control.js.map +1 -0
- package/lib/module/modules/bt-management/index.js +14 -0
- package/lib/module/modules/bt-management/index.js.map +1 -1
- package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +41 -5
- package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
- package/lib/module/modules/bt-management/services/bt-manager.js +91 -22
- package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +59 -0
- package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +107 -4
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +9 -1
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +1 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/measurement-state-machine.js +5 -3
- package/lib/module/modules/bt-management/services/devices/measurement-state-machine.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/spo/spo2.main-services.js +12 -0
- package/lib/module/modules/bt-management/services/devices/spo/spo2.main-services.js.map +1 -1
- package/lib/module/modules/bt-management/services/push-notification.js +34 -0
- package/lib/module/modules/bt-management/services/push-notification.js.map +1 -0
- package/lib/module/modules/bt-management/testing/fake-ble-manager.js +127 -0
- package/lib/module/modules/bt-management/testing/fake-ble-manager.js.map +1 -0
- package/lib/module/modules/bt-management/testing/index.js +5 -0
- package/lib/module/modules/bt-management/testing/index.js.map +1 -0
- package/lib/module/modules/bt-management/testing/recorded-frames.js +17 -0
- package/lib/module/modules/bt-management/testing/recorded-frames.js.map +1 -0
- package/lib/module/modules/bt-management/types/bluetooth-error.js +76 -0
- package/lib/module/modules/bt-management/types/bluetooth-error.js.map +1 -0
- package/lib/module/modules/bt-management/types/device-connection-event.js +4 -0
- package/lib/module/modules/bt-management/types/device-connection-event.js.map +1 -0
- package/lib/module/modules/bt-management/types/result-policy.js +4 -0
- package/lib/module/modules/bt-management/types/result-policy.js.map +1 -0
- package/lib/module/modules/bt-management/utils/result-identity.js +57 -0
- package/lib/module/modules/bt-management/utils/result-identity.js.map +1 -0
- package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js +20 -5
- package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
- package/lib/module/modules/data-sync/services/base-health-sync-service.js +29 -4
- package/lib/module/modules/data-sync/services/base-health-sync-service.js.map +1 -1
- package/lib/module/modules/data-sync/services/managers/data-processor.js +2 -2
- package/lib/module/modules/data-sync/services/managers/data-processor.js.map +1 -1
- package/lib/module/modules/data-sync/services/managers/sync-progress-manager.js +1 -1
- package/lib/module/modules/data-sync/services/managers/sync-progress-manager.js.map +1 -1
- package/lib/module/modules/data-sync/utils/generate-observation-entry.js +29 -21
- package/lib/module/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
- package/lib/module/modules/data-sync/utils/retry-save.js +92 -0
- package/lib/module/modules/data-sync/utils/retry-save.js.map +1 -0
- package/lib/module/modules/helpers/form-items/form-field.js +2 -0
- package/lib/module/modules/helpers/form-items/form-field.js.map +1 -1
- package/lib/module/modules/helpers/index.js +2 -1
- package/lib/module/modules/helpers/index.js.map +1 -1
- package/lib/module/modules/helpers/utils/s-log.js +4 -12
- package/lib/module/modules/helpers/utils/s-log.js.map +1 -1
- package/lib/module/modules/helpers/utils/sentry-logger.js +25 -14
- package/lib/module/modules/helpers/utils/sentry-logger.js.map +1 -1
- package/lib/module/modules/helpers/utils/telemetry.js +218 -0
- package/lib/module/modules/helpers/utils/telemetry.js.map +1 -0
- package/lib/module/modules/image/components/optimized-image.js +32 -7
- package/lib/module/modules/image/components/optimized-image.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/content/questionnaire-content-error.js +20 -11
- package/lib/module/modules/questionnaire-response-form/components/content/questionnaire-content-error.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.js +3 -2
- package/lib/module/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.js +4 -2
- package/lib/module/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/questionnaire-form-provider.js +44 -17
- package/lib/module/modules/questionnaire-response-form/components/questionnaire-form-provider.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js +2 -1
- package/lib/module/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.js.map +1 -1
- package/lib/module/modules/tile/components/task-icon.js +2 -1
- package/lib/module/modules/tile/components/task-icon.js.map +1 -1
- package/lib/module/modules/tile/constants/measurement-icon-svg.js +4 -1
- package/lib/module/modules/tile/constants/measurement-icon-svg.js.map +1 -1
- package/lib/module/modules/ui/components/background-sync-setting.js +117 -0
- package/lib/module/modules/ui/components/background-sync-setting.js.map +1 -0
- package/lib/module/modules/ui/components/bluetooth-state-notice.js +113 -0
- package/lib/module/modules/ui/components/bluetooth-state-notice.js.map +1 -0
- package/lib/module/modules/ui/components/ecg-strip-viewer.js +169 -0
- package/lib/module/modules/ui/components/ecg-strip-viewer.js.map +1 -0
- package/lib/module/modules/ui/components/health-import-card.js +135 -0
- package/lib/module/modules/ui/components/health-import-card.js.map +1 -0
- package/lib/module/modules/ui/components/manual-entry-form.js +130 -0
- package/lib/module/modules/ui/components/manual-entry-form.js.map +1 -0
- package/lib/module/modules/ui/components/pairing-flow.js +241 -0
- package/lib/module/modules/ui/components/pairing-flow.js.map +1 -0
- package/lib/module/modules/ui/components/supported-devices-catalog-list.js +101 -0
- package/lib/module/modules/ui/components/supported-devices-catalog-list.js.map +1 -0
- package/lib/module/modules/ui/components/urine-test-result.js +94 -0
- package/lib/module/modules/ui/components/urine-test-result.js.map +1 -0
- package/lib/module/modules/ui/index.js +13 -0
- package/lib/module/modules/ui/index.js.map +1 -0
- package/lib/module/modules/ui/types.js +4 -0
- package/lib/module/modules/ui/types.js.map +1 -0
- package/lib/module/modules/ui/use-ovok-ui.js +45 -0
- package/lib/module/modules/ui/use-ovok-ui.js.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +0 -9
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/delete-account-button/components/delete-account-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-rate-limit-cooldown.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-rate-limit-cooldown.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/index.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/auth/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/logout-button/components/logout-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/register/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/register/components/form/register-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/register/components/form/register-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/reset-password-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/session/components/session-list.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/auth/session/components/session-list.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/session/events.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/auth/session/events.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/session/index.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/auth/session/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/session/types/session-list-props.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/auth/session/types/session-list-props.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/login-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/mfa-code-input.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/mfa-code-input.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/sign-in-with-email.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/sign-in-with-email.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/signin-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/sign-in.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/sign-in.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/contexts/login-form-context.d.ts +2 -46
- package/lib/typescript/commonjs/src/modules/auth/sign-in/contexts/login-form-context.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/hooks/use-login-form.d.ts +1 -47
- package/lib/typescript/commonjs/src/modules/auth/sign-in/hooks/use-login-form.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/types/login-form-context-type.d.ts +11 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/types/login-form-context-type.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/types/session.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/auth/types/session.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/utils/rate-limit.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/auth/utils/rate-limit.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/background-sync/background-safe-storage.d.ts +31 -0
- package/lib/typescript/commonjs/src/modules/background-sync/background-safe-storage.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/background-sync/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/background-sync/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/index.d.ts +0 -2
- package/lib/typescript/commonjs/src/modules/bt-device/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device-instructions/index.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-device-instructions/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts +14 -0
- package/lib/typescript/commonjs/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts +48 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-background-sync.d.ts +14 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-background-sync.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bluetooth-state.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bluetooth-state.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-device-connection.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-device-connection.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-health-import.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-health-import.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-measurements.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-measurements.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-devices.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-devices.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-paired-devices.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-paired-devices.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-scan-control.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-scan-control.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +14 -0
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +22 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +10 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/measurement-state-machine.d.ts +3 -2
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/measurement-state-machine.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/spo/spo2.main-services.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/push-notification.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/push-notification.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/testing/fake-ble-manager.d.ts +33 -0
- package/lib/typescript/commonjs/src/modules/bt-management/testing/fake-ble-manager.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/testing/index.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/bt-management/testing/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/testing/recorded-frames.d.ts +12 -0
- package/lib/typescript/commonjs/src/modules/bt-management/testing/recorded-frames.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/bluetooth-error.d.ts +23 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/bluetooth-error.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-connection-event.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-connection-event.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/error-callback.d.ts +5 -2
- package/lib/typescript/commonjs/src/modules/bt-management/types/error-callback.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/i-bt-managed-device.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/i-bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-policy.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-policy.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/result-identity.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/result-identity.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-authorization-status.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-authorization-status.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/sync-progress.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/sync-progress.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/generate-observation-entry.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/retry-save.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/retry-save.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/helpers/form-items/form-field.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/helpers/form-items/form-field.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/helpers/index.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/helpers/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/helpers/utils/s-log.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/helpers/utils/sentry-logger.d.ts +7 -1
- package/lib/typescript/commonjs/src/modules/helpers/utils/sentry-logger.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/helpers/utils/telemetry.d.ts +69 -0
- package/lib/typescript/commonjs/src/modules/helpers/utils/telemetry.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/image/components/optimized-image.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/image/components/optimized-image.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/image/types/optimized-image-props.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/image/types/optimized-image-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/content/questionnaire-content-error.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-navigation-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/tile/components/task-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/tile/constants/measurement-icon-svg.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/tile/constants/measurement-icon-svg.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/ui/components/background-sync-setting.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/ui/components/background-sync-setting.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts +12 -0
- package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/ecg-strip-viewer.d.ts +17 -0
- package/lib/typescript/commonjs/src/modules/ui/components/ecg-strip-viewer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/health-import-card.d.ts +13 -0
- package/lib/typescript/commonjs/src/modules/ui/components/health-import-card.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/manual-entry-form.d.ts +21 -0
- package/lib/typescript/commonjs/src/modules/ui/components/manual-entry-form.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/pairing-flow.d.ts +15 -0
- package/lib/typescript/commonjs/src/modules/ui/components/pairing-flow.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/supported-devices-catalog-list.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/ui/components/supported-devices-catalog-list.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/urine-test-result.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/ui/components/urine-test-result.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/index.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/ui/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/types.d.ts +24 -0
- package/lib/typescript/commonjs/src/modules/ui/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/use-ovok-ui.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/ui/use-ovok-ui.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +0 -9
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/delete-account-button/components/delete-account-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/hooks/use-rate-limit-cooldown.d.ts +2 -0
- package/lib/typescript/module/src/modules/auth/hooks/use-rate-limit-cooldown.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts +16 -0
- package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/index.d.ts +4 -0
- package/lib/typescript/module/src/modules/auth/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/logout-button/components/logout-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/register/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/register/components/form/register-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/register/components/form/register-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/reset-password/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/reset-password/components/form/reset-password-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/session/components/session-list.d.ts +4 -0
- package/lib/typescript/module/src/modules/auth/session/components/session-list.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/session/events.d.ts +5 -0
- package/lib/typescript/module/src/modules/auth/session/events.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/session/index.d.ts +3 -0
- package/lib/typescript/module/src/modules/auth/session/index.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/session/types/session-list-props.d.ts +5 -0
- package/lib/typescript/module/src/modules/auth/session/types/session-list-props.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/login-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/mfa-code-input.d.ts +9 -0
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/mfa-code-input.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/sign-in-with-email.d.ts +4 -0
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/sign-in-with-email.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/signin-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/components/sign-in.d.ts +4 -0
- package/lib/typescript/module/src/modules/auth/sign-in/components/sign-in.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/contexts/login-form-context.d.ts +2 -46
- package/lib/typescript/module/src/modules/auth/sign-in/contexts/login-form-context.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/hooks/use-login-form.d.ts +1 -47
- package/lib/typescript/module/src/modules/auth/sign-in/hooks/use-login-form.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/types/login-form-context-type.d.ts +11 -1
- package/lib/typescript/module/src/modules/auth/sign-in/types/login-form-context-type.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/types/session.d.ts +10 -0
- package/lib/typescript/module/src/modules/auth/types/session.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/utils/rate-limit.d.ts +11 -0
- package/lib/typescript/module/src/modules/auth/utils/rate-limit.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/background-sync/background-safe-storage.d.ts +31 -0
- package/lib/typescript/module/src/modules/background-sync/background-safe-storage.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/background-sync/index.d.ts +1 -0
- package/lib/typescript/module/src/modules/background-sync/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/index.d.ts +0 -2
- package/lib/typescript/module/src/modules/bt-device/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device-instructions/index.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-device-instructions/index.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts +14 -0
- package/lib/typescript/module/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts +48 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-background-sync.d.ts +14 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-background-sync.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bluetooth-state.d.ts +11 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bluetooth-state.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-device-connection.d.ts +7 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-device-connection.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-health-import.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-health-import.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-measurements.d.ts +11 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-measurements.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-devices.d.ts +8 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-devices.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-paired-devices.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-paired-devices.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-scan-control.d.ts +7 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-scan-control.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/index.d.ts +14 -0
- package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +22 -0
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +10 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/measurement-state-machine.d.ts +3 -2
- package/lib/typescript/module/src/modules/bt-management/services/devices/measurement-state-machine.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/spo/spo2.main-services.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/push-notification.d.ts +8 -0
- package/lib/typescript/module/src/modules/bt-management/services/push-notification.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/testing/fake-ble-manager.d.ts +33 -0
- package/lib/typescript/module/src/modules/bt-management/testing/fake-ble-manager.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/testing/index.d.ts +3 -0
- package/lib/typescript/module/src/modules/bt-management/testing/index.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/testing/recorded-frames.d.ts +12 -0
- package/lib/typescript/module/src/modules/bt-management/testing/recorded-frames.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts +3 -1
- package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/bluetooth-error.d.ts +23 -0
- package/lib/typescript/module/src/modules/bt-management/types/bluetooth-error.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/device-connection-event.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-management/types/device-connection-event.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/error-callback.d.ts +5 -2
- package/lib/typescript/module/src/modules/bt-management/types/error-callback.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/i-bt-managed-device.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/i-bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/result-policy.d.ts +8 -0
- package/lib/typescript/module/src/modules/bt-management/types/result-policy.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/utils/result-identity.d.ts +10 -0
- package/lib/typescript/module/src/modules/bt-management/utils/result-identity.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts +4 -0
- package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/health-authorization-status.d.ts +2 -0
- package/lib/typescript/module/src/modules/data-sync/types/health-authorization-status.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/sync-progress.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/sync-progress.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/generate-observation-entry.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/retry-save.d.ts +6 -0
- package/lib/typescript/module/src/modules/data-sync/utils/retry-save.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/helpers/form-items/form-field.d.ts +4 -1
- package/lib/typescript/module/src/modules/helpers/form-items/form-field.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/helpers/index.d.ts +2 -1
- package/lib/typescript/module/src/modules/helpers/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/helpers/utils/s-log.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/helpers/utils/sentry-logger.d.ts +7 -1
- package/lib/typescript/module/src/modules/helpers/utils/sentry-logger.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/helpers/utils/telemetry.d.ts +69 -0
- package/lib/typescript/module/src/modules/helpers/utils/telemetry.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/image/components/optimized-image.d.ts +1 -1
- package/lib/typescript/module/src/modules/image/components/optimized-image.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/image/types/optimized-image-props.d.ts +4 -0
- package/lib/typescript/module/src/modules/image/types/optimized-image-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/content/questionnaire-content-error.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-navigation-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.d.ts +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation.d.ts +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts +2 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/tile/components/task-icon.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/tile/constants/measurement-icon-svg.d.ts +1 -0
- package/lib/typescript/module/src/modules/tile/constants/measurement-icon-svg.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/ui/components/background-sync-setting.d.ts +9 -0
- package/lib/typescript/module/src/modules/ui/components/background-sync-setting.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts +12 -0
- package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/ecg-strip-viewer.d.ts +17 -0
- package/lib/typescript/module/src/modules/ui/components/ecg-strip-viewer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/health-import-card.d.ts +13 -0
- package/lib/typescript/module/src/modules/ui/components/health-import-card.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/manual-entry-form.d.ts +21 -0
- package/lib/typescript/module/src/modules/ui/components/manual-entry-form.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/pairing-flow.d.ts +15 -0
- package/lib/typescript/module/src/modules/ui/components/pairing-flow.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/supported-devices-catalog-list.d.ts +16 -0
- package/lib/typescript/module/src/modules/ui/components/supported-devices-catalog-list.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/urine-test-result.d.ts +10 -0
- package/lib/typescript/module/src/modules/ui/components/urine-test-result.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/index.d.ts +11 -0
- package/lib/typescript/module/src/modules/ui/index.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/types.d.ts +24 -0
- package/lib/typescript/module/src/modules/ui/types.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/use-ovok-ui.d.ts +7 -0
- package/lib/typescript/module/src/modules/ui/use-ovok-ui.d.ts.map +1 -0
- package/package.json +146 -7
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.withOvokSpan = exports.startOvokSpan = exports.sanitizeOvokTelemetryAttributes = exports.recordOvokMetric = exports.recordOvokDuration = exports.emitOvokLog = exports.configureOvokTelemetry = exports.addOvokSpanEvent = void 0;
|
|
7
|
+
/* eslint-disable import/group-exports */
|
|
8
|
+
/* eslint-disable max-lines */
|
|
9
|
+
|
|
10
|
+
const INSTRUMENTATION_NAME = "@ovok/native";
|
|
11
|
+
const INSTRUMENTATION_VERSION = "1.6.0";
|
|
12
|
+
const openTelemetryModuleName = "@opentelemetry/api";
|
|
13
|
+
const openTelemetryLogsModuleName = "@opentelemetry/api-logs";
|
|
14
|
+
let configuredOptions = {};
|
|
15
|
+
let openTelemetryApi;
|
|
16
|
+
let openTelemetryLogsApi;
|
|
17
|
+
const counters = new Map();
|
|
18
|
+
const histograms = new Map();
|
|
19
|
+
const loadOpenTelemetryApi = () => {
|
|
20
|
+
if (openTelemetryApi !== undefined) {
|
|
21
|
+
return openTelemetryApi ?? undefined;
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
// Optional peer: apps without OpenTelemetry must not need to install it.
|
|
25
|
+
openTelemetryApi = require(openTelemetryModuleName);
|
|
26
|
+
} catch {
|
|
27
|
+
openTelemetryApi = null;
|
|
28
|
+
}
|
|
29
|
+
return openTelemetryApi ?? undefined;
|
|
30
|
+
};
|
|
31
|
+
const loadOpenTelemetryLogsApi = () => {
|
|
32
|
+
if (openTelemetryLogsApi !== undefined) {
|
|
33
|
+
return openTelemetryLogsApi ?? undefined;
|
|
34
|
+
}
|
|
35
|
+
try {
|
|
36
|
+
// Optional peer: the stable logs API is distributed separately.
|
|
37
|
+
openTelemetryLogsApi = require(openTelemetryLogsModuleName);
|
|
38
|
+
} catch {
|
|
39
|
+
openTelemetryLogsApi = null;
|
|
40
|
+
}
|
|
41
|
+
return openTelemetryLogsApi ?? undefined;
|
|
42
|
+
};
|
|
43
|
+
const allowedAttributeKeys = new Set(["deviceId", "deviceName", "model", "manufacturer", "measurementTypeKey", "platform", "status", "reason", "errorCode", "retryCount", "attempt", "queueDepth", "durationMs", "success", "exhausted", "willRetry", "requestedMtu", "provider", "sampleCount"]);
|
|
44
|
+
|
|
45
|
+
/** Keeps identifiers useful for operations while excluding readings and patient data. */
|
|
46
|
+
const sanitizeOvokTelemetryAttributes = (attributes = {}) => {
|
|
47
|
+
const safe = {};
|
|
48
|
+
for (const [key, value] of Object.entries(attributes)) {
|
|
49
|
+
if (!allowedAttributeKeys.has(key)) {
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
|
|
53
|
+
safe[key] = value;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return safe;
|
|
57
|
+
};
|
|
58
|
+
exports.sanitizeOvokTelemetryAttributes = sanitizeOvokTelemetryAttributes;
|
|
59
|
+
const configureOvokTelemetry = (options = {}) => {
|
|
60
|
+
configuredOptions = options;
|
|
61
|
+
counters.clear();
|
|
62
|
+
histograms.clear();
|
|
63
|
+
};
|
|
64
|
+
exports.configureOvokTelemetry = configureOvokTelemetry;
|
|
65
|
+
const getTracer = () => {
|
|
66
|
+
try {
|
|
67
|
+
const configured = configuredOptions.tracerProvider?.getTracer(INSTRUMENTATION_NAME, INSTRUMENTATION_VERSION);
|
|
68
|
+
if (configured) {
|
|
69
|
+
return configured;
|
|
70
|
+
}
|
|
71
|
+
} catch {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
try {
|
|
75
|
+
return loadOpenTelemetryApi()?.trace?.getTracer(INSTRUMENTATION_NAME, INSTRUMENTATION_VERSION);
|
|
76
|
+
} catch {
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
const getMeter = () => {
|
|
81
|
+
try {
|
|
82
|
+
const configured = configuredOptions.meterProvider?.getMeter(INSTRUMENTATION_NAME, INSTRUMENTATION_VERSION);
|
|
83
|
+
if (configured) {
|
|
84
|
+
return configured;
|
|
85
|
+
}
|
|
86
|
+
} catch {
|
|
87
|
+
return undefined;
|
|
88
|
+
}
|
|
89
|
+
try {
|
|
90
|
+
return loadOpenTelemetryApi()?.metrics?.getMeter(INSTRUMENTATION_NAME, INSTRUMENTATION_VERSION);
|
|
91
|
+
} catch {
|
|
92
|
+
return undefined;
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
const getLogger = () => {
|
|
96
|
+
try {
|
|
97
|
+
const configured = configuredOptions.loggerProvider?.getLogger(INSTRUMENTATION_NAME, INSTRUMENTATION_VERSION);
|
|
98
|
+
if (configured) {
|
|
99
|
+
return configured;
|
|
100
|
+
}
|
|
101
|
+
} catch {
|
|
102
|
+
return undefined;
|
|
103
|
+
}
|
|
104
|
+
try {
|
|
105
|
+
return loadOpenTelemetryLogsApi()?.logs?.getLogger(INSTRUMENTATION_NAME, INSTRUMENTATION_VERSION);
|
|
106
|
+
} catch {
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
const startOvokSpan = (name, attributes = {}) => {
|
|
111
|
+
try {
|
|
112
|
+
return getTracer()?.startSpan(name, {
|
|
113
|
+
attributes: sanitizeOvokTelemetryAttributes(attributes)
|
|
114
|
+
});
|
|
115
|
+
} catch {
|
|
116
|
+
return undefined;
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
exports.startOvokSpan = startOvokSpan;
|
|
120
|
+
const recordOvokMetric = (name, value, attributes = {}) => {
|
|
121
|
+
try {
|
|
122
|
+
const meter = getMeter();
|
|
123
|
+
if (!meter) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
const safeAttributes = sanitizeOvokTelemetryAttributes(attributes);
|
|
127
|
+
const instrument = counters.get(name) ?? meter.createCounter(name);
|
|
128
|
+
counters.set(name, instrument);
|
|
129
|
+
instrument.add(value, safeAttributes);
|
|
130
|
+
} catch {
|
|
131
|
+
// Telemetry must never change SDK control flow.
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
exports.recordOvokMetric = recordOvokMetric;
|
|
135
|
+
const recordOvokDuration = (name, durationMs, attributes = {}) => {
|
|
136
|
+
try {
|
|
137
|
+
const meter = getMeter();
|
|
138
|
+
if (!meter) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
const safeAttributes = sanitizeOvokTelemetryAttributes(attributes);
|
|
142
|
+
const instrument = histograms.get(name) ?? meter.createHistogram(name);
|
|
143
|
+
histograms.set(name, instrument);
|
|
144
|
+
instrument.record(durationMs, safeAttributes);
|
|
145
|
+
} catch {
|
|
146
|
+
// Telemetry must never change SDK control flow.
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
exports.recordOvokDuration = recordOvokDuration;
|
|
150
|
+
const addOvokSpanEvent = (name, attributes = {}, span) => {
|
|
151
|
+
try {
|
|
152
|
+
const targetSpan = span ?? configuredOptions.tracerProvider?.getActiveSpan?.() ?? loadOpenTelemetryApi()?.trace?.getActiveSpan?.();
|
|
153
|
+
targetSpan?.addEvent?.(name, sanitizeOvokTelemetryAttributes(attributes));
|
|
154
|
+
} catch {
|
|
155
|
+
// Telemetry must never change SDK control flow.
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
exports.addOvokSpanEvent = addOvokSpanEvent;
|
|
159
|
+
const emitOvokLog = (severityText, body, attributes = {}) => {
|
|
160
|
+
try {
|
|
161
|
+
getLogger()?.emit({
|
|
162
|
+
severityText,
|
|
163
|
+
body,
|
|
164
|
+
attributes
|
|
165
|
+
});
|
|
166
|
+
} catch {
|
|
167
|
+
// Telemetry must never change SDK control flow.
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
exports.emitOvokLog = emitOvokLog;
|
|
171
|
+
const withOvokSpan = async (name, attributes, operation) => {
|
|
172
|
+
const tracer = getTracer();
|
|
173
|
+
const finishSpan = async span => {
|
|
174
|
+
try {
|
|
175
|
+
const result = await operation();
|
|
176
|
+
try {
|
|
177
|
+
span.setStatus?.({
|
|
178
|
+
code: 1
|
|
179
|
+
});
|
|
180
|
+
} catch {
|
|
181
|
+
// Telemetry must never change SDK control flow.
|
|
182
|
+
}
|
|
183
|
+
return result;
|
|
184
|
+
} catch (error) {
|
|
185
|
+
const normalized = error instanceof Error ? error : new Error(String(error));
|
|
186
|
+
try {
|
|
187
|
+
span.recordException?.(normalized);
|
|
188
|
+
span.setStatus?.({
|
|
189
|
+
code: 2,
|
|
190
|
+
message: normalized.message
|
|
191
|
+
});
|
|
192
|
+
} catch {
|
|
193
|
+
// Telemetry must never change SDK control flow.
|
|
194
|
+
}
|
|
195
|
+
recordOvokMetric("ovok.errors", 1, {
|
|
196
|
+
errorCode: normalized.name
|
|
197
|
+
});
|
|
198
|
+
throw error;
|
|
199
|
+
} finally {
|
|
200
|
+
try {
|
|
201
|
+
span.end();
|
|
202
|
+
} catch {
|
|
203
|
+
// Telemetry must never change SDK control flow.
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
if (tracer?.startActiveSpan) {
|
|
208
|
+
try {
|
|
209
|
+
return tracer.startActiveSpan(name, {
|
|
210
|
+
attributes: sanitizeOvokTelemetryAttributes(attributes)
|
|
211
|
+
}, span => finishSpan(span));
|
|
212
|
+
} catch {
|
|
213
|
+
return operation();
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
let span;
|
|
217
|
+
try {
|
|
218
|
+
span = tracer?.startSpan(name, {
|
|
219
|
+
attributes: sanitizeOvokTelemetryAttributes(attributes)
|
|
220
|
+
});
|
|
221
|
+
} catch {
|
|
222
|
+
return operation();
|
|
223
|
+
}
|
|
224
|
+
if (!span) {
|
|
225
|
+
return operation();
|
|
226
|
+
}
|
|
227
|
+
return finishSpan(span);
|
|
228
|
+
};
|
|
229
|
+
exports.withOvokSpan = withOvokSpan;
|
|
230
|
+
//# sourceMappingURL=telemetry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["INSTRUMENTATION_NAME","INSTRUMENTATION_VERSION","openTelemetryModuleName","openTelemetryLogsModuleName","configuredOptions","openTelemetryApi","openTelemetryLogsApi","counters","Map","histograms","loadOpenTelemetryApi","undefined","require","loadOpenTelemetryLogsApi","allowedAttributeKeys","Set","sanitizeOvokTelemetryAttributes","attributes","safe","key","value","Object","entries","has","exports","configureOvokTelemetry","options","clear","getTracer","configured","tracerProvider","trace","getMeter","meterProvider","metrics","getLogger","loggerProvider","logs","startOvokSpan","name","startSpan","recordOvokMetric","meter","safeAttributes","instrument","get","createCounter","set","add","recordOvokDuration","durationMs","createHistogram","record","addOvokSpanEvent","span","targetSpan","getActiveSpan","addEvent","emitOvokLog","severityText","body","emit","withOvokSpan","operation","tracer","finishSpan","result","setStatus","code","error","normalized","Error","String","recordException","message","errorCode","end","startActiveSpan"],"sourceRoot":"../../../../../src","sources":["modules/helpers/utils/telemetry.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,11 +19,17 @@ const OptimizedImage = exports.OptimizedImage = /*#__PURE__*/React.memo(({
|
|
|
19
19
|
fit = "contain",
|
|
20
20
|
style,
|
|
21
21
|
onLoad,
|
|
22
|
+
onError,
|
|
23
|
+
placeholder,
|
|
24
|
+
fallback,
|
|
25
|
+
maxRetries = 3,
|
|
22
26
|
containerStyle,
|
|
23
27
|
aspectRatio: providedAspectRatio,
|
|
24
28
|
...rest
|
|
25
29
|
}) => {
|
|
26
30
|
const client = (0, _core.useClient)();
|
|
31
|
+
const retryCount = React.useRef(0);
|
|
32
|
+
const [failedUri, setFailedUri] = React.useState(null);
|
|
27
33
|
const [containerSize, setContainerSize] = React.useState({
|
|
28
34
|
width: 0,
|
|
29
35
|
height: 0
|
|
@@ -39,6 +45,23 @@ const OptimizedImage = exports.OptimizedImage = /*#__PURE__*/React.memo(({
|
|
|
39
45
|
fit,
|
|
40
46
|
baseUrl: client.getBaseUrl()
|
|
41
47
|
}), [uri, calculatedWidth, calculatedHeight, fit, client]);
|
|
48
|
+
React.useEffect(() => {
|
|
49
|
+
retryCount.current = 0;
|
|
50
|
+
setFailedUri(null);
|
|
51
|
+
}, [optimizedUri]);
|
|
52
|
+
const image = (0, _expoImage.useImage)(optimizedUri, {
|
|
53
|
+
onError: (error, retry) => {
|
|
54
|
+
if (retryCount.current >= maxRetries) {
|
|
55
|
+
setFailedUri(optimizedUri);
|
|
56
|
+
onError?.({
|
|
57
|
+
error: error instanceof Error ? error.message : String(error)
|
|
58
|
+
});
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
retryCount.current += 1;
|
|
62
|
+
retry();
|
|
63
|
+
}
|
|
64
|
+
}, [optimizedUri, maxRetries, onError]);
|
|
42
65
|
const imageStyle = React.useMemo(() => [styles.base, {
|
|
43
66
|
width: calculatedWidth,
|
|
44
67
|
height: calculatedHeight,
|
|
@@ -55,20 +78,22 @@ const OptimizedImage = exports.OptimizedImage = /*#__PURE__*/React.memo(({
|
|
|
55
78
|
if (!providedAspectRatio) {
|
|
56
79
|
setCalculatedAspectRatio(imageWidth / imageHeight);
|
|
57
80
|
}
|
|
58
|
-
|
|
59
|
-
|
|
81
|
+
if (failedUri !== optimizedUri) {
|
|
82
|
+
onLoad?.(event);
|
|
83
|
+
}
|
|
84
|
+
}, [failedUri, onLoad, optimizedUri, providedAspectRatio]);
|
|
60
85
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
61
86
|
style: [styles.container, containerStyle],
|
|
62
87
|
onLayout: handleLayout,
|
|
63
88
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_expoImage.Image, {
|
|
64
|
-
source:
|
|
65
|
-
uri: optimizedUri
|
|
66
|
-
},
|
|
89
|
+
source: failedUri === optimizedUri ? fallback ?? placeholder ?? null : image ?? placeholder ?? null,
|
|
67
90
|
style: imageStyle,
|
|
91
|
+
placeholder: placeholder,
|
|
68
92
|
onLoad: handleLoad,
|
|
93
|
+
onError: image && failedUri !== optimizedUri ? onError : undefined,
|
|
69
94
|
...rest,
|
|
70
95
|
contentFit: fit
|
|
71
|
-
})
|
|
96
|
+
}, `${optimizedUri}:${retryCount.current}`)
|
|
72
97
|
});
|
|
73
98
|
});
|
|
74
99
|
const styles = _reactNative.StyleSheet.create({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","_expoImage","React","_interopRequireWildcard","_reactNative","_calculateDimension","_getOptimizedImageUrl","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OptimizedImage","exports","memo","uri","width","height","fit","style","onLoad","containerStyle","aspectRatio","providedAspectRatio","rest","client","useClient","
|
|
1
|
+
{"version":3,"names":["_core","require","_expoImage","React","_interopRequireWildcard","_reactNative","_calculateDimension","_getOptimizedImageUrl","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OptimizedImage","exports","memo","uri","width","height","fit","style","onLoad","onError","placeholder","fallback","maxRetries","containerStyle","aspectRatio","providedAspectRatio","rest","client","useClient","retryCount","useRef","failedUri","setFailedUri","useState","containerSize","setContainerSize","calculatedAspectRatio","setCalculatedAspectRatio","useMemo","calculatedWidth","calculateDimension","calculatedHeight","undefined","optimizedUri","getOptimizedImageUrl","baseUrl","getBaseUrl","useEffect","current","image","useImage","error","retry","Error","message","String","imageStyle","styles","base","contentFit","handleLayout","useCallback","event","nativeEvent","layout","handleLoad","imageWidth","imageHeight","source","jsx","View","container","onLayout","children","Image","StyleSheet","create","overflow"],"sourceRoot":"../../../../../src","sources":["modules/image/components/optimized-image.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -21,18 +21,27 @@ const QuestionnaireContentError = exports.QuestionnaireContentError = /*#__PURE_
|
|
|
21
21
|
t
|
|
22
22
|
} = (0, _reactI18next.useTranslation)();
|
|
23
23
|
const {
|
|
24
|
-
errorMessage
|
|
24
|
+
errorMessage,
|
|
25
|
+
submissionError,
|
|
26
|
+
retrySubmit
|
|
25
27
|
} = (0, _useQuestionnaireForm.useQuestionnaireForm)();
|
|
26
|
-
if (!errorMessage && !children) {
|
|
28
|
+
if (!errorMessage && !submissionError && !children) {
|
|
27
29
|
return null;
|
|
28
30
|
}
|
|
29
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
32
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativePaper.Text, {
|
|
33
|
+
variant: "bodySmall",
|
|
34
|
+
...props,
|
|
35
|
+
style: [{
|
|
36
|
+
color: theme.colors.error
|
|
37
|
+
}, style],
|
|
38
|
+
children: children || t(errorMessage || submissionError || "")
|
|
39
|
+
}), submissionError ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativePaper.Button, {
|
|
40
|
+
mode: "text",
|
|
41
|
+
compact: true,
|
|
42
|
+
onPress: retrySubmit,
|
|
43
|
+
children: t("common.try-again")
|
|
44
|
+
}) : null]
|
|
36
45
|
});
|
|
37
46
|
});
|
|
38
47
|
//# sourceMappingURL=questionnaire-content-error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_reactI18next","_reactNativePaper","_index","_useQuestionnaireForm","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","QuestionnaireContentError","exports","memo","style","children","props","theme","useAppTheme","useTranslation","errorMessage","useQuestionnaireForm","jsx","Text","variant","color","colors","error"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/components/content/questionnaire-content-error.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,qBAAA,GAAAJ,OAAA;AAA0E,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAD,wBAAAO,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAT,uBAAA,YAAAA,CAAAO,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAGnE,MAAMkB,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,gBAAG3B,KAAK,CAAC6B,IAAI,CACjD,CAAmC;EACjCC,KAAK;EACLC,QAAQ;EACR,GAAGC;AACqC,CAAC,KAAK;EAC9C,MAAMC,KAAK,GAAG,IAAAC,kBAAW,EAAC,CAAC;EAC3B,MAAM;IAAEzB;EAAE,CAAC,GAAG,IAAA0B,4BAAc,EAAC,CAAC;EAE9B,MAAM;IAAEC;
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactI18next","_reactNativePaper","_index","_useQuestionnaireForm","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","QuestionnaireContentError","exports","memo","style","children","props","theme","useAppTheme","useTranslation","errorMessage","submissionError","retrySubmit","useQuestionnaireForm","jsxs","Fragment","jsx","Text","variant","color","colors","error","Button","mode","compact","onPress"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/components/content/questionnaire-content-error.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,qBAAA,GAAAJ,OAAA;AAA0E,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAD,wBAAAO,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAT,uBAAA,YAAAA,CAAAO,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAGnE,MAAMkB,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,gBAAG3B,KAAK,CAAC6B,IAAI,CACjD,CAAmC;EACjCC,KAAK;EACLC,QAAQ;EACR,GAAGC;AACqC,CAAC,KAAK;EAC9C,MAAMC,KAAK,GAAG,IAAAC,kBAAW,EAAC,CAAC;EAC3B,MAAM;IAAEzB;EAAE,CAAC,GAAG,IAAA0B,4BAAc,EAAC,CAAC;EAE9B,MAAM;IAAEC,YAAY;IAAEC,eAAe;IAAEC;EAAY,CAAC,GAAG,IAAAC,0CAAoB,EAAC,CAAC;EAE7E,IAAI,CAACH,YAAY,IAAI,CAACC,eAAe,IAAI,CAACN,QAAQ,EAAE;IAClD,OAAO,IAAI;EACb;EAEA,oBACE,IAAAxB,WAAA,CAAAiC,IAAA,EAAAjC,WAAA,CAAAkC,QAAA;IAAAV,QAAA,gBACE,IAAAxB,WAAA,CAAAmC,GAAA,EAACtC,iBAAA,CAAAuC,IAAI;MACHC,OAAO,EAAC,WAAW;MAAA,GACfZ,KAAK;MACTF,KAAK,EAAE,CAAC;QAAEe,KAAK,EAAEZ,KAAK,CAACa,MAAM,CAACC;MAAM,CAAC,EAAEjB,KAAK,CAAE;MAAAC,QAAA,EAE7CA,QAAQ,IAAItB,CAAC,CAAC2B,YAAY,IAAIC,eAAe,IAAI,EAAE;IAAC,CACjD,CAAC,EACNA,eAAe,gBACd,IAAA9B,WAAA,CAAAmC,GAAA,EAACtC,iBAAA,CAAA4C,MAAM;MAACC,IAAI,EAAC,MAAM;MAACC,OAAO;MAACC,OAAO,EAAEb,WAAY;MAAAP,QAAA,EAC9CtB,CAAC,CAAC,kBAAkB;IAAC,CAChB,CAAC,GACP,IAAI;EAAA,CACR,CAAC;AAEP,CACF,CAAC","ignoreList":[]}
|
|
@@ -21,7 +21,8 @@ const QuestionnaireNavigationNextButton = exports.QuestionnaireNavigationNextBut
|
|
|
21
21
|
handleNext,
|
|
22
22
|
isLastItem,
|
|
23
23
|
isCurrentItemRequired,
|
|
24
|
-
isCurrentItemAnswered
|
|
24
|
+
isCurrentItemAnswered,
|
|
25
|
+
isSubmitting
|
|
25
26
|
} = (0, _useQuestionnaireNavigation.useQuestionnaireNavigation)();
|
|
26
27
|
if (isLastItem) {
|
|
27
28
|
return null;
|
|
@@ -30,7 +31,7 @@ const QuestionnaireNavigationNextButton = exports.QuestionnaireNavigationNextBut
|
|
|
30
31
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativePaper.Button, {
|
|
31
32
|
mode: "contained",
|
|
32
33
|
...buttonProps,
|
|
33
|
-
disabled: buttonProps.disabled || isNextDisabled,
|
|
34
|
+
disabled: buttonProps.disabled || isNextDisabled || isSubmitting,
|
|
34
35
|
onPress: handleNext,
|
|
35
36
|
children: children || t("common.next")
|
|
36
37
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactI18next","_reactNativePaper","_useQuestionnaireNavigation","_jsxRuntime","e","__esModule","default","QuestionnaireNavigationNextButton","exports","React","memo","children","buttonProps","t","useTranslation","handleNext","isLastItem","isCurrentItemRequired","isCurrentItemAnswered","useQuestionnaireNavigation","isNextDisabled","jsx","Button","mode","disabled","onPress"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAEA,IAAAG,2BAAA,GAAAH,OAAA;AAAsF,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG/E,MAAMG,iCAAiC,GAAAC,OAAA,CAAAD,iCAAA,gBAAGE,cAAK,CAACC,IAAI,CACzD,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAgD,CAAC,KAAK;EACpE,MAAM;IAAEC;EAAE,CAAC,GAAG,IAAAC,4BAAc,EAAC,CAAC;EAE9B,MAAM;IACJC,UAAU;IACVC,UAAU;IACVC,qBAAqB;IACrBC;EACF,CAAC,GAAG,IAAAC,sDAA0B,EAAC,CAAC;EAEhC,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactI18next","_reactNativePaper","_useQuestionnaireNavigation","_jsxRuntime","e","__esModule","default","QuestionnaireNavigationNextButton","exports","React","memo","children","buttonProps","t","useTranslation","handleNext","isLastItem","isCurrentItemRequired","isCurrentItemAnswered","isSubmitting","useQuestionnaireNavigation","isNextDisabled","jsx","Button","mode","disabled","onPress"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAEA,IAAAG,2BAAA,GAAAH,OAAA;AAAsF,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG/E,MAAMG,iCAAiC,GAAAC,OAAA,CAAAD,iCAAA,gBAAGE,cAAK,CAACC,IAAI,CACzD,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAgD,CAAC,KAAK;EACpE,MAAM;IAAEC;EAAE,CAAC,GAAG,IAAAC,4BAAc,EAAC,CAAC;EAE9B,MAAM;IACJC,UAAU;IACVC,UAAU;IACVC,qBAAqB;IACrBC,qBAAqB;IACrBC;EACF,CAAC,GAAG,IAAAC,sDAA0B,EAAC,CAAC;EAEhC,IAAIJ,UAAU,EAAE;IACd,OAAO,IAAI;EACb;EAEA,MAAMK,cAAc,GAAGJ,qBAAqB,IAAI,CAACC,qBAAqB;EAEtE,oBACE,IAAAf,WAAA,CAAAmB,GAAA,EAACrB,iBAAA,CAAAsB,MAAM;IACLC,IAAI,EAAC,WAAW;IAAA,GACZZ,WAAW;IACfa,QAAQ,EAAEb,WAAW,CAACa,QAAQ,IAAIJ,cAAc,IAAIF,YAAa;IACjEO,OAAO,EAAEX,UAAW;IAAAJ,QAAA,EAEnBA,QAAQ,IAAIE,CAAC,CAAC,aAAa;EAAC,CACvB,CAAC;AAEb,CACF,CAAC","ignoreList":[]}
|
|
@@ -20,7 +20,8 @@ const QuestionnaireNavigationSubmitButton = exports.QuestionnaireNavigationSubmi
|
|
|
20
20
|
} = (0, _reactI18next.useTranslation)();
|
|
21
21
|
const {
|
|
22
22
|
paged,
|
|
23
|
-
submitForm
|
|
23
|
+
submitForm,
|
|
24
|
+
isSubmitting
|
|
24
25
|
} = (0, _useQuestionnaireForm.useQuestionnaireForm)();
|
|
25
26
|
const {
|
|
26
27
|
isLastItem
|
|
@@ -32,7 +33,8 @@ const QuestionnaireNavigationSubmitButton = exports.QuestionnaireNavigationSubmi
|
|
|
32
33
|
mode: "contained",
|
|
33
34
|
...buttonProps,
|
|
34
35
|
onPress: submitForm,
|
|
35
|
-
disabled: buttonProps.disabled,
|
|
36
|
+
disabled: buttonProps.disabled || isSubmitting,
|
|
37
|
+
loading: isSubmitting,
|
|
36
38
|
children: children || t("common.submit")
|
|
37
39
|
});
|
|
38
40
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_reactI18next","_reactNativePaper","_useQuestionnaireForm","_useQuestionnaireNavigation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","QuestionnaireNavigationSubmitButton","exports","memo","children","buttonProps","useTranslation","paged","submitForm","useQuestionnaireForm","isLastItem","useQuestionnaireNavigation","jsx","Button","mode","onPress","disabled"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAEA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,2BAAA,GAAAJ,OAAA;AAAsF,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAD,wBAAAO,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAT,uBAAA,YAAAA,CAAAO,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAG/E,MAAMkB,mCAAmC,GAAAC,OAAA,CAAAD,mCAAA,gBAAG3B,KAAK,CAAC6B,IAAI,CAC3D,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAgD,CAAC,KAAK;EACpE,MAAM;IAAEtB;EAAE,CAAC,GAAG,IAAAuB,4BAAc,EAAC,CAAC;EAE9B,MAAM;IAAEC,KAAK;IAAEC;
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactI18next","_reactNativePaper","_useQuestionnaireForm","_useQuestionnaireNavigation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","QuestionnaireNavigationSubmitButton","exports","memo","children","buttonProps","useTranslation","paged","submitForm","isSubmitting","useQuestionnaireForm","isLastItem","useQuestionnaireNavigation","jsx","Button","mode","onPress","disabled","loading"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAEA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,2BAAA,GAAAJ,OAAA;AAAsF,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAD,wBAAAO,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAT,uBAAA,YAAAA,CAAAO,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAG/E,MAAMkB,mCAAmC,GAAAC,OAAA,CAAAD,mCAAA,gBAAG3B,KAAK,CAAC6B,IAAI,CAC3D,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAgD,CAAC,KAAK;EACpE,MAAM;IAAEtB;EAAE,CAAC,GAAG,IAAAuB,4BAAc,EAAC,CAAC;EAE9B,MAAM;IAAEC,KAAK;IAAEC,UAAU;IAAEC;EAAa,CAAC,GAAG,IAAAC,0CAAoB,EAAC,CAAC;EAClE,MAAM;IAAEC;EAAW,CAAC,GAAG,IAAAC,sDAA0B,EAAC,CAAC;EAEnD,IAAI,CAACD,UAAU,IAAIJ,KAAK,EAAE;IACxB,OAAO,IAAI;EACb;EAEA,oBACE,IAAA1B,WAAA,CAAAgC,GAAA,EAACnC,iBAAA,CAAAoC,MAAM;IACLC,IAAI,EAAC,WAAW;IAAA,GACZV,WAAW;IACfW,OAAO,EAAER,UAAW;IACpBS,QAAQ,EAAEZ,WAAW,CAACY,QAAQ,IAAIR,YAAa;IAC/CS,OAAO,EAAET,YAAa;IAAAL,QAAA,EAErBA,QAAQ,IAAIrB,CAAC,CAAC,eAAe;EAAC,CACzB,CAAC;AAEb,CACF,CAAC","ignoreList":[]}
|
package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form-provider.js
CHANGED
|
@@ -16,6 +16,8 @@ var _questionnaireSubmitUtils = require("../utils/questionnaire-submit-utils.js"
|
|
|
16
16
|
var _questionnaireNavigationProvider = require("./questionnaire-navigation-provider.js");
|
|
17
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
18
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
|
+
/* eslint-disable max-lines */
|
|
20
|
+
|
|
19
21
|
const QuestionnaireFormProvider = exports.QuestionnaireFormProvider = /*#__PURE__*/_react.default.memo(({
|
|
20
22
|
children,
|
|
21
23
|
questionnaire,
|
|
@@ -29,26 +31,35 @@ const QuestionnaireFormProvider = exports.QuestionnaireFormProvider = /*#__PURE_
|
|
|
29
31
|
const [currentPageIndex, setCurrentPageIndex] = _react.default.useState(0);
|
|
30
32
|
const [currentItemIndex, setCurrentItemIndex] = _react.default.useState(0);
|
|
31
33
|
const [errorMessage, setErrorMessage] = _react.default.useState(null);
|
|
34
|
+
const [submissionError, setSubmissionError] = _react.default.useState(null);
|
|
35
|
+
const submissionInFlight = _react.default.useRef(false);
|
|
36
|
+
const submissionIdentifier = _react.default.useRef(null);
|
|
32
37
|
const pages = _react.default.useMemo(() => _formUtils.FormUtils.extractPagesFromQuestionnaire(questionnaire), [questionnaire]);
|
|
33
38
|
const initialValues = _react.default.useMemo(() => _initialValues || _formUtils.FormUtils.initializeDefaultValues(pages), [_initialValues, pages]);
|
|
34
39
|
const handleSubmit = _react.default.useCallback(async (values, formikHelpers) => {
|
|
35
|
-
|
|
36
|
-
if (!validationResult.isValid) {
|
|
37
|
-
const {
|
|
38
|
-
pageIndex,
|
|
39
|
-
itemIndex
|
|
40
|
-
} = validationResult.firstUnansweredLocation;
|
|
41
|
-
setCurrentPageIndex(pageIndex);
|
|
42
|
-
setCurrentItemIndex(itemIndex);
|
|
43
|
-
setErrorMessage("questionnaire-form.error.required-fields");
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
delete values.currentLinkId;
|
|
47
|
-
if (onSubmit) {
|
|
48
|
-
onSubmit(values, formikHelpers);
|
|
40
|
+
if (submissionInFlight.current) {
|
|
49
41
|
return;
|
|
50
42
|
}
|
|
43
|
+
submissionInFlight.current = true;
|
|
44
|
+
setSubmissionError(null);
|
|
51
45
|
try {
|
|
46
|
+
const validationResult = _formValidation.FormValidation.validateRequiredFields(pages, values);
|
|
47
|
+
if (!validationResult.isValid) {
|
|
48
|
+
const {
|
|
49
|
+
pageIndex,
|
|
50
|
+
itemIndex
|
|
51
|
+
} = validationResult.firstUnansweredLocation;
|
|
52
|
+
setCurrentPageIndex(pageIndex);
|
|
53
|
+
setCurrentItemIndex(itemIndex);
|
|
54
|
+
setErrorMessage("questionnaire-form.error.required-fields");
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
delete values.currentLinkId;
|
|
58
|
+
if (onSubmit) {
|
|
59
|
+
await onSubmit(values, formikHelpers);
|
|
60
|
+
submissionIdentifier.current = null;
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
52
63
|
const activeProfile = await client.getProfileAsync();
|
|
53
64
|
if (!activeProfile) {
|
|
54
65
|
throw new Error("questionnaire-form.error.profile-not-found");
|
|
@@ -57,12 +68,22 @@ const QuestionnaireFormProvider = exports.QuestionnaireFormProvider = /*#__PURE_
|
|
|
57
68
|
response.subject = {
|
|
58
69
|
reference: (0, _core.getReferenceString)(activeProfile)
|
|
59
70
|
};
|
|
60
|
-
|
|
71
|
+
submissionIdentifier.current ??= `${questionnaire.id ?? "unknown"}-${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
72
|
+
const identifierValue = submissionIdentifier.current;
|
|
73
|
+
const identifierSystem = "https://sdk.ovok.com/questionnaire-response";
|
|
74
|
+
response.identifier = {
|
|
75
|
+
system: identifierSystem,
|
|
76
|
+
value: identifierValue
|
|
77
|
+
};
|
|
78
|
+
const createdResponse = await client.createResourceIfNoneExist(response, `identifier=${identifierSystem}|${identifierValue}`);
|
|
61
79
|
onSuccess?.(createdResponse);
|
|
80
|
+
submissionIdentifier.current = null;
|
|
62
81
|
} catch (error) {
|
|
63
82
|
const typedError = error;
|
|
64
83
|
onError?.(error);
|
|
65
|
-
|
|
84
|
+
setSubmissionError(typedError.message?.startsWith("questionnaire-form.") ? typedError.message : "questionnaire-form.error.submit-failed");
|
|
85
|
+
} finally {
|
|
86
|
+
submissionInFlight.current = false;
|
|
66
87
|
}
|
|
67
88
|
}, [onSubmit, onSuccess, onError, pages, questionnaire, client]);
|
|
68
89
|
const allItems = _react.default.useMemo(() => pages.flatMap(page => page.item ? page.item : []), [pages]);
|
|
@@ -96,6 +117,10 @@ const QuestionnaireFormProvider = exports.QuestionnaireFormProvider = /*#__PURE_
|
|
|
96
117
|
values,
|
|
97
118
|
setFieldValue
|
|
98
119
|
} = formik;
|
|
120
|
+
const retrySubmit = _react.default.useCallback(() => {
|
|
121
|
+
setSubmissionError(null);
|
|
122
|
+
void formik.submitForm();
|
|
123
|
+
}, [formik]);
|
|
99
124
|
const currentPage = _react.default.useMemo(() => pages[currentPageIndex], [pages, currentPageIndex]);
|
|
100
125
|
const enabledItems = _react.default.useMemo(() => currentPage ? _conditionUtils.ConditionUtils.getEnabledItemsForPage(currentPage, values) : [], [currentPage, values]);
|
|
101
126
|
(0, _index.useInitialSelectedValues)(pages, values, setFieldValue);
|
|
@@ -113,6 +138,8 @@ const QuestionnaireFormProvider = exports.QuestionnaireFormProvider = /*#__PURE_
|
|
|
113
138
|
currentPageIndex,
|
|
114
139
|
currentItemIndex,
|
|
115
140
|
errorMessage,
|
|
141
|
+
submissionError,
|
|
142
|
+
retrySubmit,
|
|
116
143
|
pages,
|
|
117
144
|
allItems,
|
|
118
145
|
setCurrentItemIndex,
|
|
@@ -120,7 +147,7 @@ const QuestionnaireFormProvider = exports.QuestionnaireFormProvider = /*#__PURE_
|
|
|
120
147
|
setErrorMessage,
|
|
121
148
|
paged,
|
|
122
149
|
...formik
|
|
123
|
-
}), [questionnaire, currentItem, currentPage, currentPageIndex, currentItemIndex, errorMessage, pages, allItems, setCurrentItemIndex, setCurrentPageIndex, setErrorMessage, paged, formik]);
|
|
150
|
+
}), [questionnaire, currentItem, currentPage, currentPageIndex, currentItemIndex, errorMessage, submissionError, retrySubmit, pages, allItems, setCurrentItemIndex, setCurrentPageIndex, setErrorMessage, paged, formik]);
|
|
124
151
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_questionnaireFormContext.QuestionnaireFormContext.Provider, {
|
|
125
152
|
value: contextValue,
|
|
126
153
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_questionnaireNavigationProvider.QuestionnaireNavigationProvider, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","_formik","_react","_interopRequireDefault","_questionnaireFormContext","_index","_conditionUtils","_formUtils","_formValidation","_questionnaireSubmitUtils","_questionnaireNavigationProvider","_jsxRuntime","e","__esModule","default","QuestionnaireFormProvider","exports","React","memo","children","questionnaire","initialValues","_initialValues","onSubmit","onSuccess","onError","paged","client","useClient","currentPageIndex","setCurrentPageIndex","useState","currentItemIndex","setCurrentItemIndex","errorMessage","setErrorMessage","pages","useMemo","FormUtils","extractPagesFromQuestionnaire","initializeDefaultValues","handleSubmit","useCallback","values","formikHelpers","validationResult","FormValidation","validateRequiredFields","isValid","pageIndex","itemIndex","firstUnansweredLocation","currentLinkId","activeProfile","getProfileAsync","Error","response","QuestionnaireSubmitUtils","createQuestionnaireResponse","subject","reference","getReferenceString","createdResponse","
|
|
1
|
+
{"version":3,"names":["_core","require","_formik","_react","_interopRequireDefault","_questionnaireFormContext","_index","_conditionUtils","_formUtils","_formValidation","_questionnaireSubmitUtils","_questionnaireNavigationProvider","_jsxRuntime","e","__esModule","default","QuestionnaireFormProvider","exports","React","memo","children","questionnaire","initialValues","_initialValues","onSubmit","onSuccess","onError","paged","client","useClient","currentPageIndex","setCurrentPageIndex","useState","currentItemIndex","setCurrentItemIndex","errorMessage","setErrorMessage","submissionError","setSubmissionError","submissionInFlight","useRef","submissionIdentifier","pages","useMemo","FormUtils","extractPagesFromQuestionnaire","initializeDefaultValues","handleSubmit","useCallback","values","formikHelpers","current","validationResult","FormValidation","validateRequiredFields","isValid","pageIndex","itemIndex","firstUnansweredLocation","currentLinkId","activeProfile","getProfileAsync","Error","response","QuestionnaireSubmitUtils","createQuestionnaireResponse","subject","reference","getReferenceString","id","Date","now","Math","random","toString","slice","identifierValue","identifierSystem","identifier","system","value","createdResponse","createResourceIfNoneExist","error","typedError","message","startsWith","allItems","flatMap","page","item","formik","useFormik","validateOnBlur","enableReinitialize","validate","cleanedValues","hasChanges","forEach","linkId","enableWhen","length","undefined","ConditionUtils","isItemEnabled","setValues","Object","some","setFieldError","setFieldValue","retrySubmit","submitForm","currentPage","enabledItems","getEnabledItemsForPage","useInitialSelectedValues","currentItem","allEnabledItems","useEffect","contextValue","jsx","QuestionnaireFormContext","Provider","QuestionnaireNavigationProvider"],"sourceRoot":"../../../../../src","sources":["modules/questionnaire-response-form/components/questionnaire-form-provider.tsx"],"mappings":"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","ignoreList":[]}
|