@ovok/native 1.6.0 → 1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (758) hide show
  1. package/README.md +8 -2
  2. package/android/src/main/AndroidManifest.xml +1 -20
  3. package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokBackgroundSyncModule.java +25 -3
  4. package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokHealthConnectWorker.java +6 -2
  5. package/app.plugin.js +86 -7
  6. package/lib/commonjs/index.js +5 -115
  7. package/lib/commonjs/index.js.map +1 -1
  8. package/lib/commonjs/modules/auth/default-translation.js +69 -0
  9. package/lib/commonjs/modules/auth/default-translation.js.map +1 -0
  10. package/lib/commonjs/modules/auth/delete-account-button/components/delete-account-button.js +2 -0
  11. package/lib/commonjs/modules/auth/delete-account-button/components/delete-account-button.js.map +1 -1
  12. package/lib/commonjs/modules/auth/hooks/use-session.js +47 -17
  13. package/lib/commonjs/modules/auth/hooks/use-session.js.map +1 -1
  14. package/lib/commonjs/modules/auth/index.js +1 -0
  15. package/lib/commonjs/modules/auth/index.js.map +1 -1
  16. package/lib/commonjs/modules/auth/logout-button/components/logout-button.js +30 -3
  17. package/lib/commonjs/modules/auth/logout-button/components/logout-button.js.map +1 -1
  18. package/lib/commonjs/modules/auth/profile/components/profile-form.js +0 -1
  19. package/lib/commonjs/modules/auth/profile/components/profile-form.js.map +1 -1
  20. package/lib/commonjs/modules/auth/register/components/form/inputs.js +10 -8
  21. package/lib/commonjs/modules/auth/register/components/form/inputs.js.map +1 -1
  22. package/lib/commonjs/modules/auth/register/components/form/register-button.js +2 -2
  23. package/lib/commonjs/modules/auth/register/components/form/register-button.js.map +1 -1
  24. package/lib/commonjs/modules/auth/register/components/header/description.js +0 -1
  25. package/lib/commonjs/modules/auth/register/components/header/description.js.map +1 -1
  26. package/lib/commonjs/modules/auth/register/components/header/title.js +5 -2
  27. package/lib/commonjs/modules/auth/register/components/header/title.js.map +1 -1
  28. package/lib/commonjs/modules/auth/register/components/login-link.js +4 -3
  29. package/lib/commonjs/modules/auth/register/components/login-link.js.map +1 -1
  30. package/lib/commonjs/modules/auth/register/components/register-with-separator.js +1 -2
  31. package/lib/commonjs/modules/auth/register/components/register-with-separator.js.map +1 -1
  32. package/lib/commonjs/modules/auth/reset-password/components/form/inputs.js +6 -3
  33. package/lib/commonjs/modules/auth/reset-password/components/form/inputs.js.map +1 -1
  34. package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-button.js +2 -2
  35. package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-button.js.map +1 -1
  36. package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js +6 -2
  37. package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
  38. package/lib/commonjs/modules/auth/reset-password/components/header/description.js +0 -1
  39. package/lib/commonjs/modules/auth/reset-password/components/header/description.js.map +1 -1
  40. package/lib/commonjs/modules/auth/reset-password/components/header/title.js +5 -2
  41. package/lib/commonjs/modules/auth/reset-password/components/header/title.js.map +1 -1
  42. package/lib/commonjs/modules/auth/session/components/session-list.js +8 -6
  43. package/lib/commonjs/modules/auth/session/components/session-list.js.map +1 -1
  44. package/lib/commonjs/modules/auth/sign-in/components/footer.js +0 -1
  45. package/lib/commonjs/modules/auth/sign-in/components/footer.js.map +1 -1
  46. package/lib/commonjs/modules/auth/sign-in/components/form/inputs.js +4 -3
  47. package/lib/commonjs/modules/auth/sign-in/components/form/inputs.js.map +1 -1
  48. package/lib/commonjs/modules/auth/sign-in/components/form/signin-button.js +2 -2
  49. package/lib/commonjs/modules/auth/sign-in/components/form/signin-button.js.map +1 -1
  50. package/lib/commonjs/modules/auth/sign-in/components/header/description.js +0 -1
  51. package/lib/commonjs/modules/auth/sign-in/components/header/description.js.map +1 -1
  52. package/lib/commonjs/modules/auth/sign-in/components/header/title.js +5 -2
  53. package/lib/commonjs/modules/auth/sign-in/components/header/title.js.map +1 -1
  54. package/lib/commonjs/modules/auth/sign-in/components/login-with-separator.js +1 -2
  55. package/lib/commonjs/modules/auth/sign-in/components/login-with-separator.js.map +1 -1
  56. package/lib/commonjs/modules/auth/sign-in/components/register-link.js +4 -3
  57. package/lib/commonjs/modules/auth/sign-in/components/register-link.js.map +1 -1
  58. package/lib/commonjs/modules/auth/sign-in/components/site-url.js +1 -3
  59. package/lib/commonjs/modules/auth/sign-in/components/site-url.js.map +1 -1
  60. package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-text.js +1 -3
  61. package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-text.js.map +1 -1
  62. package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-text.js +1 -3
  63. package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-text.js.map +1 -1
  64. package/lib/commonjs/modules/auth/utils/sign-out-google.js +16 -0
  65. package/lib/commonjs/modules/auth/utils/sign-out-google.js.map +1 -0
  66. package/lib/commonjs/modules/background-sync/background-safe-storage.js +3 -6
  67. package/lib/commonjs/modules/background-sync/background-safe-storage.js.map +1 -1
  68. package/lib/commonjs/modules/breathing-exercise/components/method-name.js +0 -1
  69. package/lib/commonjs/modules/breathing-exercise/components/method-name.js.map +1 -1
  70. package/lib/commonjs/modules/breathing-exercise/components/remaining-time.js +0 -1
  71. package/lib/commonjs/modules/breathing-exercise/components/remaining-time.js.map +1 -1
  72. package/lib/commonjs/modules/bt-device/components/item/status.js +1 -2
  73. package/lib/commonjs/modules/bt-device/components/item/status.js.map +1 -1
  74. package/lib/commonjs/modules/bt-device/components/item/sub-title.js +1 -2
  75. package/lib/commonjs/modules/bt-device/components/item/sub-title.js.map +1 -1
  76. package/lib/commonjs/modules/bt-device/components/item/title.js +1 -2
  77. package/lib/commonjs/modules/bt-device/components/item/title.js.map +1 -1
  78. package/lib/commonjs/modules/bt-device/constants/supported-devices.js +4 -2
  79. package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
  80. package/lib/commonjs/modules/bt-device/index.js +0 -22
  81. package/lib/commonjs/modules/bt-device/index.js.map +1 -1
  82. package/lib/commonjs/modules/bt-device-instructions/index.js +39 -0
  83. package/lib/commonjs/modules/bt-device-instructions/index.js.map +1 -0
  84. package/lib/commonjs/modules/bt-management/components/android-bluetooth-foreground-service.js +64 -0
  85. package/lib/commonjs/modules/bt-management/components/android-bluetooth-foreground-service.js.map +1 -0
  86. package/lib/commonjs/modules/bt-management/components/bluetooth-device-picker.js +2 -1
  87. package/lib/commonjs/modules/bt-management/components/bluetooth-device-picker.js.map +1 -1
  88. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +43 -54
  89. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  90. package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js +18 -1
  91. package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
  92. package/lib/commonjs/modules/bt-management/hooks/runtime-context.js +56 -1
  93. package/lib/commonjs/modules/bt-management/hooks/runtime-context.js.map +1 -1
  94. package/lib/commonjs/modules/bt-management/hooks/use-background-sync.js +8 -4
  95. package/lib/commonjs/modules/bt-management/hooks/use-background-sync.js.map +1 -1
  96. package/lib/commonjs/modules/bt-management/hooks/use-device-connection.js +5 -1
  97. package/lib/commonjs/modules/bt-management/hooks/use-device-connection.js.map +1 -1
  98. package/lib/commonjs/modules/bt-management/hooks/use-health-import.js +48 -12
  99. package/lib/commonjs/modules/bt-management/hooks/use-health-import.js.map +1 -1
  100. package/lib/commonjs/modules/bt-management/hooks/use-measurements.js +40 -18
  101. package/lib/commonjs/modules/bt-management/hooks/use-measurements.js.map +1 -1
  102. package/lib/commonjs/modules/bt-management/hooks/use-nearby-devices.js +8 -1
  103. package/lib/commonjs/modules/bt-management/hooks/use-nearby-devices.js.map +1 -1
  104. package/lib/commonjs/modules/bt-management/hooks/use-paired-devices.js +27 -9
  105. package/lib/commonjs/modules/bt-management/hooks/use-paired-devices.js.map +1 -1
  106. package/lib/commonjs/modules/bt-management/hooks/use-request-permissions.js +5 -8
  107. package/lib/commonjs/modules/bt-management/hooks/use-request-permissions.js.map +1 -1
  108. package/lib/commonjs/modules/bt-management/hooks/use-scan-control.js +21 -0
  109. package/lib/commonjs/modules/bt-management/hooks/use-scan-control.js.map +1 -0
  110. package/lib/commonjs/modules/bt-management/index.js +22 -0
  111. package/lib/commonjs/modules/bt-management/index.js.map +1 -1
  112. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +4 -1
  113. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  114. package/lib/commonjs/modules/bt-management/services/bt-manager.js +75 -37
  115. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  116. package/lib/commonjs/modules/bt-management/services/devices/boso/boso.medicus.js +9 -6
  117. package/lib/commonjs/modules/bt-management/services/devices/boso/boso.medicus.js.map +1 -1
  118. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js +97 -2
  119. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  120. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.files.js +74 -0
  121. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.files.js.map +1 -0
  122. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js +52 -0
  123. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map +1 -0
  124. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +4 -3
  125. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  126. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +43 -28
  127. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  128. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +10 -1
  129. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  130. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +2 -1
  131. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  132. package/lib/commonjs/modules/bt-management/services/push-notification.js +39 -0
  133. package/lib/commonjs/modules/bt-management/services/push-notification.js.map +1 -0
  134. package/lib/commonjs/modules/bt-management/testing/fake-ble-manager.js +81 -1
  135. package/lib/commonjs/modules/bt-management/testing/fake-ble-manager.js.map +1 -1
  136. package/lib/commonjs/modules/bt-management/types/bluetooth-error.js +8 -2
  137. package/lib/commonjs/modules/bt-management/types/bluetooth-error.js.map +1 -1
  138. package/lib/commonjs/modules/bt-management/utils/device-title.js +17 -0
  139. package/lib/commonjs/modules/bt-management/utils/device-title.js.map +1 -0
  140. package/lib/commonjs/modules/bt-management/utils/result-identity.js +1 -1
  141. package/lib/commonjs/modules/bt-management/utils/result-identity.js.map +1 -1
  142. package/lib/commonjs/modules/content/content-card/components/cover-badge.js +1 -3
  143. package/lib/commonjs/modules/content/content-card/components/cover-badge.js.map +1 -1
  144. package/lib/commonjs/modules/content/content-card/components/title.js +1 -3
  145. package/lib/commonjs/modules/content/content-card/components/title.js.map +1 -1
  146. package/lib/commonjs/modules/content/content-detail/components/content-detail-rich-content.js +1 -1
  147. package/lib/commonjs/modules/content/content-detail/components/content-detail-rich-content.js.map +1 -1
  148. package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js +12 -3
  149. package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
  150. package/lib/commonjs/modules/data-sync/components/manually-request-sheet/description.js +2 -2
  151. package/lib/commonjs/modules/data-sync/components/manually-request-sheet/description.js.map +1 -1
  152. package/lib/commonjs/modules/data-sync/components/manually-request-sheet/title.js +0 -1
  153. package/lib/commonjs/modules/data-sync/components/manually-request-sheet/title.js.map +1 -1
  154. package/lib/commonjs/modules/data-sync/components/sync-progress-list/sync-progress-list.js +30 -21
  155. package/lib/commonjs/modules/data-sync/components/sync-progress-list/sync-progress-list.js.map +1 -1
  156. package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js +7 -1
  157. package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js.map +1 -1
  158. package/lib/commonjs/modules/data-sync/utils/convert-records-to-observation.js +13 -0
  159. package/lib/commonjs/modules/data-sync/utils/convert-records-to-observation.js.map +1 -1
  160. package/lib/commonjs/modules/data-sync/utils/convert-samples-to-observation.js +19 -4
  161. package/lib/commonjs/modules/data-sync/utils/convert-samples-to-observation.js.map +1 -1
  162. package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js +30 -21
  163. package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
  164. package/lib/commonjs/modules/data-sync/utils/health-observation-device.js +55 -0
  165. package/lib/commonjs/modules/data-sync/utils/health-observation-device.js.map +1 -0
  166. package/lib/commonjs/modules/data-sync/utils/retry-save.js +40 -6
  167. package/lib/commonjs/modules/data-sync/utils/retry-save.js.map +1 -1
  168. package/lib/commonjs/modules/diary/components/no-data.js +1 -2
  169. package/lib/commonjs/modules/diary/components/no-data.js.map +1 -1
  170. package/lib/commonjs/modules/helpers/form-items/form-date-field.js +1 -1
  171. package/lib/commonjs/modules/helpers/form-items/form-date-field.js.map +1 -1
  172. package/lib/commonjs/modules/helpers/form-items/form-select.js +13 -13
  173. package/lib/commonjs/modules/helpers/form-items/form-select.js.map +1 -1
  174. package/lib/commonjs/modules/helpers/index.js +11 -4
  175. package/lib/commonjs/modules/helpers/index.js.map +1 -1
  176. package/lib/commonjs/modules/helpers/utils/sentry-logger.js +2 -3
  177. package/lib/commonjs/modules/helpers/utils/sentry-logger.js.map +1 -1
  178. package/lib/commonjs/modules/helpers/utils/telemetry.js +133 -46
  179. package/lib/commonjs/modules/helpers/utils/telemetry.js.map +1 -1
  180. package/lib/commonjs/modules/image/components/optimized-image.js +29 -8
  181. package/lib/commonjs/modules/image/components/optimized-image.js.map +1 -1
  182. package/lib/commonjs/modules/journal/past-journal/components/title.js +0 -1
  183. package/lib/commonjs/modules/journal/past-journal/components/title.js.map +1 -1
  184. package/lib/commonjs/modules/language-switcher/components/option/label.js +0 -1
  185. package/lib/commonjs/modules/language-switcher/components/option/label.js.map +1 -1
  186. package/lib/commonjs/modules/measurement/components/date-range.js +4 -3
  187. package/lib/commonjs/modules/measurement/components/date-range.js.map +1 -1
  188. package/lib/commonjs/modules/measurement/components/measurement-list-item.js +10 -10
  189. package/lib/commonjs/modules/measurement/components/measurement-list-item.js.map +1 -1
  190. package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-date-field.js +1 -1
  191. package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-date-field.js.map +1 -1
  192. package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form-provider.js +3 -1
  193. package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form-provider.js.map +1 -1
  194. package/lib/commonjs/modules/setting/components/list-header.js +1 -2
  195. package/lib/commonjs/modules/setting/components/list-header.js.map +1 -1
  196. package/lib/commonjs/modules/setting/components/setting-list-item.js +0 -1
  197. package/lib/commonjs/modules/setting/components/setting-list-item.js.map +1 -1
  198. package/lib/commonjs/modules/tab/components/tab-item.js +0 -1
  199. package/lib/commonjs/modules/tab/components/tab-item.js.map +1 -1
  200. package/lib/commonjs/modules/theme/utils/generate-theme.js +35 -4
  201. package/lib/commonjs/modules/theme/utils/generate-theme.js.map +1 -1
  202. package/lib/commonjs/modules/tile/components/measured-value.js +0 -3
  203. package/lib/commonjs/modules/tile/components/measured-value.js.map +1 -1
  204. package/lib/commonjs/modules/tile/components/title.js +0 -1
  205. package/lib/commonjs/modules/tile/components/title.js.map +1 -1
  206. package/lib/commonjs/modules/tile/constants/measurement-icon-svg.js +4 -1
  207. package/lib/commonjs/modules/tile/constants/measurement-icon-svg.js.map +1 -1
  208. package/lib/commonjs/modules/ui/components/background-sync-setting.js +20 -4
  209. package/lib/commonjs/modules/ui/components/background-sync-setting.js.map +1 -1
  210. package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js +33 -6
  211. package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js.map +1 -1
  212. package/lib/commonjs/modules/ui/components/ecg-strip-viewer.js +10 -0
  213. package/lib/commonjs/modules/ui/components/ecg-strip-viewer.js.map +1 -1
  214. package/lib/commonjs/modules/ui/components/health-import-card.js +25 -2
  215. package/lib/commonjs/modules/ui/components/health-import-card.js.map +1 -1
  216. package/lib/commonjs/modules/ui/components/manual-entry-form.js +14 -1
  217. package/lib/commonjs/modules/ui/components/manual-entry-form.js.map +1 -1
  218. package/lib/commonjs/modules/ui/components/measurement-trend-chart.js +95 -0
  219. package/lib/commonjs/modules/ui/components/measurement-trend-chart.js.map +1 -0
  220. package/lib/commonjs/modules/ui/components/pairing-flow.js +103 -34
  221. package/lib/commonjs/modules/ui/components/pairing-flow.js.map +1 -1
  222. package/lib/commonjs/modules/ui/components/supported-devices-catalog-list.js +11 -4
  223. package/lib/commonjs/modules/ui/components/supported-devices-catalog-list.js.map +1 -1
  224. package/lib/commonjs/modules/ui/components/urine-test-result.js +7 -2
  225. package/lib/commonjs/modules/ui/components/urine-test-result.js.map +1 -1
  226. package/lib/commonjs/modules/ui/index.js +11 -0
  227. package/lib/commonjs/modules/ui/index.js.map +1 -1
  228. package/lib/commonjs/modules/ui/use-ovok-ui.js +5 -2
  229. package/lib/commonjs/modules/ui/use-ovok-ui.js.map +1 -1
  230. package/lib/module/index.js +3 -10
  231. package/lib/module/index.js.map +1 -1
  232. package/lib/module/modules/auth/default-translation.js +68 -0
  233. package/lib/module/modules/auth/default-translation.js.map +1 -0
  234. package/lib/module/modules/auth/delete-account-button/components/delete-account-button.js +2 -0
  235. package/lib/module/modules/auth/delete-account-button/components/delete-account-button.js.map +1 -1
  236. package/lib/module/modules/auth/hooks/use-session.js +47 -17
  237. package/lib/module/modules/auth/hooks/use-session.js.map +1 -1
  238. package/lib/module/modules/auth/index.js +1 -0
  239. package/lib/module/modules/auth/index.js.map +1 -1
  240. package/lib/module/modules/auth/logout-button/components/logout-button.js +30 -3
  241. package/lib/module/modules/auth/logout-button/components/logout-button.js.map +1 -1
  242. package/lib/module/modules/auth/profile/components/profile-form.js +0 -1
  243. package/lib/module/modules/auth/profile/components/profile-form.js.map +1 -1
  244. package/lib/module/modules/auth/register/components/form/inputs.js +10 -8
  245. package/lib/module/modules/auth/register/components/form/inputs.js.map +1 -1
  246. package/lib/module/modules/auth/register/components/form/register-button.js +2 -2
  247. package/lib/module/modules/auth/register/components/form/register-button.js.map +1 -1
  248. package/lib/module/modules/auth/register/components/header/description.js +0 -1
  249. package/lib/module/modules/auth/register/components/header/description.js.map +1 -1
  250. package/lib/module/modules/auth/register/components/header/title.js +5 -2
  251. package/lib/module/modules/auth/register/components/header/title.js.map +1 -1
  252. package/lib/module/modules/auth/register/components/login-link.js +4 -3
  253. package/lib/module/modules/auth/register/components/login-link.js.map +1 -1
  254. package/lib/module/modules/auth/register/components/register-with-separator.js +1 -2
  255. package/lib/module/modules/auth/register/components/register-with-separator.js.map +1 -1
  256. package/lib/module/modules/auth/reset-password/components/form/inputs.js +6 -3
  257. package/lib/module/modules/auth/reset-password/components/form/inputs.js.map +1 -1
  258. package/lib/module/modules/auth/reset-password/components/form/reset-password-button.js +2 -2
  259. package/lib/module/modules/auth/reset-password/components/form/reset-password-button.js.map +1 -1
  260. package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js +6 -2
  261. package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
  262. package/lib/module/modules/auth/reset-password/components/header/description.js +0 -1
  263. package/lib/module/modules/auth/reset-password/components/header/description.js.map +1 -1
  264. package/lib/module/modules/auth/reset-password/components/header/title.js +5 -2
  265. package/lib/module/modules/auth/reset-password/components/header/title.js.map +1 -1
  266. package/lib/module/modules/auth/session/components/session-list.js +8 -6
  267. package/lib/module/modules/auth/session/components/session-list.js.map +1 -1
  268. package/lib/module/modules/auth/sign-in/components/footer.js +0 -1
  269. package/lib/module/modules/auth/sign-in/components/footer.js.map +1 -1
  270. package/lib/module/modules/auth/sign-in/components/form/inputs.js +4 -3
  271. package/lib/module/modules/auth/sign-in/components/form/inputs.js.map +1 -1
  272. package/lib/module/modules/auth/sign-in/components/form/signin-button.js +2 -2
  273. package/lib/module/modules/auth/sign-in/components/form/signin-button.js.map +1 -1
  274. package/lib/module/modules/auth/sign-in/components/header/description.js +0 -1
  275. package/lib/module/modules/auth/sign-in/components/header/description.js.map +1 -1
  276. package/lib/module/modules/auth/sign-in/components/header/title.js +5 -2
  277. package/lib/module/modules/auth/sign-in/components/header/title.js.map +1 -1
  278. package/lib/module/modules/auth/sign-in/components/login-with-separator.js +1 -2
  279. package/lib/module/modules/auth/sign-in/components/login-with-separator.js.map +1 -1
  280. package/lib/module/modules/auth/sign-in/components/register-link.js +4 -3
  281. package/lib/module/modules/auth/sign-in/components/register-link.js.map +1 -1
  282. package/lib/module/modules/auth/sign-in/components/site-url.js +1 -3
  283. package/lib/module/modules/auth/sign-in/components/site-url.js.map +1 -1
  284. package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-text.js +1 -3
  285. package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-text.js.map +1 -1
  286. package/lib/module/modules/auth/sign-in/components/social-logins/google-login-text.js +1 -3
  287. package/lib/module/modules/auth/sign-in/components/social-logins/google-login-text.js.map +1 -1
  288. package/lib/module/modules/auth/utils/sign-out-google.js +12 -0
  289. package/lib/module/modules/auth/utils/sign-out-google.js.map +1 -0
  290. package/lib/module/modules/background-sync/background-safe-storage.js +3 -6
  291. package/lib/module/modules/background-sync/background-safe-storage.js.map +1 -1
  292. package/lib/module/modules/breathing-exercise/components/method-name.js +0 -1
  293. package/lib/module/modules/breathing-exercise/components/method-name.js.map +1 -1
  294. package/lib/module/modules/breathing-exercise/components/remaining-time.js +0 -1
  295. package/lib/module/modules/breathing-exercise/components/remaining-time.js.map +1 -1
  296. package/lib/module/modules/bt-device/components/item/status.js +1 -2
  297. package/lib/module/modules/bt-device/components/item/status.js.map +1 -1
  298. package/lib/module/modules/bt-device/components/item/sub-title.js +1 -2
  299. package/lib/module/modules/bt-device/components/item/sub-title.js.map +1 -1
  300. package/lib/module/modules/bt-device/components/item/title.js +1 -2
  301. package/lib/module/modules/bt-device/components/item/title.js.map +1 -1
  302. package/lib/module/modules/bt-device/constants/supported-devices.js +4 -2
  303. package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
  304. package/lib/module/modules/bt-device/index.js +0 -2
  305. package/lib/module/modules/bt-device/index.js.map +1 -1
  306. package/lib/module/modules/bt-device-instructions/index.js +6 -0
  307. package/lib/module/modules/bt-device-instructions/index.js.map +1 -0
  308. package/lib/module/modules/bt-management/components/android-bluetooth-foreground-service.js +58 -0
  309. package/lib/module/modules/bt-management/components/android-bluetooth-foreground-service.js.map +1 -0
  310. package/lib/module/modules/bt-management/components/bluetooth-device-picker.js +2 -1
  311. package/lib/module/modules/bt-management/components/bluetooth-device-picker.js.map +1 -1
  312. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +42 -53
  313. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  314. package/lib/module/modules/bt-management/constants/measurement-field-catalog.js +18 -1
  315. package/lib/module/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
  316. package/lib/module/modules/bt-management/hooks/runtime-context.js +56 -1
  317. package/lib/module/modules/bt-management/hooks/runtime-context.js.map +1 -1
  318. package/lib/module/modules/bt-management/hooks/use-background-sync.js +8 -4
  319. package/lib/module/modules/bt-management/hooks/use-background-sync.js.map +1 -1
  320. package/lib/module/modules/bt-management/hooks/use-device-connection.js +5 -1
  321. package/lib/module/modules/bt-management/hooks/use-device-connection.js.map +1 -1
  322. package/lib/module/modules/bt-management/hooks/use-health-import.js +48 -12
  323. package/lib/module/modules/bt-management/hooks/use-health-import.js.map +1 -1
  324. package/lib/module/modules/bt-management/hooks/use-measurements.js +40 -18
  325. package/lib/module/modules/bt-management/hooks/use-measurements.js.map +1 -1
  326. package/lib/module/modules/bt-management/hooks/use-nearby-devices.js +8 -1
  327. package/lib/module/modules/bt-management/hooks/use-nearby-devices.js.map +1 -1
  328. package/lib/module/modules/bt-management/hooks/use-paired-devices.js +27 -9
  329. package/lib/module/modules/bt-management/hooks/use-paired-devices.js.map +1 -1
  330. package/lib/module/modules/bt-management/hooks/use-request-permissions.js +5 -8
  331. package/lib/module/modules/bt-management/hooks/use-request-permissions.js.map +1 -1
  332. package/lib/module/modules/bt-management/hooks/use-scan-control.js +16 -0
  333. package/lib/module/modules/bt-management/hooks/use-scan-control.js.map +1 -0
  334. package/lib/module/modules/bt-management/index.js +2 -0
  335. package/lib/module/modules/bt-management/index.js.map +1 -1
  336. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +4 -1
  337. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  338. package/lib/module/modules/bt-management/services/bt-manager.js +75 -37
  339. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  340. package/lib/module/modules/bt-management/services/devices/boso/boso.medicus.js +9 -6
  341. package/lib/module/modules/bt-management/services/devices/boso/boso.medicus.js.map +1 -1
  342. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js +98 -2
  343. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  344. package/lib/module/modules/bt-management/services/devices/bp2/bp2.files.js +68 -0
  345. package/lib/module/modules/bt-management/services/devices/bp2/bp2.files.js.map +1 -0
  346. package/lib/module/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js +48 -0
  347. package/lib/module/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map +1 -0
  348. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +4 -3
  349. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  350. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +44 -29
  351. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  352. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +10 -1
  353. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  354. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +2 -1
  355. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  356. package/lib/module/modules/bt-management/services/push-notification.js +34 -0
  357. package/lib/module/modules/bt-management/services/push-notification.js.map +1 -0
  358. package/lib/module/modules/bt-management/testing/fake-ble-manager.js +79 -0
  359. package/lib/module/modules/bt-management/testing/fake-ble-manager.js.map +1 -1
  360. package/lib/module/modules/bt-management/types/bluetooth-error.js +8 -2
  361. package/lib/module/modules/bt-management/types/bluetooth-error.js.map +1 -1
  362. package/lib/module/modules/bt-management/utils/device-title.js +12 -0
  363. package/lib/module/modules/bt-management/utils/device-title.js.map +1 -0
  364. package/lib/module/modules/bt-management/utils/result-identity.js +1 -1
  365. package/lib/module/modules/bt-management/utils/result-identity.js.map +1 -1
  366. package/lib/module/modules/content/content-card/components/cover-badge.js +1 -3
  367. package/lib/module/modules/content/content-card/components/cover-badge.js.map +1 -1
  368. package/lib/module/modules/content/content-card/components/title.js +1 -3
  369. package/lib/module/modules/content/content-card/components/title.js.map +1 -1
  370. package/lib/module/modules/content/content-detail/components/content-detail-rich-content.js +1 -1
  371. package/lib/module/modules/content/content-detail/components/content-detail-rich-content.js.map +1 -1
  372. package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js +12 -3
  373. package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
  374. package/lib/module/modules/data-sync/components/manually-request-sheet/description.js +2 -2
  375. package/lib/module/modules/data-sync/components/manually-request-sheet/description.js.map +1 -1
  376. package/lib/module/modules/data-sync/components/manually-request-sheet/title.js +0 -1
  377. package/lib/module/modules/data-sync/components/manually-request-sheet/title.js.map +1 -1
  378. package/lib/module/modules/data-sync/components/sync-progress-list/sync-progress-list.js +30 -21
  379. package/lib/module/modules/data-sync/components/sync-progress-list/sync-progress-list.js.map +1 -1
  380. package/lib/module/modules/data-sync/services/base-health-sync-service.js +8 -2
  381. package/lib/module/modules/data-sync/services/base-health-sync-service.js.map +1 -1
  382. package/lib/module/modules/data-sync/utils/convert-records-to-observation.js +13 -0
  383. package/lib/module/modules/data-sync/utils/convert-records-to-observation.js.map +1 -1
  384. package/lib/module/modules/data-sync/utils/convert-samples-to-observation.js +19 -4
  385. package/lib/module/modules/data-sync/utils/convert-samples-to-observation.js.map +1 -1
  386. package/lib/module/modules/data-sync/utils/generate-observation-entry.js +30 -21
  387. package/lib/module/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
  388. package/lib/module/modules/data-sync/utils/health-observation-device.js +50 -0
  389. package/lib/module/modules/data-sync/utils/health-observation-device.js.map +1 -0
  390. package/lib/module/modules/data-sync/utils/retry-save.js +39 -7
  391. package/lib/module/modules/data-sync/utils/retry-save.js.map +1 -1
  392. package/lib/module/modules/diary/components/no-data.js +1 -2
  393. package/lib/module/modules/diary/components/no-data.js.map +1 -1
  394. package/lib/module/modules/helpers/form-items/form-date-field.js +1 -1
  395. package/lib/module/modules/helpers/form-items/form-date-field.js.map +1 -1
  396. package/lib/module/modules/helpers/form-items/form-select.js +13 -13
  397. package/lib/module/modules/helpers/form-items/form-select.js.map +1 -1
  398. package/lib/module/modules/helpers/index.js +1 -1
  399. package/lib/module/modules/helpers/index.js.map +1 -1
  400. package/lib/module/modules/helpers/utils/sentry-logger.js +3 -4
  401. package/lib/module/modules/helpers/utils/sentry-logger.js.map +1 -1
  402. package/lib/module/modules/helpers/utils/telemetry.js +133 -46
  403. package/lib/module/modules/helpers/utils/telemetry.js.map +1 -1
  404. package/lib/module/modules/image/components/optimized-image.js +29 -8
  405. package/lib/module/modules/image/components/optimized-image.js.map +1 -1
  406. package/lib/module/modules/journal/past-journal/components/title.js +0 -1
  407. package/lib/module/modules/journal/past-journal/components/title.js.map +1 -1
  408. package/lib/module/modules/language-switcher/components/option/label.js +0 -1
  409. package/lib/module/modules/language-switcher/components/option/label.js.map +1 -1
  410. package/lib/module/modules/measurement/components/date-range.js +4 -3
  411. package/lib/module/modules/measurement/components/date-range.js.map +1 -1
  412. package/lib/module/modules/measurement/components/measurement-list-item.js +10 -10
  413. package/lib/module/modules/measurement/components/measurement-list-item.js.map +1 -1
  414. package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-date-field.js +1 -1
  415. package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-date-field.js.map +1 -1
  416. package/lib/module/modules/questionnaire-response-form/components/questionnaire-form-provider.js +3 -1
  417. package/lib/module/modules/questionnaire-response-form/components/questionnaire-form-provider.js.map +1 -1
  418. package/lib/module/modules/setting/components/list-header.js +1 -2
  419. package/lib/module/modules/setting/components/list-header.js.map +1 -1
  420. package/lib/module/modules/setting/components/setting-list-item.js +0 -1
  421. package/lib/module/modules/setting/components/setting-list-item.js.map +1 -1
  422. package/lib/module/modules/tab/components/tab-item.js +0 -1
  423. package/lib/module/modules/tab/components/tab-item.js.map +1 -1
  424. package/lib/module/modules/theme/utils/generate-theme.js +35 -4
  425. package/lib/module/modules/theme/utils/generate-theme.js.map +1 -1
  426. package/lib/module/modules/tile/components/measured-value.js +0 -3
  427. package/lib/module/modules/tile/components/measured-value.js.map +1 -1
  428. package/lib/module/modules/tile/components/title.js +0 -1
  429. package/lib/module/modules/tile/components/title.js.map +1 -1
  430. package/lib/module/modules/tile/constants/measurement-icon-svg.js +4 -1
  431. package/lib/module/modules/tile/constants/measurement-icon-svg.js.map +1 -1
  432. package/lib/module/modules/ui/components/background-sync-setting.js +20 -4
  433. package/lib/module/modules/ui/components/background-sync-setting.js.map +1 -1
  434. package/lib/module/modules/ui/components/bluetooth-state-notice.js +33 -6
  435. package/lib/module/modules/ui/components/bluetooth-state-notice.js.map +1 -1
  436. package/lib/module/modules/ui/components/ecg-strip-viewer.js +10 -0
  437. package/lib/module/modules/ui/components/ecg-strip-viewer.js.map +1 -1
  438. package/lib/module/modules/ui/components/health-import-card.js +25 -2
  439. package/lib/module/modules/ui/components/health-import-card.js.map +1 -1
  440. package/lib/module/modules/ui/components/manual-entry-form.js +14 -1
  441. package/lib/module/modules/ui/components/manual-entry-form.js.map +1 -1
  442. package/lib/module/modules/ui/components/measurement-trend-chart.js +91 -0
  443. package/lib/module/modules/ui/components/measurement-trend-chart.js.map +1 -0
  444. package/lib/module/modules/ui/components/pairing-flow.js +106 -37
  445. package/lib/module/modules/ui/components/pairing-flow.js.map +1 -1
  446. package/lib/module/modules/ui/components/supported-devices-catalog-list.js +12 -5
  447. package/lib/module/modules/ui/components/supported-devices-catalog-list.js.map +1 -1
  448. package/lib/module/modules/ui/components/urine-test-result.js +7 -2
  449. package/lib/module/modules/ui/components/urine-test-result.js.map +1 -1
  450. package/lib/module/modules/ui/index.js +1 -0
  451. package/lib/module/modules/ui/index.js.map +1 -1
  452. package/lib/module/modules/ui/use-ovok-ui.js +6 -3
  453. package/lib/module/modules/ui/use-ovok-ui.js.map +1 -1
  454. package/lib/typescript/commonjs/src/index.d.ts +0 -10
  455. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  456. package/lib/typescript/commonjs/src/modules/auth/default-translation.d.ts +2 -0
  457. package/lib/typescript/commonjs/src/modules/auth/default-translation.d.ts.map +1 -0
  458. package/lib/typescript/commonjs/src/modules/auth/delete-account-button/components/delete-account-button.d.ts.map +1 -1
  459. package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts +8 -2
  460. package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts.map +1 -1
  461. package/lib/typescript/commonjs/src/modules/auth/index.d.ts +1 -0
  462. package/lib/typescript/commonjs/src/modules/auth/index.d.ts.map +1 -1
  463. package/lib/typescript/commonjs/src/modules/auth/logout-button/components/logout-button.d.ts +1 -1
  464. package/lib/typescript/commonjs/src/modules/auth/logout-button/components/logout-button.d.ts.map +1 -1
  465. package/lib/typescript/commonjs/src/modules/auth/logout-button/types/logout-button-props.d.ts +6 -1
  466. package/lib/typescript/commonjs/src/modules/auth/logout-button/types/logout-button-props.d.ts.map +1 -1
  467. package/lib/typescript/commonjs/src/modules/auth/register/components/form/inputs.d.ts.map +1 -1
  468. package/lib/typescript/commonjs/src/modules/auth/register/components/form/register-button.d.ts.map +1 -1
  469. package/lib/typescript/commonjs/src/modules/auth/register/components/header/title.d.ts.map +1 -1
  470. package/lib/typescript/commonjs/src/modules/auth/register/components/login-link.d.ts.map +1 -1
  471. package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/inputs.d.ts.map +1 -1
  472. package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/reset-password-button.d.ts.map +1 -1
  473. package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts +1 -1
  474. package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
  475. package/lib/typescript/commonjs/src/modules/auth/reset-password/components/header/title.d.ts.map +1 -1
  476. package/lib/typescript/commonjs/src/modules/auth/reset-password/contexts/reset-password-form-context.d.ts +2 -46
  477. package/lib/typescript/commonjs/src/modules/auth/reset-password/contexts/reset-password-form-context.d.ts.map +1 -1
  478. package/lib/typescript/commonjs/src/modules/auth/reset-password/hooks/use-reset-password-form.d.ts +1 -47
  479. package/lib/typescript/commonjs/src/modules/auth/reset-password/hooks/use-reset-password-form.d.ts.map +1 -1
  480. package/lib/typescript/commonjs/src/modules/auth/reset-password/types/reset-password-context-type.d.ts +3 -1
  481. package/lib/typescript/commonjs/src/modules/auth/reset-password/types/reset-password-context-type.d.ts.map +1 -1
  482. package/lib/typescript/commonjs/src/modules/auth/reset-password/types/reset-password-form-provider-props.d.ts +1 -0
  483. package/lib/typescript/commonjs/src/modules/auth/reset-password/types/reset-password-form-provider-props.d.ts.map +1 -1
  484. package/lib/typescript/commonjs/src/modules/auth/session/components/session-list.d.ts.map +1 -1
  485. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/inputs.d.ts.map +1 -1
  486. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/signin-button.d.ts.map +1 -1
  487. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/header/title.d.ts.map +1 -1
  488. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/register-link.d.ts.map +1 -1
  489. package/lib/typescript/commonjs/src/modules/auth/types/session.d.ts +2 -5
  490. package/lib/typescript/commonjs/src/modules/auth/types/session.d.ts.map +1 -1
  491. package/lib/typescript/commonjs/src/modules/auth/utils/sign-out-google.d.ts +3 -0
  492. package/lib/typescript/commonjs/src/modules/auth/utils/sign-out-google.d.ts.map +1 -0
  493. package/lib/typescript/commonjs/src/modules/background-sync/background-safe-storage.d.ts +3 -1
  494. package/lib/typescript/commonjs/src/modules/background-sync/background-safe-storage.d.ts.map +1 -1
  495. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  496. package/lib/typescript/commonjs/src/modules/bt-device/index.d.ts +0 -2
  497. package/lib/typescript/commonjs/src/modules/bt-device/index.d.ts.map +1 -1
  498. package/lib/typescript/commonjs/src/modules/bt-device-instructions/index.d.ts +4 -0
  499. package/lib/typescript/commonjs/src/modules/bt-device-instructions/index.d.ts.map +1 -0
  500. package/lib/typescript/commonjs/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts +14 -0
  501. package/lib/typescript/commonjs/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts.map +1 -0
  502. package/lib/typescript/commonjs/src/modules/bt-management/components/bluetooth-device-picker.d.ts.map +1 -1
  503. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  504. package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -1
  505. package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts +9 -3
  506. package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
  507. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-background-sync.d.ts.map +1 -1
  508. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-device-connection.d.ts.map +1 -1
  509. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-health-import.d.ts.map +1 -1
  510. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-measurements.d.ts.map +1 -1
  511. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-devices.d.ts.map +1 -1
  512. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-paired-devices.d.ts.map +1 -1
  513. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-request-permissions.d.ts.map +1 -1
  514. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-scan-control.d.ts +7 -0
  515. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-scan-control.d.ts.map +1 -0
  516. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +2 -0
  517. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
  518. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  519. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +9 -0
  520. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  521. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts.map +1 -1
  522. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts +17 -1
  523. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  524. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.files.d.ts +17 -0
  525. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.files.d.ts.map +1 -0
  526. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts +28 -0
  527. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts.map +1 -0
  528. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  529. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +7 -0
  530. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  531. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  532. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +1 -0
  533. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  534. package/lib/typescript/commonjs/src/modules/bt-management/services/push-notification.d.ts +8 -0
  535. package/lib/typescript/commonjs/src/modules/bt-management/services/push-notification.d.ts.map +1 -0
  536. package/lib/typescript/commonjs/src/modules/bt-management/testing/fake-ble-manager.d.ts +17 -0
  537. package/lib/typescript/commonjs/src/modules/bt-management/testing/fake-ble-manager.d.ts.map +1 -1
  538. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts +2 -0
  539. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
  540. package/lib/typescript/commonjs/src/modules/bt-management/types/bluetooth-error.d.ts +1 -0
  541. package/lib/typescript/commonjs/src/modules/bt-management/types/bluetooth-error.d.ts.map +1 -1
  542. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts +7 -1
  543. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  544. package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts +2 -0
  545. package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
  546. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts +2 -0
  547. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  548. package/lib/typescript/commonjs/src/modules/bt-management/utils/device-title.d.ts +8 -0
  549. package/lib/typescript/commonjs/src/modules/bt-management/utils/device-title.d.ts.map +1 -0
  550. package/lib/typescript/commonjs/src/modules/bt-management/utils/result-identity.d.ts.map +1 -1
  551. package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
  552. package/lib/typescript/commonjs/src/modules/data-sync/components/manually-request-sheet/description.d.ts.map +1 -1
  553. package/lib/typescript/commonjs/src/modules/data-sync/components/sync-progress-list/sync-progress-list.d.ts +8 -5
  554. package/lib/typescript/commonjs/src/modules/data-sync/components/sync-progress-list/sync-progress-list.d.ts.map +1 -1
  555. package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
  556. package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-records-to-observation.d.ts.map +1 -1
  557. package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-samples-to-observation.d.ts.map +1 -1
  558. package/lib/typescript/commonjs/src/modules/data-sync/utils/generate-observation-entry.d.ts.map +1 -1
  559. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-observation-device.d.ts +9 -0
  560. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-observation-device.d.ts.map +1 -0
  561. package/lib/typescript/commonjs/src/modules/data-sync/utils/retry-save.d.ts +3 -2
  562. package/lib/typescript/commonjs/src/modules/data-sync/utils/retry-save.d.ts.map +1 -1
  563. package/lib/typescript/commonjs/src/modules/helpers/form-items/form-date-field.d.ts.map +1 -1
  564. package/lib/typescript/commonjs/src/modules/helpers/form-items/form-select.d.ts.map +1 -1
  565. package/lib/typescript/commonjs/src/modules/helpers/index.d.ts +1 -1
  566. package/lib/typescript/commonjs/src/modules/helpers/index.d.ts.map +1 -1
  567. package/lib/typescript/commonjs/src/modules/helpers/utils/sentry-logger.d.ts.map +1 -1
  568. package/lib/typescript/commonjs/src/modules/helpers/utils/telemetry.d.ts +3 -2
  569. package/lib/typescript/commonjs/src/modules/helpers/utils/telemetry.d.ts.map +1 -1
  570. package/lib/typescript/commonjs/src/modules/image/components/optimized-image.d.ts.map +1 -1
  571. package/lib/typescript/commonjs/src/modules/measurement/components/date-range.d.ts.map +1 -1
  572. package/lib/typescript/commonjs/src/modules/measurement/components/measurement-list-item.d.ts.map +1 -1
  573. package/lib/typescript/commonjs/src/modules/measurement/types/measurement-list-item-props.d.ts +2 -0
  574. package/lib/typescript/commonjs/src/modules/measurement/types/measurement-list-item-props.d.ts.map +1 -1
  575. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts.map +1 -1
  576. package/lib/typescript/commonjs/src/modules/theme/hooks/use-app-theme.d.ts +3 -1
  577. package/lib/typescript/commonjs/src/modules/theme/hooks/use-app-theme.d.ts.map +1 -1
  578. package/lib/typescript/commonjs/src/modules/theme/index.d.ts +1 -1
  579. package/lib/typescript/commonjs/src/modules/theme/index.d.ts.map +1 -1
  580. package/lib/typescript/commonjs/src/modules/theme/types/theme-provider-props.d.ts +12 -3
  581. package/lib/typescript/commonjs/src/modules/theme/types/theme-provider-props.d.ts.map +1 -1
  582. package/lib/typescript/commonjs/src/modules/theme/utils/generate-theme.d.ts +3 -1
  583. package/lib/typescript/commonjs/src/modules/theme/utils/generate-theme.d.ts.map +1 -1
  584. package/lib/typescript/commonjs/src/modules/tile/constants/measurement-icon-svg.d.ts +1 -0
  585. package/lib/typescript/commonjs/src/modules/tile/constants/measurement-icon-svg.d.ts.map +1 -1
  586. package/lib/typescript/commonjs/src/modules/ui/components/background-sync-setting.d.ts +4 -1
  587. package/lib/typescript/commonjs/src/modules/ui/components/background-sync-setting.d.ts.map +1 -1
  588. package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts +7 -1
  589. package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -1
  590. package/lib/typescript/commonjs/src/modules/ui/components/ecg-strip-viewer.d.ts.map +1 -1
  591. package/lib/typescript/commonjs/src/modules/ui/components/health-import-card.d.ts +5 -1
  592. package/lib/typescript/commonjs/src/modules/ui/components/health-import-card.d.ts.map +1 -1
  593. package/lib/typescript/commonjs/src/modules/ui/components/manual-entry-form.d.ts +2 -1
  594. package/lib/typescript/commonjs/src/modules/ui/components/manual-entry-form.d.ts.map +1 -1
  595. package/lib/typescript/commonjs/src/modules/ui/components/measurement-trend-chart.d.ts +19 -0
  596. package/lib/typescript/commonjs/src/modules/ui/components/measurement-trend-chart.d.ts.map +1 -0
  597. package/lib/typescript/commonjs/src/modules/ui/components/pairing-flow.d.ts +16 -1
  598. package/lib/typescript/commonjs/src/modules/ui/components/pairing-flow.d.ts.map +1 -1
  599. package/lib/typescript/commonjs/src/modules/ui/components/supported-devices-catalog-list.d.ts.map +1 -1
  600. package/lib/typescript/commonjs/src/modules/ui/components/urine-test-result.d.ts.map +1 -1
  601. package/lib/typescript/commonjs/src/modules/ui/index.d.ts +1 -0
  602. package/lib/typescript/commonjs/src/modules/ui/index.d.ts.map +1 -1
  603. package/lib/typescript/commonjs/src/modules/ui/types.d.ts +4 -1
  604. package/lib/typescript/commonjs/src/modules/ui/types.d.ts.map +1 -1
  605. package/lib/typescript/commonjs/src/modules/ui/use-ovok-ui.d.ts.map +1 -1
  606. package/lib/typescript/module/src/index.d.ts +0 -10
  607. package/lib/typescript/module/src/index.d.ts.map +1 -1
  608. package/lib/typescript/module/src/modules/auth/default-translation.d.ts +2 -0
  609. package/lib/typescript/module/src/modules/auth/default-translation.d.ts.map +1 -0
  610. package/lib/typescript/module/src/modules/auth/delete-account-button/components/delete-account-button.d.ts.map +1 -1
  611. package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts +8 -2
  612. package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts.map +1 -1
  613. package/lib/typescript/module/src/modules/auth/index.d.ts +1 -0
  614. package/lib/typescript/module/src/modules/auth/index.d.ts.map +1 -1
  615. package/lib/typescript/module/src/modules/auth/logout-button/components/logout-button.d.ts +1 -1
  616. package/lib/typescript/module/src/modules/auth/logout-button/components/logout-button.d.ts.map +1 -1
  617. package/lib/typescript/module/src/modules/auth/logout-button/types/logout-button-props.d.ts +6 -1
  618. package/lib/typescript/module/src/modules/auth/logout-button/types/logout-button-props.d.ts.map +1 -1
  619. package/lib/typescript/module/src/modules/auth/register/components/form/inputs.d.ts.map +1 -1
  620. package/lib/typescript/module/src/modules/auth/register/components/form/register-button.d.ts.map +1 -1
  621. package/lib/typescript/module/src/modules/auth/register/components/header/title.d.ts.map +1 -1
  622. package/lib/typescript/module/src/modules/auth/register/components/login-link.d.ts.map +1 -1
  623. package/lib/typescript/module/src/modules/auth/reset-password/components/form/inputs.d.ts.map +1 -1
  624. package/lib/typescript/module/src/modules/auth/reset-password/components/form/reset-password-button.d.ts.map +1 -1
  625. package/lib/typescript/module/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts +1 -1
  626. package/lib/typescript/module/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
  627. package/lib/typescript/module/src/modules/auth/reset-password/components/header/title.d.ts.map +1 -1
  628. package/lib/typescript/module/src/modules/auth/reset-password/contexts/reset-password-form-context.d.ts +2 -46
  629. package/lib/typescript/module/src/modules/auth/reset-password/contexts/reset-password-form-context.d.ts.map +1 -1
  630. package/lib/typescript/module/src/modules/auth/reset-password/hooks/use-reset-password-form.d.ts +1 -47
  631. package/lib/typescript/module/src/modules/auth/reset-password/hooks/use-reset-password-form.d.ts.map +1 -1
  632. package/lib/typescript/module/src/modules/auth/reset-password/types/reset-password-context-type.d.ts +3 -1
  633. package/lib/typescript/module/src/modules/auth/reset-password/types/reset-password-context-type.d.ts.map +1 -1
  634. package/lib/typescript/module/src/modules/auth/reset-password/types/reset-password-form-provider-props.d.ts +1 -0
  635. package/lib/typescript/module/src/modules/auth/reset-password/types/reset-password-form-provider-props.d.ts.map +1 -1
  636. package/lib/typescript/module/src/modules/auth/session/components/session-list.d.ts.map +1 -1
  637. package/lib/typescript/module/src/modules/auth/sign-in/components/form/inputs.d.ts.map +1 -1
  638. package/lib/typescript/module/src/modules/auth/sign-in/components/form/signin-button.d.ts.map +1 -1
  639. package/lib/typescript/module/src/modules/auth/sign-in/components/header/title.d.ts.map +1 -1
  640. package/lib/typescript/module/src/modules/auth/sign-in/components/register-link.d.ts.map +1 -1
  641. package/lib/typescript/module/src/modules/auth/types/session.d.ts +2 -5
  642. package/lib/typescript/module/src/modules/auth/types/session.d.ts.map +1 -1
  643. package/lib/typescript/module/src/modules/auth/utils/sign-out-google.d.ts +3 -0
  644. package/lib/typescript/module/src/modules/auth/utils/sign-out-google.d.ts.map +1 -0
  645. package/lib/typescript/module/src/modules/background-sync/background-safe-storage.d.ts +3 -1
  646. package/lib/typescript/module/src/modules/background-sync/background-safe-storage.d.ts.map +1 -1
  647. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  648. package/lib/typescript/module/src/modules/bt-device/index.d.ts +0 -2
  649. package/lib/typescript/module/src/modules/bt-device/index.d.ts.map +1 -1
  650. package/lib/typescript/module/src/modules/bt-device-instructions/index.d.ts +4 -0
  651. package/lib/typescript/module/src/modules/bt-device-instructions/index.d.ts.map +1 -0
  652. package/lib/typescript/module/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts +14 -0
  653. package/lib/typescript/module/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts.map +1 -0
  654. package/lib/typescript/module/src/modules/bt-management/components/bluetooth-device-picker.d.ts.map +1 -1
  655. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  656. package/lib/typescript/module/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -1
  657. package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts +9 -3
  658. package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
  659. package/lib/typescript/module/src/modules/bt-management/hooks/use-background-sync.d.ts.map +1 -1
  660. package/lib/typescript/module/src/modules/bt-management/hooks/use-device-connection.d.ts.map +1 -1
  661. package/lib/typescript/module/src/modules/bt-management/hooks/use-health-import.d.ts.map +1 -1
  662. package/lib/typescript/module/src/modules/bt-management/hooks/use-measurements.d.ts.map +1 -1
  663. package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-devices.d.ts.map +1 -1
  664. package/lib/typescript/module/src/modules/bt-management/hooks/use-paired-devices.d.ts.map +1 -1
  665. package/lib/typescript/module/src/modules/bt-management/hooks/use-request-permissions.d.ts.map +1 -1
  666. package/lib/typescript/module/src/modules/bt-management/hooks/use-scan-control.d.ts +7 -0
  667. package/lib/typescript/module/src/modules/bt-management/hooks/use-scan-control.d.ts.map +1 -0
  668. package/lib/typescript/module/src/modules/bt-management/index.d.ts +2 -0
  669. package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
  670. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  671. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +9 -0
  672. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  673. package/lib/typescript/module/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts.map +1 -1
  674. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts +17 -1
  675. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  676. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.files.d.ts +17 -0
  677. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.files.d.ts.map +1 -0
  678. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts +28 -0
  679. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts.map +1 -0
  680. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  681. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +7 -0
  682. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  683. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  684. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +1 -0
  685. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  686. package/lib/typescript/module/src/modules/bt-management/services/push-notification.d.ts +8 -0
  687. package/lib/typescript/module/src/modules/bt-management/services/push-notification.d.ts.map +1 -0
  688. package/lib/typescript/module/src/modules/bt-management/testing/fake-ble-manager.d.ts +17 -0
  689. package/lib/typescript/module/src/modules/bt-management/testing/fake-ble-manager.d.ts.map +1 -1
  690. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts +2 -0
  691. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
  692. package/lib/typescript/module/src/modules/bt-management/types/bluetooth-error.d.ts +1 -0
  693. package/lib/typescript/module/src/modules/bt-management/types/bluetooth-error.d.ts.map +1 -1
  694. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts +7 -1
  695. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  696. package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts +2 -0
  697. package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
  698. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts +2 -0
  699. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  700. package/lib/typescript/module/src/modules/bt-management/utils/device-title.d.ts +8 -0
  701. package/lib/typescript/module/src/modules/bt-management/utils/device-title.d.ts.map +1 -0
  702. package/lib/typescript/module/src/modules/bt-management/utils/result-identity.d.ts.map +1 -1
  703. package/lib/typescript/module/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
  704. package/lib/typescript/module/src/modules/data-sync/components/manually-request-sheet/description.d.ts.map +1 -1
  705. package/lib/typescript/module/src/modules/data-sync/components/sync-progress-list/sync-progress-list.d.ts +8 -5
  706. package/lib/typescript/module/src/modules/data-sync/components/sync-progress-list/sync-progress-list.d.ts.map +1 -1
  707. package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
  708. package/lib/typescript/module/src/modules/data-sync/utils/convert-records-to-observation.d.ts.map +1 -1
  709. package/lib/typescript/module/src/modules/data-sync/utils/convert-samples-to-observation.d.ts.map +1 -1
  710. package/lib/typescript/module/src/modules/data-sync/utils/generate-observation-entry.d.ts.map +1 -1
  711. package/lib/typescript/module/src/modules/data-sync/utils/health-observation-device.d.ts +9 -0
  712. package/lib/typescript/module/src/modules/data-sync/utils/health-observation-device.d.ts.map +1 -0
  713. package/lib/typescript/module/src/modules/data-sync/utils/retry-save.d.ts +3 -2
  714. package/lib/typescript/module/src/modules/data-sync/utils/retry-save.d.ts.map +1 -1
  715. package/lib/typescript/module/src/modules/helpers/form-items/form-date-field.d.ts.map +1 -1
  716. package/lib/typescript/module/src/modules/helpers/form-items/form-select.d.ts.map +1 -1
  717. package/lib/typescript/module/src/modules/helpers/index.d.ts +1 -1
  718. package/lib/typescript/module/src/modules/helpers/index.d.ts.map +1 -1
  719. package/lib/typescript/module/src/modules/helpers/utils/sentry-logger.d.ts.map +1 -1
  720. package/lib/typescript/module/src/modules/helpers/utils/telemetry.d.ts +3 -2
  721. package/lib/typescript/module/src/modules/helpers/utils/telemetry.d.ts.map +1 -1
  722. package/lib/typescript/module/src/modules/image/components/optimized-image.d.ts.map +1 -1
  723. package/lib/typescript/module/src/modules/measurement/components/date-range.d.ts.map +1 -1
  724. package/lib/typescript/module/src/modules/measurement/components/measurement-list-item.d.ts.map +1 -1
  725. package/lib/typescript/module/src/modules/measurement/types/measurement-list-item-props.d.ts +2 -0
  726. package/lib/typescript/module/src/modules/measurement/types/measurement-list-item-props.d.ts.map +1 -1
  727. package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts.map +1 -1
  728. package/lib/typescript/module/src/modules/theme/hooks/use-app-theme.d.ts +3 -1
  729. package/lib/typescript/module/src/modules/theme/hooks/use-app-theme.d.ts.map +1 -1
  730. package/lib/typescript/module/src/modules/theme/index.d.ts +1 -1
  731. package/lib/typescript/module/src/modules/theme/index.d.ts.map +1 -1
  732. package/lib/typescript/module/src/modules/theme/types/theme-provider-props.d.ts +12 -3
  733. package/lib/typescript/module/src/modules/theme/types/theme-provider-props.d.ts.map +1 -1
  734. package/lib/typescript/module/src/modules/theme/utils/generate-theme.d.ts +3 -1
  735. package/lib/typescript/module/src/modules/theme/utils/generate-theme.d.ts.map +1 -1
  736. package/lib/typescript/module/src/modules/tile/constants/measurement-icon-svg.d.ts +1 -0
  737. package/lib/typescript/module/src/modules/tile/constants/measurement-icon-svg.d.ts.map +1 -1
  738. package/lib/typescript/module/src/modules/ui/components/background-sync-setting.d.ts +4 -1
  739. package/lib/typescript/module/src/modules/ui/components/background-sync-setting.d.ts.map +1 -1
  740. package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts +7 -1
  741. package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -1
  742. package/lib/typescript/module/src/modules/ui/components/ecg-strip-viewer.d.ts.map +1 -1
  743. package/lib/typescript/module/src/modules/ui/components/health-import-card.d.ts +5 -1
  744. package/lib/typescript/module/src/modules/ui/components/health-import-card.d.ts.map +1 -1
  745. package/lib/typescript/module/src/modules/ui/components/manual-entry-form.d.ts +2 -1
  746. package/lib/typescript/module/src/modules/ui/components/manual-entry-form.d.ts.map +1 -1
  747. package/lib/typescript/module/src/modules/ui/components/measurement-trend-chart.d.ts +19 -0
  748. package/lib/typescript/module/src/modules/ui/components/measurement-trend-chart.d.ts.map +1 -0
  749. package/lib/typescript/module/src/modules/ui/components/pairing-flow.d.ts +16 -1
  750. package/lib/typescript/module/src/modules/ui/components/pairing-flow.d.ts.map +1 -1
  751. package/lib/typescript/module/src/modules/ui/components/supported-devices-catalog-list.d.ts.map +1 -1
  752. package/lib/typescript/module/src/modules/ui/components/urine-test-result.d.ts.map +1 -1
  753. package/lib/typescript/module/src/modules/ui/index.d.ts +1 -0
  754. package/lib/typescript/module/src/modules/ui/index.d.ts.map +1 -1
  755. package/lib/typescript/module/src/modules/ui/types.d.ts +4 -1
  756. package/lib/typescript/module/src/modules/ui/types.d.ts.map +1 -1
  757. package/lib/typescript/module/src/modules/ui/use-ovok-ui.d.ts.map +1 -1
  758. package/package.json +3 -3
