@ovok/native 1.5.6 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (722) hide show
  1. package/README.md +35 -19
  2. package/android/src/main/AndroidManifest.xml +1 -20
  3. package/app.plugin.js +181 -0
  4. package/lib/commonjs/index.js +5 -104
  5. package/lib/commonjs/index.js.map +1 -1
  6. package/lib/commonjs/modules/auth/delete-account-button/components/delete-account-button.js +2 -0
  7. package/lib/commonjs/modules/auth/delete-account-button/components/delete-account-button.js.map +1 -1
  8. package/lib/commonjs/modules/auth/hooks/use-rate-limit-cooldown.js +23 -0
  9. package/lib/commonjs/modules/auth/hooks/use-rate-limit-cooldown.js.map +1 -0
  10. package/lib/commonjs/modules/auth/hooks/use-session.js +105 -0
  11. package/lib/commonjs/modules/auth/hooks/use-session.js.map +1 -0
  12. package/lib/commonjs/modules/auth/index.js +44 -0
  13. package/lib/commonjs/modules/auth/index.js.map +1 -1
  14. package/lib/commonjs/modules/auth/logout-button/components/logout-button.js +5 -2
  15. package/lib/commonjs/modules/auth/logout-button/components/logout-button.js.map +1 -1
  16. package/lib/commonjs/modules/auth/register/components/form/inputs.js +50 -1
  17. package/lib/commonjs/modules/auth/register/components/form/inputs.js.map +1 -1
  18. package/lib/commonjs/modules/auth/register/components/form/register-button.js +4 -0
  19. package/lib/commonjs/modules/auth/register/components/form/register-button.js.map +1 -1
  20. package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js +6 -0
  21. package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js.map +1 -1
  22. package/lib/commonjs/modules/auth/reset-password/components/form/inputs.js +12 -0
  23. package/lib/commonjs/modules/auth/reset-password/components/form/inputs.js.map +1 -1
  24. package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-button.js +4 -0
  25. package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-button.js.map +1 -1
  26. package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js +7 -1
  27. package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
  28. package/lib/commonjs/modules/auth/session/components/session-list.js +82 -0
  29. package/lib/commonjs/modules/auth/session/components/session-list.js.map +1 -0
  30. package/lib/commonjs/modules/auth/session/events.js +19 -0
  31. package/lib/commonjs/modules/auth/session/events.js.map +1 -0
  32. package/lib/commonjs/modules/auth/session/index.js +13 -0
  33. package/lib/commonjs/modules/auth/session/index.js.map +1 -0
  34. package/lib/commonjs/modules/auth/session/types/session-list-props.js +6 -0
  35. package/lib/commonjs/modules/auth/session/types/session-list-props.js.map +1 -0
  36. package/lib/commonjs/modules/auth/sign-in/components/form/inputs.js +26 -0
  37. package/lib/commonjs/modules/auth/sign-in/components/form/inputs.js.map +1 -1
  38. package/lib/commonjs/modules/auth/sign-in/components/form/login-form-provider.js +48 -1
  39. package/lib/commonjs/modules/auth/sign-in/components/form/login-form-provider.js.map +1 -1
  40. package/lib/commonjs/modules/auth/sign-in/components/form/mfa-code-input.js +58 -0
  41. package/lib/commonjs/modules/auth/sign-in/components/form/mfa-code-input.js.map +1 -0
  42. package/lib/commonjs/modules/auth/sign-in/components/form/sign-in-with-email.js +2 -0
  43. package/lib/commonjs/modules/auth/sign-in/components/form/sign-in-with-email.js.map +1 -1
  44. package/lib/commonjs/modules/auth/sign-in/components/form/signin-button.js +13 -5
  45. package/lib/commonjs/modules/auth/sign-in/components/form/signin-button.js.map +1 -1
  46. package/lib/commonjs/modules/auth/types/session.js +2 -0
  47. package/lib/commonjs/modules/auth/types/session.js.map +1 -0
  48. package/lib/commonjs/modules/auth/utils/rate-limit.js +37 -0
  49. package/lib/commonjs/modules/auth/utils/rate-limit.js.map +1 -0
  50. package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js +3 -2
  51. package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -1
  52. package/lib/commonjs/modules/background-sync/background-safe-storage.js +76 -0
  53. package/lib/commonjs/modules/background-sync/background-safe-storage.js.map +1 -0
  54. package/lib/commonjs/modules/background-sync/index.js +11 -0
  55. package/lib/commonjs/modules/background-sync/index.js.map +1 -1
  56. package/lib/commonjs/modules/bt-device/index.js +0 -22
  57. package/lib/commonjs/modules/bt-device/index.js.map +1 -1
  58. package/lib/commonjs/modules/bt-device-instructions/index.js +39 -0
  59. package/lib/commonjs/modules/bt-device-instructions/index.js.map +1 -0
  60. package/lib/commonjs/modules/bt-management/components/android-bluetooth-foreground-service.js +64 -0
  61. package/lib/commonjs/modules/bt-management/components/android-bluetooth-foreground-service.js.map +1 -0
  62. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +94 -26
  63. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  64. package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js +1 -0
  65. package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
  66. package/lib/commonjs/modules/bt-management/hooks/runtime-context.js +95 -0
  67. package/lib/commonjs/modules/bt-management/hooks/runtime-context.js.map +1 -0
  68. package/lib/commonjs/modules/bt-management/hooks/use-background-sync.js +51 -0
  69. package/lib/commonjs/modules/bt-management/hooks/use-background-sync.js.map +1 -0
  70. package/lib/commonjs/modules/bt-management/hooks/use-bluetooth-state.js +51 -0
  71. package/lib/commonjs/modules/bt-management/hooks/use-bluetooth-state.js.map +1 -0
  72. package/lib/commonjs/modules/bt-management/hooks/use-device-connection.js +40 -0
  73. package/lib/commonjs/modules/bt-management/hooks/use-device-connection.js.map +1 -0
  74. package/lib/commonjs/modules/bt-management/hooks/use-health-import.js +82 -0
  75. package/lib/commonjs/modules/bt-management/hooks/use-health-import.js.map +1 -0
  76. package/lib/commonjs/modules/bt-management/hooks/use-measurements.js +79 -0
  77. package/lib/commonjs/modules/bt-management/hooks/use-measurements.js.map +1 -0
  78. package/lib/commonjs/modules/bt-management/hooks/use-nearby-devices.js +33 -0
  79. package/lib/commonjs/modules/bt-management/hooks/use-nearby-devices.js.map +1 -0
  80. package/lib/commonjs/modules/bt-management/hooks/use-paired-devices.js +58 -0
  81. package/lib/commonjs/modules/bt-management/hooks/use-paired-devices.js.map +1 -0
  82. package/lib/commonjs/modules/bt-management/hooks/use-scan-control.js +21 -0
  83. package/lib/commonjs/modules/bt-management/hooks/use-scan-control.js.map +1 -0
  84. package/lib/commonjs/modules/bt-management/index.js +154 -0
  85. package/lib/commonjs/modules/bt-management/index.js.map +1 -1
  86. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +41 -5
  87. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  88. package/lib/commonjs/modules/bt-management/services/bt-manager.js +91 -22
  89. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  90. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +59 -0
  91. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  92. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +107 -4
  93. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  94. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +9 -1
  95. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  96. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +1 -0
  97. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  98. package/lib/commonjs/modules/bt-management/services/devices/measurement-state-machine.js +5 -3
  99. package/lib/commonjs/modules/bt-management/services/devices/measurement-state-machine.js.map +1 -1
  100. package/lib/commonjs/modules/bt-management/services/devices/spo/spo2.main-services.js +12 -0
  101. package/lib/commonjs/modules/bt-management/services/devices/spo/spo2.main-services.js.map +1 -1
  102. package/lib/commonjs/modules/bt-management/services/push-notification.js +39 -0
  103. package/lib/commonjs/modules/bt-management/services/push-notification.js.map +1 -0
  104. package/lib/commonjs/modules/bt-management/testing/fake-ble-manager.js +132 -0
  105. package/lib/commonjs/modules/bt-management/testing/fake-ble-manager.js.map +1 -0
  106. package/lib/commonjs/modules/bt-management/testing/index.js +28 -0
  107. package/lib/commonjs/modules/bt-management/testing/index.js.map +1 -0
  108. package/lib/commonjs/modules/bt-management/testing/recorded-frames.js +23 -0
  109. package/lib/commonjs/modules/bt-management/testing/recorded-frames.js.map +1 -0
  110. package/lib/commonjs/modules/bt-management/types/bluetooth-error.js +82 -0
  111. package/lib/commonjs/modules/bt-management/types/bluetooth-error.js.map +1 -0
  112. package/lib/commonjs/modules/bt-management/types/device-connection-event.js +6 -0
  113. package/lib/commonjs/modules/bt-management/types/device-connection-event.js.map +1 -0
  114. package/lib/commonjs/modules/bt-management/types/result-policy.js +6 -0
  115. package/lib/commonjs/modules/bt-management/types/result-policy.js.map +1 -0
  116. package/lib/commonjs/modules/bt-management/utils/result-identity.js +63 -0
  117. package/lib/commonjs/modules/bt-management/utils/result-identity.js.map +1 -0
  118. package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js +20 -5
  119. package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
  120. package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js +29 -4
  121. package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js.map +1 -1
  122. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js +2 -2
  123. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js.map +1 -1
  124. package/lib/commonjs/modules/data-sync/services/managers/sync-progress-manager.js +1 -1
  125. package/lib/commonjs/modules/data-sync/services/managers/sync-progress-manager.js.map +1 -1
  126. package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js +29 -21
  127. package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
  128. package/lib/commonjs/modules/data-sync/utils/retry-save.js +99 -0
  129. package/lib/commonjs/modules/data-sync/utils/retry-save.js.map +1 -0
  130. package/lib/commonjs/modules/helpers/form-items/form-field.js +2 -0
  131. package/lib/commonjs/modules/helpers/form-items/form-field.js.map +1 -1
  132. package/lib/commonjs/modules/helpers/index.js +23 -4
  133. package/lib/commonjs/modules/helpers/index.js.map +1 -1
  134. package/lib/commonjs/modules/helpers/utils/s-log.js +4 -13
  135. package/lib/commonjs/modules/helpers/utils/s-log.js.map +1 -1
  136. package/lib/commonjs/modules/helpers/utils/sentry-logger.js +27 -17
  137. package/lib/commonjs/modules/helpers/utils/sentry-logger.js.map +1 -1
  138. package/lib/commonjs/modules/helpers/utils/telemetry.js +230 -0
  139. package/lib/commonjs/modules/helpers/utils/telemetry.js.map +1 -0
  140. package/lib/commonjs/modules/image/components/optimized-image.js +31 -6
  141. package/lib/commonjs/modules/image/components/optimized-image.js.map +1 -1
  142. package/lib/commonjs/modules/questionnaire-response-form/components/content/questionnaire-content-error.js +18 -9
  143. package/lib/commonjs/modules/questionnaire-response-form/components/content/questionnaire-content-error.js.map +1 -1
  144. package/lib/commonjs/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.js +3 -2
  145. package/lib/commonjs/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.js.map +1 -1
  146. package/lib/commonjs/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.js +4 -2
  147. package/lib/commonjs/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.js.map +1 -1
  148. package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form-provider.js +44 -17
  149. package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form-provider.js.map +1 -1
  150. package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js +2 -1
  151. package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js.map +1 -1
  152. package/lib/commonjs/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.js.map +1 -1
  153. package/lib/commonjs/modules/tile/components/task-icon.js +2 -1
  154. package/lib/commonjs/modules/tile/components/task-icon.js.map +1 -1
  155. package/lib/commonjs/modules/tile/constants/measurement-icon-svg.js +4 -1
  156. package/lib/commonjs/modules/tile/constants/measurement-icon-svg.js.map +1 -1
  157. package/lib/commonjs/modules/ui/components/background-sync-setting.js +123 -0
  158. package/lib/commonjs/modules/ui/components/background-sync-setting.js.map +1 -0
  159. package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js +119 -0
  160. package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js.map +1 -0
  161. package/lib/commonjs/modules/ui/components/ecg-strip-viewer.js +175 -0
  162. package/lib/commonjs/modules/ui/components/ecg-strip-viewer.js.map +1 -0
  163. package/lib/commonjs/modules/ui/components/health-import-card.js +141 -0
  164. package/lib/commonjs/modules/ui/components/health-import-card.js.map +1 -0
  165. package/lib/commonjs/modules/ui/components/manual-entry-form.js +136 -0
  166. package/lib/commonjs/modules/ui/components/manual-entry-form.js.map +1 -0
  167. package/lib/commonjs/modules/ui/components/pairing-flow.js +247 -0
  168. package/lib/commonjs/modules/ui/components/pairing-flow.js.map +1 -0
  169. package/lib/commonjs/modules/ui/components/supported-devices-catalog-list.js +107 -0
  170. package/lib/commonjs/modules/ui/components/supported-devices-catalog-list.js.map +1 -0
  171. package/lib/commonjs/modules/ui/components/urine-test-result.js +99 -0
  172. package/lib/commonjs/modules/ui/components/urine-test-result.js.map +1 -0
  173. package/lib/commonjs/modules/ui/index.js +116 -0
  174. package/lib/commonjs/modules/ui/index.js.map +1 -0
  175. package/lib/commonjs/modules/ui/types.js +6 -0
  176. package/lib/commonjs/modules/ui/types.js.map +1 -0
  177. package/lib/commonjs/modules/ui/use-ovok-ui.js +51 -0
  178. package/lib/commonjs/modules/ui/use-ovok-ui.js.map +1 -0
  179. package/lib/module/index.js +3 -9
  180. package/lib/module/index.js.map +1 -1
  181. package/lib/module/modules/auth/delete-account-button/components/delete-account-button.js +2 -0
  182. package/lib/module/modules/auth/delete-account-button/components/delete-account-button.js.map +1 -1
  183. package/lib/module/modules/auth/hooks/use-rate-limit-cooldown.js +17 -0
  184. package/lib/module/modules/auth/hooks/use-rate-limit-cooldown.js.map +1 -0
  185. package/lib/module/modules/auth/hooks/use-session.js +99 -0
  186. package/lib/module/modules/auth/hooks/use-session.js.map +1 -0
  187. package/lib/module/modules/auth/index.js +4 -0
  188. package/lib/module/modules/auth/index.js.map +1 -1
  189. package/lib/module/modules/auth/logout-button/components/logout-button.js +5 -2
  190. package/lib/module/modules/auth/logout-button/components/logout-button.js.map +1 -1
  191. package/lib/module/modules/auth/register/components/form/inputs.js +50 -1
  192. package/lib/module/modules/auth/register/components/form/inputs.js.map +1 -1
  193. package/lib/module/modules/auth/register/components/form/register-button.js +4 -0
  194. package/lib/module/modules/auth/register/components/form/register-button.js.map +1 -1
  195. package/lib/module/modules/auth/register/components/form/register-form-provider.js +6 -0
  196. package/lib/module/modules/auth/register/components/form/register-form-provider.js.map +1 -1
  197. package/lib/module/modules/auth/reset-password/components/form/inputs.js +12 -0
  198. package/lib/module/modules/auth/reset-password/components/form/inputs.js.map +1 -1
  199. package/lib/module/modules/auth/reset-password/components/form/reset-password-button.js +4 -0
  200. package/lib/module/modules/auth/reset-password/components/form/reset-password-button.js.map +1 -1
  201. package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js +7 -1
  202. package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
  203. package/lib/module/modules/auth/session/components/session-list.js +76 -0
  204. package/lib/module/modules/auth/session/components/session-list.js.map +1 -0
  205. package/lib/module/modules/auth/session/events.js +13 -0
  206. package/lib/module/modules/auth/session/events.js.map +1 -0
  207. package/lib/module/modules/auth/session/index.js +4 -0
  208. package/lib/module/modules/auth/session/index.js.map +1 -0
  209. package/lib/module/modules/auth/session/types/session-list-props.js +4 -0
  210. package/lib/module/modules/auth/session/types/session-list-props.js.map +1 -0
  211. package/lib/module/modules/auth/sign-in/components/form/inputs.js +26 -0
  212. package/lib/module/modules/auth/sign-in/components/form/inputs.js.map +1 -1
  213. package/lib/module/modules/auth/sign-in/components/form/login-form-provider.js +48 -1
  214. package/lib/module/modules/auth/sign-in/components/form/login-form-provider.js.map +1 -1
  215. package/lib/module/modules/auth/sign-in/components/form/mfa-code-input.js +52 -0
  216. package/lib/module/modules/auth/sign-in/components/form/mfa-code-input.js.map +1 -0
  217. package/lib/module/modules/auth/sign-in/components/form/sign-in-with-email.js +2 -0
  218. package/lib/module/modules/auth/sign-in/components/form/sign-in-with-email.js.map +1 -1
  219. package/lib/module/modules/auth/sign-in/components/form/signin-button.js +13 -5
  220. package/lib/module/modules/auth/sign-in/components/form/signin-button.js.map +1 -1
  221. package/lib/module/modules/auth/types/session.js +2 -0
  222. package/lib/module/modules/auth/types/session.js.map +1 -0
  223. package/lib/module/modules/auth/utils/rate-limit.js +31 -0
  224. package/lib/module/modules/auth/utils/rate-limit.js.map +1 -0
  225. package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js +3 -2
  226. package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -1
  227. package/lib/module/modules/background-sync/background-safe-storage.js +71 -0
  228. package/lib/module/modules/background-sync/background-safe-storage.js.map +1 -0
  229. package/lib/module/modules/background-sync/index.js +1 -0
  230. package/lib/module/modules/background-sync/index.js.map +1 -1
  231. package/lib/module/modules/bt-device/index.js +0 -2
  232. package/lib/module/modules/bt-device/index.js.map +1 -1
  233. package/lib/module/modules/bt-device-instructions/index.js +6 -0
  234. package/lib/module/modules/bt-device-instructions/index.js.map +1 -0
  235. package/lib/module/modules/bt-management/components/android-bluetooth-foreground-service.js +58 -0
  236. package/lib/module/modules/bt-management/components/android-bluetooth-foreground-service.js.map +1 -0
  237. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +94 -26
  238. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  239. package/lib/module/modules/bt-management/constants/measurement-field-catalog.js +1 -0
  240. package/lib/module/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
  241. package/lib/module/modules/bt-management/hooks/runtime-context.js +86 -0
  242. package/lib/module/modules/bt-management/hooks/runtime-context.js.map +1 -0
  243. package/lib/module/modules/bt-management/hooks/use-background-sync.js +45 -0
  244. package/lib/module/modules/bt-management/hooks/use-background-sync.js.map +1 -0
  245. package/lib/module/modules/bt-management/hooks/use-bluetooth-state.js +45 -0
  246. package/lib/module/modules/bt-management/hooks/use-bluetooth-state.js.map +1 -0
  247. package/lib/module/modules/bt-management/hooks/use-device-connection.js +34 -0
  248. package/lib/module/modules/bt-management/hooks/use-device-connection.js.map +1 -0
  249. package/lib/module/modules/bt-management/hooks/use-health-import.js +76 -0
  250. package/lib/module/modules/bt-management/hooks/use-health-import.js.map +1 -0
  251. package/lib/module/modules/bt-management/hooks/use-measurements.js +73 -0
  252. package/lib/module/modules/bt-management/hooks/use-measurements.js.map +1 -0
  253. package/lib/module/modules/bt-management/hooks/use-nearby-devices.js +27 -0
  254. package/lib/module/modules/bt-management/hooks/use-nearby-devices.js.map +1 -0
  255. package/lib/module/modules/bt-management/hooks/use-paired-devices.js +52 -0
  256. package/lib/module/modules/bt-management/hooks/use-paired-devices.js.map +1 -0
  257. package/lib/module/modules/bt-management/hooks/use-scan-control.js +16 -0
  258. package/lib/module/modules/bt-management/hooks/use-scan-control.js.map +1 -0
  259. package/lib/module/modules/bt-management/index.js +14 -0
  260. package/lib/module/modules/bt-management/index.js.map +1 -1
  261. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +41 -5
  262. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  263. package/lib/module/modules/bt-management/services/bt-manager.js +91 -22
  264. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  265. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +59 -0
  266. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  267. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +107 -4
  268. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  269. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +9 -1
  270. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  271. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +1 -0
  272. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  273. package/lib/module/modules/bt-management/services/devices/measurement-state-machine.js +5 -3
  274. package/lib/module/modules/bt-management/services/devices/measurement-state-machine.js.map +1 -1
  275. package/lib/module/modules/bt-management/services/devices/spo/spo2.main-services.js +12 -0
  276. package/lib/module/modules/bt-management/services/devices/spo/spo2.main-services.js.map +1 -1
  277. package/lib/module/modules/bt-management/services/push-notification.js +34 -0
  278. package/lib/module/modules/bt-management/services/push-notification.js.map +1 -0
  279. package/lib/module/modules/bt-management/testing/fake-ble-manager.js +127 -0
  280. package/lib/module/modules/bt-management/testing/fake-ble-manager.js.map +1 -0
  281. package/lib/module/modules/bt-management/testing/index.js +5 -0
  282. package/lib/module/modules/bt-management/testing/index.js.map +1 -0
  283. package/lib/module/modules/bt-management/testing/recorded-frames.js +17 -0
  284. package/lib/module/modules/bt-management/testing/recorded-frames.js.map +1 -0
  285. package/lib/module/modules/bt-management/types/bluetooth-error.js +76 -0
  286. package/lib/module/modules/bt-management/types/bluetooth-error.js.map +1 -0
  287. package/lib/module/modules/bt-management/types/device-connection-event.js +4 -0
  288. package/lib/module/modules/bt-management/types/device-connection-event.js.map +1 -0
  289. package/lib/module/modules/bt-management/types/result-policy.js +4 -0
  290. package/lib/module/modules/bt-management/types/result-policy.js.map +1 -0
  291. package/lib/module/modules/bt-management/utils/result-identity.js +57 -0
  292. package/lib/module/modules/bt-management/utils/result-identity.js.map +1 -0
  293. package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js +20 -5
  294. package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
  295. package/lib/module/modules/data-sync/services/base-health-sync-service.js +29 -4
  296. package/lib/module/modules/data-sync/services/base-health-sync-service.js.map +1 -1
  297. package/lib/module/modules/data-sync/services/managers/data-processor.js +2 -2
  298. package/lib/module/modules/data-sync/services/managers/data-processor.js.map +1 -1
  299. package/lib/module/modules/data-sync/services/managers/sync-progress-manager.js +1 -1
  300. package/lib/module/modules/data-sync/services/managers/sync-progress-manager.js.map +1 -1
  301. package/lib/module/modules/data-sync/utils/generate-observation-entry.js +29 -21
  302. package/lib/module/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
  303. package/lib/module/modules/data-sync/utils/retry-save.js +92 -0
  304. package/lib/module/modules/data-sync/utils/retry-save.js.map +1 -0
  305. package/lib/module/modules/helpers/form-items/form-field.js +2 -0
  306. package/lib/module/modules/helpers/form-items/form-field.js.map +1 -1
  307. package/lib/module/modules/helpers/index.js +2 -1
  308. package/lib/module/modules/helpers/index.js.map +1 -1
  309. package/lib/module/modules/helpers/utils/s-log.js +4 -12
  310. package/lib/module/modules/helpers/utils/s-log.js.map +1 -1
  311. package/lib/module/modules/helpers/utils/sentry-logger.js +25 -14
  312. package/lib/module/modules/helpers/utils/sentry-logger.js.map +1 -1
  313. package/lib/module/modules/helpers/utils/telemetry.js +218 -0
  314. package/lib/module/modules/helpers/utils/telemetry.js.map +1 -0
  315. package/lib/module/modules/image/components/optimized-image.js +32 -7
  316. package/lib/module/modules/image/components/optimized-image.js.map +1 -1
  317. package/lib/module/modules/questionnaire-response-form/components/content/questionnaire-content-error.js +20 -11
  318. package/lib/module/modules/questionnaire-response-form/components/content/questionnaire-content-error.js.map +1 -1
  319. package/lib/module/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.js +3 -2
  320. package/lib/module/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.js.map +1 -1
  321. package/lib/module/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.js +4 -2
  322. package/lib/module/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.js.map +1 -1
  323. package/lib/module/modules/questionnaire-response-form/components/questionnaire-form-provider.js +44 -17
  324. package/lib/module/modules/questionnaire-response-form/components/questionnaire-form-provider.js.map +1 -1
  325. package/lib/module/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js +2 -1
  326. package/lib/module/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js.map +1 -1
  327. package/lib/module/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.js.map +1 -1
  328. package/lib/module/modules/tile/components/task-icon.js +2 -1
  329. package/lib/module/modules/tile/components/task-icon.js.map +1 -1
  330. package/lib/module/modules/tile/constants/measurement-icon-svg.js +4 -1
  331. package/lib/module/modules/tile/constants/measurement-icon-svg.js.map +1 -1
  332. package/lib/module/modules/ui/components/background-sync-setting.js +117 -0
  333. package/lib/module/modules/ui/components/background-sync-setting.js.map +1 -0
  334. package/lib/module/modules/ui/components/bluetooth-state-notice.js +113 -0
  335. package/lib/module/modules/ui/components/bluetooth-state-notice.js.map +1 -0
  336. package/lib/module/modules/ui/components/ecg-strip-viewer.js +169 -0
  337. package/lib/module/modules/ui/components/ecg-strip-viewer.js.map +1 -0
  338. package/lib/module/modules/ui/components/health-import-card.js +135 -0
  339. package/lib/module/modules/ui/components/health-import-card.js.map +1 -0
  340. package/lib/module/modules/ui/components/manual-entry-form.js +130 -0
  341. package/lib/module/modules/ui/components/manual-entry-form.js.map +1 -0
  342. package/lib/module/modules/ui/components/pairing-flow.js +241 -0
  343. package/lib/module/modules/ui/components/pairing-flow.js.map +1 -0
  344. package/lib/module/modules/ui/components/supported-devices-catalog-list.js +101 -0
  345. package/lib/module/modules/ui/components/supported-devices-catalog-list.js.map +1 -0
  346. package/lib/module/modules/ui/components/urine-test-result.js +94 -0
  347. package/lib/module/modules/ui/components/urine-test-result.js.map +1 -0
  348. package/lib/module/modules/ui/index.js +13 -0
  349. package/lib/module/modules/ui/index.js.map +1 -0
  350. package/lib/module/modules/ui/types.js +4 -0
  351. package/lib/module/modules/ui/types.js.map +1 -0
  352. package/lib/module/modules/ui/use-ovok-ui.js +45 -0
  353. package/lib/module/modules/ui/use-ovok-ui.js.map +1 -0
  354. package/lib/typescript/commonjs/src/index.d.ts +0 -9
  355. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  356. package/lib/typescript/commonjs/src/modules/auth/delete-account-button/components/delete-account-button.d.ts.map +1 -1
  357. package/lib/typescript/commonjs/src/modules/auth/hooks/use-rate-limit-cooldown.d.ts +2 -0
  358. package/lib/typescript/commonjs/src/modules/auth/hooks/use-rate-limit-cooldown.d.ts.map +1 -0
  359. package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts +16 -0
  360. package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts.map +1 -0
  361. package/lib/typescript/commonjs/src/modules/auth/index.d.ts +4 -0
  362. package/lib/typescript/commonjs/src/modules/auth/index.d.ts.map +1 -1
  363. package/lib/typescript/commonjs/src/modules/auth/logout-button/components/logout-button.d.ts.map +1 -1
  364. package/lib/typescript/commonjs/src/modules/auth/register/components/form/inputs.d.ts.map +1 -1
  365. package/lib/typescript/commonjs/src/modules/auth/register/components/form/register-button.d.ts.map +1 -1
  366. package/lib/typescript/commonjs/src/modules/auth/register/components/form/register-form-provider.d.ts.map +1 -1
  367. package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/inputs.d.ts.map +1 -1
  368. package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/reset-password-button.d.ts.map +1 -1
  369. package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
  370. package/lib/typescript/commonjs/src/modules/auth/session/components/session-list.d.ts +4 -0
  371. package/lib/typescript/commonjs/src/modules/auth/session/components/session-list.d.ts.map +1 -0
  372. package/lib/typescript/commonjs/src/modules/auth/session/events.d.ts +5 -0
  373. package/lib/typescript/commonjs/src/modules/auth/session/events.d.ts.map +1 -0
  374. package/lib/typescript/commonjs/src/modules/auth/session/index.d.ts +3 -0
  375. package/lib/typescript/commonjs/src/modules/auth/session/index.d.ts.map +1 -0
  376. package/lib/typescript/commonjs/src/modules/auth/session/types/session-list-props.d.ts +5 -0
  377. package/lib/typescript/commonjs/src/modules/auth/session/types/session-list-props.d.ts.map +1 -0
  378. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/inputs.d.ts.map +1 -1
  379. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/login-form-provider.d.ts.map +1 -1
  380. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/mfa-code-input.d.ts +9 -0
  381. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/mfa-code-input.d.ts.map +1 -0
  382. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/sign-in-with-email.d.ts +4 -0
  383. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/sign-in-with-email.d.ts.map +1 -1
  384. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/signin-button.d.ts.map +1 -1
  385. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/sign-in.d.ts +4 -0
  386. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/sign-in.d.ts.map +1 -1
  387. package/lib/typescript/commonjs/src/modules/auth/sign-in/contexts/login-form-context.d.ts +2 -46
  388. package/lib/typescript/commonjs/src/modules/auth/sign-in/contexts/login-form-context.d.ts.map +1 -1
  389. package/lib/typescript/commonjs/src/modules/auth/sign-in/hooks/use-login-form.d.ts +1 -47
  390. package/lib/typescript/commonjs/src/modules/auth/sign-in/hooks/use-login-form.d.ts.map +1 -1
  391. package/lib/typescript/commonjs/src/modules/auth/sign-in/types/login-form-context-type.d.ts +11 -1
  392. package/lib/typescript/commonjs/src/modules/auth/sign-in/types/login-form-context-type.d.ts.map +1 -1
  393. package/lib/typescript/commonjs/src/modules/auth/types/session.d.ts +10 -0
  394. package/lib/typescript/commonjs/src/modules/auth/types/session.d.ts.map +1 -0
  395. package/lib/typescript/commonjs/src/modules/auth/utils/rate-limit.d.ts +11 -0
  396. package/lib/typescript/commonjs/src/modules/auth/utils/rate-limit.d.ts.map +1 -0
  397. package/lib/typescript/commonjs/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -1
  398. package/lib/typescript/commonjs/src/modules/background-sync/background-safe-storage.d.ts +31 -0
  399. package/lib/typescript/commonjs/src/modules/background-sync/background-safe-storage.d.ts.map +1 -0
  400. package/lib/typescript/commonjs/src/modules/background-sync/index.d.ts +1 -0
  401. package/lib/typescript/commonjs/src/modules/background-sync/index.d.ts.map +1 -1
  402. package/lib/typescript/commonjs/src/modules/bt-device/index.d.ts +0 -2
  403. package/lib/typescript/commonjs/src/modules/bt-device/index.d.ts.map +1 -1
  404. package/lib/typescript/commonjs/src/modules/bt-device-instructions/index.d.ts +4 -0
  405. package/lib/typescript/commonjs/src/modules/bt-device-instructions/index.d.ts.map +1 -0
  406. package/lib/typescript/commonjs/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts +14 -0
  407. package/lib/typescript/commonjs/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts.map +1 -0
  408. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  409. package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -1
  410. package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts +48 -0
  411. package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -0
  412. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-background-sync.d.ts +14 -0
  413. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-background-sync.d.ts.map +1 -0
  414. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bluetooth-state.d.ts +11 -0
  415. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bluetooth-state.d.ts.map +1 -0
  416. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-device-connection.d.ts +7 -0
  417. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-device-connection.d.ts.map +1 -0
  418. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-health-import.d.ts +16 -0
  419. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-health-import.d.ts.map +1 -0
  420. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-measurements.d.ts +11 -0
  421. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-measurements.d.ts.map +1 -0
  422. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-devices.d.ts +8 -0
  423. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-devices.d.ts.map +1 -0
  424. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-paired-devices.d.ts +16 -0
  425. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-paired-devices.d.ts.map +1 -0
  426. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-scan-control.d.ts +7 -0
  427. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-scan-control.d.ts.map +1 -0
  428. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +14 -0
  429. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
  430. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  431. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +22 -0
  432. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  433. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +4 -0
  434. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  435. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +10 -1
  436. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  437. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  438. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +1 -0
  439. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  440. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/measurement-state-machine.d.ts +3 -2
  441. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/measurement-state-machine.d.ts.map +1 -1
  442. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/spo/spo2.main-services.d.ts.map +1 -1
  443. package/lib/typescript/commonjs/src/modules/bt-management/services/push-notification.d.ts +8 -0
  444. package/lib/typescript/commonjs/src/modules/bt-management/services/push-notification.d.ts.map +1 -0
  445. package/lib/typescript/commonjs/src/modules/bt-management/testing/fake-ble-manager.d.ts +33 -0
  446. package/lib/typescript/commonjs/src/modules/bt-management/testing/fake-ble-manager.d.ts.map +1 -0
  447. package/lib/typescript/commonjs/src/modules/bt-management/testing/index.d.ts +3 -0
  448. package/lib/typescript/commonjs/src/modules/bt-management/testing/index.d.ts.map +1 -0
  449. package/lib/typescript/commonjs/src/modules/bt-management/testing/recorded-frames.d.ts +12 -0
  450. package/lib/typescript/commonjs/src/modules/bt-management/testing/recorded-frames.d.ts.map +1 -0
  451. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts +3 -1
  452. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
  453. package/lib/typescript/commonjs/src/modules/bt-management/types/bluetooth-error.d.ts +23 -0
  454. package/lib/typescript/commonjs/src/modules/bt-management/types/bluetooth-error.d.ts.map +1 -0
  455. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts +4 -0
  456. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  457. package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts +2 -0
  458. package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
  459. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +4 -0
  460. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  461. package/lib/typescript/commonjs/src/modules/bt-management/types/device-connection-event.d.ts +16 -0
  462. package/lib/typescript/commonjs/src/modules/bt-management/types/device-connection-event.d.ts.map +1 -0
  463. package/lib/typescript/commonjs/src/modules/bt-management/types/error-callback.d.ts +5 -2
  464. package/lib/typescript/commonjs/src/modules/bt-management/types/error-callback.d.ts.map +1 -1
  465. package/lib/typescript/commonjs/src/modules/bt-management/types/i-bt-managed-device.d.ts +1 -0
  466. package/lib/typescript/commonjs/src/modules/bt-management/types/i-bt-managed-device.d.ts.map +1 -1
  467. package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts +2 -0
  468. package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
  469. package/lib/typescript/commonjs/src/modules/bt-management/types/result-policy.d.ts +8 -0
  470. package/lib/typescript/commonjs/src/modules/bt-management/types/result-policy.d.ts.map +1 -0
  471. package/lib/typescript/commonjs/src/modules/bt-management/utils/result-identity.d.ts +10 -0
  472. package/lib/typescript/commonjs/src/modules/bt-management/utils/result-identity.d.ts.map +1 -0
  473. package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
  474. package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
  475. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts +4 -0
  476. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  477. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +1 -1
  478. package/lib/typescript/commonjs/src/modules/data-sync/types/health-authorization-status.d.ts +2 -0
  479. package/lib/typescript/commonjs/src/modules/data-sync/types/health-authorization-status.d.ts.map +1 -1
  480. package/lib/typescript/commonjs/src/modules/data-sync/types/sync-progress.d.ts +1 -1
  481. package/lib/typescript/commonjs/src/modules/data-sync/types/sync-progress.d.ts.map +1 -1
  482. package/lib/typescript/commonjs/src/modules/data-sync/utils/generate-observation-entry.d.ts.map +1 -1
  483. package/lib/typescript/commonjs/src/modules/data-sync/utils/retry-save.d.ts +6 -0
  484. package/lib/typescript/commonjs/src/modules/data-sync/utils/retry-save.d.ts.map +1 -0
  485. package/lib/typescript/commonjs/src/modules/helpers/form-items/form-field.d.ts +4 -1
  486. package/lib/typescript/commonjs/src/modules/helpers/form-items/form-field.d.ts.map +1 -1
  487. package/lib/typescript/commonjs/src/modules/helpers/index.d.ts +2 -1
  488. package/lib/typescript/commonjs/src/modules/helpers/index.d.ts.map +1 -1
  489. package/lib/typescript/commonjs/src/modules/helpers/utils/s-log.d.ts.map +1 -1
  490. package/lib/typescript/commonjs/src/modules/helpers/utils/sentry-logger.d.ts +7 -1
  491. package/lib/typescript/commonjs/src/modules/helpers/utils/sentry-logger.d.ts.map +1 -1
  492. package/lib/typescript/commonjs/src/modules/helpers/utils/telemetry.d.ts +69 -0
  493. package/lib/typescript/commonjs/src/modules/helpers/utils/telemetry.d.ts.map +1 -0
  494. package/lib/typescript/commonjs/src/modules/image/components/optimized-image.d.ts +1 -1
  495. package/lib/typescript/commonjs/src/modules/image/components/optimized-image.d.ts.map +1 -1
  496. package/lib/typescript/commonjs/src/modules/image/types/optimized-image-props.d.ts +4 -0
  497. package/lib/typescript/commonjs/src/modules/image/types/optimized-image-props.d.ts.map +1 -1
  498. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/content/questionnaire-content-error.d.ts.map +1 -1
  499. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.d.ts.map +1 -1
  500. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.d.ts.map +1 -1
  501. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts.map +1 -1
  502. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-navigation-provider.d.ts.map +1 -1
  503. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.d.ts +1 -0
  504. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.d.ts.map +1 -1
  505. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts +1 -0
  506. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts.map +1 -1
  507. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation.d.ts +1 -0
  508. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation.d.ts.map +1 -1
  509. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts +2 -0
  510. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts.map +1 -1
  511. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts +1 -0
  512. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts.map +1 -1
  513. package/lib/typescript/commonjs/src/modules/tile/components/task-icon.d.ts.map +1 -1
  514. package/lib/typescript/commonjs/src/modules/tile/constants/measurement-icon-svg.d.ts +1 -0
  515. package/lib/typescript/commonjs/src/modules/tile/constants/measurement-icon-svg.d.ts.map +1 -1
  516. package/lib/typescript/commonjs/src/modules/ui/components/background-sync-setting.d.ts +9 -0
  517. package/lib/typescript/commonjs/src/modules/ui/components/background-sync-setting.d.ts.map +1 -0
  518. package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts +12 -0
  519. package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -0
  520. package/lib/typescript/commonjs/src/modules/ui/components/ecg-strip-viewer.d.ts +17 -0
  521. package/lib/typescript/commonjs/src/modules/ui/components/ecg-strip-viewer.d.ts.map +1 -0
  522. package/lib/typescript/commonjs/src/modules/ui/components/health-import-card.d.ts +13 -0
  523. package/lib/typescript/commonjs/src/modules/ui/components/health-import-card.d.ts.map +1 -0
  524. package/lib/typescript/commonjs/src/modules/ui/components/manual-entry-form.d.ts +21 -0
  525. package/lib/typescript/commonjs/src/modules/ui/components/manual-entry-form.d.ts.map +1 -0
  526. package/lib/typescript/commonjs/src/modules/ui/components/pairing-flow.d.ts +15 -0
  527. package/lib/typescript/commonjs/src/modules/ui/components/pairing-flow.d.ts.map +1 -0
  528. package/lib/typescript/commonjs/src/modules/ui/components/supported-devices-catalog-list.d.ts +16 -0
  529. package/lib/typescript/commonjs/src/modules/ui/components/supported-devices-catalog-list.d.ts.map +1 -0
  530. package/lib/typescript/commonjs/src/modules/ui/components/urine-test-result.d.ts +10 -0
  531. package/lib/typescript/commonjs/src/modules/ui/components/urine-test-result.d.ts.map +1 -0
  532. package/lib/typescript/commonjs/src/modules/ui/index.d.ts +11 -0
  533. package/lib/typescript/commonjs/src/modules/ui/index.d.ts.map +1 -0
  534. package/lib/typescript/commonjs/src/modules/ui/types.d.ts +24 -0
  535. package/lib/typescript/commonjs/src/modules/ui/types.d.ts.map +1 -0
  536. package/lib/typescript/commonjs/src/modules/ui/use-ovok-ui.d.ts +7 -0
  537. package/lib/typescript/commonjs/src/modules/ui/use-ovok-ui.d.ts.map +1 -0
  538. package/lib/typescript/module/src/index.d.ts +0 -9
  539. package/lib/typescript/module/src/index.d.ts.map +1 -1
  540. package/lib/typescript/module/src/modules/auth/delete-account-button/components/delete-account-button.d.ts.map +1 -1
  541. package/lib/typescript/module/src/modules/auth/hooks/use-rate-limit-cooldown.d.ts +2 -0
  542. package/lib/typescript/module/src/modules/auth/hooks/use-rate-limit-cooldown.d.ts.map +1 -0
  543. package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts +16 -0
  544. package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts.map +1 -0
  545. package/lib/typescript/module/src/modules/auth/index.d.ts +4 -0
  546. package/lib/typescript/module/src/modules/auth/index.d.ts.map +1 -1
  547. package/lib/typescript/module/src/modules/auth/logout-button/components/logout-button.d.ts.map +1 -1
  548. package/lib/typescript/module/src/modules/auth/register/components/form/inputs.d.ts.map +1 -1
  549. package/lib/typescript/module/src/modules/auth/register/components/form/register-button.d.ts.map +1 -1
  550. package/lib/typescript/module/src/modules/auth/register/components/form/register-form-provider.d.ts.map +1 -1
  551. package/lib/typescript/module/src/modules/auth/reset-password/components/form/inputs.d.ts.map +1 -1
  552. package/lib/typescript/module/src/modules/auth/reset-password/components/form/reset-password-button.d.ts.map +1 -1
  553. package/lib/typescript/module/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
  554. package/lib/typescript/module/src/modules/auth/session/components/session-list.d.ts +4 -0
  555. package/lib/typescript/module/src/modules/auth/session/components/session-list.d.ts.map +1 -0
  556. package/lib/typescript/module/src/modules/auth/session/events.d.ts +5 -0
  557. package/lib/typescript/module/src/modules/auth/session/events.d.ts.map +1 -0
  558. package/lib/typescript/module/src/modules/auth/session/index.d.ts +3 -0
  559. package/lib/typescript/module/src/modules/auth/session/index.d.ts.map +1 -0
  560. package/lib/typescript/module/src/modules/auth/session/types/session-list-props.d.ts +5 -0
  561. package/lib/typescript/module/src/modules/auth/session/types/session-list-props.d.ts.map +1 -0
  562. package/lib/typescript/module/src/modules/auth/sign-in/components/form/inputs.d.ts.map +1 -1
  563. package/lib/typescript/module/src/modules/auth/sign-in/components/form/login-form-provider.d.ts.map +1 -1
  564. package/lib/typescript/module/src/modules/auth/sign-in/components/form/mfa-code-input.d.ts +9 -0
  565. package/lib/typescript/module/src/modules/auth/sign-in/components/form/mfa-code-input.d.ts.map +1 -0
  566. package/lib/typescript/module/src/modules/auth/sign-in/components/form/sign-in-with-email.d.ts +4 -0
  567. package/lib/typescript/module/src/modules/auth/sign-in/components/form/sign-in-with-email.d.ts.map +1 -1
  568. package/lib/typescript/module/src/modules/auth/sign-in/components/form/signin-button.d.ts.map +1 -1
  569. package/lib/typescript/module/src/modules/auth/sign-in/components/sign-in.d.ts +4 -0
  570. package/lib/typescript/module/src/modules/auth/sign-in/components/sign-in.d.ts.map +1 -1
  571. package/lib/typescript/module/src/modules/auth/sign-in/contexts/login-form-context.d.ts +2 -46
  572. package/lib/typescript/module/src/modules/auth/sign-in/contexts/login-form-context.d.ts.map +1 -1
  573. package/lib/typescript/module/src/modules/auth/sign-in/hooks/use-login-form.d.ts +1 -47
  574. package/lib/typescript/module/src/modules/auth/sign-in/hooks/use-login-form.d.ts.map +1 -1
  575. package/lib/typescript/module/src/modules/auth/sign-in/types/login-form-context-type.d.ts +11 -1
  576. package/lib/typescript/module/src/modules/auth/sign-in/types/login-form-context-type.d.ts.map +1 -1
  577. package/lib/typescript/module/src/modules/auth/types/session.d.ts +10 -0
  578. package/lib/typescript/module/src/modules/auth/types/session.d.ts.map +1 -0
  579. package/lib/typescript/module/src/modules/auth/utils/rate-limit.d.ts +11 -0
  580. package/lib/typescript/module/src/modules/auth/utils/rate-limit.d.ts.map +1 -0
  581. package/lib/typescript/module/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -1
  582. package/lib/typescript/module/src/modules/background-sync/background-safe-storage.d.ts +31 -0
  583. package/lib/typescript/module/src/modules/background-sync/background-safe-storage.d.ts.map +1 -0
  584. package/lib/typescript/module/src/modules/background-sync/index.d.ts +1 -0
  585. package/lib/typescript/module/src/modules/background-sync/index.d.ts.map +1 -1
  586. package/lib/typescript/module/src/modules/bt-device/index.d.ts +0 -2
  587. package/lib/typescript/module/src/modules/bt-device/index.d.ts.map +1 -1
  588. package/lib/typescript/module/src/modules/bt-device-instructions/index.d.ts +4 -0
  589. package/lib/typescript/module/src/modules/bt-device-instructions/index.d.ts.map +1 -0
  590. package/lib/typescript/module/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts +14 -0
  591. package/lib/typescript/module/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts.map +1 -0
  592. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  593. package/lib/typescript/module/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -1
  594. package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts +48 -0
  595. package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -0
  596. package/lib/typescript/module/src/modules/bt-management/hooks/use-background-sync.d.ts +14 -0
  597. package/lib/typescript/module/src/modules/bt-management/hooks/use-background-sync.d.ts.map +1 -0
  598. package/lib/typescript/module/src/modules/bt-management/hooks/use-bluetooth-state.d.ts +11 -0
  599. package/lib/typescript/module/src/modules/bt-management/hooks/use-bluetooth-state.d.ts.map +1 -0
  600. package/lib/typescript/module/src/modules/bt-management/hooks/use-device-connection.d.ts +7 -0
  601. package/lib/typescript/module/src/modules/bt-management/hooks/use-device-connection.d.ts.map +1 -0
  602. package/lib/typescript/module/src/modules/bt-management/hooks/use-health-import.d.ts +16 -0
  603. package/lib/typescript/module/src/modules/bt-management/hooks/use-health-import.d.ts.map +1 -0
  604. package/lib/typescript/module/src/modules/bt-management/hooks/use-measurements.d.ts +11 -0
  605. package/lib/typescript/module/src/modules/bt-management/hooks/use-measurements.d.ts.map +1 -0
  606. package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-devices.d.ts +8 -0
  607. package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-devices.d.ts.map +1 -0
  608. package/lib/typescript/module/src/modules/bt-management/hooks/use-paired-devices.d.ts +16 -0
  609. package/lib/typescript/module/src/modules/bt-management/hooks/use-paired-devices.d.ts.map +1 -0
  610. package/lib/typescript/module/src/modules/bt-management/hooks/use-scan-control.d.ts +7 -0
  611. package/lib/typescript/module/src/modules/bt-management/hooks/use-scan-control.d.ts.map +1 -0
  612. package/lib/typescript/module/src/modules/bt-management/index.d.ts +14 -0
  613. package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
  614. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  615. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +22 -0
  616. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  617. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +4 -0
  618. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  619. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +10 -1
  620. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  621. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  622. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +1 -0
  623. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  624. package/lib/typescript/module/src/modules/bt-management/services/devices/measurement-state-machine.d.ts +3 -2
  625. package/lib/typescript/module/src/modules/bt-management/services/devices/measurement-state-machine.d.ts.map +1 -1
  626. package/lib/typescript/module/src/modules/bt-management/services/devices/spo/spo2.main-services.d.ts.map +1 -1
  627. package/lib/typescript/module/src/modules/bt-management/services/push-notification.d.ts +8 -0
  628. package/lib/typescript/module/src/modules/bt-management/services/push-notification.d.ts.map +1 -0
  629. package/lib/typescript/module/src/modules/bt-management/testing/fake-ble-manager.d.ts +33 -0
  630. package/lib/typescript/module/src/modules/bt-management/testing/fake-ble-manager.d.ts.map +1 -0
  631. package/lib/typescript/module/src/modules/bt-management/testing/index.d.ts +3 -0
  632. package/lib/typescript/module/src/modules/bt-management/testing/index.d.ts.map +1 -0
  633. package/lib/typescript/module/src/modules/bt-management/testing/recorded-frames.d.ts +12 -0
  634. package/lib/typescript/module/src/modules/bt-management/testing/recorded-frames.d.ts.map +1 -0
  635. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts +3 -1
  636. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
  637. package/lib/typescript/module/src/modules/bt-management/types/bluetooth-error.d.ts +23 -0
  638. package/lib/typescript/module/src/modules/bt-management/types/bluetooth-error.d.ts.map +1 -0
  639. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts +4 -0
  640. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  641. package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts +2 -0
  642. package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
  643. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +4 -0
  644. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  645. package/lib/typescript/module/src/modules/bt-management/types/device-connection-event.d.ts +16 -0
  646. package/lib/typescript/module/src/modules/bt-management/types/device-connection-event.d.ts.map +1 -0
  647. package/lib/typescript/module/src/modules/bt-management/types/error-callback.d.ts +5 -2
  648. package/lib/typescript/module/src/modules/bt-management/types/error-callback.d.ts.map +1 -1
  649. package/lib/typescript/module/src/modules/bt-management/types/i-bt-managed-device.d.ts +1 -0
  650. package/lib/typescript/module/src/modules/bt-management/types/i-bt-managed-device.d.ts.map +1 -1
  651. package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts +2 -0
  652. package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
  653. package/lib/typescript/module/src/modules/bt-management/types/result-policy.d.ts +8 -0
  654. package/lib/typescript/module/src/modules/bt-management/types/result-policy.d.ts.map +1 -0
  655. package/lib/typescript/module/src/modules/bt-management/utils/result-identity.d.ts +10 -0
  656. package/lib/typescript/module/src/modules/bt-management/utils/result-identity.d.ts.map +1 -0
  657. package/lib/typescript/module/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
  658. package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
  659. package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts +4 -0
  660. package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  661. package/lib/typescript/module/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +1 -1
  662. package/lib/typescript/module/src/modules/data-sync/types/health-authorization-status.d.ts +2 -0
  663. package/lib/typescript/module/src/modules/data-sync/types/health-authorization-status.d.ts.map +1 -1
  664. package/lib/typescript/module/src/modules/data-sync/types/sync-progress.d.ts +1 -1
  665. package/lib/typescript/module/src/modules/data-sync/types/sync-progress.d.ts.map +1 -1
  666. package/lib/typescript/module/src/modules/data-sync/utils/generate-observation-entry.d.ts.map +1 -1
  667. package/lib/typescript/module/src/modules/data-sync/utils/retry-save.d.ts +6 -0
  668. package/lib/typescript/module/src/modules/data-sync/utils/retry-save.d.ts.map +1 -0
  669. package/lib/typescript/module/src/modules/helpers/form-items/form-field.d.ts +4 -1
  670. package/lib/typescript/module/src/modules/helpers/form-items/form-field.d.ts.map +1 -1
  671. package/lib/typescript/module/src/modules/helpers/index.d.ts +2 -1
  672. package/lib/typescript/module/src/modules/helpers/index.d.ts.map +1 -1
  673. package/lib/typescript/module/src/modules/helpers/utils/s-log.d.ts.map +1 -1
  674. package/lib/typescript/module/src/modules/helpers/utils/sentry-logger.d.ts +7 -1
  675. package/lib/typescript/module/src/modules/helpers/utils/sentry-logger.d.ts.map +1 -1
  676. package/lib/typescript/module/src/modules/helpers/utils/telemetry.d.ts +69 -0
  677. package/lib/typescript/module/src/modules/helpers/utils/telemetry.d.ts.map +1 -0
  678. package/lib/typescript/module/src/modules/image/components/optimized-image.d.ts +1 -1
  679. package/lib/typescript/module/src/modules/image/components/optimized-image.d.ts.map +1 -1
  680. package/lib/typescript/module/src/modules/image/types/optimized-image-props.d.ts +4 -0
  681. package/lib/typescript/module/src/modules/image/types/optimized-image-props.d.ts.map +1 -1
  682. package/lib/typescript/module/src/modules/questionnaire-response-form/components/content/questionnaire-content-error.d.ts.map +1 -1
  683. package/lib/typescript/module/src/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.d.ts.map +1 -1
  684. package/lib/typescript/module/src/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.d.ts.map +1 -1
  685. package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts.map +1 -1
  686. package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-navigation-provider.d.ts.map +1 -1
  687. package/lib/typescript/module/src/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.d.ts +1 -0
  688. package/lib/typescript/module/src/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.d.ts.map +1 -1
  689. package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts +1 -0
  690. package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts.map +1 -1
  691. package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation.d.ts +1 -0
  692. package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation.d.ts.map +1 -1
  693. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts +2 -0
  694. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts.map +1 -1
  695. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts +1 -0
  696. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts.map +1 -1
  697. package/lib/typescript/module/src/modules/tile/components/task-icon.d.ts.map +1 -1
  698. package/lib/typescript/module/src/modules/tile/constants/measurement-icon-svg.d.ts +1 -0
  699. package/lib/typescript/module/src/modules/tile/constants/measurement-icon-svg.d.ts.map +1 -1
  700. package/lib/typescript/module/src/modules/ui/components/background-sync-setting.d.ts +9 -0
  701. package/lib/typescript/module/src/modules/ui/components/background-sync-setting.d.ts.map +1 -0
  702. package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts +12 -0
  703. package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -0
  704. package/lib/typescript/module/src/modules/ui/components/ecg-strip-viewer.d.ts +17 -0
  705. package/lib/typescript/module/src/modules/ui/components/ecg-strip-viewer.d.ts.map +1 -0
  706. package/lib/typescript/module/src/modules/ui/components/health-import-card.d.ts +13 -0
  707. package/lib/typescript/module/src/modules/ui/components/health-import-card.d.ts.map +1 -0
  708. package/lib/typescript/module/src/modules/ui/components/manual-entry-form.d.ts +21 -0
  709. package/lib/typescript/module/src/modules/ui/components/manual-entry-form.d.ts.map +1 -0
  710. package/lib/typescript/module/src/modules/ui/components/pairing-flow.d.ts +15 -0
  711. package/lib/typescript/module/src/modules/ui/components/pairing-flow.d.ts.map +1 -0
  712. package/lib/typescript/module/src/modules/ui/components/supported-devices-catalog-list.d.ts +16 -0
  713. package/lib/typescript/module/src/modules/ui/components/supported-devices-catalog-list.d.ts.map +1 -0
  714. package/lib/typescript/module/src/modules/ui/components/urine-test-result.d.ts +10 -0
  715. package/lib/typescript/module/src/modules/ui/components/urine-test-result.d.ts.map +1 -0
  716. package/lib/typescript/module/src/modules/ui/index.d.ts +11 -0
  717. package/lib/typescript/module/src/modules/ui/index.d.ts.map +1 -0
  718. package/lib/typescript/module/src/modules/ui/types.d.ts +24 -0
  719. package/lib/typescript/module/src/modules/ui/types.d.ts.map +1 -0
  720. package/lib/typescript/module/src/modules/ui/use-ovok-ui.d.ts +7 -0
  721. package/lib/typescript/module/src/modules/ui/use-ovok-ui.d.ts.map +1 -0
  722. package/package.json +146 -7
