@ovok/native 1.5.6 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (643) hide show
  1. package/README.md +27 -17
  2. package/app.plugin.js +104 -0
  3. package/lib/commonjs/index.js +11 -0
  4. package/lib/commonjs/index.js.map +1 -1
  5. package/lib/commonjs/modules/auth/delete-account-button/components/delete-account-button.js +2 -0
  6. package/lib/commonjs/modules/auth/delete-account-button/components/delete-account-button.js.map +1 -1
  7. package/lib/commonjs/modules/auth/hooks/use-rate-limit-cooldown.js +23 -0
  8. package/lib/commonjs/modules/auth/hooks/use-rate-limit-cooldown.js.map +1 -0
  9. package/lib/commonjs/modules/auth/hooks/use-session.js +91 -0
  10. package/lib/commonjs/modules/auth/hooks/use-session.js.map +1 -0
  11. package/lib/commonjs/modules/auth/index.js +44 -0
  12. package/lib/commonjs/modules/auth/index.js.map +1 -1
  13. package/lib/commonjs/modules/auth/logout-button/components/logout-button.js +3 -1
  14. package/lib/commonjs/modules/auth/logout-button/components/logout-button.js.map +1 -1
  15. package/lib/commonjs/modules/auth/register/components/form/inputs.js +48 -1
  16. package/lib/commonjs/modules/auth/register/components/form/inputs.js.map +1 -1
  17. package/lib/commonjs/modules/auth/register/components/form/register-button.js +4 -0
  18. package/lib/commonjs/modules/auth/register/components/form/register-button.js.map +1 -1
  19. package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js +6 -0
  20. package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js.map +1 -1
  21. package/lib/commonjs/modules/auth/reset-password/components/form/inputs.js +12 -0
  22. package/lib/commonjs/modules/auth/reset-password/components/form/inputs.js.map +1 -1
  23. package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-button.js +4 -0
  24. package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-button.js.map +1 -1
  25. package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js +7 -1
  26. package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
  27. package/lib/commonjs/modules/auth/session/components/session-list.js +82 -0
  28. package/lib/commonjs/modules/auth/session/components/session-list.js.map +1 -0
  29. package/lib/commonjs/modules/auth/session/events.js +19 -0
  30. package/lib/commonjs/modules/auth/session/events.js.map +1 -0
  31. package/lib/commonjs/modules/auth/session/index.js +13 -0
  32. package/lib/commonjs/modules/auth/session/index.js.map +1 -0
  33. package/lib/commonjs/modules/auth/session/types/session-list-props.js +6 -0
  34. package/lib/commonjs/modules/auth/session/types/session-list-props.js.map +1 -0
  35. package/lib/commonjs/modules/auth/sign-in/components/form/inputs.js +25 -0
  36. package/lib/commonjs/modules/auth/sign-in/components/form/inputs.js.map +1 -1
  37. package/lib/commonjs/modules/auth/sign-in/components/form/login-form-provider.js +48 -1
  38. package/lib/commonjs/modules/auth/sign-in/components/form/login-form-provider.js.map +1 -1
  39. package/lib/commonjs/modules/auth/sign-in/components/form/mfa-code-input.js +58 -0
  40. package/lib/commonjs/modules/auth/sign-in/components/form/mfa-code-input.js.map +1 -0
  41. package/lib/commonjs/modules/auth/sign-in/components/form/sign-in-with-email.js +2 -0
  42. package/lib/commonjs/modules/auth/sign-in/components/form/sign-in-with-email.js.map +1 -1
  43. package/lib/commonjs/modules/auth/sign-in/components/form/signin-button.js +13 -5
  44. package/lib/commonjs/modules/auth/sign-in/components/form/signin-button.js.map +1 -1
  45. package/lib/commonjs/modules/auth/types/session.js +2 -0
  46. package/lib/commonjs/modules/auth/types/session.js.map +1 -0
  47. package/lib/commonjs/modules/auth/utils/rate-limit.js +37 -0
  48. package/lib/commonjs/modules/auth/utils/rate-limit.js.map +1 -0
  49. package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js +3 -2
  50. package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -1
  51. package/lib/commonjs/modules/background-sync/background-safe-storage.js +79 -0
  52. package/lib/commonjs/modules/background-sync/background-safe-storage.js.map +1 -0
  53. package/lib/commonjs/modules/background-sync/index.js +11 -0
  54. package/lib/commonjs/modules/background-sync/index.js.map +1 -1
  55. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +123 -21
  56. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  57. package/lib/commonjs/modules/bt-management/hooks/runtime-context.js +91 -0
  58. package/lib/commonjs/modules/bt-management/hooks/runtime-context.js.map +1 -0
  59. package/lib/commonjs/modules/bt-management/hooks/use-background-sync.js +47 -0
  60. package/lib/commonjs/modules/bt-management/hooks/use-background-sync.js.map +1 -0
  61. package/lib/commonjs/modules/bt-management/hooks/use-bluetooth-state.js +51 -0
  62. package/lib/commonjs/modules/bt-management/hooks/use-bluetooth-state.js.map +1 -0
  63. package/lib/commonjs/modules/bt-management/hooks/use-device-connection.js +36 -0
  64. package/lib/commonjs/modules/bt-management/hooks/use-device-connection.js.map +1 -0
  65. package/lib/commonjs/modules/bt-management/hooks/use-health-import.js +46 -0
  66. package/lib/commonjs/modules/bt-management/hooks/use-health-import.js.map +1 -0
  67. package/lib/commonjs/modules/bt-management/hooks/use-measurements.js +57 -0
  68. package/lib/commonjs/modules/bt-management/hooks/use-measurements.js.map +1 -0
  69. package/lib/commonjs/modules/bt-management/hooks/use-nearby-devices.js +26 -0
  70. package/lib/commonjs/modules/bt-management/hooks/use-nearby-devices.js.map +1 -0
  71. package/lib/commonjs/modules/bt-management/hooks/use-paired-devices.js +49 -0
  72. package/lib/commonjs/modules/bt-management/hooks/use-paired-devices.js.map +1 -0
  73. package/lib/commonjs/modules/bt-management/index.js +143 -0
  74. package/lib/commonjs/modules/bt-management/index.js.map +1 -1
  75. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +41 -4
  76. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  77. package/lib/commonjs/modules/bt-management/services/bt-manager.js +75 -4
  78. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  79. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +57 -0
  80. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  81. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +111 -3
  82. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  83. package/lib/commonjs/modules/bt-management/services/devices/measurement-state-machine.js +5 -3
  84. package/lib/commonjs/modules/bt-management/services/devices/measurement-state-machine.js.map +1 -1
  85. package/lib/commonjs/modules/bt-management/services/devices/spo/spo2.main-services.js +12 -0
  86. package/lib/commonjs/modules/bt-management/services/devices/spo/spo2.main-services.js.map +1 -1
  87. package/lib/commonjs/modules/bt-management/testing/fake-ble-manager.js +52 -0
  88. package/lib/commonjs/modules/bt-management/testing/fake-ble-manager.js.map +1 -0
  89. package/lib/commonjs/modules/bt-management/testing/index.js +28 -0
  90. package/lib/commonjs/modules/bt-management/testing/index.js.map +1 -0
  91. package/lib/commonjs/modules/bt-management/testing/recorded-frames.js +23 -0
  92. package/lib/commonjs/modules/bt-management/testing/recorded-frames.js.map +1 -0
  93. package/lib/commonjs/modules/bt-management/types/bluetooth-error.js +80 -0
  94. package/lib/commonjs/modules/bt-management/types/bluetooth-error.js.map +1 -0
  95. package/lib/commonjs/modules/bt-management/types/device-connection-event.js +6 -0
  96. package/lib/commonjs/modules/bt-management/types/device-connection-event.js.map +1 -0
  97. package/lib/commonjs/modules/bt-management/types/result-policy.js +6 -0
  98. package/lib/commonjs/modules/bt-management/types/result-policy.js.map +1 -0
  99. package/lib/commonjs/modules/bt-management/utils/result-identity.js +63 -0
  100. package/lib/commonjs/modules/bt-management/utils/result-identity.js.map +1 -0
  101. package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js +8 -2
  102. package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
  103. package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js +23 -4
  104. package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js.map +1 -1
  105. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js +2 -2
  106. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js.map +1 -1
  107. package/lib/commonjs/modules/data-sync/services/managers/sync-progress-manager.js +1 -1
  108. package/lib/commonjs/modules/data-sync/services/managers/sync-progress-manager.js.map +1 -1
  109. package/lib/commonjs/modules/data-sync/utils/retry-save.js +65 -0
  110. package/lib/commonjs/modules/data-sync/utils/retry-save.js.map +1 -0
  111. package/lib/commonjs/modules/helpers/form-items/form-field.js +2 -0
  112. package/lib/commonjs/modules/helpers/form-items/form-field.js.map +1 -1
  113. package/lib/commonjs/modules/helpers/index.js +12 -0
  114. package/lib/commonjs/modules/helpers/index.js.map +1 -1
  115. package/lib/commonjs/modules/helpers/utils/s-log.js +4 -13
  116. package/lib/commonjs/modules/helpers/utils/s-log.js.map +1 -1
  117. package/lib/commonjs/modules/helpers/utils/sentry-logger.js +28 -17
  118. package/lib/commonjs/modules/helpers/utils/sentry-logger.js.map +1 -1
  119. package/lib/commonjs/modules/helpers/utils/telemetry.js +143 -0
  120. package/lib/commonjs/modules/helpers/utils/telemetry.js.map +1 -0
  121. package/lib/commonjs/modules/image/components/optimized-image.js +24 -2
  122. package/lib/commonjs/modules/image/components/optimized-image.js.map +1 -1
  123. package/lib/commonjs/modules/questionnaire-response-form/components/content/questionnaire-content-error.js +18 -9
  124. package/lib/commonjs/modules/questionnaire-response-form/components/content/questionnaire-content-error.js.map +1 -1
  125. package/lib/commonjs/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.js +3 -2
  126. package/lib/commonjs/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.js.map +1 -1
  127. package/lib/commonjs/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.js +4 -2
  128. package/lib/commonjs/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.js.map +1 -1
  129. package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form-provider.js +42 -17
  130. package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form-provider.js.map +1 -1
  131. package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js +2 -1
  132. package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js.map +1 -1
  133. package/lib/commonjs/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.js.map +1 -1
  134. package/lib/commonjs/modules/tile/components/task-icon.js +2 -1
  135. package/lib/commonjs/modules/tile/components/task-icon.js.map +1 -1
  136. package/lib/commonjs/modules/ui/components/background-sync-setting.js +113 -0
  137. package/lib/commonjs/modules/ui/components/background-sync-setting.js.map +1 -0
  138. package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js +105 -0
  139. package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js.map +1 -0
  140. package/lib/commonjs/modules/ui/components/ecg-strip-viewer.js +165 -0
  141. package/lib/commonjs/modules/ui/components/ecg-strip-viewer.js.map +1 -0
  142. package/lib/commonjs/modules/ui/components/health-import-card.js +130 -0
  143. package/lib/commonjs/modules/ui/components/health-import-card.js.map +1 -0
  144. package/lib/commonjs/modules/ui/components/manual-entry-form.js +123 -0
  145. package/lib/commonjs/modules/ui/components/manual-entry-form.js.map +1 -0
  146. package/lib/commonjs/modules/ui/components/pairing-flow.js +222 -0
  147. package/lib/commonjs/modules/ui/components/pairing-flow.js.map +1 -0
  148. package/lib/commonjs/modules/ui/components/supported-devices-catalog-list.js +99 -0
  149. package/lib/commonjs/modules/ui/components/supported-devices-catalog-list.js.map +1 -0
  150. package/lib/commonjs/modules/ui/components/urine-test-result.js +94 -0
  151. package/lib/commonjs/modules/ui/components/urine-test-result.js.map +1 -0
  152. package/lib/commonjs/modules/ui/index.js +116 -0
  153. package/lib/commonjs/modules/ui/index.js.map +1 -0
  154. package/lib/commonjs/modules/ui/types.js +6 -0
  155. package/lib/commonjs/modules/ui/types.js.map +1 -0
  156. package/lib/commonjs/modules/ui/use-ovok-ui.js +51 -0
  157. package/lib/commonjs/modules/ui/use-ovok-ui.js.map +1 -0
  158. package/lib/module/index.js +1 -0
  159. package/lib/module/index.js.map +1 -1
  160. package/lib/module/modules/auth/delete-account-button/components/delete-account-button.js +2 -0
  161. package/lib/module/modules/auth/delete-account-button/components/delete-account-button.js.map +1 -1
  162. package/lib/module/modules/auth/hooks/use-rate-limit-cooldown.js +17 -0
  163. package/lib/module/modules/auth/hooks/use-rate-limit-cooldown.js.map +1 -0
  164. package/lib/module/modules/auth/hooks/use-session.js +85 -0
  165. package/lib/module/modules/auth/hooks/use-session.js.map +1 -0
  166. package/lib/module/modules/auth/index.js +4 -0
  167. package/lib/module/modules/auth/index.js.map +1 -1
  168. package/lib/module/modules/auth/logout-button/components/logout-button.js +3 -1
  169. package/lib/module/modules/auth/logout-button/components/logout-button.js.map +1 -1
  170. package/lib/module/modules/auth/register/components/form/inputs.js +48 -1
  171. package/lib/module/modules/auth/register/components/form/inputs.js.map +1 -1
  172. package/lib/module/modules/auth/register/components/form/register-button.js +4 -0
  173. package/lib/module/modules/auth/register/components/form/register-button.js.map +1 -1
  174. package/lib/module/modules/auth/register/components/form/register-form-provider.js +6 -0
  175. package/lib/module/modules/auth/register/components/form/register-form-provider.js.map +1 -1
  176. package/lib/module/modules/auth/reset-password/components/form/inputs.js +12 -0
  177. package/lib/module/modules/auth/reset-password/components/form/inputs.js.map +1 -1
  178. package/lib/module/modules/auth/reset-password/components/form/reset-password-button.js +4 -0
  179. package/lib/module/modules/auth/reset-password/components/form/reset-password-button.js.map +1 -1
  180. package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js +7 -1
  181. package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
  182. package/lib/module/modules/auth/session/components/session-list.js +76 -0
  183. package/lib/module/modules/auth/session/components/session-list.js.map +1 -0
  184. package/lib/module/modules/auth/session/events.js +13 -0
  185. package/lib/module/modules/auth/session/events.js.map +1 -0
  186. package/lib/module/modules/auth/session/index.js +4 -0
  187. package/lib/module/modules/auth/session/index.js.map +1 -0
  188. package/lib/module/modules/auth/session/types/session-list-props.js +4 -0
  189. package/lib/module/modules/auth/session/types/session-list-props.js.map +1 -0
  190. package/lib/module/modules/auth/sign-in/components/form/inputs.js +25 -0
  191. package/lib/module/modules/auth/sign-in/components/form/inputs.js.map +1 -1
  192. package/lib/module/modules/auth/sign-in/components/form/login-form-provider.js +48 -1
  193. package/lib/module/modules/auth/sign-in/components/form/login-form-provider.js.map +1 -1
  194. package/lib/module/modules/auth/sign-in/components/form/mfa-code-input.js +52 -0
  195. package/lib/module/modules/auth/sign-in/components/form/mfa-code-input.js.map +1 -0
  196. package/lib/module/modules/auth/sign-in/components/form/sign-in-with-email.js +2 -0
  197. package/lib/module/modules/auth/sign-in/components/form/sign-in-with-email.js.map +1 -1
  198. package/lib/module/modules/auth/sign-in/components/form/signin-button.js +13 -5
  199. package/lib/module/modules/auth/sign-in/components/form/signin-button.js.map +1 -1
  200. package/lib/module/modules/auth/types/session.js +2 -0
  201. package/lib/module/modules/auth/types/session.js.map +1 -0
  202. package/lib/module/modules/auth/utils/rate-limit.js +31 -0
  203. package/lib/module/modules/auth/utils/rate-limit.js.map +1 -0
  204. package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js +3 -2
  205. package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -1
  206. package/lib/module/modules/background-sync/background-safe-storage.js +74 -0
  207. package/lib/module/modules/background-sync/background-safe-storage.js.map +1 -0
  208. package/lib/module/modules/background-sync/index.js +1 -0
  209. package/lib/module/modules/background-sync/index.js.map +1 -1
  210. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +123 -21
  211. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  212. package/lib/module/modules/bt-management/hooks/runtime-context.js +82 -0
  213. package/lib/module/modules/bt-management/hooks/runtime-context.js.map +1 -0
  214. package/lib/module/modules/bt-management/hooks/use-background-sync.js +41 -0
  215. package/lib/module/modules/bt-management/hooks/use-background-sync.js.map +1 -0
  216. package/lib/module/modules/bt-management/hooks/use-bluetooth-state.js +45 -0
  217. package/lib/module/modules/bt-management/hooks/use-bluetooth-state.js.map +1 -0
  218. package/lib/module/modules/bt-management/hooks/use-device-connection.js +30 -0
  219. package/lib/module/modules/bt-management/hooks/use-device-connection.js.map +1 -0
  220. package/lib/module/modules/bt-management/hooks/use-health-import.js +40 -0
  221. package/lib/module/modules/bt-management/hooks/use-health-import.js.map +1 -0
  222. package/lib/module/modules/bt-management/hooks/use-measurements.js +51 -0
  223. package/lib/module/modules/bt-management/hooks/use-measurements.js.map +1 -0
  224. package/lib/module/modules/bt-management/hooks/use-nearby-devices.js +20 -0
  225. package/lib/module/modules/bt-management/hooks/use-nearby-devices.js.map +1 -0
  226. package/lib/module/modules/bt-management/hooks/use-paired-devices.js +43 -0
  227. package/lib/module/modules/bt-management/hooks/use-paired-devices.js.map +1 -0
  228. package/lib/module/modules/bt-management/index.js +13 -0
  229. package/lib/module/modules/bt-management/index.js.map +1 -1
  230. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +41 -4
  231. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  232. package/lib/module/modules/bt-management/services/bt-manager.js +75 -4
  233. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  234. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +57 -0
  235. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  236. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +111 -3
  237. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  238. package/lib/module/modules/bt-management/services/devices/measurement-state-machine.js +5 -3
  239. package/lib/module/modules/bt-management/services/devices/measurement-state-machine.js.map +1 -1
  240. package/lib/module/modules/bt-management/services/devices/spo/spo2.main-services.js +12 -0
  241. package/lib/module/modules/bt-management/services/devices/spo/spo2.main-services.js.map +1 -1
  242. package/lib/module/modules/bt-management/testing/fake-ble-manager.js +48 -0
  243. package/lib/module/modules/bt-management/testing/fake-ble-manager.js.map +1 -0
  244. package/lib/module/modules/bt-management/testing/index.js +5 -0
  245. package/lib/module/modules/bt-management/testing/index.js.map +1 -0
  246. package/lib/module/modules/bt-management/testing/recorded-frames.js +17 -0
  247. package/lib/module/modules/bt-management/testing/recorded-frames.js.map +1 -0
  248. package/lib/module/modules/bt-management/types/bluetooth-error.js +74 -0
  249. package/lib/module/modules/bt-management/types/bluetooth-error.js.map +1 -0
  250. package/lib/module/modules/bt-management/types/device-connection-event.js +4 -0
  251. package/lib/module/modules/bt-management/types/device-connection-event.js.map +1 -0
  252. package/lib/module/modules/bt-management/types/result-policy.js +4 -0
  253. package/lib/module/modules/bt-management/types/result-policy.js.map +1 -0
  254. package/lib/module/modules/bt-management/utils/result-identity.js +57 -0
  255. package/lib/module/modules/bt-management/utils/result-identity.js.map +1 -0
  256. package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js +8 -2
  257. package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
  258. package/lib/module/modules/data-sync/services/base-health-sync-service.js +23 -4
  259. package/lib/module/modules/data-sync/services/base-health-sync-service.js.map +1 -1
  260. package/lib/module/modules/data-sync/services/managers/data-processor.js +2 -2
  261. package/lib/module/modules/data-sync/services/managers/data-processor.js.map +1 -1
  262. package/lib/module/modules/data-sync/services/managers/sync-progress-manager.js +1 -1
  263. package/lib/module/modules/data-sync/services/managers/sync-progress-manager.js.map +1 -1
  264. package/lib/module/modules/data-sync/utils/retry-save.js +60 -0
  265. package/lib/module/modules/data-sync/utils/retry-save.js.map +1 -0
  266. package/lib/module/modules/helpers/form-items/form-field.js +2 -0
  267. package/lib/module/modules/helpers/form-items/form-field.js.map +1 -1
  268. package/lib/module/modules/helpers/index.js +1 -0
  269. package/lib/module/modules/helpers/index.js.map +1 -1
  270. package/lib/module/modules/helpers/utils/s-log.js +4 -12
  271. package/lib/module/modules/helpers/utils/s-log.js.map +1 -1
  272. package/lib/module/modules/helpers/utils/sentry-logger.js +26 -14
  273. package/lib/module/modules/helpers/utils/sentry-logger.js.map +1 -1
  274. package/lib/module/modules/helpers/utils/telemetry.js +131 -0
  275. package/lib/module/modules/helpers/utils/telemetry.js.map +1 -0
  276. package/lib/module/modules/image/components/optimized-image.js +25 -3
  277. package/lib/module/modules/image/components/optimized-image.js.map +1 -1
  278. package/lib/module/modules/questionnaire-response-form/components/content/questionnaire-content-error.js +20 -11
  279. package/lib/module/modules/questionnaire-response-form/components/content/questionnaire-content-error.js.map +1 -1
  280. package/lib/module/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.js +3 -2
  281. package/lib/module/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.js.map +1 -1
  282. package/lib/module/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.js +4 -2
  283. package/lib/module/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.js.map +1 -1
  284. package/lib/module/modules/questionnaire-response-form/components/questionnaire-form-provider.js +42 -17
  285. package/lib/module/modules/questionnaire-response-form/components/questionnaire-form-provider.js.map +1 -1
  286. package/lib/module/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js +2 -1
  287. package/lib/module/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js.map +1 -1
  288. package/lib/module/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.js.map +1 -1
  289. package/lib/module/modules/tile/components/task-icon.js +2 -1
  290. package/lib/module/modules/tile/components/task-icon.js.map +1 -1
  291. package/lib/module/modules/ui/components/background-sync-setting.js +107 -0
  292. package/lib/module/modules/ui/components/background-sync-setting.js.map +1 -0
  293. package/lib/module/modules/ui/components/bluetooth-state-notice.js +99 -0
  294. package/lib/module/modules/ui/components/bluetooth-state-notice.js.map +1 -0
  295. package/lib/module/modules/ui/components/ecg-strip-viewer.js +159 -0
  296. package/lib/module/modules/ui/components/ecg-strip-viewer.js.map +1 -0
  297. package/lib/module/modules/ui/components/health-import-card.js +124 -0
  298. package/lib/module/modules/ui/components/health-import-card.js.map +1 -0
  299. package/lib/module/modules/ui/components/manual-entry-form.js +117 -0
  300. package/lib/module/modules/ui/components/manual-entry-form.js.map +1 -0
  301. package/lib/module/modules/ui/components/pairing-flow.js +216 -0
  302. package/lib/module/modules/ui/components/pairing-flow.js.map +1 -0
  303. package/lib/module/modules/ui/components/supported-devices-catalog-list.js +93 -0
  304. package/lib/module/modules/ui/components/supported-devices-catalog-list.js.map +1 -0
  305. package/lib/module/modules/ui/components/urine-test-result.js +89 -0
  306. package/lib/module/modules/ui/components/urine-test-result.js.map +1 -0
  307. package/lib/module/modules/ui/index.js +13 -0
  308. package/lib/module/modules/ui/index.js.map +1 -0
  309. package/lib/module/modules/ui/types.js +4 -0
  310. package/lib/module/modules/ui/types.js.map +1 -0
  311. package/lib/module/modules/ui/use-ovok-ui.js +45 -0
  312. package/lib/module/modules/ui/use-ovok-ui.js.map +1 -0
  313. package/lib/typescript/commonjs/src/index.d.ts +1 -0
  314. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  315. package/lib/typescript/commonjs/src/modules/auth/delete-account-button/components/delete-account-button.d.ts.map +1 -1
  316. package/lib/typescript/commonjs/src/modules/auth/hooks/use-rate-limit-cooldown.d.ts +2 -0
  317. package/lib/typescript/commonjs/src/modules/auth/hooks/use-rate-limit-cooldown.d.ts.map +1 -0
  318. package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts +16 -0
  319. package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts.map +1 -0
  320. package/lib/typescript/commonjs/src/modules/auth/index.d.ts +4 -0
  321. package/lib/typescript/commonjs/src/modules/auth/index.d.ts.map +1 -1
  322. package/lib/typescript/commonjs/src/modules/auth/logout-button/components/logout-button.d.ts.map +1 -1
  323. package/lib/typescript/commonjs/src/modules/auth/register/components/form/inputs.d.ts.map +1 -1
  324. package/lib/typescript/commonjs/src/modules/auth/register/components/form/register-button.d.ts.map +1 -1
  325. package/lib/typescript/commonjs/src/modules/auth/register/components/form/register-form-provider.d.ts.map +1 -1
  326. package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/inputs.d.ts.map +1 -1
  327. package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/reset-password-button.d.ts.map +1 -1
  328. package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
  329. package/lib/typescript/commonjs/src/modules/auth/session/components/session-list.d.ts +4 -0
  330. package/lib/typescript/commonjs/src/modules/auth/session/components/session-list.d.ts.map +1 -0
  331. package/lib/typescript/commonjs/src/modules/auth/session/events.d.ts +5 -0
  332. package/lib/typescript/commonjs/src/modules/auth/session/events.d.ts.map +1 -0
  333. package/lib/typescript/commonjs/src/modules/auth/session/index.d.ts +3 -0
  334. package/lib/typescript/commonjs/src/modules/auth/session/index.d.ts.map +1 -0
  335. package/lib/typescript/commonjs/src/modules/auth/session/types/session-list-props.d.ts +5 -0
  336. package/lib/typescript/commonjs/src/modules/auth/session/types/session-list-props.d.ts.map +1 -0
  337. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/inputs.d.ts.map +1 -1
  338. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/login-form-provider.d.ts.map +1 -1
  339. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/mfa-code-input.d.ts +9 -0
  340. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/mfa-code-input.d.ts.map +1 -0
  341. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/sign-in-with-email.d.ts +4 -0
  342. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/sign-in-with-email.d.ts.map +1 -1
  343. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/signin-button.d.ts.map +1 -1
  344. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/sign-in.d.ts +4 -0
  345. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/sign-in.d.ts.map +1 -1
  346. package/lib/typescript/commonjs/src/modules/auth/sign-in/contexts/login-form-context.d.ts +2 -46
  347. package/lib/typescript/commonjs/src/modules/auth/sign-in/contexts/login-form-context.d.ts.map +1 -1
  348. package/lib/typescript/commonjs/src/modules/auth/sign-in/hooks/use-login-form.d.ts +1 -47
  349. package/lib/typescript/commonjs/src/modules/auth/sign-in/hooks/use-login-form.d.ts.map +1 -1
  350. package/lib/typescript/commonjs/src/modules/auth/sign-in/types/login-form-context-type.d.ts +11 -1
  351. package/lib/typescript/commonjs/src/modules/auth/sign-in/types/login-form-context-type.d.ts.map +1 -1
  352. package/lib/typescript/commonjs/src/modules/auth/types/session.d.ts +13 -0
  353. package/lib/typescript/commonjs/src/modules/auth/types/session.d.ts.map +1 -0
  354. package/lib/typescript/commonjs/src/modules/auth/utils/rate-limit.d.ts +11 -0
  355. package/lib/typescript/commonjs/src/modules/auth/utils/rate-limit.d.ts.map +1 -0
  356. package/lib/typescript/commonjs/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -1
  357. package/lib/typescript/commonjs/src/modules/background-sync/background-safe-storage.d.ts +29 -0
  358. package/lib/typescript/commonjs/src/modules/background-sync/background-safe-storage.d.ts.map +1 -0
  359. package/lib/typescript/commonjs/src/modules/background-sync/index.d.ts +1 -0
  360. package/lib/typescript/commonjs/src/modules/background-sync/index.d.ts.map +1 -1
  361. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  362. package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts +46 -0
  363. package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -0
  364. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-background-sync.d.ts +14 -0
  365. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-background-sync.d.ts.map +1 -0
  366. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bluetooth-state.d.ts +11 -0
  367. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bluetooth-state.d.ts.map +1 -0
  368. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-device-connection.d.ts +7 -0
  369. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-device-connection.d.ts.map +1 -0
  370. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-health-import.d.ts +16 -0
  371. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-health-import.d.ts.map +1 -0
  372. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-measurements.d.ts +11 -0
  373. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-measurements.d.ts.map +1 -0
  374. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-devices.d.ts +8 -0
  375. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-devices.d.ts.map +1 -0
  376. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-paired-devices.d.ts +16 -0
  377. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-paired-devices.d.ts.map +1 -0
  378. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +13 -0
  379. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
  380. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  381. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +22 -0
  382. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  383. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +4 -0
  384. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  385. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +9 -1
  386. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  387. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/measurement-state-machine.d.ts +3 -2
  388. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/measurement-state-machine.d.ts.map +1 -1
  389. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/spo/spo2.main-services.d.ts.map +1 -1
  390. package/lib/typescript/commonjs/src/modules/bt-management/testing/fake-ble-manager.d.ts +16 -0
  391. package/lib/typescript/commonjs/src/modules/bt-management/testing/fake-ble-manager.d.ts.map +1 -0
  392. package/lib/typescript/commonjs/src/modules/bt-management/testing/index.d.ts +3 -0
  393. package/lib/typescript/commonjs/src/modules/bt-management/testing/index.d.ts.map +1 -0
  394. package/lib/typescript/commonjs/src/modules/bt-management/testing/recorded-frames.d.ts +12 -0
  395. package/lib/typescript/commonjs/src/modules/bt-management/testing/recorded-frames.d.ts.map +1 -0
  396. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts +3 -1
  397. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
  398. package/lib/typescript/commonjs/src/modules/bt-management/types/bluetooth-error.d.ts +23 -0
  399. package/lib/typescript/commonjs/src/modules/bt-management/types/bluetooth-error.d.ts.map +1 -0
  400. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts +4 -0
  401. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  402. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +4 -0
  403. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  404. package/lib/typescript/commonjs/src/modules/bt-management/types/device-connection-event.d.ts +16 -0
  405. package/lib/typescript/commonjs/src/modules/bt-management/types/device-connection-event.d.ts.map +1 -0
  406. package/lib/typescript/commonjs/src/modules/bt-management/types/error-callback.d.ts +5 -2
  407. package/lib/typescript/commonjs/src/modules/bt-management/types/error-callback.d.ts.map +1 -1
  408. package/lib/typescript/commonjs/src/modules/bt-management/types/i-bt-managed-device.d.ts +1 -0
  409. package/lib/typescript/commonjs/src/modules/bt-management/types/i-bt-managed-device.d.ts.map +1 -1
  410. package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts +2 -0
  411. package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
  412. package/lib/typescript/commonjs/src/modules/bt-management/types/result-policy.d.ts +8 -0
  413. package/lib/typescript/commonjs/src/modules/bt-management/types/result-policy.d.ts.map +1 -0
  414. package/lib/typescript/commonjs/src/modules/bt-management/utils/result-identity.d.ts +10 -0
  415. package/lib/typescript/commonjs/src/modules/bt-management/utils/result-identity.d.ts.map +1 -0
  416. package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
  417. package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
  418. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts +4 -0
  419. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  420. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +1 -1
  421. package/lib/typescript/commonjs/src/modules/data-sync/types/health-authorization-status.d.ts +2 -0
  422. package/lib/typescript/commonjs/src/modules/data-sync/types/health-authorization-status.d.ts.map +1 -1
  423. package/lib/typescript/commonjs/src/modules/data-sync/types/sync-progress.d.ts +1 -1
  424. package/lib/typescript/commonjs/src/modules/data-sync/types/sync-progress.d.ts.map +1 -1
  425. package/lib/typescript/commonjs/src/modules/data-sync/utils/retry-save.d.ts +5 -0
  426. package/lib/typescript/commonjs/src/modules/data-sync/utils/retry-save.d.ts.map +1 -0
  427. package/lib/typescript/commonjs/src/modules/helpers/form-items/form-field.d.ts +4 -1
  428. package/lib/typescript/commonjs/src/modules/helpers/form-items/form-field.d.ts.map +1 -1
  429. package/lib/typescript/commonjs/src/modules/helpers/index.d.ts +1 -0
  430. package/lib/typescript/commonjs/src/modules/helpers/index.d.ts.map +1 -1
  431. package/lib/typescript/commonjs/src/modules/helpers/utils/s-log.d.ts.map +1 -1
  432. package/lib/typescript/commonjs/src/modules/helpers/utils/sentry-logger.d.ts +7 -1
  433. package/lib/typescript/commonjs/src/modules/helpers/utils/sentry-logger.d.ts.map +1 -1
  434. package/lib/typescript/commonjs/src/modules/helpers/utils/telemetry.d.ts +68 -0
  435. package/lib/typescript/commonjs/src/modules/helpers/utils/telemetry.d.ts.map +1 -0
  436. package/lib/typescript/commonjs/src/modules/image/components/optimized-image.d.ts +1 -1
  437. package/lib/typescript/commonjs/src/modules/image/components/optimized-image.d.ts.map +1 -1
  438. package/lib/typescript/commonjs/src/modules/image/types/optimized-image-props.d.ts +4 -0
  439. package/lib/typescript/commonjs/src/modules/image/types/optimized-image-props.d.ts.map +1 -1
  440. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/content/questionnaire-content-error.d.ts.map +1 -1
  441. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.d.ts.map +1 -1
  442. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.d.ts.map +1 -1
  443. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts.map +1 -1
  444. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-navigation-provider.d.ts.map +1 -1
  445. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.d.ts +1 -0
  446. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.d.ts.map +1 -1
  447. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts +1 -0
  448. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts.map +1 -1
  449. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation.d.ts +1 -0
  450. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation.d.ts.map +1 -1
  451. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts +2 -0
  452. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts.map +1 -1
  453. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts +1 -0
  454. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts.map +1 -1
  455. package/lib/typescript/commonjs/src/modules/tile/components/task-icon.d.ts.map +1 -1
  456. package/lib/typescript/commonjs/src/modules/ui/components/background-sync-setting.d.ts +9 -0
  457. package/lib/typescript/commonjs/src/modules/ui/components/background-sync-setting.d.ts.map +1 -0
  458. package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts +12 -0
  459. package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -0
  460. package/lib/typescript/commonjs/src/modules/ui/components/ecg-strip-viewer.d.ts +17 -0
  461. package/lib/typescript/commonjs/src/modules/ui/components/ecg-strip-viewer.d.ts.map +1 -0
  462. package/lib/typescript/commonjs/src/modules/ui/components/health-import-card.d.ts +13 -0
  463. package/lib/typescript/commonjs/src/modules/ui/components/health-import-card.d.ts.map +1 -0
  464. package/lib/typescript/commonjs/src/modules/ui/components/manual-entry-form.d.ts +20 -0
  465. package/lib/typescript/commonjs/src/modules/ui/components/manual-entry-form.d.ts.map +1 -0
  466. package/lib/typescript/commonjs/src/modules/ui/components/pairing-flow.d.ts +15 -0
  467. package/lib/typescript/commonjs/src/modules/ui/components/pairing-flow.d.ts.map +1 -0
  468. package/lib/typescript/commonjs/src/modules/ui/components/supported-devices-catalog-list.d.ts +16 -0
  469. package/lib/typescript/commonjs/src/modules/ui/components/supported-devices-catalog-list.d.ts.map +1 -0
  470. package/lib/typescript/commonjs/src/modules/ui/components/urine-test-result.d.ts +10 -0
  471. package/lib/typescript/commonjs/src/modules/ui/components/urine-test-result.d.ts.map +1 -0
  472. package/lib/typescript/commonjs/src/modules/ui/index.d.ts +11 -0
  473. package/lib/typescript/commonjs/src/modules/ui/index.d.ts.map +1 -0
  474. package/lib/typescript/commonjs/src/modules/ui/types.d.ts +24 -0
  475. package/lib/typescript/commonjs/src/modules/ui/types.d.ts.map +1 -0
  476. package/lib/typescript/commonjs/src/modules/ui/use-ovok-ui.d.ts +7 -0
  477. package/lib/typescript/commonjs/src/modules/ui/use-ovok-ui.d.ts.map +1 -0
  478. package/lib/typescript/module/src/index.d.ts +1 -0
  479. package/lib/typescript/module/src/index.d.ts.map +1 -1
  480. package/lib/typescript/module/src/modules/auth/delete-account-button/components/delete-account-button.d.ts.map +1 -1
  481. package/lib/typescript/module/src/modules/auth/hooks/use-rate-limit-cooldown.d.ts +2 -0
  482. package/lib/typescript/module/src/modules/auth/hooks/use-rate-limit-cooldown.d.ts.map +1 -0
  483. package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts +16 -0
  484. package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts.map +1 -0
  485. package/lib/typescript/module/src/modules/auth/index.d.ts +4 -0
  486. package/lib/typescript/module/src/modules/auth/index.d.ts.map +1 -1
  487. package/lib/typescript/module/src/modules/auth/logout-button/components/logout-button.d.ts.map +1 -1
  488. package/lib/typescript/module/src/modules/auth/register/components/form/inputs.d.ts.map +1 -1
  489. package/lib/typescript/module/src/modules/auth/register/components/form/register-button.d.ts.map +1 -1
  490. package/lib/typescript/module/src/modules/auth/register/components/form/register-form-provider.d.ts.map +1 -1
  491. package/lib/typescript/module/src/modules/auth/reset-password/components/form/inputs.d.ts.map +1 -1
  492. package/lib/typescript/module/src/modules/auth/reset-password/components/form/reset-password-button.d.ts.map +1 -1
  493. package/lib/typescript/module/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
  494. package/lib/typescript/module/src/modules/auth/session/components/session-list.d.ts +4 -0
  495. package/lib/typescript/module/src/modules/auth/session/components/session-list.d.ts.map +1 -0
  496. package/lib/typescript/module/src/modules/auth/session/events.d.ts +5 -0
  497. package/lib/typescript/module/src/modules/auth/session/events.d.ts.map +1 -0
  498. package/lib/typescript/module/src/modules/auth/session/index.d.ts +3 -0
  499. package/lib/typescript/module/src/modules/auth/session/index.d.ts.map +1 -0
  500. package/lib/typescript/module/src/modules/auth/session/types/session-list-props.d.ts +5 -0
  501. package/lib/typescript/module/src/modules/auth/session/types/session-list-props.d.ts.map +1 -0
  502. package/lib/typescript/module/src/modules/auth/sign-in/components/form/inputs.d.ts.map +1 -1
  503. package/lib/typescript/module/src/modules/auth/sign-in/components/form/login-form-provider.d.ts.map +1 -1
  504. package/lib/typescript/module/src/modules/auth/sign-in/components/form/mfa-code-input.d.ts +9 -0
  505. package/lib/typescript/module/src/modules/auth/sign-in/components/form/mfa-code-input.d.ts.map +1 -0
  506. package/lib/typescript/module/src/modules/auth/sign-in/components/form/sign-in-with-email.d.ts +4 -0
  507. package/lib/typescript/module/src/modules/auth/sign-in/components/form/sign-in-with-email.d.ts.map +1 -1
  508. package/lib/typescript/module/src/modules/auth/sign-in/components/form/signin-button.d.ts.map +1 -1
  509. package/lib/typescript/module/src/modules/auth/sign-in/components/sign-in.d.ts +4 -0
  510. package/lib/typescript/module/src/modules/auth/sign-in/components/sign-in.d.ts.map +1 -1
  511. package/lib/typescript/module/src/modules/auth/sign-in/contexts/login-form-context.d.ts +2 -46
  512. package/lib/typescript/module/src/modules/auth/sign-in/contexts/login-form-context.d.ts.map +1 -1
  513. package/lib/typescript/module/src/modules/auth/sign-in/hooks/use-login-form.d.ts +1 -47
  514. package/lib/typescript/module/src/modules/auth/sign-in/hooks/use-login-form.d.ts.map +1 -1
  515. package/lib/typescript/module/src/modules/auth/sign-in/types/login-form-context-type.d.ts +11 -1
  516. package/lib/typescript/module/src/modules/auth/sign-in/types/login-form-context-type.d.ts.map +1 -1
  517. package/lib/typescript/module/src/modules/auth/types/session.d.ts +13 -0
  518. package/lib/typescript/module/src/modules/auth/types/session.d.ts.map +1 -0
  519. package/lib/typescript/module/src/modules/auth/utils/rate-limit.d.ts +11 -0
  520. package/lib/typescript/module/src/modules/auth/utils/rate-limit.d.ts.map +1 -0
  521. package/lib/typescript/module/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -1
  522. package/lib/typescript/module/src/modules/background-sync/background-safe-storage.d.ts +29 -0
  523. package/lib/typescript/module/src/modules/background-sync/background-safe-storage.d.ts.map +1 -0
  524. package/lib/typescript/module/src/modules/background-sync/index.d.ts +1 -0
  525. package/lib/typescript/module/src/modules/background-sync/index.d.ts.map +1 -1
  526. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  527. package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts +46 -0
  528. package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -0
  529. package/lib/typescript/module/src/modules/bt-management/hooks/use-background-sync.d.ts +14 -0
  530. package/lib/typescript/module/src/modules/bt-management/hooks/use-background-sync.d.ts.map +1 -0
  531. package/lib/typescript/module/src/modules/bt-management/hooks/use-bluetooth-state.d.ts +11 -0
  532. package/lib/typescript/module/src/modules/bt-management/hooks/use-bluetooth-state.d.ts.map +1 -0
  533. package/lib/typescript/module/src/modules/bt-management/hooks/use-device-connection.d.ts +7 -0
  534. package/lib/typescript/module/src/modules/bt-management/hooks/use-device-connection.d.ts.map +1 -0
  535. package/lib/typescript/module/src/modules/bt-management/hooks/use-health-import.d.ts +16 -0
  536. package/lib/typescript/module/src/modules/bt-management/hooks/use-health-import.d.ts.map +1 -0
  537. package/lib/typescript/module/src/modules/bt-management/hooks/use-measurements.d.ts +11 -0
  538. package/lib/typescript/module/src/modules/bt-management/hooks/use-measurements.d.ts.map +1 -0
  539. package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-devices.d.ts +8 -0
  540. package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-devices.d.ts.map +1 -0
  541. package/lib/typescript/module/src/modules/bt-management/hooks/use-paired-devices.d.ts +16 -0
  542. package/lib/typescript/module/src/modules/bt-management/hooks/use-paired-devices.d.ts.map +1 -0
  543. package/lib/typescript/module/src/modules/bt-management/index.d.ts +13 -0
  544. package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
  545. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  546. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +22 -0
  547. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  548. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +4 -0
  549. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  550. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +9 -1
  551. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  552. package/lib/typescript/module/src/modules/bt-management/services/devices/measurement-state-machine.d.ts +3 -2
  553. package/lib/typescript/module/src/modules/bt-management/services/devices/measurement-state-machine.d.ts.map +1 -1
  554. package/lib/typescript/module/src/modules/bt-management/services/devices/spo/spo2.main-services.d.ts.map +1 -1
  555. package/lib/typescript/module/src/modules/bt-management/testing/fake-ble-manager.d.ts +16 -0
  556. package/lib/typescript/module/src/modules/bt-management/testing/fake-ble-manager.d.ts.map +1 -0
  557. package/lib/typescript/module/src/modules/bt-management/testing/index.d.ts +3 -0
  558. package/lib/typescript/module/src/modules/bt-management/testing/index.d.ts.map +1 -0
  559. package/lib/typescript/module/src/modules/bt-management/testing/recorded-frames.d.ts +12 -0
  560. package/lib/typescript/module/src/modules/bt-management/testing/recorded-frames.d.ts.map +1 -0
  561. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts +3 -1
  562. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
  563. package/lib/typescript/module/src/modules/bt-management/types/bluetooth-error.d.ts +23 -0
  564. package/lib/typescript/module/src/modules/bt-management/types/bluetooth-error.d.ts.map +1 -0
  565. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts +4 -0
  566. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  567. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +4 -0
  568. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  569. package/lib/typescript/module/src/modules/bt-management/types/device-connection-event.d.ts +16 -0
  570. package/lib/typescript/module/src/modules/bt-management/types/device-connection-event.d.ts.map +1 -0
  571. package/lib/typescript/module/src/modules/bt-management/types/error-callback.d.ts +5 -2
  572. package/lib/typescript/module/src/modules/bt-management/types/error-callback.d.ts.map +1 -1
  573. package/lib/typescript/module/src/modules/bt-management/types/i-bt-managed-device.d.ts +1 -0
  574. package/lib/typescript/module/src/modules/bt-management/types/i-bt-managed-device.d.ts.map +1 -1
  575. package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts +2 -0
  576. package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
  577. package/lib/typescript/module/src/modules/bt-management/types/result-policy.d.ts +8 -0
  578. package/lib/typescript/module/src/modules/bt-management/types/result-policy.d.ts.map +1 -0
  579. package/lib/typescript/module/src/modules/bt-management/utils/result-identity.d.ts +10 -0
  580. package/lib/typescript/module/src/modules/bt-management/utils/result-identity.d.ts.map +1 -0
  581. package/lib/typescript/module/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
  582. package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
  583. package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts +4 -0
  584. package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  585. package/lib/typescript/module/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +1 -1
  586. package/lib/typescript/module/src/modules/data-sync/types/health-authorization-status.d.ts +2 -0
  587. package/lib/typescript/module/src/modules/data-sync/types/health-authorization-status.d.ts.map +1 -1
  588. package/lib/typescript/module/src/modules/data-sync/types/sync-progress.d.ts +1 -1
  589. package/lib/typescript/module/src/modules/data-sync/types/sync-progress.d.ts.map +1 -1
  590. package/lib/typescript/module/src/modules/data-sync/utils/retry-save.d.ts +5 -0
  591. package/lib/typescript/module/src/modules/data-sync/utils/retry-save.d.ts.map +1 -0
  592. package/lib/typescript/module/src/modules/helpers/form-items/form-field.d.ts +4 -1
  593. package/lib/typescript/module/src/modules/helpers/form-items/form-field.d.ts.map +1 -1
  594. package/lib/typescript/module/src/modules/helpers/index.d.ts +1 -0
  595. package/lib/typescript/module/src/modules/helpers/index.d.ts.map +1 -1
  596. package/lib/typescript/module/src/modules/helpers/utils/s-log.d.ts.map +1 -1
  597. package/lib/typescript/module/src/modules/helpers/utils/sentry-logger.d.ts +7 -1
  598. package/lib/typescript/module/src/modules/helpers/utils/sentry-logger.d.ts.map +1 -1
  599. package/lib/typescript/module/src/modules/helpers/utils/telemetry.d.ts +68 -0
  600. package/lib/typescript/module/src/modules/helpers/utils/telemetry.d.ts.map +1 -0
  601. package/lib/typescript/module/src/modules/image/components/optimized-image.d.ts +1 -1
  602. package/lib/typescript/module/src/modules/image/components/optimized-image.d.ts.map +1 -1
  603. package/lib/typescript/module/src/modules/image/types/optimized-image-props.d.ts +4 -0
  604. package/lib/typescript/module/src/modules/image/types/optimized-image-props.d.ts.map +1 -1
  605. package/lib/typescript/module/src/modules/questionnaire-response-form/components/content/questionnaire-content-error.d.ts.map +1 -1
  606. package/lib/typescript/module/src/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.d.ts.map +1 -1
  607. package/lib/typescript/module/src/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.d.ts.map +1 -1
  608. package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts.map +1 -1
  609. package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-navigation-provider.d.ts.map +1 -1
  610. package/lib/typescript/module/src/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.d.ts +1 -0
  611. package/lib/typescript/module/src/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.d.ts.map +1 -1
  612. package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts +1 -0
  613. package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts.map +1 -1
  614. package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation.d.ts +1 -0
  615. package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation.d.ts.map +1 -1
  616. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts +2 -0
  617. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts.map +1 -1
  618. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts +1 -0
  619. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts.map +1 -1
  620. package/lib/typescript/module/src/modules/tile/components/task-icon.d.ts.map +1 -1
  621. package/lib/typescript/module/src/modules/ui/components/background-sync-setting.d.ts +9 -0
  622. package/lib/typescript/module/src/modules/ui/components/background-sync-setting.d.ts.map +1 -0
  623. package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts +12 -0
  624. package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -0
  625. package/lib/typescript/module/src/modules/ui/components/ecg-strip-viewer.d.ts +17 -0
  626. package/lib/typescript/module/src/modules/ui/components/ecg-strip-viewer.d.ts.map +1 -0
  627. package/lib/typescript/module/src/modules/ui/components/health-import-card.d.ts +13 -0
  628. package/lib/typescript/module/src/modules/ui/components/health-import-card.d.ts.map +1 -0
  629. package/lib/typescript/module/src/modules/ui/components/manual-entry-form.d.ts +20 -0
  630. package/lib/typescript/module/src/modules/ui/components/manual-entry-form.d.ts.map +1 -0
  631. package/lib/typescript/module/src/modules/ui/components/pairing-flow.d.ts +15 -0
  632. package/lib/typescript/module/src/modules/ui/components/pairing-flow.d.ts.map +1 -0
  633. package/lib/typescript/module/src/modules/ui/components/supported-devices-catalog-list.d.ts +16 -0
  634. package/lib/typescript/module/src/modules/ui/components/supported-devices-catalog-list.d.ts.map +1 -0
  635. package/lib/typescript/module/src/modules/ui/components/urine-test-result.d.ts +10 -0
  636. package/lib/typescript/module/src/modules/ui/components/urine-test-result.d.ts.map +1 -0
  637. package/lib/typescript/module/src/modules/ui/index.d.ts +11 -0
  638. package/lib/typescript/module/src/modules/ui/index.d.ts.map +1 -0
  639. package/lib/typescript/module/src/modules/ui/types.d.ts +24 -0
  640. package/lib/typescript/module/src/modules/ui/types.d.ts.map +1 -0
  641. package/lib/typescript/module/src/modules/ui/use-ovok-ui.d.ts +7 -0
  642. package/lib/typescript/module/src/modules/ui/use-ovok-ui.d.ts.map +1 -0
  643. package/package.json +145 -6