@@ -105,18 +105,24 @@ export const measurementFieldCatalog = {
105
105
  unit: "mmHg",
106
106
  min: 30,
107
107
  max: 300,
108
+ normalMin: 90,
109
+ normalMax: 120,
108
110
  required: true
109
111
  },
110
112
  diastolic: {
111
113
  unit: "mmHg",
112
114
  min: 10,
113
115
  max: 220,
116
+ normalMin: 60,
117
+ normalMax: 80,
114
118
  required: true
115
119
  },
116
120
  heartRate: {
117
121
  unit: "bpm",
118
122
  min: 20,
119
- max: 300
123
+ max: 300,
124
+ normalMin: 60,
125
+ normalMax: 100
120
126
  }
121
127
  },
122
128
  [MeasurementTypeKey.bodyWeight]: {
@@ -132,6 +138,8 @@ export const measurementFieldCatalog = {
132
138
  unit: "Cel",
133
139
  min: 25,
134
140
  max: 45,
141
+ normalMin: 36.5,
142
+ normalMax: 37.3,
135
143
  required: true
136
144
  }
137
145
  },
@@ -148,12 +156,16 @@ export const measurementFieldCatalog = {
148
156
  unit: "%",
149
157
  min: 50,
150
158
  max: 100,
159
+ normalMin: 95,
160
+ normalMax: 100,
151
161
  required: true
152
162
  },