@@ -3,13 +3,16 @@
3
3
  /* eslint-disable max-lines */
4
4
  import * as React from "react";
5
5
  import { AppState } from "react-native";
6
- import { AndroidBluetoothForegroundService, showPushNotification } from "../../background-sync/index.js";
7
6
  import { useDeviceList } from "../../bt-device/components/hooks/use-device-list.js";
8
7
  import { sentryLogger } from "../../helpers/utils/sentry-logger.js";
8
+ import { BluetoothRuntimeProvider, createBluetoothRuntime } from "../hooks/runtime-context.js";
9
9
  import { getRestoredBleState } from "../services/background-sync/background-ble-manager.js";
10
10
  import { getBackgroundServiceUUIDs } from "../services/background-sync/background-service-uuids.js";
11
11
  import { BackgroundSyncCoordinator } from "../services/background-sync/background-sync-coordinator.js";
12
12
  import { BTManager } from "../services/bt-manager.js";
13
+ import { showBackgroundPushNotification } from "../services/push-notification.js";
14
+ import { toBluetoothError } from "../types/bluetooth-error.js";
15
+ import { AndroidBluetoothForegroundService } from "./android-bluetooth-foreground-service.js";
13
16
  import { jsx as _jsx } from "react/jsx-runtime";
14
17
  export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