@@ -1 +1 @@
1
- {"version":3,"names":["getIn","React","useTranslation","View","HelperText","TextInput","useAppTheme","jsx","_jsx","jsxs","_jsxs","FormField","memo","name","context","containerStyle","testID","props","t","theme","values","errors","touched","handleChange","handleBlur","useContext","value","useMemo","error","onBlur","e","style","gap","spacing","children","mode","autoCapitalize","roundness","borderRadius","onChangeText","onFocus","undefined","type"],"sourceRoot":"../../../../../src","sources":["modules/helpers/form-items/form-field.tsx"],"mappings":";;AAAA,SAASA,KAAK,QAAmB,QAAQ;AACzC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAGEC,IAAI,QAEC,cAAc;AACrB,SAASC,UAAU,EAAEC,SAAS,QAA6B,oBAAoB;AAE/E,SAASC,WAAW,QAAQ,sBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAa1C,OAAO,MAAMC,SAAS,gBAAGV,KAAK,CAACW,IAAI,CACjC,CAAC;EAAEC,IAAI;EAAEC,OAAO;EAAEC,cAAc;EAAEC,MAAM;EAAE,GAAGC;AAAsB,CAAC,KAAK;EACvE,MAAM;IAAEC;EAAE,CAAC,GAAGhB,cAAc,CAAC,CAAC;EAC9B,MAAMiB,KAAK,GAAGb,WAAW,CAAC,CAAC;EAE3B,MAAM;IAAEc,MAAM;IAAEC,MAAM;IAAEC,OAAO;IAAEC,YAAY;IAAEC;EAAW,CAAC,GACzDvB,KAAK,CAACwB,UAAU,CAACX,OAAO,CAAiC;EAE3D,MAAMY,KAAK,GAAGzB,KAAK,CAAC0B,OAAO,CAAC,MAAM3B,KAAK,CAACoB,MAAM,EAAEP,IAAI,CAAC,EAAE,CAACO,MAAM,EAAEP,IAAI,CAAC,CAAC;EAEtE,MAAMe,KAAK,GAAG3B,KAAK,CAAC0B,OAAO,CACzB,MAAM3B,KAAK,CAACsB,OAAO,EAAET,IAAI,CAAC,IAAIb,KAAK,CAACqB,MAAM,EAAER,IAAI,CAAC,EACjD,CAACS,OAAO,EAAED,MAAM,EAAER,IAAI,CACxB,CAAC;EAED,MAAMgB,MAAM,GAAIC,CAAgD,IAAK;IACnEN,UAAU,CAACX,IAAI,CAAC,CAACiB,CAAC,CAAC;IACnBb,KAAK,CAACY,MAAM,GAAGC,CAAC,CAAC;EACnB,CAAC;EAED,oBACEpB,KAAA,CAACP,IAAI;IACH4B,KAAK,EAAE,CAAC;MAAEC,GAAG,EAAEb,KAAK,CAACc,OAAO,CAAC,GAAG;IAAE,CAAC,EAAElB,cAAc,CAAE;IACrDC,MAAM,EAAEA,MAAO;IAAAkB,QAAA,gBAEf1B,IAAA,CAACH,SAAS;MAAA,GACJY,KAAK;MACTkB,IAAI,EAAC,UAAU;MACfC,cAAc,EAAC,MAAM;MACrBV,KAAK,EAAEA,KAAM;MACbP,KAAK,EAAE;QACLkB,SAAS,EAAElB,KAAK,CAACmB,YAAY,CAAC,CAAC,CAAC;QAChC,GAAGrB,KAAK,CAACE;MACX,CAAE;MACFS,KAAK,EAAE,CAAC,CAACA,KAAM;MACfW,YAAY,EAAEhB,YAAY,CAACV,IAAI;MAC/B;MAAA;MACAgB,MAAM,EAAEA,MAAc;MACtBW,OAAO,EAAEvB,KAAK,CAACuB,OAAQ;MACvBxB,MAAM,EAAEA,MAAM,GAAG,GAAGA,MAAM,QAAQ,GAAGyB;IAAU,CAChD,CAAC,EACDb,KAAK,gBACJpB,IAAA,CAACJ,UAAU;MACTsC,IAAI,EAAC,OAAO;MACZ1B,MAAM,EAAEA,MAAM,GAAG,GAAGA,MAAM,QAAQ,GAAGyB,SAAU;MAAAP,QAAA,EAE9ChB,CAAC,CAACU,KAAK;IAAC,CACC,CAAC,GACX,IAAI;EAAA,CACJ,CAAC;AAEX,CACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["getIn","React","useTranslation","View","HelperText","TextInput","useAppTheme","jsx","_jsx","jsxs","_jsxs","FormField","memo","name","context","containerStyle","inputRef","testID","props","t","theme","values","errors","touched","handleChange","handleBlur","useContext","value","useMemo","error","onBlur","e","style","gap","spacing","children","ref","mode","autoCapitalize","roundness","borderRadius","onChangeText","onFocus","undefined","type"],"sourceRoot":"../../../../../src","sources":["modules/helpers/form-items/form-field.tsx"],"mappings":";;AAAA,SAASA,KAAK,QAAmB,QAAQ;AACzC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAGEC,IAAI,QAEC,cAAc;AACrB,SAASC,UAAU,EAAEC,SAAS,QAA6B,oBAAoB;AAE/E,SAASC,WAAW,QAAQ,sBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAc1C,OAAO,MAAMC,SAAS,gBAAGV,KAAK,CAACW,IAAI,CACjC,CAAC;EACCC,IAAI;EACJC,OAAO;EACPC,cAAc;EACdC,QAAQ;EACRC,MAAM;EACN,GAAGC;AACW,CAAC,KAAK;EACpB,MAAM;IAAEC;EAAE,CAAC,GAAGjB,cAAc,CAAC,CAAC;EAC9B,MAAMkB,KAAK,GAAGd,WAAW,CAAC,CAAC;EAE3B,MAAM;IAAEe,MAAM;IAAEC,MAAM;IAAEC,OAAO;IAAEC,YAAY;IAAEC;EAAW,CAAC,GACzDxB,KAAK,CAACyB,UAAU,CAACZ,OAAO,CAAiC;EAE3D,MAAMa,KAAK,GAAG1B,KAAK,CAAC2B,OAAO,CAAC,MAAM5B,KAAK,CAACqB,MAAM,EAAER,IAAI,CAAC,EAAE,CAACQ,MAAM,EAAER,IAAI,CAAC,CAAC;EAEtE,MAAMgB,KAAK,GAAG5B,KAAK,CAAC2B,OAAO,CACzB,MAAM5B,KAAK,CAACuB,OAAO,EAAEV,IAAI,CAAC,IAAIb,KAAK,CAACsB,MAAM,EAAET,IAAI,CAAC,EACjD,CAACU,OAAO,EAAED,MAAM,EAAET,IAAI,CACxB,CAAC;EAED,MAAMiB,MAAM,GAAIC,CAAgD,IAAK;IACnEN,UAAU,CAACZ,IAAI,CAAC,CAACkB,CAAC,CAAC;IACnBb,KAAK,CAACY,MAAM,GAAGC,CAAC,CAAC;EACnB,CAAC;EAED,oBACErB,KAAA,CAACP,IAAI;IACH6B,KAAK,EAAE,CAAC;MAAEC,GAAG,EAAEb,KAAK,CAACc,OAAO,CAAC,GAAG;IAAE,CAAC,EAAEnB,cAAc,CAAE;IACrDE,MAAM,EAAEA,MAAO;IAAAkB,QAAA,gBAEf3B,IAAA,CAACH,SAAS;MAAA,GACJa,KAAK;MACTkB,GAAG,EAAEpB,QAAiE;MACtEqB,IAAI,EAAC,UAAU;MACfC,cAAc,EAAC,MAAM;MACrBX,KAAK,EAAEA,KAAM;MACbP,KAAK,EAAE;QACLmB,SAAS,EAAEnB,KAAK,CAACoB,YAAY,CAAC,CAAC,CAAC;QAChC,GAAGtB,KAAK,CAACE;MACX,CAAE;MACFS,KAAK,EAAE,CAAC,CAACA,KAAM;MACfY,YAAY,EAAEjB,YAAY,CAACX,IAAI;MAC/B;MAAA;MACAiB,MAAM,EAAEA,MAAc;MACtBY,OAAO,EAAExB,KAAK,CAACwB,OAAQ;MACvBzB,MAAM,EAAEA,MAAM,GAAG,GAAGA,MAAM,QAAQ,GAAG0B;IAAU,CAChD,CAAC,EACDd,KAAK,gBACJrB,IAAA,CAACJ,UAAU;MACTwC,IAAI,EAAC,OAAO;MACZ3B,MAAM,EAAEA,MAAM,GAAG,GAAGA,MAAM,QAAQ,GAAG0B,SAAU;MAAAR,QAAA,EAE9ChB,CAAC,CAACU,KAAK;IAAC,CACC,CAAC,GACX,IAAI;EAAA,CACJ,CAAC;AAEX,CACF,CAAC","ignoreList":[]}
@@ -5,6 +5,7 @@ export * from "./form-items/form-field.js";
5
5
  export * from "./form-items/form-select.js";
6
6
  export * from "./form-items/form-date-field.js";
7
7
  export * from "./utils/s-log.js";
8
+ export * from "./utils/telemetry.js";
8
9
  export * from "./utils/with-animated.js";
9
10
  export { BottomSheetModalProvider } from "@gorhom/bottom-sheet";
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BottomSheetModalProvider"],"sourceRoot":"../../../../src","sources":["modules/helpers/index.tsx"],"mappings":";;AAAA,cAAc,kBAAe;AAE7B,cAAc,4BAAyB;AAEvC,cAAc,6BAA0B;AAExC,cAAc,iCAA8B;AAE5C,cAAc,kBAAe;AAE7B,cAAc,0BAAuB;AACrC,SAASA,wBAAwB,QAAQ,sBAAsB","ignoreList":[]}
1
+ {"version":3,"names":["BottomSheetModalProvider"],"sourceRoot":"../../../../src","sources":["modules/helpers/index.tsx"],"mappings":";;AAAA,cAAc,kBAAe;AAE7B,cAAc,4BAAyB;AAEvC,cAAc,6BAA0B;AAExC,cAAc,iCAA8B;AAE5C,cAAc,kBAAe;AAE7B,cAAc,sBAAmB;AAEjC,cAAc,0BAAuB;AACrC,SAASA,wBAAwB,QAAQ,sBAAsB","ignoreList":[]}
@@ -1,20 +1,12 @@
1
1
  "use strict";
2
2
 
3
- import * as Sentry from "@sentry/react-native";
3
+ import { sentryLogger } from "./sentry-logger.js";
4
4
  export const slog = (error, scope,
5
5
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
6
6
  additionalData = {}, level = "error") => {
7
- if (__DEV__) {
8
- // eslint-disable-next-line no-console
9
- console.log(error, scope, JSON.stringify(additionalData, null, 2), level);
10
- return;
11
- }
12
- Sentry.captureException(error, {
13
- extra: {
14
- scope,
15
- additionalData
16
- },
17
- level
7
+ sentryLogger(level, scope, {
8
+ error,
9
+ additionalData
18
10
  });
19
11
  };
20
12
  //# sourceMappingURL=s-log.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Sentry","slog","error","scope","additionalData","level","__DEV__","console","log","JSON","stringify","captureException","extra"],"sourceRoot":"../../../../../src","sources":["modules/helpers/utils/s-log.ts"],"mappings":";;AAAA,OAAO,KAAKA,MAAM,MAAM,sBAAsB;AAE9C,OAAO,MAAMC,IAAI,GAAGA,CAElBC,KAAU,EACVC,KAAa;AACb;AACAC,cAAmC,GAAG,CAAC,CAAC,EACxCC,KAA6C,GAAG,OAAO,KACpD;EACH,IAAIC,OAAO,EAAE;IACX;IACAC,OAAO,CAACC,GAAG,CAACN,KAAK,EAAEC,KAAK,EAAEM,IAAI,CAACC,SAAS,CAACN,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,EAAEC,KAAK,CAAC;IAEzE;EACF;EAEAL,MAAM,CAACW,gBAAgB,CAACT,KAAK,EAAE;IAC7BU,KAAK,EAAE;MACLT,KAAK;MACLC;IACF,CAAC;IACDC;EACF,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["sentryLogger","slog","error","scope","additionalData","level"],"sourceRoot":"../../../../../src","sources":["modules/helpers/utils/s-log.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,oBAAiB;AAE9C,OAAO,MAAMC,IAAI,GAAGA,CAElBC,KAAU,EACVC,KAAa;AACb;AACAC,cAAmC,GAAG,CAAC,CAAC,EACxCC,KAA6C,GAAG,OAAO,KACpD;EACHL,YAAY,CAACK,KAAK,EAAEF,KAAK,EAAE;IAAED,KAAK;IAAEE;EAAe,CAAC,CAAC;AACvD,CAAC","ignoreList":[]}
@@ -1,20 +1,32 @@
1
1
  "use strict";
2
2
 
3
3
  /* eslint-disable no-console */
4
- import * as Sentry from "@sentry/react-native";
5
- export const sentryLogger = (type, message, extra = {}) => {
6
- if (__DEV__) {
7
- console.log("Sentry logger:", message, JSON.stringify(extra, null, 2));
8
- return;
4
+ /* eslint-disable import/group-exports */
5
+
6
+ import { emitOvokLog, recordOvokMetric, sanitizeOvokTelemetryAttributes } from "./telemetry.js";
7
+ const consoleLogger = (level, message, extra = {}) => {
8
+ const method = level === "warning" ? "warn" : level === "trace" ? "debug" : level;
9
+ const log = method === "fatal" ? console.error : console[method] ?? console.log;
10
+ log(`[Ovok] ${message}`, extra);
11
+ };
12
+ let configuredLogger;
13
+
14
+ /** Configure the SDK logger. The default is the console and OpenTelemetry when present. */
15
+ export const configureOvokLogger = logger => {
16
+ configuredLogger = logger;
17
+ };
18
+ export const ovokLogger = (type, message, extra = {}) => {
19
+ const safeExtra = sanitizeOvokTelemetryAttributes(extra);
20
+ emitOvokLog(type, message, safeExtra);
21
+ if (type === "error" || type === "fatal") {
22
+ recordOvokMetric("ovok.errors", 1, {
23
+ errorCode: typeof extra.errorCode === "string" ? extra.errorCode : "unknown"
24
+ });
9
25
  }
10
- const functionMap = {
11
- error: Sentry.logger.error,
12
- warning: Sentry.logger.warn,
13
- info: Sentry.logger.info,
14
- debug: Sentry.logger.debug,
15
- fatal: Sentry.logger.fatal,
16
- trace: Sentry.logger.trace
17
- };
18
- functionMap[type](message, extra);
26
+ const logger = configuredLogger ?? consoleLogger;
27
+ logger(type, message, safeExtra);
19
28
  };
29
+
30
+ /** @deprecated Use ovokLogger. Kept as a source-compatible alias for existing apps. */
31
+ export const sentryLogger = ovokLogger;
20
32
  //# sourceMappingURL=sentry-logger.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Sentry","sentryLogger","type","message","extra","__DEV__","console","log","JSON","stringify","functionMap","error","logger","warning","warn","info","debug","fatal","trace"],"sourceRoot":"../../../../../src","sources":["modules/helpers/utils/sentry-logger.ts"],"mappings":";;AAAA;AACA,OAAO,KAAKA,MAAM,MAAM,sBAAsB;AAE9C,OAAO,MAAMC,YAAY,GAAGA,CAC1BC,IAAgE,EAChEC,OAAe,EACfC,KAA8B,GAAG,CAAC,CAAC,KAChC;EACH,IAAIC,OAAO,EAAE;IACXC,OAAO,CAACC,GAAG,CAAC,gBAAgB,EAAEJ,OAAO,EAAEK,IAAI,CAACC,SAAS,CAACL,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAEtE;EACF;EACA,MAAMM,WAAW,GAAG;IAClBC,KAAK,EAAEX,MAAM,CAACY,MAAM,CAACD,KAAK;IAC1BE,OAAO,EAAEb,MAAM,CAACY,MAAM,CAACE,IAAI;IAC3BC,IAAI,EAAEf,MAAM,CAACY,MAAM,CAACG,IAAI;IACxBC,KAAK,EAAEhB,MAAM,CAACY,MAAM,CAACI,KAAK;IAC1BC,KAAK,EAAEjB,MAAM,CAACY,MAAM,CAACK,KAAK;IAC1BC,KAAK,EAAElB,MAAM,CAACY,MAAM,CAACM;EACvB,CAAC;EAEDR,WAAW,CAACR,IAAI,CAAC,CAACC,OAAO,EAAEC,KAAK,CAAC;AACnC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["emitOvokLog","recordOvokMetric","sanitizeOvokTelemetryAttributes","consoleLogger","level","message","extra","method","log","console","error","configuredLogger","configureOvokLogger","logger","ovokLogger","type","safeExtra","errorCode","sentryLogger"],"sourceRoot":"../../../../../src","sources":["modules/helpers/utils/sentry-logger.ts"],"mappings":";;AAAA;AACA;;AAEA,SAASA,WAAW,EAAEC,gBAAgB,EAAEC,+BAA+B,QAAQ,gBAAa;AAgB5F,MAAMC,aAAyB,GAAGA,CAACC,KAAK,EAAEC,OAAO,EAAEC,KAAK,GAAG,CAAC,CAAC,KAAK;EAChE,MAAMC,MAAM,GAAGH,KAAK,KAAK,SAAS,GAAG,MAAM,GAAGA,KAAK,KAAK,OAAO,GAAG,OAAO,GAAGA,KAAK;EAEjF,MAAMI,GAAG,GACPD,MAAM,KAAK,OAAO,GACdE,OAAO,CAACC,KAAK,GACbD,OAAO,CAACF,MAAM,CAAwC,IAAIE,OAAO,CAACD,GAAG;EAE3EA,GAAG,CAAC,UAAUH,OAAO,EAAE,EAAEC,KAAK,CAAC;AACjC,CAAC;AAED,IAAIK,gBAAwC;;AAE5C;AACA,OAAO,MAAMC,mBAAmB,GAAIC,MAAmB,IAAW;EAChEF,gBAAgB,GAAGE,MAAM;AAC3B,CAAC;AAED,OAAO,MAAMC,UAAU,GAAGA,CACxBC,IAAkB,EAClBV,OAAe,EACfC,KAA8B,GAAG,CAAC,CAAC,KAChC;EACH,MAAMU,SAAS,GAAGd,+BAA+B,CAACI,KAAK,CAAC;EAExDN,WAAW,CAACe,IAAI,EAAEV,OAAO,EAAEW,SAAS,CAAC;EACrC,IAAID,IAAI,KAAK,OAAO,IAAIA,IAAI,KAAK,OAAO,EAAE;IACxCd,gBAAgB,CAAC,aAAa,EAAE,CAAC,EAAE;MACjCgB,SAAS,EAAE,OAAOX,KAAK,CAACW,SAAS,KAAK,QAAQ,GAAGX,KAAK,CAACW,SAAS,GAAG;IACrE,CAAC,CAAC;EACJ;EAEA,MAAMJ,MAAM,GAAGF,gBAAgB,IAAIR,aAAa;EAEhDU,MAAM,CAACE,IAAI,EAAEV,OAAO,EAAEW,SAAS,CAAC;AAClC,CAAC;;AAED;AACA,OAAO,MAAME,YAAY,GAAGJ,UAAU","ignoreList":[]}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable import/group-exports */
4
+ /* eslint-disable max-lines */
5
+
6
+ const INSTRUMENTATION_NAME = "@ovok/native";
7
+ const INSTRUMENTATION_VERSION = "1.6.0";
8
+ let configuredOptions = {};
9
+ let openTelemetryApi;
10
+ let openTelemetryLogsApi;
11
+ const counters = new Map();
12
+ const histograms = new Map();
13
+ const loadOpenTelemetryApi = () => {
14
+ if (openTelemetryApi !== undefined) {
15
+ return openTelemetryApi ?? undefined;
16
+ }
17
+ try {
18
+ // Optional peer: apps without OpenTelemetry must not need to install it.
19
+ openTelemetryApi = require("@opentelemetry/api");
20
+ } catch {
21
+ openTelemetryApi = null;
22
+ }
23
+ return openTelemetryApi ?? undefined;
24
+ };
25
+ const loadOpenTelemetryLogsApi = () => {
26
+ if (openTelemetryLogsApi !== undefined) {
27
+ return openTelemetryLogsApi ?? undefined;
28
+ }
29
+ try {
30
+ // Optional peer: the stable logs API is distributed separately.
31
+ openTelemetryLogsApi = require("@opentelemetry/api-logs");
32
+ } catch {
33
+ openTelemetryLogsApi = null;
34
+ }
35
+ return openTelemetryLogsApi ?? undefined;
36
+ };
37
+ const allowedAttributeKeys = new Set(["deviceId", "deviceName", "model", "manufacturer", "measurementTypeKey", "platform", "status", "reason", "errorCode", "retryCount", "attempt", "queueDepth", "durationMs", "success", "exhausted", "willRetry", "requestedMtu", "provider", "sampleCount"]);
38
+
39
+ /** Keeps identifiers useful for operations while excluding readings and patient data. */
40
+ export const sanitizeOvokTelemetryAttributes = (attributes = {}) => {
41
+ const safe = {};
42
+ for (const [key, value] of Object.entries(attributes)) {
43
+ if (!allowedAttributeKeys.has(key)) {
44
+ continue;
45
+ }
46
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
47
+ safe[key] = value;
48
+ }
49
+ }
50
+ return safe;
51
+ };
52
+ export const configureOvokTelemetry = (options = {}) => {
53
+ configuredOptions = options;
54
+ counters.clear();
55
+ histograms.clear();
56
+ };
57
+ const getTracer = () => configuredOptions.tracerProvider?.getTracer(INSTRUMENTATION_NAME, INSTRUMENTATION_VERSION) ?? loadOpenTelemetryApi()?.trace?.getTracer(INSTRUMENTATION_NAME, INSTRUMENTATION_VERSION);
58
+ const getMeter = () => configuredOptions.meterProvider?.getMeter(INSTRUMENTATION_NAME, INSTRUMENTATION_VERSION) ?? loadOpenTelemetryApi()?.metrics?.getMeter(INSTRUMENTATION_NAME, INSTRUMENTATION_VERSION);
59
+ const getLogger = () => configuredOptions.loggerProvider?.getLogger(INSTRUMENTATION_NAME, INSTRUMENTATION_VERSION) ?? loadOpenTelemetryLogsApi()?.logs?.getLogger(INSTRUMENTATION_NAME, INSTRUMENTATION_VERSION);
60
+ export const startOvokSpan = (name, attributes = {}) => getTracer()?.startSpan(name, {
61
+ attributes: sanitizeOvokTelemetryAttributes(attributes)
62
+ });
63
+ export const recordOvokMetric = (name, value, attributes = {}) => {
64
+ const meter = getMeter();
65
+ if (!meter) {
66
+ return;
67
+ }
68
+ const safeAttributes = sanitizeOvokTelemetryAttributes(attributes);
69
+ const instrument = counters.get(name) ?? meter.createCounter(name);
70
+ counters.set(name, instrument);
71
+ instrument.add(value, safeAttributes);
72
+ };
73
+ export const recordOvokDuration = (name, durationMs, attributes = {}) => {
74
+ const meter = getMeter();
75
+ if (!meter) {
76
+ return;
77
+ }
78
+ const safeAttributes = sanitizeOvokTelemetryAttributes(attributes);
79
+ const instrument = histograms.get(name) ?? meter.createHistogram(name);
80
+ histograms.set(name, instrument);
81
+ instrument.record(durationMs, safeAttributes);
82
+ };
83
+ export const addOvokSpanEvent = (name, attributes = {}) => {
84
+ const span = loadOpenTelemetryApi()?.trace?.getActiveSpan?.();
85
+ span?.addEvent?.(name, sanitizeOvokTelemetryAttributes(attributes));
86
+ };
87
+ export const emitOvokLog = (severityText, body, attributes = {}) => {
88
+ getLogger()?.emit({
89
+ severityText,
90
+ body,
91
+ attributes: sanitizeOvokTelemetryAttributes(attributes)
92
+ });
93
+ };
94
+ export const withOvokSpan = async (name, attributes, operation) => {
95
+ const tracer = getTracer();
96
+ const finishSpan = async span => {
97
+ try {
98
+ const result = await operation();
99
+ span.setStatus?.({
100
+ code: 1
101
+ });
102
+ return result;
103
+ } catch (error) {
104
+ const normalized = error instanceof Error ? error : new Error(String(error));
105
+ span.recordException?.(normalized);
106
+ span.setStatus?.({
107
+ code: 2,
108
+ message: normalized.message
109
+ });
110
+ recordOvokMetric("ovok.errors", 1, {
111
+ errorCode: normalized.name
112
+ });
113
+ throw error;
114
+ } finally {
115
+ span.end();
116
+ }
117
+ };
118
+ if (tracer?.startActiveSpan) {
119
+ return tracer.startActiveSpan(name, {
120
+ attributes: sanitizeOvokTelemetryAttributes(attributes)
121
+ }, span => finishSpan(span));
122
+ }
123
+ const span = tracer?.startSpan(name, {
124
+ attributes: sanitizeOvokTelemetryAttributes(attributes)
125
+ });
126
+ if (!span) {
127
+ return operation();
128
+ }
129
+ return finishSpan(span);
130
+ };
131
+ //# sourceMappingURL=telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["INSTRUMENTATION_NAME","INSTRUMENTATION_VERSION","configuredOptions","openTelemetryApi","openTelemetryLogsApi","counters","Map","histograms","loadOpenTelemetryApi","undefined","require","loadOpenTelemetryLogsApi","allowedAttributeKeys","Set","sanitizeOvokTelemetryAttributes","attributes","safe","key","value","Object","entries","has","configureOvokTelemetry","options","clear","getTracer","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","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":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { useClient } from "@ovok/core";
4
- import { Image as ExpoImage } from "expo-image";
4
+ import { Image as ExpoImage, useImage } from "expo-image";
5
5
  import * as React from "react";
6
6
  import { StyleSheet, View } from "react-native";
7
7
  import { calculateDimension } from "../utils/calculate-dimension.js";
@@ -14,11 +14,17 @@ export const OptimizedImage = /*#__PURE__*/React.memo(({
14
14
  fit = "contain",
15
15
  style,
16
16
  onLoad,
17
+ onError,
18
+ placeholder,
19
+ fallback,
20
+ maxRetries = 3,
17
21
  containerStyle,
18
22
  aspectRatio: providedAspectRatio,
19
23
  ...rest
20
24
  }) => {
21
25
  const client = useClient();
26
+ const retryCount = React.useRef(0);
27
+ const [failedUri, setFailedUri] = React.useState(null);
22
28
  const [containerSize, setContainerSize] = React.useState({
23
29
  width: 0,
24
30
  height: 0
@@ -34,6 +40,20 @@ export const OptimizedImage = /*#__PURE__*/React.memo(({
34
40
  fit,
35
41
  baseUrl: client.getBaseUrl()
36
42
  }), [uri, calculatedWidth, calculatedHeight, fit, client]);
43
+ React.useEffect(() => {
44
+ retryCount.current = 0;
45
+ setFailedUri(null);
46
+ }, [optimizedUri]);
47
+ const image = useImage(optimizedUri, {
48
+ onError: (_error, retry) => {
49
+ if (retryCount.current >= maxRetries) {
50
+ setFailedUri(optimizedUri);
51
+ return;
52
+ }
53
+ retryCount.current += 1;
54
+ retry();
55
+ }
56
+ }, [optimizedUri]);
37
57
  const imageStyle = React.useMemo(() => [styles.base, {
38
58
  width: calculatedWidth,
39
59
  height: calculatedHeight,
@@ -56,14 +76,16 @@ export const OptimizedImage = /*#__PURE__*/React.memo(({
56
76
  style: [styles.container, containerStyle],
57
77
  onLayout: handleLayout,
58
78
  children: /*#__PURE__*/_jsx(ExpoImage, {
59
- source: {
79
+ source: failedUri === optimizedUri ? fallback ?? placeholder ?? null : image ?? {
60
80
  uri: optimizedUri
61
81
  },
62
82
  style: imageStyle,
83
+ placeholder: placeholder,
63
84
  onLoad: handleLoad,
85
+ onError: onError,
64
86
  ...rest,
65
87
  contentFit: fit
66
- })
88
+ }, `${optimizedUri}:${retryCount.current}`)
67
89
  });
68
90
  });
69
91
  const styles = StyleSheet.create({
@@ -1 +1 @@
1
- {"version":3,"names":["useClient","Image","ExpoImage","React","StyleSheet","View","calculateDimension","getOptimizedImageUrl","jsx","_jsx","OptimizedImage","memo","uri","width","height","fit","style","onLoad","containerStyle","aspectRatio","providedAspectRatio","rest","client","containerSize","setContainerSize","useState","calculatedAspectRatio","setCalculatedAspectRatio","useMemo","calculatedWidth","calculatedHeight","undefined","optimizedUri","baseUrl","getBaseUrl","imageStyle","styles","base","contentFit","handleLayout","useCallback","event","nativeEvent","layout","handleLoad","imageWidth","imageHeight","source","container","onLayout","children","create","overflow"],"sourceRoot":"../../../../../src","sources":["modules/image/components/optimized-image.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useClient","Image","ExpoImage","useImage","React","StyleSheet","View","calculateDimension","getOptimizedImageUrl","jsx","_jsx","OptimizedImage","memo","uri","width","height","fit","style","onLoad","onError","placeholder","fallback","maxRetries","containerStyle","aspectRatio","providedAspectRatio","rest","client","retryCount","useRef","failedUri","setFailedUri","useState","containerSize","setContainerSize","calculatedAspectRatio","setCalculatedAspectRatio","useMemo","calculatedWidth","calculatedHeight","undefined","optimizedUri","baseUrl","getBaseUrl","useEffect","current","image","_error","retry","imageStyle","styles","base","contentFit","handleLayout","useCallback","event","nativeEvent","layout","handleLoad","imageWidth","imageHeight","source","container","onLayout","children","create","overflow"],"sourceRoot":"../../../../../src","sources":["modules/image/components/optimized-image.tsx"],"mappings":"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","ignoreList":[]}
@@ -2,10 +2,10 @@
2
2
 
3
3
  import * as React from "react";
4
4
  import { useTranslation } from "react-i18next";
5
- import { Text } from "react-native-paper";
5
+ import { Button, Text } from "react-native-paper";
6
6
  import { useAppTheme } from "../../../theme/index.js";
7
7
  import { useQuestionnaireForm } from "../../hooks/use-questionnaire-form.js";
8
- import { jsx as _jsx } from "react/jsx-runtime";
8
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  export const QuestionnaireContentError = /*#__PURE__*/React.memo(({
10
10
  style,
11
11
  children,
@@ -16,18 +16,27 @@ export const QuestionnaireContentError = /*#__PURE__*/React.memo(({
16
16
  t
17
17
  } = useTranslation();
18
18
  const {
19
- errorMessage
19
+ errorMessage,
20
+ submissionError,
21
+ retrySubmit
20
22
  } = useQuestionnaireForm();
21
- if (!errorMessage && !children) {
23
+ if (!errorMessage && !submissionError && !children) {
22
24
  return null;
23
25
  }
24
- return /*#__PURE__*/_jsx(Text, {
25
- variant: "bodySmall",
26
- ...props,
27
- style: [{
28
- color: theme.colors.error
29
- }, style],
30
- children: children || t(errorMessage || "")
26
+ return /*#__PURE__*/_jsxs(_Fragment, {
27
+ children: [/*#__PURE__*/_jsx(Text, {
28
+ variant: "bodySmall",
29
+ ...props,
30
+ style: [{
31
+ color: theme.colors.error
32
+ }, style],
33
+ children: children || t(errorMessage || submissionError || "")
34
+ }), submissionError ? /*#__PURE__*/_jsx(Button, {
35
+ mode: "text",
36
+ compact: true,
37
+ onPress: retrySubmit,
38
+ children: t("common.try-again")
39
+ }) : null]
31
40
  });
32
41
  });
33
42
  //# sourceMappingURL=questionnaire-content-error.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useTranslation","Text","useAppTheme","useQuestionnaireForm","jsx","_jsx","QuestionnaireContentError","memo","style","children","props","theme","t","errorMessage","variant","color","colors","error"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/components/content/questionnaire-content-error.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAA0BC,IAAI,QAAQ,oBAAoB;AAE1D,SAASC,WAAW,QAAQ,yBAAgB;AAC5C,SAASC,oBAAoB,QAAQ,uCAAoC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG1E,OAAO,MAAMC,yBAAyB,gBAAGP,KAAK,CAACQ,IAAI,CACjD,CAAmC;EACjCC,KAAK;EACLC,QAAQ;EACR,GAAGC;AACqC,CAAC,KAAK;EAC9C,MAAMC,KAAK,GAAGT,WAAW,CAAC,CAAC;EAC3B,MAAM;IAAEU;EAAE,CAAC,GAAGZ,cAAc,CAAC,CAAC;EAE9B,MAAM;IAAEa;EAAa,CAAC,GAAGV,oBAAoB,CAAC,CAAC;EAE/C,IAAI,CAACU,YAAY,IAAI,CAACJ,QAAQ,EAAE;IAC9B,OAAO,IAAI;EACb;EAEA,oBACEJ,IAAA,CAACJ,IAAI;IACHa,OAAO,EAAC,WAAW;IAAA,GACfJ,KAAK;IACTF,KAAK,EAAE,CAAC;MAAEO,KAAK,EAAEJ,KAAK,CAACK,MAAM,CAACC;IAAM,CAAC,EAAET,KAAK,CAAE;IAAAC,QAAA,EAE7CA,QAAQ,IAAIG,CAAC,CAACC,YAAY,IAAI,EAAE;EAAC,CAC9B,CAAC;AAEX,CACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useTranslation","Button","Text","useAppTheme","useQuestionnaireForm","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","QuestionnaireContentError","memo","style","children","props","theme","t","errorMessage","submissionError","retrySubmit","variant","color","colors","error","mode","compact","onPress"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/components/content/questionnaire-content-error.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,MAAM,EAAmBC,IAAI,QAAQ,oBAAoB;AAElE,SAASC,WAAW,QAAQ,yBAAgB;AAC5C,SAASC,oBAAoB,QAAQ,uCAAoC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAG1E,OAAO,MAAMC,yBAAyB,gBAAGZ,KAAK,CAACa,IAAI,CACjD,CAAmC;EACjCC,KAAK;EACLC,QAAQ;EACR,GAAGC;AACqC,CAAC,KAAK;EAC9C,MAAMC,KAAK,GAAGb,WAAW,CAAC,CAAC;EAC3B,MAAM;IAAEc;EAAE,CAAC,GAAGjB,cAAc,CAAC,CAAC;EAE9B,MAAM;IAAEkB,YAAY;IAAEC,eAAe;IAAEC;EAAY,CAAC,GAAGhB,oBAAoB,CAAC,CAAC;EAE7E,IAAI,CAACc,YAAY,IAAI,CAACC,eAAe,IAAI,CAACL,QAAQ,EAAE;IAClD,OAAO,IAAI;EACb;EAEA,oBACEJ,KAAA,CAAAF,SAAA;IAAAM,QAAA,gBACER,IAAA,CAACJ,IAAI;MACHmB,OAAO,EAAC,WAAW;MAAA,GACfN,KAAK;MACTF,KAAK,EAAE,CAAC;QAAES,KAAK,EAAEN,KAAK,CAACO,MAAM,CAACC;MAAM,CAAC,EAAEX,KAAK,CAAE;MAAAC,QAAA,EAE7CA,QAAQ,IAAIG,CAAC,CAACC,YAAY,IAAIC,eAAe,IAAI,EAAE;IAAC,CACjD,CAAC,EACNA,eAAe,gBACdb,IAAA,CAACL,MAAM;MAACwB,IAAI,EAAC,MAAM;MAACC,OAAO;MAACC,OAAO,EAAEP,WAAY;MAAAN,QAAA,EAC9CG,CAAC,CAAC,kBAAkB;IAAC,CAChB,CAAC,GACP,IAAI;EAAA,CACR,CAAC;AAEP,CACF,CAAC","ignoreList":[]}
@@ -16,7 +16,8 @@ export const QuestionnaireNavigationNextButton = /*#__PURE__*/React.memo(({
16
16
  handleNext,
17
17
  isLastItem,
18
18
  isCurrentItemRequired,
19
- isCurrentItemAnswered
19
+ isCurrentItemAnswered,
20
+ isSubmitting
20
21
  } = useQuestionnaireNavigation();
21
22
  if (isLastItem) {
22
23
  return null;
@@ -25,7 +26,7 @@ export const QuestionnaireNavigationNextButton = /*#__PURE__*/React.memo(({
25
26
  return /*#__PURE__*/_jsx(Button, {
26
27
  mode: "contained",
27
28
  ...buttonProps,
28
- disabled: buttonProps.disabled || isNextDisabled,
29
+ disabled: buttonProps.disabled || isNextDisabled || isSubmitting,
29
30
  onPress: handleNext,
30
31
  children: children || t("common.next")
31
32
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","useTranslation","Button","useQuestionnaireNavigation","jsx","_jsx","QuestionnaireNavigationNextButton","memo","children","buttonProps","t","handleNext","isLastItem","isCurrentItemRequired","isCurrentItemAnswered","isNextDisabled","mode","disabled","onPress"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,MAAM,QAAQ,oBAAoB;AAE3C,SAASC,0BAA0B,QAAQ,6CAA0C;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGtF,OAAO,MAAMC,iCAAiC,gBAAGN,KAAK,CAACO,IAAI,CACzD,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAgD,CAAC,KAAK;EACpE,MAAM;IAAEC;EAAE,CAAC,GAAGT,cAAc,CAAC,CAAC;EAE9B,MAAM;IACJU,UAAU;IACVC,UAAU;IACVC,qBAAqB;IACrBC;EACF,CAAC,GAAGX,0BAA0B,CAAC,CAAC;EAEhC,IAAIS,UAAU,EAAE;IACd,OAAO,IAAI;EACb;EAEA,MAAMG,cAAc,GAAGF,qBAAqB,IAAI,CAACC,qBAAqB;EAEtE,oBACET,IAAA,CAACH,MAAM;IACLc,IAAI,EAAC,WAAW;IAAA,GACZP,WAAW;IACfQ,QAAQ,EAAER,WAAW,CAACQ,QAAQ,IAAIF,cAAe;IACjDG,OAAO,EAAEP,UAAW;IAAAH,QAAA,EAEnBA,QAAQ,IAAIE,CAAC,CAAC,aAAa;EAAC,CACvB,CAAC;AAEb,CACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useTranslation","Button","useQuestionnaireNavigation","jsx","_jsx","QuestionnaireNavigationNextButton","memo","children","buttonProps","t","handleNext","isLastItem","isCurrentItemRequired","isCurrentItemAnswered","isSubmitting","isNextDisabled","mode","disabled","onPress"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,MAAM,QAAQ,oBAAoB;AAE3C,SAASC,0BAA0B,QAAQ,6CAA0C;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGtF,OAAO,MAAMC,iCAAiC,gBAAGN,KAAK,CAACO,IAAI,CACzD,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAgD,CAAC,KAAK;EACpE,MAAM;IAAEC;EAAE,CAAC,GAAGT,cAAc,CAAC,CAAC;EAE9B,MAAM;IACJU,UAAU;IACVC,UAAU;IACVC,qBAAqB;IACrBC,qBAAqB;IACrBC;EACF,CAAC,GAAGZ,0BAA0B,CAAC,CAAC;EAEhC,IAAIS,UAAU,EAAE;IACd,OAAO,IAAI;EACb;EAEA,MAAMI,cAAc,GAAGH,qBAAqB,IAAI,CAACC,qBAAqB;EAEtE,oBACET,IAAA,CAACH,MAAM;IACLe,IAAI,EAAC,WAAW;IAAA,GACZR,WAAW;IACfS,QAAQ,EAAET,WAAW,CAACS,QAAQ,IAAIF,cAAc,IAAID,YAAa;IACjEI,OAAO,EAAER,UAAW;IAAAH,QAAA,EAEnBA,QAAQ,IAAIE,CAAC,CAAC,aAAa;EAAC,CACvB,CAAC;AAEb,CACF,CAAC","ignoreList":[]}
@@ -15,7 +15,8 @@ export const QuestionnaireNavigationSubmitButton = /*#__PURE__*/React.memo(({
15
15
  } = useTranslation();
16
16
  const {
17
17
  paged,
18
- submitForm
18
+ submitForm,
19
+ isSubmitting
19
20
  } = useQuestionnaireForm();
20
21
  const {
21
22
  isLastItem
@@ -27,7 +28,8 @@ export const QuestionnaireNavigationSubmitButton = /*#__PURE__*/React.memo(({
27
28
  mode: "contained",
28
29
  ...buttonProps,
29
30
  onPress: submitForm,
30
- disabled: buttonProps.disabled,
31
+ disabled: buttonProps.disabled || isSubmitting,
32
+ loading: isSubmitting,
31
33
  children: children || t("common.submit")
32
34
  });
33
35
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","useTranslation","Button","useQuestionnaireForm","useQuestionnaireNavigation","jsx","_jsx","QuestionnaireNavigationSubmitButton","memo","children","buttonProps","t","paged","submitForm","isLastItem","mode","onPress","disabled"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,MAAM,QAAQ,oBAAoB;AAE3C,SAASC,oBAAoB,QAAQ,uCAAoC;AACzE,SAASC,0BAA0B,QAAQ,6CAA0C;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGtF,OAAO,MAAMC,mCAAmC,gBAAGP,KAAK,CAACQ,IAAI,CAC3D,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAgD,CAAC,KAAK;EACpE,MAAM;IAAEC;EAAE,CAAC,GAAGV,cAAc,CAAC,CAAC;EAE9B,MAAM;IAAEW,KAAK;IAAEC;EAAW,CAAC,GAAGV,oBAAoB,CAAC,CAAC;EACpD,MAAM;IAAEW;EAAW,CAAC,GAAGV,0BAA0B,CAAC,CAAC;EAEnD,IAAI,CAACU,UAAU,IAAIF,KAAK,EAAE;IACxB,OAAO,IAAI;EACb;EAEA,oBACEN,IAAA,CAACJ,MAAM;IACLa,IAAI,EAAC,WAAW;IAAA,GACZL,WAAW;IACfM,OAAO,EAAEH,UAAW;IACpBI,QAAQ,EAAEP,WAAW,CAACO,QAAS;IAAAR,QAAA,EAE9BA,QAAQ,IAAIE,CAAC,CAAC,eAAe;EAAC,CACzB,CAAC;AAEb,CACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useTranslation","Button","useQuestionnaireForm","useQuestionnaireNavigation","jsx","_jsx","QuestionnaireNavigationSubmitButton","memo","children","buttonProps","t","paged","submitForm","isSubmitting","isLastItem","mode","onPress","disabled","loading"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,MAAM,QAAQ,oBAAoB;AAE3C,SAASC,oBAAoB,QAAQ,uCAAoC;AACzE,SAASC,0BAA0B,QAAQ,6CAA0C;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGtF,OAAO,MAAMC,mCAAmC,gBAAGP,KAAK,CAACQ,IAAI,CAC3D,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAgD,CAAC,KAAK;EACpE,MAAM;IAAEC;EAAE,CAAC,GAAGV,cAAc,CAAC,CAAC;EAE9B,MAAM;IAAEW,KAAK;IAAEC,UAAU;IAAEC;EAAa,CAAC,GAAGX,oBAAoB,CAAC,CAAC;EAClE,MAAM;IAAEY;EAAW,CAAC,GAAGX,0BAA0B,CAAC,CAAC;EAEnD,IAAI,CAACW,UAAU,IAAIH,KAAK,EAAE;IACxB,OAAO,IAAI;EACb;EAEA,oBACEN,IAAA,CAACJ,MAAM;IACLc,IAAI,EAAC,WAAW;IAAA,GACZN,WAAW;IACfO,OAAO,EAAEJ,UAAW;IACpBK,QAAQ,EAAER,WAAW,CAACQ,QAAQ,IAAIJ,YAAa;IAC/CK,OAAO,EAAEL,YAAa;IAAAL,QAAA,EAErBA,QAAQ,IAAIE,CAAC,CAAC,eAAe;EAAC,CACzB,CAAC;AAEb,CACF,CAAC","ignoreList":[]}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ /* eslint-disable max-lines */
4
+
3
5
  import { getReferenceString, useClient } from "@ovok/core";
4
6
  import { useFormik } from "formik";
5
7
  import React from "react";
@@ -24,26 +26,34 @@ export const QuestionnaireFormProvider = /*#__PURE__*/React.memo(({
24
26
  const [currentPageIndex, setCurrentPageIndex] = React.useState(0);
25
27
  const [currentItemIndex, setCurrentItemIndex] = React.useState(0);
26
28
  const [errorMessage, setErrorMessage] = React.useState(null);
29
+ const [submissionError, setSubmissionError] = React.useState(null);
30
+ const submissionInFlight = React.useRef(false);
31
+ const submissionIdentifier = React.useRef(null);
27
32
  const pages = React.useMemo(() => FormUtils.extractPagesFromQuestionnaire(questionnaire), [questionnaire]);
28
33
  const initialValues = React.useMemo(() => _initialValues || FormUtils.initializeDefaultValues(pages), [_initialValues, pages]);
29
34
  const handleSubmit = React.useCallback(async (values, formikHelpers) => {
30
- const validationResult = FormValidation.validateRequiredFields(pages, values);
31
- if (!validationResult.isValid) {
32
- const {
33
- pageIndex,
34
- itemIndex
35
- } = validationResult.firstUnansweredLocation;
36
- setCurrentPageIndex(pageIndex);
37
- setCurrentItemIndex(itemIndex);
38
- setErrorMessage("questionnaire-form.error.required-fields");
39
- return;
40
- }
41
- delete values.currentLinkId;
42
- if (onSubmit) {
43
- onSubmit(values, formikHelpers);
35
+ if (submissionInFlight.current) {
44
36
  return;
45
37
  }
38
+ submissionInFlight.current = true;
39
+ setSubmissionError(null);
46
40
  try {
41
+ const validationResult = FormValidation.validateRequiredFields(pages, values);
42
+ if (!validationResult.isValid) {
43
+ const {
44
+ pageIndex,
45
+ itemIndex
46
+ } = validationResult.firstUnansweredLocation;
47
+ setCurrentPageIndex(pageIndex);
48
+ setCurrentItemIndex(itemIndex);
49
+ setErrorMessage("questionnaire-form.error.required-fields");
50
+ return;
51
+ }
52
+ delete values.currentLinkId;
53
+ if (onSubmit) {
54
+ await onSubmit(values, formikHelpers);
55
+ return;
56
+ }
47
57
  const activeProfile = await client.getProfileAsync();
48
58
  if (!activeProfile) {
49
59
  throw new Error("questionnaire-form.error.profile-not-found");
@@ -52,12 +62,21 @@ export const QuestionnaireFormProvider = /*#__PURE__*/React.memo(({
52
62
  response.subject = {
53
63
  reference: getReferenceString(activeProfile)
54
64
  };
55
- const createdResponse = await client.createResource(response);
65
+ submissionIdentifier.current ??= `${questionnaire.id ?? "unknown"}-${Date.now()}-${Math.random().toString(36).slice(2)}`;
66
+ const identifierValue = submissionIdentifier.current;
67
+ const identifierSystem = "https://sdk.ovok.com/questionnaire-response";
68
+ response.identifier = {
69
+ system: identifierSystem,
70
+ value: identifierValue
71
+ };
72
+ const createdResponse = await client.createResourceIfNoneExist(response, `identifier=${identifierSystem}|${identifierValue}`);
56
73
  onSuccess?.(createdResponse);
57
74
  } catch (error) {
58
75
  const typedError = error;
59
76
  onError?.(error);
60
- setErrorMessage(typedError.message);
77
+ setSubmissionError(typedError.message || "questionnaire-form.error.submit-failed");
78
+ } finally {
79
+ submissionInFlight.current = false;
61
80
  }
62
81
  }, [onSubmit, onSuccess, onError, pages, questionnaire, client]);
63
82
  const allItems = React.useMemo(() => pages.flatMap(page => page.item ? page.item : []), [pages]);
@@ -91,6 +110,10 @@ export const QuestionnaireFormProvider = /*#__PURE__*/React.memo(({
91
110
  values,
92
111
  setFieldValue
93
112
  } = formik;
113
+ const retrySubmit = React.useCallback(() => {
114
+ setSubmissionError(null);
115
+ void formik.submitForm();
116
+ }, [formik]);
94
117
  const currentPage = React.useMemo(() => pages[currentPageIndex], [pages, currentPageIndex]);
95
118
  const enabledItems = React.useMemo(() => currentPage ? ConditionUtils.getEnabledItemsForPage(currentPage, values) : [], [currentPage, values]);
96
119
  useInitialSelectedValues(pages, values, setFieldValue);
@@ -108,6 +131,8 @@ export const QuestionnaireFormProvider = /*#__PURE__*/React.memo(({
108
131
  currentPageIndex,
109
132
  currentItemIndex,
110
133
  errorMessage,
134
+ submissionError,
135
+ retrySubmit,
111
136
  pages,
112
137
  allItems,
113
138
  setCurrentItemIndex,
@@ -115,7 +140,7 @@ export const QuestionnaireFormProvider = /*#__PURE__*/React.memo(({
115
140
  setErrorMessage,
116
141
  paged,
117
142
  ...formik
118
- }), [questionnaire, currentItem, currentPage, currentPageIndex, currentItemIndex, errorMessage, pages, allItems, setCurrentItemIndex, setCurrentPageIndex, setErrorMessage, paged, formik]);
143
+ }), [questionnaire, currentItem, currentPage, currentPageIndex, currentItemIndex, errorMessage, submissionError, retrySubmit, pages, allItems, setCurrentItemIndex, setCurrentPageIndex, setErrorMessage, paged, formik]);
119
144
  return /*#__PURE__*/_jsx(QuestionnaireFormContext.Provider, {
120
145
  value: contextValue,
121
146
  children: /*#__PURE__*/_jsx(QuestionnaireNavigationProvider, {