153
163
  pulseRate: {
154
164
  unit: "bpm",
155
165
  min: 20,
156
166
  max: 300,
167
+ normalMin: 60,
168
+ normalMax: 100,
157
169
  required: true
158
170
  },
159
171
  perfusionIndex: {
@@ -172,6 +184,8 @@ export const measurementFieldCatalog = {
172
184
  unit: "bpm",
173
185
  min: 20,
174
186
  max: 300,
187
+ normalMin: 60,
188
+ normalMax: 100,
175
189
  required: true
176
190
  }
177
191
  },
@@ -180,9 +194,12 @@ export const measurementFieldCatalog = {
180
194
  unit: "/min",
181
195
  min: 2,
182
196
  max: 90,
197
+ normalMin: 12,
198
+ normalMax: 20,
183
199
  required: true
184
200
  }
185
201
  },
202
+ [MeasurementTypeKey.urineAnalysis]: urineAnalyteCatalog,
186
203
  [MeasurementTypeKey.uricAcid]: urineAnalyteCatalog
187
204
  };
188
205
  //# 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":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- /* eslint-disable import/group-exports */
3
+ /* eslint-disable import/group-exports, max-lines */
4
4
 
5
5
  import * as React from "react";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -10,6 +10,25 @@ export const createBluetoothRuntime = bleManager => {
10
10
  let currentManager;
11
11
  let currentDevices = [];
12
12
  const subscribers = new Set();
13
+ const pairedState = new Map();
14
+ const getPairedState = storageKey => {
15
+ const current = pairedState.get(storageKey);
16
+ if (current) {
17
+ return current;
18
+ }
19
+ const next = {
20
+ revision: 0
21
+ };
22
+ pairedState.set(storageKey, next);
23
+ return next;
24
+ };
25
+ const notifyPairedDevices = storageKey => {
26
+ const value = {
27
+ storageKey
28
+ };
29
+ listeners.get("pairedDevices")?.forEach(callback => callback(value));
30
+ subscribers.forEach(notify => notify());
31
+ };
13
32
  return {
14
33
  bleManager,
15
34
  get manager() {
@@ -24,6 +43,10 @@ export const createBluetoothRuntime = bleManager => {
24
43
  listeners.set(event, eventListeners);
25
44
  return () => eventListeners.delete(callback);
26
45
  },
46
+ subscribeState: callback => {
47
+ subscribers.add(callback);
48
+ return () => subscribers.delete(callback);
49
+ },
27
50
  hasListeners: event => (listeners.get(event)?.size ?? 0) > 0,
28
51
  emit: (event, value) => {
29
52
  listeners.get(event)?.forEach(callback => callback(value));
@@ -33,6 +56,38 @@ export const createBluetoothRuntime = bleManager => {
33
56
  currentManager = manager;
34
57
  subscribers.forEach(notify => notify());
35
58
  },
59
+ setAutoConnect: (enabled, delayMs, onDeviceSelectionRequired) => {
60
+ currentManager?.setAutoConnect(enabled, delayMs, onDeviceSelectionRequired);
61
+ },
62
+ getPairedDeviceIds: storageKey => getPairedState(storageKey).value,
63
+ loadPairedDeviceIds: (storageKey, load) => {
64
+ const state = getPairedState(storageKey);
65
+ if (state.value) {
66
+ return Promise.resolve(state.value);
67
+ }
68
+ if (state.loading) {
69
+ return state.loading;
70
+ }
71
+ const revision = state.revision;
72
+ state.loading = load().then(value => {
73
+ const next = [...new Set(value)];
74
+ if (state.revision === revision) {
75
+ state.value = next;
76
+ notifyPairedDevices(storageKey);
77
+ return next;
78
+ }
79
+ return state.value ?? next;
80
+ }).finally(() => {
81
+ state.loading = undefined;
82
+ });
83
+ return state.loading;
84
+ },
85
+ setPairedDeviceIds: (storageKey, ids) => {
86
+ const state = getPairedState(storageKey);
87
+ state.revision += 1;
88
+ state.value = [...new Set(ids)];
89
+ notifyPairedDevices(storageKey);
90
+ },
36
91
  upsertDevice: device => {
37
92
  const existing = currentDevices.findIndex(item => item.id === device.id);
38
93
  const next = {
@@ -1 +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","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":[]}
1
+ {"version":3,"names":["React","jsx","_jsx","RuntimeContext","createContext","createBluetoothRuntime","bleManager","listeners","Map","currentManager","currentDevices","subscribers","Set","pairedState","getPairedState","storageKey","current","get","next","revision","set","notifyPairedDevices","value","forEach","callback","notify","manager","devices","subscribe","event","eventListeners","add","delete","subscribeState","hasListeners","size","emit","setManager","setAutoConnect","enabled","delayMs","onDeviceSelectionRequired","getPairedDeviceIds","loadPairedDeviceIds","load","state","Promise","resolve","loading","then","finally","undefined","setPairedDeviceIds","ids","upsertDevice","device","existing","findIndex","item","id","deviceData","status","map","index","setDeviceStatus","BluetoothRuntimeProvider","runtime","children","Provider","useBluetoothRuntime","useContext","Error","useRuntimeEvent","callbackRef","useRef","useEffect"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/runtime-context.tsx"],"mappings":"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","ignoreList":[]}
@@ -13,13 +13,17 @@ export const useBackgroundSync = ({
13
13
  const [enabled, setEnabledState] = React.useState(initialEnabled);
14
14
  const [error, setError] = React.useState();
15
15
  const [status, setStatus] = React.useState(initialEnabled ? "on" : "off");
16
+ React.useSyncExternalStore(runtime.subscribeState, () => runtime.manager, () => undefined);
16
17
  const setEnabled = React.useCallback(async next => {
17
18
  setError(undefined);
18
- if (next && canEnable && !(await canEnable())) {
19
- setStatus("restricted");
20
- return;
21
- }
22
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
+ }
23
27
  runtime.manager?.setBackgroundScanEnabled(next);
24
28
  await onEnabledChange?.(next);
25
29
  setEnabledState(next);
@@ -1 +1 @@
1
- {"version":3,"names":["React","useBluetoothRuntime","useBackgroundSync","enabled","initialEnabled","canEnable","onEnabledChange","runtime","setEnabledState","useState","error","setError","status","setStatus","setEnabled","useCallback","next","undefined","manager","setBackgroundScanEnabled","cause","nextError","Error","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;EAED,MAAMU,UAAU,GAAGd,KAAK,CAACe,WAAW,CAAC,MAAOC,IAAa,IAAK;IAC5DL,QAAQ,CAACM,SAAS,CAAC;IACnB,IAAID,IAAI,IAAIX,SAAS,IAAI,EAAE,MAAMA,SAAS,CAAC,CAAC,CAAC,EAAE;MAC7CQ,SAAS,CAAC,YAAY,CAAC;MAEvB;IACF;IACA,IAAI;MACFN,OAAO,CAACW,OAAO,EAAEC,wBAAwB,CAACH,IAAI,CAAC;MAC/C,MAAMV,eAAe,GAAGU,IAAI,CAAC;MAC7BR,eAAe,CAACQ,IAAI,CAAC;MACrBH,SAAS,CAACG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IAChC,CAAC,CAAC,OAAOI,KAAK,EAAE;MACd,MAAMC,SAAS,GAAGD,KAAK,YAAYE,KAAK,GAAGF,KAAK,GAAG,IAAIE,KAAK,CAACC,MAAM,CAACH,KAAK,CAAC,CAAC;MAE3ET,QAAQ,CAACU,SAAS,CAAC;MACnBR,SAAS,CAAC,SAAS,CAAC;IACtB;EACF,CAAC,EAAE,CAACR,SAAS,EAAEC,eAAe,EAAEC,OAAO,CAAC,CAAC;EAEzC,OAAO;IAAEJ,OAAO;IAAEW,UAAU;IAAEF,MAAM;IAAEF,KAAK;IAAEc,MAAM,EAAEZ,MAAM,KAAK,YAAY,GAAG,iCAAiC,GAAGK;EAAU,CAAC;AAChI,CAAC","ignoreList":[]}
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":[]}
@@ -6,6 +6,10 @@ export const useDeviceConnection = id => {
6
6
  const runtime = useBluetoothRuntime();
7
7
  const [status, setStatus] = React.useState(() => runtime.devices.find(device => device.id === id)?.status);
8
8
  const [events, setEvents] = React.useState([]);
9
+ React.useEffect(() => {
10
+ setStatus(runtime.devices.find(device => device.id === id)?.status);
11
+ setEvents([]);
12
+ }, [id, runtime]);
9
13
  React.useEffect(() => {
10
14
  const unsubStatus = runtime.subscribe("status", value => {
11
15
  if (value.deviceData.id === id) {
@@ -14,7 +18,7 @@ export const useDeviceConnection = id => {
14
18
  });
15
19
  const unsubEvent = runtime.subscribe("connection", event => {
16
20
  if (event.deviceData.id === id) {
17
- setEvents(current => [...current, event]);
21
+ setEvents(current => [...current, event].slice(-100));
18
22
  }
19
23
  });
20
24
  return () => {
@@ -1 +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"],"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;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;QAACS,SAAS,CAAEQ,OAAO,IAAK,CAAC,GAAGA,OAAO,EAAED,KAAK,CAAC,CAAC;MAAC;IAC/E,CAAC,CAAC;IAEF,OAAO,MAAM;MACXL,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":[]}
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":[]}
@@ -9,25 +9,61 @@ export const useHealthImport = ({
9
9
  const [enabled, setEnabled] = React.useState(false);
10
10
  const [statusByType, setStatusByType] = React.useState({});
11
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
+ };
12
23
  const refresh = React.useCallback(async () => {
13
- try {
14
- const entries = await Promise.all(types.map(async type => [type, await adapter.getStatus(type)]));
15
- setStatusByType(Object.fromEntries(entries));
16
- } catch (cause) {
17
- setError(cause instanceof Error ? cause : new Error(String(cause)));
18
- }
19
- }, [adapter, types]);
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]);
20
45
  React.useEffect(() => {
21
46
  void refresh();
22
47
  }, [refresh]);
23
48
  const setEnabledForTypes = React.useCallback(async next => {
49
+ const {
50
+ adapter: currentAdapter,
51
+ types: currentTypes,
52
+ background: currentBackground
53
+ } = configRef.current;
24
54
  setError(undefined);
25
- if (next) {
26
- await adapter.request(types, background);
27
- await refresh();
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;
28
65
  }
29
- setEnabled(next);
30
- }, [adapter, background, refresh, types]);
66
+ }, [refresh]);
31
67
  const notShared = types.filter(type => statusByType[type] === "refused");
32
68
  return {
33
69
  enabled,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useHealthImport","types","background","adapter","enabled","setEnabled","useState","statusByType","setStatusByType","error","setError","refresh","useCallback","entries","Promise","all","map","type","getStatus","Object","fromEntries","cause","Error","String","useEffect","setEnabledForTypes","next","undefined","request","notShared","filter"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-health-import.ts"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAO9B,OAAO,MAAMC,eAAe,GAAGA,CAAuB;EACpDC,KAAK;EACLC,UAAU,GAAG,KAAK;EAClBC;AAKF,CAAC,KAMI;EACH,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGN,KAAK,CAACO,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGT,KAAK,CAACO,QAAQ,CAAyB,CAAC,CAAC,CAAC;EAClF,MAAM,CAACG,KAAK,EAAEC,QAAQ,CAAC,GAAGX,KAAK,CAACO,QAAQ,CAAQ,CAAC;EAEjD,MAAMK,OAAO,GAAGZ,KAAK,CAACa,WAAW,CAAC,YAAY;IAC5C,IAAI;MACF,MAAMC,OAAO,GAAG,MAAMC,OAAO,CAACC,GAAG,CAACd,KAAK,CAACe,GAAG,CAAC,MAAOC,IAAI,IAAK,CAACA,IAAI,EAAE,MAAMd,OAAO,CAACe,SAAS,CAACD,IAAI,CAAC,CAAU,CAAC,CAAC;MAE5GT,eAAe,CAACW,MAAM,CAACC,WAAW,CAACP,OAAO,CAAC,CAAC;IAC9C,CAAC,CAAC,OAAOQ,KAAK,EAAE;MACdX,QAAQ,CAACW,KAAK,YAAYC,KAAK,GAAGD,KAAK,GAAG,IAAIC,KAAK,CAACC,MAAM,CAACF,KAAK,CAAC,CAAC,CAAC;IACrE;EACF,CAAC,EAAE,CAAClB,OAAO,EAAEF,KAAK,CAAC,CAAC;EAEpBF,KAAK,CAACyB,SAAS,CAAC,MAAM;IAAE,KAAKb,OAAO,CAAC,CAAC;EAAE,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAErD,MAAMc,kBAAkB,GAAG1B,KAAK,CAACa,WAAW,CAAC,MAAOc,IAAa,IAAK;IACpEhB,QAAQ,CAACiB,SAAS,CAAC;IACnB,IAAID,IAAI,EAAE;MACR,MAAMvB,OAAO,CAACyB,OAAO,CAAC3B,KAAK,EAAEC,UAAU,CAAC;MACxC,MAAMS,OAAO,CAAC,CAAC;IACjB;IACAN,UAAU,CAACqB,IAAI,CAAC;EAClB,CAAC,EAAE,CAACvB,OAAO,EAAED,UAAU,EAAES,OAAO,EAAEV,KAAK,CAAC,CAAC;EAEzC,MAAM4B,SAAS,GAAG5B,KAAK,CAAC6B,MAAM,CAAEb,IAAI,IAAKV,YAAY,CAACU,IAAI,CAAC,KAAK,SAAS,CAAC;EAE1E,OAAO;IAAEb,OAAO;IAAEC,UAAU,EAAEoB,kBAAkB;IAAElB,YAAY,EAAEA,YAAqB;IAAEsB,SAAS;IAAEpB;EAAM,CAAC;AAC3G,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useHealthImport","types","background","adapter","enabled","setEnabled","useState","statusByType","setStatusByType","error","setError","typesKey","useMemo","join","configRef","useRef","current","refresh","useCallback","currentAdapter","currentTypes","entries","Promise","allSettled","map","type","getStatus","rejected","find","entry","status","next","forEach","value","length","every","reason","Error","String","undefined","useEffect","setEnabledForTypes","currentBackground","request","cause","nextError","notShared","filter"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-health-import.ts"],"mappings":"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","ignoreList":[]}
@@ -9,10 +9,40 @@ export const useMeasurements = (onResult, {
9
9
  const runtime = useBluetoothRuntime();
10
10
  const [measurements, setMeasurements] = React.useState([]);
11
11
  const seen = React.useRef(new Set());
12
+ const seenMeasurementKinds = React.useRef(new Set());
13
+ const seenDailyTotals = React.useRef(new Set());
12
14
  const onResultRef = React.useRef(onResult);
13
15
  onResultRef.current = onResult;
16
+ const acceptsResult = React.useCallback(result => {
17
+ const measurementTypeKey = String(result.data.measurementTypeKey);
18
+ if (policy === "first-reading-per-kind-per-connection") {
19
+ if (seenMeasurementKinds.current.has(measurementTypeKey)) {
20
+ return false;
21
+ }
22
+ seenMeasurementKinds.current.add(measurementTypeKey);
23
+ }
24
+ if (policy === "daily-totals-only") {
25
+ const temporal = result.data;
26
+ const end = temporal.end instanceof Date ? temporal.end : undefined;
27
+ if (end && end.getTime() > Date.now()) {
28
+ return false;
29
+ }
30
+ const day = temporal.end ?? temporal.start ?? temporal.recordedAt;
31
+ if (day instanceof Date) {
32
+ const key = `${measurementTypeKey}:${day.toISOString().slice(0, 10)}`;
33
+ if (seenDailyTotals.current.has(key)) {
34
+ return false;
35
+ }
36
+ seenDailyTotals.current.add(key);
37
+ }
38
+ }
39
+ return true;
40
+ }, [policy]);
14
41
  React.useEffect(() => {
15
42
  return runtime.subscribe("result", result => {
43
+ if (!acceptsResult(result)) {
44
+ return;
45
+ }
16
46
  if (seen.current.has(result.id)) {
17
47
  return;
18
48
  }
@@ -20,30 +50,22 @@ export const useMeasurements = (onResult, {
20
50
  setMeasurements(current => [...current, result].slice(-maxResults));
21
51
  onResultRef.current?.(result);
22
52
  });
23
- }, [maxResults, runtime]);
24
-
25
- // The manager applies device policies at source; this is a host-side guard for
26
- // consumers that want a single stream policy without changing the scan config.
53
+ }, [acceptsResult, maxResults, runtime]);
27
54
  React.useEffect(() => {
28
- if (policy === "all") {
29
- return;
30
- }
31
- setMeasurements(current => {
32
- const byKind = new Set();
33
- return current.filter(result => {
34
- const key = String(result.data.measurementTypeKey);
35
- if (policy === "first-reading-per-kind-per-connection" && byKind.has(key)) {
36
- return false;
37
- }
38
- byKind.add(key);
39
- return true;
40
- });
55
+ const unsubscribe = runtime.subscribe("connection", event => {
56
+ if (event.kind === "bonded") {
57
+ seenMeasurementKinds.current.clear();
58
+ seenDailyTotals.current.clear();
59
+ }
41
60
  });
42
- }, [policy]);
61
+ return unsubscribe;
62
+ }, [runtime]);
43
63
  return {
44
64
  measurements,
45
65
  clear: () => {
46
66
  seen.current.clear();
67
+ seenMeasurementKinds.current.clear();
68
+ seenDailyTotals.current.clear();
47
69
  setMeasurements([]);
48
70
  }
49
71
  };
@@ -1 +1 @@
1
- {"version":3,"names":["React","useBluetoothRuntime","useMeasurements","onResult","policy","maxResults","runtime","measurements","setMeasurements","useState","seen","useRef","Set","onResultRef","current","useEffect","subscribe","result","has","id","add","slice","byKind","filter","key","String","data","measurementTypeKey","clear"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-measurements.ts"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAI9B,SAAwBC,mBAAmB,QAAQ,sBAAmB;AAOtE,OAAO,MAAMC,eAAe,GAAGA,CAC7BC,QAA0C,EAC1C;EAAEC,MAAM,GAAG,KAAK;EAAEC,UAAU,GAAG;AAA4B,CAAC,GAAG,CAAC,CAAC,KACC;EAClE,MAAMC,OAAO,GAAGL,mBAAmB,CAAC,CAAC;EACrC,MAAM,CAACM,YAAY,EAAEC,eAAe,CAAC,GAAGR,KAAK,CAACS,QAAQ,CAA2B,EAAE,CAAC;EACpF,MAAMC,IAAI,GAAGV,KAAK,CAACW,MAAM,CAAC,IAAIC,GAAG,CAAS,CAAC,CAAC;EAC5C,MAAMC,WAAW,GAAGb,KAAK,CAACW,MAAM,CAACR,QAAQ,CAAC;EAE1CU,WAAW,CAACC,OAAO,GAAGX,QAAQ;EAE9BH,KAAK,CAACe,SAAS,CAAC,MAAM;IACpB,OAAOT,OAAO,CAACU,SAAS,CAAgB,QAAQ,EAAGC,MAAM,IAAK;MAC5D,IAAIP,IAAI,CAACI,OAAO,CAACI,GAAG,CAACD,MAAM,CAACE,EAAE,CAAC,EAAE;QAAC;MAAO;MACzCT,IAAI,CAACI,OAAO,CAACM,GAAG,CAACH,MAAM,CAACE,EAAE,CAAC;MAC3BX,eAAe,CAAEM,OAAO,IAAK,CAAC,GAAGA,OAAO,EAAEG,MAAM,CAAC,CAACI,KAAK,CAAC,CAAChB,UAAU,CAAC,CAAC;MACrEQ,WAAW,CAACC,OAAO,GAAGG,MAAM,CAAC;IAC/B,CAAC,CAAC;EACJ,CAAC,EAAE,CAACZ,UAAU,EAAEC,OAAO,CAAC,CAAC;;EAEzB;EACA;EACAN,KAAK,CAACe,SAAS,CAAC,MAAM;IACpB,IAAIX,MAAM,KAAK,KAAK,EAAE;MAAC;IAAO;IAC9BI,eAAe,CAAEM,OAAO,IAAK;MAC3B,MAAMQ,MAAM,GAAG,IAAIV,GAAG,CAAS,CAAC;MAEhC,OAAOE,OAAO,CAACS,MAAM,CAAEN,MAAM,IAAK;QAChC,MAAMO,GAAG,GAAGC,MAAM,CAACR,MAAM,CAACS,IAAI,CAACC,kBAAkB,CAAC;QAElD,IAAIvB,MAAM,KAAK,uCAAuC,IAAIkB,MAAM,CAACJ,GAAG,CAACM,GAAG,CAAC,EAAE;UAAC,OAAO,KAAK;QAAC;QACzFF,MAAM,CAACF,GAAG,CAACI,GAAG,CAAC;QAEf,OAAO,IAAI;MACb,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,EAAE,CAACpB,MAAM,CAAC,CAAC;EAEZ,OAAO;IAAEG,YAAY;IAAEqB,KAAK,EAAEA,CAAA,KAAM;MAAElB,IAAI,CAACI,OAAO,CAACc,KAAK,CAAC,CAAC;MAAEpB,eAAe,CAAC,EAAE,CAAC;IAAE;EAAE,CAAC;AACtF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useBluetoothRuntime","useMeasurements","onResult","policy","maxResults","runtime","measurements","setMeasurements","useState","seen","useRef","Set","seenMeasurementKinds","seenDailyTotals","onResultRef","current","acceptsResult","useCallback","result","measurementTypeKey","String","data","has","add","temporal","end","Date","undefined","getTime","now","day","start","recordedAt","key","toISOString","slice","useEffect","subscribe","id","unsubscribe","event","kind","clear"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-measurements.ts"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,14 @@ import { useBluetoothRuntime } from "./runtime-context.js";
5
5
  export const useNearbyDevices = () => {
6
6
  const runtime = useBluetoothRuntime();
7
7
  const [, redraw] = React.useReducer(value => value + 1, 0);
8
- React.useEffect(() => runtime.subscribe("deviceFound", redraw), [runtime]);
8
+ React.useEffect(() => {
9
+ const unsubscribeFound = runtime.subscribe("deviceFound", redraw);
10
+ const unsubscribeStatus = runtime.subscribe("status", redraw);
11
+ return () => {
12
+ unsubscribeFound();
13
+ unsubscribeStatus();
14
+ };
15
+ }, [runtime]);
9
16
  return {
10
17
  devices: runtime.devices,
11
18
  pair: async id => {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useBluetoothRuntime","useNearbyDevices","runtime","redraw","useReducer","value","useEffect","subscribe","devices","pair","id","device","find","item","connect"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-nearby-devices.ts"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAI9B,SAAwBC,mBAAmB,QAAQ,sBAAmB;AAEtE,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAG3B;EACH,MAAMC,OAAO,GAAGF,mBAAmB,CAAC,CAAC;EACrC,MAAM,GAAGG,MAAM,CAAC,GAAGJ,KAAK,CAACK,UAAU,CAAEC,KAAK,IAAKA,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;EAE5DN,KAAK,CAACO,SAAS,CAAC,MAAMJ,OAAO,CAACK,SAAS,CAAC,aAAa,EAAEJ,MAAM,CAAC,EAAE,CAACD,OAAO,CAAC,CAAC;EAE1E,OAAO;IACLM,OAAO,EAAEN,OAAO,CAACM,OAAO;IACxBC,IAAI,EAAE,MAAOC,EAAE,IAAK;MAClB,MAAMC,MAAM,GAAGT,OAAO,CAACM,OAAO,CAACI,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACH,EAAE,KAAKA,EAAE,CAAC;MAE7D,IAAIC,MAAM,EAAE;QAAC,MAAMA,MAAM,CAACA,MAAM,CAACG,OAAO,CAAC,CAAC;MAAC;MAE3C,OAAOH,MAAM;IACf;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useBluetoothRuntime","useNearbyDevices","runtime","redraw","useReducer","value","useEffect","unsubscribeFound","subscribe","unsubscribeStatus","devices","pair","id","device","find","item","connect"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-nearby-devices.ts"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAI9B,SAAwBC,mBAAmB,QAAQ,sBAAmB;AAEtE,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAG3B;EACH,MAAMC,OAAO,GAAGF,mBAAmB,CAAC,CAAC;EACrC,MAAM,GAAGG,MAAM,CAAC,GAAGJ,KAAK,CAACK,UAAU,CAAEC,KAAK,IAAKA,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;EAE5DN,KAAK,CAACO,SAAS,CAAC,MAAM;IACpB,MAAMC,gBAAgB,GAAGL,OAAO,CAACM,SAAS,CAAC,aAAa,EAAEL,MAAM,CAAC;IACjE,MAAMM,iBAAiB,GAAGP,OAAO,CAACM,SAAS,CAAC,QAAQ,EAAEL,MAAM,CAAC;IAE7D,OAAO,MAAM;MACXI,gBAAgB,CAAC,CAAC;MAClBE,iBAAiB,CAAC,CAAC;IACrB,CAAC;EACH,CAAC,EAAE,CAACP,OAAO,CAAC,CAAC;EAEb,OAAO;IACLQ,OAAO,EAAER,OAAO,CAACQ,OAAO;IACxBC,IAAI,EAAE,MAAOC,EAAE,IAAK;MAClB,MAAMC,MAAM,GAAGX,OAAO,CAACQ,OAAO,CAACI,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACH,EAAE,KAAKA,EAAE,CAAC;MAE7D,IAAIC,MAAM,EAAE;QAAC,MAAMA,MAAM,CAACA,MAAM,CAACG,OAAO,CAAC,CAAC;MAAC;MAE3C,OAAOH,MAAM;IACf;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -10,21 +10,36 @@ export const usePairedDevices = ({
10
10
  autoPair = false
11
11
  }) => {
12
12
  const runtime = useBluetoothRuntime();
13
- const [paired, setPaired] = React.useState([]);
13
+ const [paired, setPaired] = React.useState(() => runtime.getPairedDeviceIds(storageKey) ?? []);
14
+ const pairedRef = React.useRef(paired);
14
15
  const save = React.useCallback(async next => {
16
+ pairedRef.current = next;
15
17
  setPaired(next);
18
+ runtime.setPairedDeviceIds(storageKey, next);
16
19
  await storage.setItem(storageKey, JSON.stringify(next));
17
- }, [storage, storageKey]);
20
+ }, [runtime, storage, storageKey]);
21
+ React.useEffect(() => runtime.subscribe("pairedDevices", event => {
22
+ if (event.storageKey !== storageKey) {
23
+ return;
24
+ }
25
+ const next = runtime.getPairedDeviceIds(storageKey) ?? [];
26
+ pairedRef.current = next;
27
+ setPaired(next);
28
+ }), [runtime, storageKey]);
18
29
  React.useEffect(() => {
19
- void storage.getItem(storageKey).then(value => {
30
+ void runtime.loadPairedDeviceIds(storageKey, async () => {
31
+ const value = await storage.getItem(storageKey);
20
32
  try {
21
33
  const parsed = value ? JSON.parse(value) : [];
22
- setPaired(Array.isArray(parsed) ? parsed.filter(id => typeof id === "string") : []);
34
+ return Array.isArray(parsed) ? parsed.filter(id => typeof id === "string") : [];
23
35
  } catch {
24
- setPaired([]);
36
+ return [];
25
37
  }
38
+ }).then(next => {
39
+ pairedRef.current = next;
40
+ setPaired(next);
26
41
  });
27
- }, [storage, storageKey]);
42
+ }, [runtime, storage, storageKey]);
28
43
  React.useEffect(() => {
29
44
  if (!autoPair) {
30
45
  return;
@@ -33,10 +48,13 @@ export const usePairedDevices = ({
33
48
  }, [autoPair, paired, runtime, runtime.devices]);
34
49
  return {
35
50
  paired,
36
- pair: device => save([...new Set([...paired, device.id])]),
51
+ pair: device => save([...new Set([...pairedRef.current, device.id])]),
37
52
  forget: async id => {
38
- await runtime.manager?.forget(id);
39
- await save(paired.filter(candidate => candidate !== id));
53
+ if (!runtime.manager) {
54
+ throw new Error("Bluetooth manager is not ready; try forgetting the device again.");
55
+ }
56
+ await runtime.manager.forget(id);
57
+ await save(pairedRef.current.filter(candidate => candidate !== id));
40
58
  }
41
59
  };
42
60
  };
@@ -1 +1 @@
1
- {"version":3,"names":["React","useBluetoothRuntime","usePairedDevices","storage","storageKey","autoPair","runtime","paired","setPaired","useState","save","useCallback","next","setItem","JSON","stringify","useEffect","getItem","then","value","parsed","parse","Array","isArray","filter","id","devices","device","includes","forEach","connect","pair","Set","forget","manager","candidate"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-paired-devices.ts"],"mappings":";;AAAA;;AAEA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAAwBC,mBAAmB,QAAQ,sBAAmB;AAatE,OAAO,MAAMC,gBAAgB,GAAGA,CAAC;EAC/BC,OAAO;EACPC,UAAU,GAAG,6BAA6B;EAC1CC,QAAQ,GAAG;AACY,CAAC,KAIrB;EACH,MAAMC,OAAO,GAAGL,mBAAmB,CAAC,CAAC;EACrC,MAAM,CAACM,MAAM,EAAEC,SAAS,CAAC,GAAGR,KAAK,CAACS,QAAQ,CAAoB,EAAE,CAAC;EAEjE,MAAMC,IAAI,GAAGV,KAAK,CAACW,WAAW,CAC5B,MAAOC,IAAuB,IAAK;IACjCJ,SAAS,CAACI,IAAI,CAAC;IACf,MAAMT,OAAO,CAACU,OAAO,CAACT,UAAU,EAAEU,IAAI,CAACC,SAAS,CAACH,IAAI,CAAC,CAAC;EACzD,CAAC,EACD,CAACT,OAAO,EAAEC,UAAU,CACtB,CAAC;EAEDJ,KAAK,CAACgB,SAAS,CAAC,MAAM;IACpB,KAAKb,OAAO,CAACc,OAAO,CAACb,UAAU,CAAC,CAACc,IAAI,CAAEC,KAAK,IAAK;MAC/C,IAAI;QACF,MAAMC,MAAe,GAAGD,KAAK,GAAGL,IAAI,CAACO,KAAK,CAACF,KAAK,CAAC,GAAG,EAAE;QAEtDX,SAAS,CAACc,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC,GAAGA,MAAM,CAACI,MAAM,CAAEC,EAAE,IAAK,OAAOA,EAAE,KAAK,QAAQ,CAAC,GAAG,EAAE,CAAC;MACvF,CAAC,CAAC,MAAM;QACNjB,SAAS,CAAC,EAAE,CAAC;MACf;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACL,OAAO,EAAEC,UAAU,CAAC,CAAC;EAEzBJ,KAAK,CAACgB,SAAS,CAAC,MAAM;IACpB,IAAI,CAACX,QAAQ,EAAE;MAAC;IAAO;IACvBC,OAAO,CAACoB,OAAO,CACZF,MAAM,CAAEG,MAAM,IAAKpB,MAAM,CAACqB,QAAQ,CAACD,MAAM,CAACF,EAAE,CAAC,CAAC,CAC9CI,OAAO,CAAEF,MAAM,IAAK,KAAKA,MAAM,CAACA,MAAM,CAACG,OAAO,CAAC,CAAC,CAAC;EACtD,CAAC,EAAE,CAACzB,QAAQ,EAAEE,MAAM,EAAED,OAAO,EAAEA,OAAO,CAACoB,OAAO,CAAC,CAAC;EAEhD,OAAO;IACLnB,MAAM;IACNwB,IAAI,EAAGJ,MAAM,IAAKjB,IAAI,CAAC,CAAC,GAAG,IAAIsB,GAAG,CAAC,CAAC,GAAGzB,MAAM,EAAEoB,MAAM,CAACF,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5DQ,MAAM,EAAE,MAAOR,EAAE,IAAK;MACpB,MAAMnB,OAAO,CAAC4B,OAAO,EAAED,MAAM,CAACR,EAAE,CAAC;MACjC,MAAMf,IAAI,CAACH,MAAM,CAACiB,MAAM,CAAEW,SAAS,IAAKA,SAAS,KAAKV,EAAE,CAAC,CAAC;IAC5D;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useBluetoothRuntime","usePairedDevices","storage","storageKey","autoPair","runtime","paired","setPaired","useState","getPairedDeviceIds","pairedRef","useRef","save","useCallback","next","current","setPairedDeviceIds","setItem","JSON","stringify","useEffect","subscribe","event","loadPairedDeviceIds","value","getItem","parsed","parse","Array","isArray","filter","id","then","devices","device","includes","forEach","connect","pair","Set","forget","manager","Error","candidate"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-paired-devices.ts"],"mappings":"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","ignoreList":[]}
@@ -15,17 +15,14 @@ export const useRequestPermissions = ({
15
15
  }, []);
16
16
  React.useEffect(() => {
17
17
  const requestPermissions = async () => {
18
- const permissions = Platform.select({
19
- android: [PERMISSIONS.ANDROID.BLUETOOTH_CONNECT, PERMISSIONS.ANDROID.BLUETOOTH_SCAN, PERMISSIONS.ANDROID.ACCESS_FINE_LOCATION],
20
- ios: [PERMISSIONS.IOS.BLUETOOTH]
21
- });
18
+ const requestedPermissions = Platform.OS === "android" ? Number(Platform.Version) >= 31 ? [PERMISSIONS.ANDROID.BLUETOOTH_CONNECT, PERMISSIONS.ANDROID.BLUETOOTH_SCAN] : [PERMISSIONS.ANDROID.ACCESS_FINE_LOCATION] : [PERMISSIONS.IOS.BLUETOOTH];
22
19
  sentryLogger("info", "BT_PROVIDER: Permissions requesting", {
23
- permissions
20
+ permissions: requestedPermissions
24
21
  });
25
- requestMultiple(permissions).then(permissions => {
26
- const allGranted = Object.values(permissions).some(permission => permission === "granted");
22
+ requestMultiple(requestedPermissions).then(grantedPermissions => {
23
+ const allGranted = requestedPermissions.every(permission => grantedPermissions[permission] === "granted");
27
24
  sentryLogger("info", "BT_PROVIDER: Permissions requested", {
28
- permissions,
25
+ permissions: grantedPermissions,
29
26
  allGranted
30
27
  });
31
28
  onChangeRef.current?.(allGranted);