15
18
  bleManager,
@@ -20,10 +23,13 @@ export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
20
23
  onDeviceFound,
21
24
  onError,
22
25
  onDeviceStatusChanged,
26
+ onConnectionEvent,
23
27
  onResult,
28
+ resultPolicies,
24
29
  backgroundSync
25
30
  }) => {
26
31
  const btManagerRef = React.useRef(null);
32
+ const runtimeRef = React.useRef(createBluetoothRuntime(bleManager));
27
33
  const backgroundSyncRef = React.useRef(backgroundSync);
28
34
  const backgroundSyncCoordinatorRef = React.useRef(null);
29
35
  const {
@@ -34,6 +40,7 @@ export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
34
40
  if (!acceptedDevices.length) {
35
41
  return;
36
42
  }
43
+ const runtime = runtimeRef.current;
37
44
  sentryLogger("info", "Creating BTManager");
38
45
  const currentBackgroundSync = backgroundSyncRef.current;
39
46
  const isBackgroundEnabled = currentBackgroundSync?.enabled === true;
@@ -48,6 +55,9 @@ export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
48
55
  }),
49
56
  ...(deliveredEcgFileNames === undefined ? {} : {
50
57
  deliveredEcgFileNames
58
+ }),
59
+ ...(resultPolicies === undefined ? {} : {
60
+ resultPolicies
51
61
  })
52
62
  };
53
63
  const btManager = Object.keys(managerOptions).length ? new BTManager(bleManager, acceptedDevices, managerOptions) : new BTManager(bleManager, acceptedDevices);
@@ -66,7 +76,7 @@ export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
66
76
  const body = latest.notifications.body;
67
77
  const data = latest.notifications.data;
68
78
  try {
69
- await showPushNotification({
79
+ await showBackgroundPushNotification({
70
80
  title: latest.notifications.title ?? "New health measurement",
71
81
  body: body === undefined ? `${result.deviceData.name} reported a measurement` : typeof body === "function" ? body(result) : body,
72
82
  ...(data === undefined ? {} : {
@@ -75,12 +85,13 @@ export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
75
85
  });
76
86
  } catch (error) {
77
87
  onError?.({
78
- error: error instanceof Error ? error : String(error)
88
+ error: toBluetoothError(error)
79
89
  });
80
90
  }
81
91
  }
82
92
  }) : null;
83
93
  btManagerRef.current = btManager;
94
+ runtime.setManager(btManager);
84
95
  backgroundSyncCoordinatorRef.current = coordinator;
85
96
  btManager.setBackgroundScanEnabled(isBackgroundEnabled && AppState.currentState !== "active");
86
97
  btManager.startScan();
@@ -88,59 +99,96 @@ export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
88
99
  sentryLogger("info", "Destroying scan service");
89
100
  backgroundSyncCoordinatorRef.current = null;
90
101
  btManagerRef.current = null;
102
+ runtime.setManager(undefined);
91
103
  btManager.destroy();
92
104
  };
93
- }, [acceptedDevices, backgroundSync?.enabled, backgroundSync?.maxRetries, backgroundSync?.retryBackoffMs, backgroundSync?.serviceUUIDs, backgroundSync?.storage, backgroundSync?.storageKey, backgroundSync?.notifications?.enabled, backgroundSync?.notifications?.title, backgroundSync?.notifications?.body, backgroundSync?.notifications?.data, bleManager, deliveredEcgFileNames, onError, oneReadingPerConnection]);
105
+ }, [acceptedDevices, backgroundSync?.enabled, backgroundSync?.maxRetries, backgroundSync?.retryBackoffMs, backgroundSync?.serviceUUIDs, backgroundSync?.storage, backgroundSync?.storageKey, backgroundSync?.notifications?.enabled, backgroundSync?.notifications?.title, backgroundSync?.notifications?.body, backgroundSync?.notifications?.data, bleManager, deliveredEcgFileNames, resultPolicies, onError, oneReadingPerConnection]);
94
106
  React.useEffect(() => {
95
- if (!onDeviceFound || !acceptedDevices.length) {
107
+ if (!acceptedDevices.length) {
108
+ return;
109
+ }
110
+ const runtime = runtimeRef.current;
111
+ const manager = btManagerRef.current;
112
+ if (!manager) {
96
113
  return;
97
114
  }
98
- btManagerRef.current?.onDeviceFound(onDeviceFound);
115
+ manager.onDeviceFound((device, deviceManager) => {
116
+ runtime.upsertDevice(device);
117
+ runtime.emit("deviceFound", device);
118
+ return onDeviceFound?.(device, deviceManager) ?? Promise.resolve();
119
+ });
99
120
  return () => {
100
- btManagerRef.current?.onDeviceFound(undefined);
121
+ manager.onDeviceFound(undefined);
101
122
  };
102
123
  }, [onDeviceFound, acceptedDevices]);
103
124
  React.useEffect(() => {
104
- if (!onError || !acceptedDevices.length) {
125
+ if (!acceptedDevices.length) {
126
+ return;
127
+ }
128
+ const runtime = runtimeRef.current;
129
+ const manager = btManagerRef.current;
130
+ if (!manager) {
105
131
  return;
106
132
  }
107
- btManagerRef.current?.onError(onError);
133
+ manager.onError(data => {
134
+ runtime.emit("error", data);
135
+ onError?.(data);
136
+ });
108
137
  return () => {
109
- btManagerRef.current?.onError(undefined);
138
+ manager.onError(undefined);
110
139
  };
111
140
  }, [onError, acceptedDevices]);
112
141
  React.useEffect(() => {
113
142
  if (!acceptedDevices.length) {
114
143
  return;
115
144
  }
145
+ const runtime = runtimeRef.current;
146
+ const manager = btManagerRef.current;
147
+ if (!manager) {
148
+ return;
149
+ }
116
150
  const callback = backgroundSync?.enabled === true ? data => {
117
151
  onResult?.(data);
118
152
  const coordinator = backgroundSyncCoordinatorRef.current;
119
153
  if (coordinator) {
120
154
  void coordinator.enqueue(data).catch(error => {
121
155
  onError?.({
122
- error: error instanceof Error ? error : String(error)
156
+ error: toBluetoothError(error)
123
157
  });
124
158
  });
125
159
  }
126
160
  } : onResult;
127
- if (!callback) {
128
- return;
129
- }
130
- btManagerRef.current?.onResult(callback);
161
+ manager.onResult(data => {
162
+ runtime.emit("result", data);
163
+ callback?.(data);
164
+ });
131
165
  return () => {
132
- btManagerRef.current?.onResult(undefined);
166
+ manager.onResult(undefined);
133
167
  };
134
168
  }, [backgroundSync?.enabled, onError, onResult, acceptedDevices]);
135
169
  React.useEffect(() => {
136
- if (!onDeviceStatusChanged || !acceptedDevices.length) {
170
+ if (!acceptedDevices.length) {
171
+ return;
172
+ }
173
+ const runtime = runtimeRef.current;
174
+ const manager = btManagerRef.current;
175
+ if (!manager) {
137
176
  return;
138
177
  }
139
- btManagerRef.current?.onDeviceStatusChanged(({
178
+ manager.onDeviceStatusChanged(({
140
179
  status,
141
180
  deviceData,
142
181
  measurementTypeKey
143
182
  }) => {
183
+ runtime.setDeviceStatus({
184
+ deviceData,
185
+ status
186
+ });
187
+ runtime.emit("status", {
188
+ status,
189
+ deviceData,
190
+ measurementTypeKey
191
+ });
144
192
  setDeviceListItems(prev => {
145
193
  const newList = [...prev];
146
194
  const index = newList.findIndex(item => item.deviceType === deviceData.name);
@@ -153,7 +201,7 @@ export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
153
201
  };
154
202
  return newList;
155
203
  });
156
- onDeviceStatusChanged({
204
+ onDeviceStatusChanged?.({
157
205
  status,
158
206
  deviceData,
159
207
  measurementTypeKey
@@ -163,6 +211,23 @@ export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
163
211
  btManagerRef.current?.onDeviceStatusChanged(undefined);
164
212
  };
165
213
  }, [onDeviceStatusChanged, acceptedDevices, setDeviceListItems]);
214
+ React.useEffect(() => {
215
+ if (!acceptedDevices.length) {
216
+ return;
217
+ }
218
+ const runtime = runtimeRef.current;
219
+ const manager = btManagerRef.current;
220
+ if (!manager || typeof manager.onConnectionEvent !== "function") {
221
+ return;
222
+ }
223
+ manager.onConnectionEvent(event => {
224
+ runtime.emit("connection", event);
225
+ onConnectionEvent?.(event);
226
+ });
227
+ return () => {
228
+ manager.onConnectionEvent(undefined);
229
+ };
230
+ }, [onConnectionEvent, acceptedDevices]);
166
231
  React.useEffect(() => {
167
232
  if (!acceptedDevices.length || backgroundSync?.enabled !== true) {
168
233
  return;
@@ -176,7 +241,7 @@ export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
176
241
  resetExhausted: true
177
242
  }).catch(error => {
178
243
  onError?.({
179
- error: error instanceof Error ? error : String(error)
244
+ error: toBluetoothError(error)
180
245
  });
181
246
  });
182
247
  }, [acceptedDevices, backgroundSync?.enabled, backgroundSync?.restoreStateIdentifier, onError]);
@@ -189,7 +254,7 @@ export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
189
254
  resetExhausted: true
190
255
  }).catch(error => {
191
256
  onError?.({
192
- error: error instanceof Error ? error : String(error)
257
+ error: toBluetoothError(error)
193
258
  });
194
259
  });
195
260
  }
@@ -198,11 +263,14 @@ export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
198
263
  listener.remove();
199
264
  };
200
265
  }, [onError]);
201
- return /*#__PURE__*/_jsx(AndroidBluetoothForegroundService, {
202
- enabled: backgroundSync?.enabled === true,
203
- options: backgroundSync?.android?.foregroundService,
204
- onError: onError,
205
- children: children
266
+ return /*#__PURE__*/_jsx(BluetoothRuntimeProvider, {
267
+ runtime: runtimeRef.current,
268
+ children: /*#__PURE__*/_jsx(AndroidBluetoothForegroundService, {
269
+ enabled: backgroundSync?.enabled === true,
270
+ options: backgroundSync?.android?.foregroundService,
271
+ onError: onError,
272
+ children: children
273
+ })
206
274
  });
207
275
  });
208
276
  //# sourceMappingURL=bt-provider-child-wrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","AppState","AndroidBluetoothForegroundService","showPushNotification","useDeviceList","sentryLogger","getRestoredBleState","getBackgroundServiceUUIDs","BackgroundSyncCoordinator","BTManager","jsx","_jsx","BTProviderChildWrapper","memo","bleManager","acceptedDevices","children","oneReadingPerConnection","deliveredEcgFileNames","onDeviceFound","onError","onDeviceStatusChanged","onResult","backgroundSync","btManagerRef","useRef","backgroundSyncRef","backgroundSyncCoordinatorRef","setDeviceListItems","current","useEffect","length","currentBackgroundSync","isBackgroundEnabled","enabled","backgroundOptions","backgroundEnabled","serviceUUIDs","undefined","managerOptions","btManager","Object","keys","coordinator","result","latest","notifications","body","data","title","deviceData","name","error","Error","String","setBackgroundScanEnabled","currentState","startScan","destroy","maxRetries","retryBackoffMs","storage","storageKey","callback","enqueue","catch","status","measurementTypeKey","prev","newList","index","findIndex","item","deviceType","restoredState","restoreStateIdentifier","connectedPeripherals","restoreDevices","flush","includeExhausted","resetExhausted","listener","addEventListener","state","remove","options","android","foregroundService"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/components/bt-provider-child-wrapper.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","AppState","useDeviceList","sentryLogger","BluetoothRuntimeProvider","createBluetoothRuntime","getRestoredBleState","getBackgroundServiceUUIDs","BackgroundSyncCoordinator","BTManager","showBackgroundPushNotification","toBluetoothError","AndroidBluetoothForegroundService","jsx","_jsx","BTProviderChildWrapper","memo","bleManager","acceptedDevices","children","oneReadingPerConnection","deliveredEcgFileNames","onDeviceFound","onError","onDeviceStatusChanged","onConnectionEvent","onResult","resultPolicies","backgroundSync","btManagerRef","useRef","runtimeRef","backgroundSyncRef","backgroundSyncCoordinatorRef","setDeviceListItems","current","useEffect","length","runtime","currentBackgroundSync","isBackgroundEnabled","enabled","backgroundOptions","backgroundEnabled","serviceUUIDs","undefined","managerOptions","btManager","Object","keys","coordinator","result","latest","notifications","body","data","title","deviceData","name","error","setManager","setBackgroundScanEnabled","currentState","startScan","destroy","maxRetries","retryBackoffMs","storage","storageKey","manager","device","deviceManager","upsertDevice","emit","Promise","resolve","callback","enqueue","catch","status","measurementTypeKey","setDeviceStatus","prev","newList","index","findIndex","item","deviceType","event","restoredState","restoreStateIdentifier","connectedPeripherals","restoreDevices","flush","includeExhausted","resetExhausted","listener","addEventListener","state","remove","options","android","foregroundService"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/components/bt-provider-child-wrapper.tsx"],"mappings":";;AAAA;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,QAAQ,cAAc;AAEvC,SAASC,aAAa,QAAQ,qDAAkD;AAChF,SAASC,YAAY,QAAQ,sCAAmC;AAChE,SAASC,wBAAwB,EAAEC,sBAAsB,QAAQ,6BAA0B;AAC3F,SAASC,mBAAmB,QAAQ,uDAAoD;AACxF,SAASC,yBAAyB,QAAQ,yDAAsD;AAChG,SAASC,yBAAyB,QAAQ,4DAAyD;AACnG,SAASC,SAAS,QAAQ,2BAAwB;AAClD,SAASC,8BAA8B,QAAQ,kCAA+B;AAE9E,SAASC,gBAAgB,QAAQ,6BAA0B;AAI3D,SAASC,iCAAiC,QAAQ,2CAAwC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3F,OAAO,MAAMC,sBAAsB,gBAAGf,KAAK,CAACgB,IAAI,CAC9C,CAAsC;EACpCC,UAAU;EACVC,eAAe,GAAG,EAAkB;EACpCC,QAAQ;EACRC,uBAAuB;EACvBC,qBAAqB;EACrBC,aAAa;EACbC,OAAO;EACPC,qBAAqB;EACrBC,iBAAiB;EACjBC,QAAQ;EACRC,cAAc;EACdC;AACuD,CAAC,KAAK;EAC7D,MAAMC,YAAY,GAAG7B,KAAK,CAAC8B,MAAM,CAAsB,IAAI,CAAC;EAC5D,MAAMC,UAAU,GAAG/B,KAAK,CAAC8B,MAAM,CAACzB,sBAAsB,CAACY,UAAU,CAAC,CAAC;EACnE,MAAMe,iBAAiB,GAAGhC,KAAK,CAAC8B,MAAM,CAACF,cAAc,CAAC;EAEtD,MAAMK,4BAA4B,GAAGjC,KAAK,CAAC8B,MAAM,CAE/C,IAAI,CAAC;EAEP,MAAM;IAAEI;EAAmB,CAAC,GAAGhC,aAAa,CAAC,CAAC;EAE9C8B,iBAAiB,CAACG,OAAO,GAAGP,cAAc;EAE1C5B,KAAK,CAACoC,SAAS,CAAC,MAAM;IACpB,IAAI,CAAClB,eAAe,CAACmB,MAAM,EAAE;MAC3B;IACF;IACA,MAAMC,OAAO,GAAGP,UAAU,CAACI,OAAO;IAElChC,YAAY,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAE1C,MAAMoC,qBAAqB,GAAGP,iBAAiB,CAACG,OAAO;IACvD,MAAMK,mBAAmB,GAAGD,qBAAqB,EAAEE,OAAO,KAAK,IAAI;IAEnE,MAAMC,iBAAiB,GAAGF,mBAAmB,GACzC;MACEG,iBAAiB,EAAE,IAAI;MACvBC,YAAY,EAAErC,yBAAyB,CACrCW,eAAe,EACfqB,qBAAqB,CAACK,YACxB;IACF,CAAC,GACDC,SAAS;IAEb,MAAMC,cAAc,GAAG;MACrB,GAAGJ,iBAAiB;MACpB,IAAItB,uBAAuB,KAAKyB,SAAS,GACrC,CAAC,CAAC,GACF;QAAEzB;MAAwB,CAAC,CAAC;MAChC,IAAIC,qBAAqB,KAAKwB,SAAS,GACnC,CAAC,CAAC,GACF;QAAExB;MAAsB,CAAC,CAAC;MAC9B,IAAIM,cAAc,KAAKkB,SAAS,GAAG,CAAC,CAAC,GAAG;QAAElB;MAAe,CAAC;IAC5D,CAAC;IAED,MAAMoB,SAAS,GAAGC,MAAM,CAACC,IAAI,CAACH,cAAc,CAAC,CAACT,MAAM,GAChD,IAAI5B,SAAS,CAACQ,UAAU,EAAEC,eAAe,EAAE4B,cAAc,CAAC,GAC1D,IAAIrC,SAAS,CAACQ,UAAU,EAAEC,eAAe,CAAC;IAE9C,MAAMgC,WAAW,GAAGV,mBAAmB,IAAID,qBAAqB,GAC5D,IAAI/B,yBAAyB,CAAiB;MAC5C,GAAG+B,qBAAqB;MACxBE,OAAO,EAAE,IAAI;MACbf,QAAQ,EAAE,MAAOyB,MAAM,IAAK;QAC1B,MAAMC,MAAM,GAAGpB,iBAAiB,CAACG,OAAO;QAExC,IAAI,CAACiB,MAAM,EAAEX,OAAO,EAAE;UACpB;QACF;QAEA,MAAMW,MAAM,CAAC1B,QAAQ,CAACyB,MAAM,CAAC;QAE7B,IAAIC,MAAM,CAACC,aAAa,EAAEZ,OAAO,KAAK,IAAI,EAAE;UAC1C;QACF;QAEA,MAAMa,IAAI,GAAGF,MAAM,CAACC,aAAa,CAACC,IAAI;QACtC,MAAMC,IAAI,GAAGH,MAAM,CAACC,aAAa,CAACE,IAAI;QAEtC,IAAI;UACF,MAAM7C,8BAA8B,CAAC;YACnC8C,KAAK,EACHJ,MAAM,CAACC,aAAa,CAACG,KAAK,IAAI,wBAAwB;YACxDF,IAAI,EACFA,IAAI,KAAKT,SAAS,GACd,GAAGM,MAAM,CAACM,UAAU,CAACC,IAAI,yBAAyB,GAClD,OAAOJ,IAAI,KAAK,UAAU,GACxBA,IAAI,CAACH,MAAM,CAAC,GACZG,IAAI;YACZ,IAAIC,IAAI,KAAKV,SAAS,GAClB,CAAC,CAAC,GACF;cACEU,IAAI,EAAE,OAAOA,IAAI,KAAK,UAAU,GAAGA,IAAI,CAACJ,MAAM,CAAC,GAAGI;YACpD,CAAC;UACP,CAAC,CAAC;QACJ,CAAC,CAAC,OAAOI,KAAK,EAAE;UACdpC,OAAO,GAAG;YAAEoC,KAAK,EAAEhD,gBAAgB,CAACgD,KAAK;UAAE,CAAC,CAAC;QAC/C;MACF;IACF,CAAC,CAAC,GACF,IAAI;IAER9B,YAAY,CAACM,OAAO,GAAGY,SAAS;IAChCT,OAAO,CAACsB,UAAU,CAChBb,SACF,CAAC;IACDd,4BAA4B,CAACE,OAAO,GAAGe,WAAW;IAElDH,SAAS,CAACc,wBAAwB,CAChCrB,mBAAmB,IAAIvC,QAAQ,CAAC6D,YAAY,KAAK,QACnD,CAAC;IACDf,SAAS,CAACgB,SAAS,CAAC,CAAC;IAErB,OAAO,MAAM;MACX5D,YAAY,CAAC,MAAM,EAAE,yBAAyB,CAAC;MAC/C8B,4BAA4B,CAACE,OAAO,GAAG,IAAI;MAC3CN,YAAY,CAACM,OAAO,GAAG,IAAI;MAC3BG,OAAO,CAACsB,UAAU,CAACf,SAAS,CAAC;MAC7BE,SAAS,CAACiB,OAAO,CAAC,CAAC;IACrB,CAAC;EACH,CAAC,EAAE,CACD9C,eAAe,EACfU,cAAc,EAAEa,OAAO,EACvBb,cAAc,EAAEqC,UAAU,EAC1BrC,cAAc,EAAEsC,cAAc,EAC9BtC,cAAc,EAAEgB,YAAY,EAC5BhB,cAAc,EAAEuC,OAAO,EACvBvC,cAAc,EAAEwC,UAAU,EAC1BxC,cAAc,EAAEyB,aAAa,EAAEZ,OAAO,EACtCb,cAAc,EAAEyB,aAAa,EAAEG,KAAK,EACpC5B,cAAc,EAAEyB,aAAa,EAAEC,IAAI,EACnC1B,cAAc,EAAEyB,aAAa,EAAEE,IAAI,EACnCtC,UAAU,EACVI,qBAAqB,EACrBM,cAAc,EACdJ,OAAO,EACPH,uBAAuB,CACxB,CAAC;EACFpB,KAAK,CAACoC,SAAS,CAAC,MAAM;IACpB,IAAI,CAAClB,eAAe,CAACmB,MAAM,EAAE;MAC3B;IACF;IACA,MAAMC,OAAO,GAAGP,UAAU,CAACI,OAAO;IAClC,MAAMkC,OAAO,GAAGxC,YAAY,CAACM,OAAO;IAEpC,IAAI,CAACkC,OAAO,EAAE;MACZ;IACF;IAEAA,OAAO,CAAC/C,aAAa,CAAC,CAACgD,MAAM,EAAEC,aAAa,KAAK;MAC/CjC,OAAO,CAACkC,YAAY,CAACF,MAAM,CAAC;MAC5BhC,OAAO,CAACmC,IAAI,CAAC,aAAa,EAAEH,MAAM,CAAC;MAEnC,OAAOhD,aAAa,GAAGgD,MAAM,EAAEC,aAAa,CAAC,IAAIG,OAAO,CAACC,OAAO,CAAC,CAAC;IACpE,CAAC,CAAC;IAEF,OAAO,MAAM;MACXN,OAAO,CAAC/C,aAAa,CAACuB,SAAS,CAAC;IAClC,CAAC;EACH,CAAC,EAAE,CAACvB,aAAa,EAAEJ,eAAe,CAAC,CAAC;EACpClB,KAAK,CAACoC,SAAS,CAAC,MAAM;IACpB,IAAI,CAAClB,eAAe,CAACmB,MAAM,EAAE;MAC3B;IACF;IACA,MAAMC,OAAO,GAAGP,UAAU,CAACI,OAAO;IAClC,MAAMkC,OAAO,GAAGxC,YAAY,CAACM,OAAO;IAEpC,IAAI,CAACkC,OAAO,EAAE;MACZ;IACF;IAEAA,OAAO,CAAC9C,OAAO,CAAEgC,IAAI,IAAK;MACxBjB,OAAO,CAACmC,IAAI,CAAC,OAAO,EAAElB,IAAI,CAAC;MAC3BhC,OAAO,GAAGgC,IAAI,CAAC;IACjB,CAAC,CAAC;IAEF,OAAO,MAAM;MACXc,OAAO,CAAC9C,OAAO,CAACsB,SAAS,CAAC;IAC5B,CAAC;EACH,CAAC,EAAE,CAACtB,OAAO,EAAEL,eAAe,CAAC,CAAC;EAC9BlB,KAAK,CAACoC,SAAS,CAAC,MAAM;IACpB,IAAI,CAAClB,eAAe,CAACmB,MAAM,EAAE;MAC3B;IACF;IAEA,MAAMC,OAAO,GAAGP,UAAU,CAACI,OAAO;IAClC,MAAMkC,OAAO,GAAGxC,YAAY,CAACM,OAAO;IAEpC,IAAI,CAACkC,OAAO,EAAE;MACZ;IACF;IAEA,MAAMO,QAAQ,GACZhD,cAAc,EAAEa,OAAO,KAAK,IAAI,GAC3Bc,IAA4E,IAAK;MAChF7B,QAAQ,GAAG6B,IAAI,CAAC;MAChB,MAAML,WAAW,GAAGjB,4BAA4B,CAACE,OAAO;MAExD,IAAIe,WAAW,EAAE;QACf,KAAKA,WAAW,CAAC2B,OAAO,CAACtB,IAAI,CAAC,CAACuB,KAAK,CAAEnB,KAAc,IAAK;UACvDpC,OAAO,GAAG;YAAEoC,KAAK,EAAEhD,gBAAgB,CAACgD,KAAK;UAAE,CAAC,CAAC;QAC/C,CAAC,CAAC;MACJ;IACF,CAAC,GACDjC,QAAQ;IAEd2C,OAAO,CAAC3C,QAAQ,CAAE6B,IAAI,IAAK;MACzBjB,OAAO,CAACmC,IAAI,CAAC,QAAQ,EAAElB,IAAI,CAAC;MAC5BqB,QAAQ,GAAGrB,IAAI,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,MAAM;MACXc,OAAO,CAAC3C,QAAQ,CAACmB,SAAS,CAAC;IAC7B,CAAC;EACH,CAAC,EAAE,CAACjB,cAAc,EAAEa,OAAO,EAAElB,OAAO,EAAEG,QAAQ,EAAER,eAAe,CAAC,CAAC;EACjElB,KAAK,CAACoC,SAAS,CAAC,MAAM;IACpB,IAAI,CAAClB,eAAe,CAACmB,MAAM,EAAE;MAC3B;IACF;IAEA,MAAMC,OAAO,GAAGP,UAAU,CAACI,OAAO;IAClC,MAAMkC,OAAO,GAAGxC,YAAY,CAACM,OAAO;IAEpC,IAAI,CAACkC,OAAO,EAAE;MACZ;IACF;IAEAA,OAAO,CAAC7C,qBAAqB,CAC3B,CAAC;MAAEuD,MAAM;MAAEtB,UAAU;MAAEuB;IAAmB,CAAC,KAAK;MAC9C1C,OAAO,CAAC2C,eAAe,CAAC;QAAExB,UAAU;QAAEsB;MAAO,CAAC,CAAC;MAC/CzC,OAAO,CAACmC,IAAI,CAAC,QAAQ,EAAE;QAAEM,MAAM;QAAEtB,UAAU;QAAEuB;MAAmB,CAAC,CAAC;MAClE9C,kBAAkB,CAAEgD,IAAI,IAAK;QAC3B,MAAMC,OAAO,GAAG,CAAC,GAAGD,IAAI,CAAC;QAEzB,MAAME,KAAK,GAAGD,OAAO,CAACE,SAAS,CAC5BC,IAAI,IAAKA,IAAI,CAACC,UAAU,KAAK9B,UAAU,CAACC,IAC3C,CAAC;QAED,IAAI0B,KAAK,KAAK,CAAC,CAAC,IAAI,CAACD,OAAO,CAACC,KAAK,CAAC,EAAE;UACnC,OAAOD,OAAO;QAChB;QAEAA,OAAO,CAACC,KAAK,CAAC,GAAG;UAAE,GAAGD,OAAO,CAACC,KAAK,CAAC;UAAEL;QAAO,CAAC;QAE9C,OAAOI,OAAO;MAChB,CAAC,CAAC;MAEF3D,qBAAqB,GAAG;QAAEuD,MAAM;QAAEtB,UAAU;QAAEuB;MAAmB,CAAC,CAAC;IACrE,CACF,CAAC;IAED,OAAO,MAAM;MACXnD,YAAY,CAACM,OAAO,EAAEX,qBAAqB,CAACqB,SAAS,CAAC;IACxD,CAAC;EACH,CAAC,EAAE,CAACrB,qBAAqB,EAAEN,eAAe,EAAEgB,kBAAkB,CAAC,CAAC;EAChElC,KAAK,CAACoC,SAAS,CAAC,MAAM;IACpB,IAAI,CAAClB,eAAe,CAACmB,MAAM,EAAE;MAC3B;IACF;IAEA,MAAMC,OAAO,GAAGP,UAAU,CAACI,OAAO;IAClC,MAAMkC,OAAO,GAAGxC,YAAY,CAACM,OAAO;IAEpC,IAAI,CAACkC,OAAO,IAAI,OAAOA,OAAO,CAAC5C,iBAAiB,KAAK,UAAU,EAAE;MAC/D;IACF;IAEA4C,OAAO,CAAC5C,iBAAiB,CAAE+D,KAAK,IAAK;MACnClD,OAAO,CAACmC,IAAI,CAAC,YAAY,EAAEe,KAAK,CAAC;MACjC/D,iBAAiB,GAAG+D,KAAK,CAAC;IAC5B,CAAC,CAAC;IAEF,OAAO,MAAM;MACXnB,OAAO,CAAC5C,iBAAiB,CAACoB,SAAS,CAAC;IACtC,CAAC;EACH,CAAC,EAAE,CAACpB,iBAAiB,EAAEP,eAAe,CAAC,CAAC;EACxClB,KAAK,CAACoC,SAAS,CAAC,MAAM;IACpB,IAAI,CAAClB,eAAe,CAACmB,MAAM,IAAIT,cAAc,EAAEa,OAAO,KAAK,IAAI,EAAE;MAC/D;IACF;IAEA,MAAMgD,aAAa,GAAGnF,mBAAmB,CACvCsB,cAAc,CAAC8D,sBACjB,CAAC;IAED,IAAID,aAAa,EAAEE,oBAAoB,CAACtD,MAAM,EAAE;MAC9CR,YAAY,CAACM,OAAO,EAAEyD,cAAc,CAACH,aAAa,CAACE,oBAAoB,CAAC;IAC1E;IAEA,KAAK1D,4BAA4B,CAACE,OAAO,EAAE0D,KAAK,CAAC;MAC/CC,gBAAgB,EAAE,IAAI;MACtBC,cAAc,EAAE;IAClB,CAAC,CAAC,CAACjB,KAAK,CAAEnB,KAAc,IAAK;MAC3BpC,OAAO,GAAG;QAAEoC,KAAK,EAAEhD,gBAAgB,CAACgD,KAAK;MAAE,CAAC,CAAC;IAC/C,CAAC,CAAC;EACJ,CAAC,EAAE,CACDzC,eAAe,EACfU,cAAc,EAAEa,OAAO,EACvBb,cAAc,EAAE8D,sBAAsB,EACtCnE,OAAO,CACR,CAAC;EAEFvB,KAAK,CAACoC,SAAS,CAAC,MAAM;IACpB,MAAM4D,QAAQ,GAAG/F,QAAQ,CAACgG,gBAAgB,CAAC,QAAQ,EAAGC,KAAK,IAAK;MAC9DrE,YAAY,CAACM,OAAO,EAAE0B,wBAAwB,CAC5C7B,iBAAiB,CAACG,OAAO,EAAEM,OAAO,KAAK,IAAI,IAAIyD,KAAK,KAAK,QAC3D,CAAC;MACD,IAAIA,KAAK,KAAK,QAAQ,EAAE;QACtB,KAAKjE,4BAA4B,CAACE,OAAO,EAAE0D,KAAK,CAAC;UAC/CC,gBAAgB,EAAE,IAAI;UACtBC,cAAc,EAAE;QAClB,CAAC,CAAC,CAACjB,KAAK,CAAEnB,KAAc,IAAK;UACzBpC,OAAO,GAAG;YAAEoC,KAAK,EAAEhD,gBAAgB,CAACgD,KAAK;UAAE,CAAC,CAAC;QACjD,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;IAEF,OAAO,MAAM;MACXqC,QAAQ,CAACG,MAAM,CAAC,CAAC;IACnB,CAAC;EACH,CAAC,EAAE,CAAC5E,OAAO,CAAC,CAAC;EAEb,oBACET,IAAA,CAACV,wBAAwB;IAACkC,OAAO,EAAEP,UAAU,CAACI,OAAQ;IAAAhB,QAAA,eACtDL,IAAA,CAACF,iCAAiC;MAChC6B,OAAO,EAAEb,cAAc,EAAEa,OAAO,KAAK,IAAK;MAC1C2D,OAAO,EAAExE,cAAc,EAAEyE,OAAO,EAAEC,iBAAkB;MACpD/E,OAAO,EAAEA,OAAQ;MAAAJ,QAAA,EAEhBA;IAAQ,CACwB;EAAC,CACV,CAAC;AAE/B,CACF,CAEsB","ignoreList":[]}
@@ -183,6 +183,7 @@ export const measurementFieldCatalog = {
183
183
  required: true
184
184
  }
185
185
  },
186
+ [MeasurementTypeKey.urineAnalysis]: urineAnalyteCatalog,
186
187
  [MeasurementTypeKey.uricAcid]: urineAnalyteCatalog
187
188
  };
188
189
  //# sourceMappingURL=measurement-field-catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MeasurementTypeKey","URINE_ANALYTE_DEFINITIONS","urineAnalyteRanges","uro","min","max","normalMin","normalMax","bld","bil","ket","glu","pro","ph","nit","leu","sg","vc","urineAnalyteCatalog","Object","fromEntries","entries","map","key","range","definition","find","analyte","Error","display","unit","measurementFieldCatalog","bloodPressure","systolic","required","diastolic","heartRate","bodyWeight","temperature","bodyTemp","bloodGlucose","bloodOxygenPulseRate","bloodOxygen","pulseRate","perfusionIndex","rrInterval","respiratoryRate","uricAcid"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/constants/measurement-field-catalog.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MeasurementTypeKey","URINE_ANALYTE_DEFINITIONS","urineAnalyteRanges","uro","min","max","normalMin","normalMax","bld","bil","ket","glu","pro","ph","nit","leu","sg","vc","urineAnalyteCatalog","Object","fromEntries","entries","map","key","range","definition","find","analyte","Error","display","unit","measurementFieldCatalog","bloodPressure","systolic","required","diastolic","heartRate","bodyWeight","temperature","bodyTemp","bloodGlucose","bloodOxygenPulseRate","bloodOxygen","pulseRate","perfusionIndex","rrInterval","respiratoryRate","urineAnalysis","uricAcid"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/constants/measurement-field-catalog.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable import/group-exports */
4
+
5
+ import * as React from "react";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ const RuntimeContext = /*#__PURE__*/React.createContext(null);
8
+ export const createBluetoothRuntime = bleManager => {
9
+ const listeners = new Map();
10
+ let currentManager;
11
+ let currentDevices = [];
12
+ const subscribers = new Set();
13
+ return {
14
+ bleManager,
15
+ get manager() {
16
+ return currentManager;
17
+ },
18
+ get devices() {
19
+ return currentDevices;
20
+ },
21
+ subscribe: (event, callback) => {
22
+ const eventListeners = listeners.get(event) ?? new Set();
23
+ eventListeners.add(callback);
24
+ listeners.set(event, eventListeners);
25
+ return () => eventListeners.delete(callback);
26
+ },
27
+ subscribeState: callback => {
28
+ subscribers.add(callback);
29
+ return () => subscribers.delete(callback);
30
+ },
31
+ hasListeners: event => (listeners.get(event)?.size ?? 0) > 0,
32
+ emit: (event, value) => {
33
+ listeners.get(event)?.forEach(callback => callback(value));
34
+ subscribers.forEach(notify => notify());
35
+ },
36
+ setManager: manager => {
37
+ currentManager = manager;
38
+ subscribers.forEach(notify => notify());
39
+ },
40
+ upsertDevice: device => {
41
+ const existing = currentDevices.findIndex(item => item.id === device.id);
42
+ const next = {
43
+ id: device.id,
44
+ deviceData: device.deviceData,
45
+ device,
46
+ status: existing === -1 ? undefined : currentDevices[existing]?.status
47
+ };
48
+ currentDevices = existing === -1 ? [...currentDevices, next] : currentDevices.map((item, index) => index === existing ? next : item);
49
+ subscribers.forEach(notify => notify());
50
+ },
51
+ setDeviceStatus: ({
52
+ deviceData,
53
+ status
54
+ }) => {
55
+ currentDevices = currentDevices.map(item => item.id === deviceData.id ? {
56
+ ...item,
57
+ deviceData,
58
+ status
59
+ } : item);
60
+ subscribers.forEach(notify => notify());
61
+ }
62
+ };
63
+ };
64
+ export const BluetoothRuntimeProvider = ({
65
+ runtime,
66
+ children
67
+ }) => /*#__PURE__*/_jsx(RuntimeContext.Provider, {
68
+ value: runtime,
69
+ children: children
70
+ });
71
+ export const useBluetoothRuntime = () => {
72
+ const runtime = React.useContext(RuntimeContext);
73
+ if (!runtime) {
74
+ throw new Error("Bluetooth hooks must be rendered inside BTProvider");
75
+ }
76
+ return runtime;
77
+ };
78
+ export const useRuntimeEvent = (event, callback) => {
79
+ const runtime = useBluetoothRuntime();
80
+ const callbackRef = React.useRef(callback);
81
+ callbackRef.current = callback;
82
+ React.useEffect(() => runtime.subscribe(event, value => callbackRef.current(value)), [event, runtime]);
83
+ };
84
+
85
+ /** Typed union exposed when a host listens to every accepted device. */
86
+ //# sourceMappingURL=runtime-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","jsx","_jsx","RuntimeContext","createContext","createBluetoothRuntime","bleManager","listeners","Map","currentManager","currentDevices","subscribers","Set","manager","devices","subscribe","event","callback","eventListeners","get","add","set","delete","subscribeState","hasListeners","size","emit","value","forEach","notify","setManager","upsertDevice","device","existing","findIndex","item","id","next","deviceData","status","undefined","map","index","setDeviceStatus","BluetoothRuntimeProvider","runtime","children","Provider","useBluetoothRuntime","useContext","Error","useRuntimeEvent","callbackRef","useRef","current","useEffect"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/runtime-context.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable import/group-exports */
4
+
5
+ import * as React from "react";
6
+ import { useBluetoothRuntime } from "./runtime-context.js";
7
+ export const useBackgroundSync = ({
8
+ enabled: initialEnabled = false,
9
+ canEnable,
10
+ onEnabledChange
11
+ } = {}) => {
12
+ const runtime = useBluetoothRuntime();
13
+ const [enabled, setEnabledState] = React.useState(initialEnabled);
14
+ const [error, setError] = React.useState();
15
+ const [status, setStatus] = React.useState(initialEnabled ? "on" : "off");
16
+ React.useSyncExternalStore(runtime.subscribeState, () => runtime.manager, () => undefined);
17
+ const setEnabled = React.useCallback(async next => {
18
+ setError(undefined);
19
+ try {
20
+ if (next && canEnable && !(await canEnable())) {
21
+ setStatus("restricted");
22
+ return;
23
+ }
24
+ if (next && !runtime.manager) {
25
+ throw new Error("Bluetooth background sync is not ready yet.");
26
+ }
27
+ runtime.manager?.setBackgroundScanEnabled(next);
28
+ await onEnabledChange?.(next);
29
+ setEnabledState(next);
30
+ setStatus(next ? "on" : "off");
31
+ } catch (cause) {
32
+ const nextError = cause instanceof Error ? cause : new Error(String(cause));
33
+ setError(nextError);
34
+ setStatus("blocked");
35
+ }
36
+ }, [canEnable, onEnabledChange, runtime]);
37
+ return {
38
+ enabled,
39
+ setEnabled,
40
+ status,
41
+ error,
42
+ reason: status === "restricted" ? "background access is restricted" : undefined
43
+ };
44
+ };
45
+ //# sourceMappingURL=use-background-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useBluetoothRuntime","useBackgroundSync","enabled","initialEnabled","canEnable","onEnabledChange","runtime","setEnabledState","useState","error","setError","status","setStatus","useSyncExternalStore","subscribeState","manager","undefined","setEnabled","useCallback","next","Error","setBackgroundScanEnabled","cause","nextError","String","reason"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-background-sync.ts"],"mappings":";;AAAA;;AAEA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,mBAAmB,QAAQ,sBAAmB;AAUvD,OAAO,MAAMC,iBAAiB,GAAGA,CAAC;EAChCC,OAAO,EAAEC,cAAc,GAAG,KAAK;EAC/BC,SAAS;EACTC;AACwB,CAAC,GAAG,CAAC,CAAC,KAM3B;EACH,MAAMC,OAAO,GAAGN,mBAAmB,CAAC,CAAC;EACrC,MAAM,CAACE,OAAO,EAAEK,eAAe,CAAC,GAAGR,KAAK,CAACS,QAAQ,CAACL,cAAc,CAAC;EACjE,MAAM,CAACM,KAAK,EAAEC,QAAQ,CAAC,GAAGX,KAAK,CAACS,QAAQ,CAAQ,CAAC;EAEjD,MAAM,CAACG,MAAM,EAAEC,SAAS,CAAC,GAAGb,KAAK,CAACS,QAAQ,CACxCL,cAAc,GAAG,IAAI,GAAG,KAC1B,CAAC;EAEDJ,KAAK,CAACc,oBAAoB,CACxBP,OAAO,CAACQ,cAAc,EACtB,MAAMR,OAAO,CAACS,OAAO,EACrB,MAAMC,SACR,CAAC;EAED,MAAMC,UAAU,GAAGlB,KAAK,CAACmB,WAAW,CAAC,MAAOC,IAAa,IAAK;IAC5DT,QAAQ,CAACM,SAAS,CAAC;IAEnB,IAAI;MACF,IAAIG,IAAI,IAAIf,SAAS,IAAI,EAAE,MAAMA,SAAS,CAAC,CAAC,CAAC,EAAE;QAC7CQ,SAAS,CAAC,YAAY,CAAC;QAEvB;MACF;MAEA,IAAIO,IAAI,IAAI,CAACb,OAAO,CAACS,OAAO,EAAE;QAC5B,MAAM,IAAIK,KAAK,CAAC,6CAA6C,CAAC;MAChE;MAEAd,OAAO,CAACS,OAAO,EAAEM,wBAAwB,CAACF,IAAI,CAAC;MAC/C,MAAMd,eAAe,GAAGc,IAAI,CAAC;MAC7BZ,eAAe,CAACY,IAAI,CAAC;MACrBP,SAAS,CAACO,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IAChC,CAAC,CAAC,OAAOG,KAAK,EAAE;MACd,MAAMC,SAAS,GAAGD,KAAK,YAAYF,KAAK,GAAGE,KAAK,GAAG,IAAIF,KAAK,CAACI,MAAM,CAACF,KAAK,CAAC,CAAC;MAE3EZ,QAAQ,CAACa,SAAS,CAAC;MACnBX,SAAS,CAAC,SAAS,CAAC;IACtB;EACF,CAAC,EAAE,CAACR,SAAS,EAAEC,eAAe,EAAEC,OAAO,CAAC,CAAC;EAEzC,OAAO;IAAEJ,OAAO;IAAEe,UAAU;IAAEN,MAAM;IAAEF,KAAK;IAAEgB,MAAM,EAAEd,MAAM,KAAK,YAAY,GAAG,iCAAiC,GAAGK;EAAU,CAAC;AAChI,CAAC","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable import/group-exports */
4
+
5
+ import * as React from "react";
6
+ import { Platform } from "react-native";
7
+ import { State } from "react-native-ble-plx";
8
+ import { PERMISSIONS, requestMultiple } from "react-native-permissions";
9
+ const requestBluetoothPermission = async () => {
10
+ const permissions = Platform.select({
11
+ android: [PERMISSIONS.ANDROID.BLUETOOTH_SCAN, PERMISSIONS.ANDROID.BLUETOOTH_CONNECT],
12
+ ios: [PERMISSIONS.IOS.BLUETOOTH],
13
+ default: []
14
+ });
15
+ const result = await requestMultiple(permissions);
16
+ return Object.values(result).every(value => value === "granted");
17
+ };
18
+ export const useBluetoothState = ({
19
+ bleManager,
20
+ requestPermission = requestBluetoothPermission
21
+ } = {}) => {
22
+ const [state, setState] = React.useState(bleManager ? "off" : "unsupported");
23
+ React.useEffect(() => {
24
+ if (!bleManager) {
25
+ setState("unsupported");
26
+ return;
27
+ }
28
+ const subscription = bleManager.onStateChange(nextState => {
29
+ setState(nextState === State.PoweredOn ? "on" : nextState === State.Unsupported ? "unsupported" : nextState === State.Unauthorized ? "unauthorized" : "off");
30
+ }, true);
31
+ return () => subscription.remove();
32
+ }, [bleManager]);
33
+ const request = React.useCallback(async () => {
34
+ const granted = await requestPermission();
35
+ if (!granted) {
36
+ setState("unauthorized");
37
+ }
38
+ return granted;
39
+ }, [requestPermission]);
40
+ return {
41
+ state,
42
+ requestPermission: request
43
+ };
44
+ };
45
+ //# sourceMappingURL=use-bluetooth-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Platform","State","PERMISSIONS","requestMultiple","requestBluetoothPermission","permissions","select","android","ANDROID","BLUETOOTH_SCAN","BLUETOOTH_CONNECT","ios","IOS","BLUETOOTH","default","result","Object","values","every","value","useBluetoothState","bleManager","requestPermission","state","setState","useState","useEffect","subscription","onStateChange","nextState","PoweredOn","Unsupported","Unauthorized","remove","request","useCallback","granted"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-bluetooth-state.ts"],"mappings":";;AAAA;;AAEA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAAqBC,KAAK,QAAQ,sBAAsB;AACxD,SAASC,WAAW,EAAEC,eAAe,QAAQ,0BAA0B;AASvE,MAAMC,0BAA0B,GAAG,MAAAA,CAAA,KAA8B;EAC/D,MAAMC,WAAW,GAAGL,QAAQ,CAACM,MAAM,CAAC;IAClCC,OAAO,EAAE,CACPL,WAAW,CAACM,OAAO,CAACC,cAAc,EAClCP,WAAW,CAACM,OAAO,CAACE,iBAAiB,CACtC;IACDC,GAAG,EAAE,CAACT,WAAW,CAACU,GAAG,CAACC,SAAS,CAAC;IAChCC,OAAO,EAAE;EACX,CAAC,CAAC;EAEF,MAAMC,MAAM,GAAG,MAAMZ,eAAe,CAACE,WAAW,CAAC;EAEjD,OAAOW,MAAM,CAACC,MAAM,CAACF,MAAM,CAAC,CAACG,KAAK,CAAEC,KAAK,IAAKA,KAAK,KAAK,SAAS,CAAC;AACpE,CAAC;AAED,OAAO,MAAMC,iBAAiB,GAAGA,CAAC;EAChCC,UAAU;EACVC,iBAAiB,GAAGlB;AACI,CAAC,GAAG,CAAC,CAAC,KAG3B;EACH,MAAM,CAACmB,KAAK,EAAEC,QAAQ,CAAC,GAAGzB,KAAK,CAAC0B,QAAQ,CACtCJ,UAAU,GAAG,KAAK,GAAG,aACvB,CAAC;EAEDtB,KAAK,CAAC2B,SAAS,CAAC,MAAM;IACpB,IAAI,CAACL,UAAU,EAAE;MACfG,QAAQ,CAAC,aAAa,CAAC;MAEvB;IACF;IAEA,MAAMG,YAAY,GAAGN,UAAU,CAACO,aAAa,CAAEC,SAAS,IAAK;MAC3DL,QAAQ,CACNK,SAAS,KAAK5B,KAAK,CAAC6B,SAAS,GACzB,IAAI,GACJD,SAAS,KAAK5B,KAAK,CAAC8B,WAAW,GAC7B,aAAa,GACbF,SAAS,KAAK5B,KAAK,CAAC+B,YAAY,GAC9B,cAAc,GACd,KACV,CAAC;IACH,CAAC,EAAE,IAAI,CAAC;IAER,OAAO,MAAML,YAAY,CAACM,MAAM,CAAC,CAAC;EACpC,CAAC,EAAE,CAACZ,UAAU,CAAC,CAAC;EAEhB,MAAMa,OAAO,GAAGnC,KAAK,CAACoC,WAAW,CAAC,YAAY;IAC5C,MAAMC,OAAO,GAAG,MAAMd,iBAAiB,CAAC,CAAC;IAEzC,IAAI,CAACc,OAAO,EAAE;MAACZ,QAAQ,CAAC,cAAc,CAAC;IAAC;IAExC,OAAOY,OAAO;EAChB,CAAC,EAAE,CAACd,iBAAiB,CAAC,CAAC;EAEvB,OAAO;IAAEC,KAAK;IAAED,iBAAiB,EAAEY;EAAQ,CAAC;AAC9C,CAAC","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ import * as React from "react";
4
+ import { useBluetoothRuntime } from "./runtime-context.js";
5
+ export const useDeviceConnection = id => {
6
+ const runtime = useBluetoothRuntime();
7
+ const [status, setStatus] = React.useState(() => runtime.devices.find(device => device.id === id)?.status);
8
+ const [events, setEvents] = React.useState([]);
9
+ React.useEffect(() => {
10
+ setStatus(runtime.devices.find(device => device.id === id)?.status);
11
+ setEvents([]);
12
+ }, [id, runtime]);
13
+ React.useEffect(() => {
14
+ const unsubStatus = runtime.subscribe("status", value => {
15
+ if (value.deviceData.id === id) {
16
+ setStatus(value.status);
17
+ }
18
+ });
19
+ const unsubEvent = runtime.subscribe("connection", event => {
20
+ if (event.deviceData.id === id) {
21
+ setEvents(current => [...current, event].slice(-100));
22
+ }
23
+ });
24
+ return () => {
25
+ unsubStatus();
26
+ unsubEvent();
27
+ };
28
+ }, [id, runtime]);
29
+ return {
30
+ status,
31
+ events
32
+ };
33
+ };
34
+ //# sourceMappingURL=use-device-connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useBluetoothRuntime","useDeviceConnection","id","runtime","status","setStatus","useState","devices","find","device","events","setEvents","useEffect","unsubStatus","subscribe","value","deviceData","unsubEvent","event","current","slice"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-device-connection.ts"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAK9B,SAASC,mBAAmB,QAAQ,sBAAmB;AAEvD,OAAO,MAAMC,mBAAmB,GAC9BC,EAAW,IAC6D;EACxE,MAAMC,OAAO,GAAGH,mBAAmB,CAAC,CAAC;EAErC,MAAM,CAACI,MAAM,EAAEC,SAAS,CAAC,GAAGN,KAAK,CAACO,QAAQ,CACxC,MAAMH,OAAO,CAACI,OAAO,CAACC,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACP,EAAE,KAAKA,EAAE,CAAC,EAAEE,MAC5D,CAAC;EAED,MAAM,CAACM,MAAM,EAAEC,SAAS,CAAC,GAAGZ,KAAK,CAACO,QAAQ,CAAmC,EAAE,CAAC;EAEhFP,KAAK,CAACa,SAAS,CAAC,MAAM;IACpBP,SAAS,CAACF,OAAO,CAACI,OAAO,CAACC,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACP,EAAE,KAAKA,EAAE,CAAC,EAAEE,MAAM,CAAC;IACrEO,SAAS,CAAC,EAAE,CAAC;EACf,CAAC,EAAE,CAACT,EAAE,EAAEC,OAAO,CAAC,CAAC;EAEjBJ,KAAK,CAACa,SAAS,CAAC,MAAM;IACpB,MAAMC,WAAW,GAAGV,OAAO,CAACW,SAAS,CACnC,QAAQ,EACPC,KAAK,IAAK;MACT,IAAIA,KAAK,CAACC,UAAU,CAACd,EAAE,KAAKA,EAAE,EAAE;QAACG,SAAS,CAACU,KAAK,CAACX,MAAM,CAAC;MAAC;IAC3D,CACF,CAAC;IAED,MAAMa,UAAU,GAAGd,OAAO,CAACW,SAAS,CAAwB,YAAY,EAAGI,KAAK,IAAK;MACnF,IAAIA,KAAK,CAACF,UAAU,CAACd,EAAE,KAAKA,EAAE,EAAE;QAC9BS,SAAS,CAAEQ,OAAO,IAAK,CAAC,GAAGA,OAAO,EAAED,KAAK,CAAC,CAACE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;MACzD;IACF,CAAC,CAAC;IAEF,OAAO,MAAM;MACXP,WAAW,CAAC,CAAC;MACbI,UAAU,CAAC,CAAC;IACd,CAAC;EACH,CAAC,EAAE,CAACf,EAAE,EAAEC,OAAO,CAAC,CAAC;EAEjB,OAAO;IAAEC,MAAM;IAAEM;EAAO,CAAC;AAC3B,CAAC","ignoreList":[]}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ import * as React from "react";
4
+ export const useHealthImport = ({
5
+ types,
6
+ background = false,
7
+ adapter
8
+ }) => {
9
+ const [enabled, setEnabled] = React.useState(false);
10
+ const [statusByType, setStatusByType] = React.useState({});
11
+ const [error, setError] = React.useState();
12
+ const typesKey = React.useMemo(() => types.join("\u0000"), [types]);
13
+ const configRef = React.useRef({
14
+ adapter,
15
+ types,
16
+ background
17
+ });
18
+ configRef.current = {
19
+ adapter,
20
+ types,
21
+ background
22
+ };
23
+ const refresh = React.useCallback(async () => {
24
+ void typesKey;
25
+ const {
26
+ adapter: currentAdapter,
27
+ types: currentTypes
28
+ } = configRef.current;
29
+ const entries = await Promise.allSettled(currentTypes.map(async type => [type, await currentAdapter.getStatus(type)]));
30
+ const rejected = entries.find(entry => entry.status === "rejected");
31
+ setStatusByType(current => {
32
+ const next = {
33
+ ...current
34
+ };
35
+ entries.forEach(entry => {
36
+ if (entry.status === "fulfilled") {
37
+ next[entry.value[0]] = entry.value[1];
38
+ }
39
+ });
40
+ return next;
41
+ });
42
+ setEnabled(currentTypes.length > 0 && entries.every(entry => entry.status === "fulfilled" && entry.value[1] === "authorized"));
43
+ setError(rejected ? rejected.reason instanceof Error ? rejected.reason : new Error(String(rejected.reason)) : undefined);
44
+ }, [typesKey]);
45
+ React.useEffect(() => {
46
+ void refresh();
47
+ }, [refresh]);
48
+ const setEnabledForTypes = React.useCallback(async next => {
49
+ const {
50
+ adapter: currentAdapter,
51
+ types: currentTypes,
52
+ background: currentBackground
53
+ } = configRef.current;
54
+ setError(undefined);
55
+ try {
56
+ if (next) {
57
+ await currentAdapter.request(currentTypes, currentBackground);
58
+ await refresh();
59
+ }
60
+ setEnabled(next);
61
+ } catch (cause) {
62
+ const nextError = cause instanceof Error ? cause : new Error(String(cause));
63
+ setError(nextError);
64
+ throw nextError;
65
+ }
66
+ }, [refresh]);
67
+ const notShared = types.filter(type => statusByType[type] === "refused");
68
+ return {
69
+ enabled,
70
+ setEnabled: setEnabledForTypes,
71
+ statusByType: statusByType,
72
+ notShared,
73
+ error
74
+ };
75
+ };
76
+ //# sourceMappingURL=use-health-import.js.map