@ovok/native 1.10.3 → 1.10.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (503) hide show
  1. package/lib/commonjs/modules/auth/default-translation.js +21 -0
  2. package/lib/commonjs/modules/auth/default-translation.js.map +1 -1
  3. package/lib/commonjs/modules/auth/hooks/use-delete-account.js +1 -1
  4. package/lib/commonjs/modules/auth/hooks/use-delete-account.js.map +1 -1
  5. package/lib/commonjs/modules/auth/hooks/use-session.js +5 -0
  6. package/lib/commonjs/modules/auth/hooks/use-session.js.map +1 -1
  7. package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js +1 -0
  8. package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js.map +1 -1
  9. package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js +1 -0
  10. package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
  11. package/lib/commonjs/modules/auth/session/logout-session.js +6 -1
  12. package/lib/commonjs/modules/auth/session/logout-session.js.map +1 -1
  13. package/lib/commonjs/modules/auth/session/session-store-refresh.js +130 -0
  14. package/lib/commonjs/modules/auth/session/session-store-refresh.js.map +1 -0
  15. package/lib/commonjs/modules/auth/session/session-store-request-state.js +73 -0
  16. package/lib/commonjs/modules/auth/session/session-store-request-state.js.map +1 -0
  17. package/lib/commonjs/modules/auth/session/session-store-types.js.map +1 -1
  18. package/lib/commonjs/modules/auth/session/session-store.js +69 -120
  19. package/lib/commonjs/modules/auth/session/session-store.js.map +1 -1
  20. package/lib/commonjs/modules/auth/utils/sign-in-error.js +4 -2
  21. package/lib/commonjs/modules/auth/utils/sign-in-error.js.map +1 -1
  22. package/lib/commonjs/modules/data-sync/components/apple/apple-health-authorization-provider.js.map +1 -1
  23. package/lib/commonjs/modules/data-sync/hooks/use-listen-changes.js.map +1 -1
  24. package/lib/commonjs/modules/data-sync/services/apple-health-sync-service.js.map +1 -1
  25. package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js +47 -21
  26. package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
  27. package/lib/commonjs/modules/data-sync/utils/convert-records-to-observation.js +19 -16
  28. package/lib/commonjs/modules/data-sync/utils/convert-records-to-observation.js.map +1 -1
  29. package/lib/commonjs/modules/data-sync/utils/convert-samples-to-observation.js +17 -4
  30. package/lib/commonjs/modules/data-sync/utils/convert-samples-to-observation.js.map +1 -1
  31. package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
  32. package/lib/commonjs/modules/data-sync/utils/get-total-samples-count.js.map +1 -1
  33. package/lib/commonjs/modules/data-sync/utils/health-data-catalog.js +168 -5
  34. package/lib/commonjs/modules/data-sync/utils/health-data-catalog.js.map +1 -1
  35. package/lib/commonjs/modules/data-sync/utils/health-record-timing.js +52 -0
  36. package/lib/commonjs/modules/data-sync/utils/health-record-timing.js.map +1 -0
  37. package/lib/commonjs/modules/data-sync/utils/healthkit-data-types.js.map +1 -1
  38. package/lib/commonjs/modules/data-sync/utils/normalize-core-health-observation.js +74 -0
  39. package/lib/commonjs/modules/data-sync/utils/normalize-core-health-observation.js.map +1 -0
  40. package/lib/commonjs/modules/helpers/form-items/form-field.js +12 -3
  41. package/lib/commonjs/modules/helpers/form-items/form-field.js.map +1 -1
  42. package/lib/commonjs/modules/picker-sheet/components/value-wheel-picker.js +41 -0
  43. package/lib/commonjs/modules/picker-sheet/components/value-wheel-picker.js.map +1 -0
  44. package/lib/commonjs/modules/picker-sheet/components/wheel-picker.js +56 -15
  45. package/lib/commonjs/modules/picker-sheet/components/wheel-picker.js.map +1 -1
  46. package/lib/commonjs/modules/picker-sheet/index.js +11 -0
  47. package/lib/commonjs/modules/picker-sheet/index.js.map +1 -1
  48. package/lib/commonjs/modules/questionnaire-response-form/README.md +82 -23
  49. package/lib/commonjs/modules/questionnaire-response-form/components/content/questionnaire-content-item.js +8 -0
  50. package/lib/commonjs/modules/questionnaire-response-form/components/content/questionnaire-content-item.js.map +1 -1
  51. package/lib/commonjs/modules/questionnaire-response-form/components/content/questionnaire-content-specific-item.js +8 -0
  52. package/lib/commonjs/modules/questionnaire-response-form/components/content/questionnaire-content-specific-item.js.map +1 -1
  53. package/lib/commonjs/modules/questionnaire-response-form/components/fields/common/questionnaire-field-wrapper.js +8 -3
  54. package/lib/commonjs/modules/questionnaire-response-form/components/fields/common/questionnaire-field-wrapper.js.map +1 -1
  55. package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-choice-field.js +9 -3
  56. package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-choice-field.js.map +1 -1
  57. package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-date-field.js +18 -8
  58. package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-date-field.js.map +1 -1
  59. package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.js +41 -2
  60. package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.js.map +1 -1
  61. package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-text-field.js +43 -5
  62. package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-text-field.js.map +1 -1
  63. package/lib/commonjs/modules/questionnaire-response-form/components/header/questionnaire-header-title.js +3 -1
  64. package/lib/commonjs/modules/questionnaire-response-form/components/header/questionnaire-header-title.js.map +1 -1
  65. package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form-provider.js +52 -13
  66. package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form-provider.js.map +1 -1
  67. package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form.js +1 -0
  68. package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form.js.map +1 -1
  69. package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js +9 -3
  70. package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js.map +1 -1
  71. package/lib/commonjs/modules/questionnaire-response-form/hooks/use-initial-selected-values.js +5 -3
  72. package/lib/commonjs/modules/questionnaire-response-form/hooks/use-initial-selected-values.js.map +1 -1
  73. package/lib/commonjs/modules/questionnaire-response-form/hooks/use-navigation-handlers.js +15 -4
  74. package/lib/commonjs/modules/questionnaire-response-form/hooks/use-navigation-handlers.js.map +1 -1
  75. package/lib/commonjs/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.js +14 -7
  76. package/lib/commonjs/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.js.map +1 -1
  77. package/lib/commonjs/modules/questionnaire-response-form/index.js +20 -0
  78. package/lib/commonjs/modules/questionnaire-response-form/index.js.map +1 -1
  79. package/lib/commonjs/modules/questionnaire-response-form/types/questionnaire-form-values.js +4 -0
  80. package/lib/commonjs/modules/questionnaire-response-form/types/questionnaire-item-render-props.js +6 -0
  81. package/lib/commonjs/modules/questionnaire-response-form/types/questionnaire-item-render-props.js.map +1 -0
  82. package/lib/commonjs/modules/questionnaire-response-form/types/response-values.js +4 -0
  83. package/lib/commonjs/modules/questionnaire-response-form/utils/condition-utils.js +37 -6
  84. package/lib/commonjs/modules/questionnaire-response-form/utils/condition-utils.js.map +1 -1
  85. package/lib/commonjs/modules/questionnaire-response-form/utils/conditions/fhir-condition.js +148 -0
  86. package/lib/commonjs/modules/questionnaire-response-form/utils/conditions/fhir-condition.js.map +1 -0
  87. package/lib/commonjs/modules/questionnaire-response-form/utils/create-answer-from-value.js +127 -0
  88. package/lib/commonjs/modules/questionnaire-response-form/utils/create-answer-from-value.js.map +1 -0
  89. package/lib/commonjs/modules/questionnaire-response-form/utils/fields/get-option-text.js +4 -3
  90. package/lib/commonjs/modules/questionnaire-response-form/utils/fields/get-option-text.js.map +1 -1
  91. package/lib/commonjs/modules/questionnaire-response-form/utils/form-utils.js +71 -64
  92. package/lib/commonjs/modules/questionnaire-response-form/utils/form-utils.js.map +1 -1
  93. package/lib/commonjs/modules/questionnaire-response-form/utils/form-validation.js +23 -5
  94. package/lib/commonjs/modules/questionnaire-response-form/utils/form-validation.js.map +1 -1
  95. package/lib/commonjs/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.js +10 -0
  96. package/lib/commonjs/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.js.map +1 -0
  97. package/lib/commonjs/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.js +83 -0
  98. package/lib/commonjs/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.js.map +1 -0
  99. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-date-utils.js +54 -0
  100. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-date-utils.js.map +1 -0
  101. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-item-constraints.js +75 -0
  102. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-item-constraints.js.map +1 -0
  103. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.js +63 -0
  104. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.js.map +1 -0
  105. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.js +49 -18
  106. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.js.map +1 -1
  107. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-picker-options.js +117 -0
  108. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-picker-options.js.map +1 -0
  109. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.js +109 -0
  110. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.js.map +1 -0
  111. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-submit-utils.js +77 -2
  112. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-submit-utils.js.map +1 -1
  113. package/lib/commonjs/modules/questionnaire-response-form/utils/translate-fhir-text.js +36 -0
  114. package/lib/commonjs/modules/questionnaire-response-form/utils/translate-fhir-text.js.map +1 -0
  115. package/lib/commonjs/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.js +49 -0
  116. package/lib/commonjs/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.js.map +1 -0
  117. package/lib/commonjs/modules/ui/components/prerequisite-gate.js +73 -0
  118. package/lib/commonjs/modules/ui/components/prerequisite-gate.js.map +1 -0
  119. package/lib/commonjs/modules/ui/index.js +11 -0
  120. package/lib/commonjs/modules/ui/index.js.map +1 -1
  121. package/lib/commonjs/polyfills/index.js +9 -7
  122. package/lib/commonjs/polyfills/index.js.map +1 -1
  123. package/lib/module/modules/auth/default-translation.js +21 -0
  124. package/lib/module/modules/auth/default-translation.js.map +1 -1
  125. package/lib/module/modules/auth/hooks/use-delete-account.js +1 -1
  126. package/lib/module/modules/auth/hooks/use-delete-account.js.map +1 -1
  127. package/lib/module/modules/auth/hooks/use-session.js +5 -0
  128. package/lib/module/modules/auth/hooks/use-session.js.map +1 -1
  129. package/lib/module/modules/auth/register/components/form/register-form-provider.js +1 -0
  130. package/lib/module/modules/auth/register/components/form/register-form-provider.js.map +1 -1
  131. package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js +1 -0
  132. package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
  133. package/lib/module/modules/auth/session/logout-session.js +6 -1
  134. package/lib/module/modules/auth/session/logout-session.js.map +1 -1
  135. package/lib/module/modules/auth/session/session-store-refresh.js +126 -0
  136. package/lib/module/modules/auth/session/session-store-refresh.js.map +1 -0
  137. package/lib/module/modules/auth/session/session-store-request-state.js +69 -0
  138. package/lib/module/modules/auth/session/session-store-request-state.js.map +1 -0
  139. package/lib/module/modules/auth/session/session-store-types.js.map +1 -1
  140. package/lib/module/modules/auth/session/session-store.js +70 -121
  141. package/lib/module/modules/auth/session/session-store.js.map +1 -1
  142. package/lib/module/modules/auth/utils/sign-in-error.js +4 -2
  143. package/lib/module/modules/auth/utils/sign-in-error.js.map +1 -1
  144. package/lib/module/modules/data-sync/components/apple/apple-health-authorization-provider.js.map +1 -1
  145. package/lib/module/modules/data-sync/hooks/use-listen-changes.js.map +1 -1
  146. package/lib/module/modules/data-sync/services/apple-health-sync-service.js.map +1 -1
  147. package/lib/module/modules/data-sync/utils/convert-generic-health-data.js +47 -21
  148. package/lib/module/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
  149. package/lib/module/modules/data-sync/utils/convert-records-to-observation.js +19 -16
  150. package/lib/module/modules/data-sync/utils/convert-records-to-observation.js.map +1 -1
  151. package/lib/module/modules/data-sync/utils/convert-samples-to-observation.js +17 -4
  152. package/lib/module/modules/data-sync/utils/convert-samples-to-observation.js.map +1 -1
  153. package/lib/module/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
  154. package/lib/module/modules/data-sync/utils/get-total-samples-count.js.map +1 -1
  155. package/lib/module/modules/data-sync/utils/health-data-catalog.js +168 -5
  156. package/lib/module/modules/data-sync/utils/health-data-catalog.js.map +1 -1
  157. package/lib/module/modules/data-sync/utils/health-record-timing.js +47 -0
  158. package/lib/module/modules/data-sync/utils/health-record-timing.js.map +1 -0
  159. package/lib/module/modules/data-sync/utils/healthkit-data-types.js.map +1 -1
  160. package/lib/module/modules/data-sync/utils/normalize-core-health-observation.js +69 -0
  161. package/lib/module/modules/data-sync/utils/normalize-core-health-observation.js.map +1 -0
  162. package/lib/module/modules/helpers/form-items/form-field.js +12 -3
  163. package/lib/module/modules/helpers/form-items/form-field.js.map +1 -1
  164. package/lib/module/modules/picker-sheet/components/value-wheel-picker.js +36 -0
  165. package/lib/module/modules/picker-sheet/components/value-wheel-picker.js.map +1 -0
  166. package/lib/module/modules/picker-sheet/components/wheel-picker.js +56 -15
  167. package/lib/module/modules/picker-sheet/components/wheel-picker.js.map +1 -1
  168. package/lib/module/modules/picker-sheet/index.js +1 -0
  169. package/lib/module/modules/picker-sheet/index.js.map +1 -1
  170. package/lib/module/modules/questionnaire-response-form/README.md +82 -23
  171. package/lib/module/modules/questionnaire-response-form/components/content/questionnaire-content-item.js +8 -0
  172. package/lib/module/modules/questionnaire-response-form/components/content/questionnaire-content-item.js.map +1 -1
  173. package/lib/module/modules/questionnaire-response-form/components/content/questionnaire-content-specific-item.js +8 -0
  174. package/lib/module/modules/questionnaire-response-form/components/content/questionnaire-content-specific-item.js.map +1 -1
  175. package/lib/module/modules/questionnaire-response-form/components/fields/common/questionnaire-field-wrapper.js +8 -3
  176. package/lib/module/modules/questionnaire-response-form/components/fields/common/questionnaire-field-wrapper.js.map +1 -1
  177. package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-choice-field.js +9 -3
  178. package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-choice-field.js.map +1 -1
  179. package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-date-field.js +18 -8
  180. package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-date-field.js.map +1 -1
  181. package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.js +42 -3
  182. package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.js.map +1 -1
  183. package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-text-field.js +41 -3
  184. package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-text-field.js.map +1 -1
  185. package/lib/module/modules/questionnaire-response-form/components/header/questionnaire-header-title.js +3 -1
  186. package/lib/module/modules/questionnaire-response-form/components/header/questionnaire-header-title.js.map +1 -1
  187. package/lib/module/modules/questionnaire-response-form/components/questionnaire-form-provider.js +52 -13
  188. package/lib/module/modules/questionnaire-response-form/components/questionnaire-form-provider.js.map +1 -1
  189. package/lib/module/modules/questionnaire-response-form/components/questionnaire-form.js +1 -0
  190. package/lib/module/modules/questionnaire-response-form/components/questionnaire-form.js.map +1 -1
  191. package/lib/module/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js +9 -3
  192. package/lib/module/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js.map +1 -1
  193. package/lib/module/modules/questionnaire-response-form/hooks/use-initial-selected-values.js +5 -3
  194. package/lib/module/modules/questionnaire-response-form/hooks/use-initial-selected-values.js.map +1 -1
  195. package/lib/module/modules/questionnaire-response-form/hooks/use-navigation-handlers.js +15 -4
  196. package/lib/module/modules/questionnaire-response-form/hooks/use-navigation-handlers.js.map +1 -1
  197. package/lib/module/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.js +14 -7
  198. package/lib/module/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.js.map +1 -1
  199. package/lib/module/modules/questionnaire-response-form/index.js +2 -0
  200. package/lib/module/modules/questionnaire-response-form/index.js.map +1 -1
  201. package/lib/module/modules/questionnaire-response-form/types/questionnaire-form-values.js +2 -0
  202. package/lib/module/modules/questionnaire-response-form/types/questionnaire-item-render-props.js +4 -0
  203. package/lib/module/modules/questionnaire-response-form/types/questionnaire-item-render-props.js.map +1 -0
  204. package/lib/module/modules/questionnaire-response-form/types/response-values.js +2 -0
  205. package/lib/module/modules/questionnaire-response-form/utils/condition-utils.js +37 -6
  206. package/lib/module/modules/questionnaire-response-form/utils/condition-utils.js.map +1 -1
  207. package/lib/module/modules/questionnaire-response-form/utils/conditions/fhir-condition.js +140 -0
  208. package/lib/module/modules/questionnaire-response-form/utils/conditions/fhir-condition.js.map +1 -0
  209. package/lib/module/modules/questionnaire-response-form/utils/create-answer-from-value.js +122 -0
  210. package/lib/module/modules/questionnaire-response-form/utils/create-answer-from-value.js.map +1 -0
  211. package/lib/module/modules/questionnaire-response-form/utils/fields/get-option-text.js +4 -3
  212. package/lib/module/modules/questionnaire-response-form/utils/fields/get-option-text.js.map +1 -1
  213. package/lib/module/modules/questionnaire-response-form/utils/form-utils.js +71 -64
  214. package/lib/module/modules/questionnaire-response-form/utils/form-utils.js.map +1 -1
  215. package/lib/module/modules/questionnaire-response-form/utils/form-validation.js +23 -5
  216. package/lib/module/modules/questionnaire-response-form/utils/form-validation.js.map +1 -1
  217. package/lib/module/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.js +5 -0
  218. package/lib/module/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.js.map +1 -0
  219. package/lib/module/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.js +77 -0
  220. package/lib/module/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.js.map +1 -0
  221. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-date-utils.js +49 -0
  222. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-date-utils.js.map +1 -0
  223. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-item-constraints.js +71 -0
  224. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-item-constraints.js.map +1 -0
  225. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.js +57 -0
  226. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.js.map +1 -0
  227. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.js +49 -18
  228. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.js.map +1 -1
  229. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-picker-options.js +112 -0
  230. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-picker-options.js.map +1 -0
  231. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.js +105 -0
  232. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.js.map +1 -0
  233. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-submit-utils.js +77 -2
  234. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-submit-utils.js.map +1 -1
  235. package/lib/module/modules/questionnaire-response-form/utils/translate-fhir-text.js +31 -0
  236. package/lib/module/modules/questionnaire-response-form/utils/translate-fhir-text.js.map +1 -0
  237. package/lib/module/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.js +44 -0
  238. package/lib/module/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.js.map +1 -0
  239. package/lib/module/modules/ui/components/prerequisite-gate.js +67 -0
  240. package/lib/module/modules/ui/components/prerequisite-gate.js.map +1 -0
  241. package/lib/module/modules/ui/index.js +1 -0
  242. package/lib/module/modules/ui/index.js.map +1 -1
  243. package/lib/module/polyfills/index.js +11 -1
  244. package/lib/module/polyfills/index.js.map +1 -1
  245. package/lib/typescript/commonjs/src/modules/auth/default-translation.d.ts +21 -0
  246. package/lib/typescript/commonjs/src/modules/auth/default-translation.d.ts.map +1 -1
  247. package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts +6 -1
  248. package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts.map +1 -1
  249. package/lib/typescript/commonjs/src/modules/auth/register/components/form/register-form-provider.d.ts.map +1 -1
  250. package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
  251. package/lib/typescript/commonjs/src/modules/auth/session/logout-session.d.ts +4 -2
  252. package/lib/typescript/commonjs/src/modules/auth/session/logout-session.d.ts.map +1 -1
  253. package/lib/typescript/commonjs/src/modules/auth/session/session-store-refresh.d.ts +8 -0
  254. package/lib/typescript/commonjs/src/modules/auth/session/session-store-refresh.d.ts.map +1 -0
  255. package/lib/typescript/commonjs/src/modules/auth/session/session-store-request-state.d.ts +23 -0
  256. package/lib/typescript/commonjs/src/modules/auth/session/session-store-request-state.d.ts.map +1 -0
  257. package/lib/typescript/commonjs/src/modules/auth/session/session-store-types.d.ts +10 -2
  258. package/lib/typescript/commonjs/src/modules/auth/session/session-store-types.d.ts.map +1 -1
  259. package/lib/typescript/commonjs/src/modules/auth/session/session-store.d.ts +1 -1
  260. package/lib/typescript/commonjs/src/modules/auth/session/session-store.d.ts.map +1 -1
  261. package/lib/typescript/commonjs/src/modules/auth/utils/sign-in-error.d.ts +2 -1
  262. package/lib/typescript/commonjs/src/modules/auth/utils/sign-in-error.d.ts.map +1 -1
  263. package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-authorization-provider.d.ts.map +1 -1
  264. package/lib/typescript/commonjs/src/modules/data-sync/hooks/use-listen-changes.d.ts +2 -3
  265. package/lib/typescript/commonjs/src/modules/data-sync/hooks/use-listen-changes.d.ts.map +1 -1
  266. package/lib/typescript/commonjs/src/modules/data-sync/services/apple-health-sync-service.d.ts +4 -5
  267. package/lib/typescript/commonjs/src/modules/data-sync/services/apple-health-sync-service.d.ts.map +1 -1
  268. package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-authorization-provider-props.d.ts +4 -2
  269. package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-authorization-provider-props.d.ts.map +1 -1
  270. package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-sync-props.d.ts +7 -1
  271. package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-sync-props.d.ts.map +1 -1
  272. package/lib/typescript/commonjs/src/modules/data-sync/types/health-authorization-status.d.ts +2 -1
  273. package/lib/typescript/commonjs/src/modules/data-sync/types/health-authorization-status.d.ts.map +1 -1
  274. package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-generic-health-data.d.ts +3 -2
  275. package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
  276. package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-records-to-observation.d.ts.map +1 -1
  277. package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-samples-to-observation.d.ts.map +1 -1
  278. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts +5 -4
  279. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
  280. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-total-samples-count.d.ts +2 -2
  281. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-total-samples-count.d.ts.map +1 -1
  282. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-data-catalog.d.ts +3 -1
  283. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-data-catalog.d.ts.map +1 -1
  284. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-record-timing.d.ts +10 -0
  285. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-record-timing.d.ts.map +1 -0
  286. package/lib/typescript/commonjs/src/modules/data-sync/utils/healthkit-data-types.d.ts +6 -5
  287. package/lib/typescript/commonjs/src/modules/data-sync/utils/healthkit-data-types.d.ts.map +1 -1
  288. package/lib/typescript/commonjs/src/modules/data-sync/utils/normalize-core-health-observation.d.ts +13 -0
  289. package/lib/typescript/commonjs/src/modules/data-sync/utils/normalize-core-health-observation.d.ts.map +1 -0
  290. package/lib/typescript/commonjs/src/modules/helpers/form-items/form-field.d.ts.map +1 -1
  291. package/lib/typescript/commonjs/src/modules/picker-sheet/components/value-wheel-picker.d.ts +21 -0
  292. package/lib/typescript/commonjs/src/modules/picker-sheet/components/value-wheel-picker.d.ts.map +1 -0
  293. package/lib/typescript/commonjs/src/modules/picker-sheet/components/wheel-picker.d.ts +7 -3
  294. package/lib/typescript/commonjs/src/modules/picker-sheet/components/wheel-picker.d.ts.map +1 -1
  295. package/lib/typescript/commonjs/src/modules/picker-sheet/index.d.ts +1 -0
  296. package/lib/typescript/commonjs/src/modules/picker-sheet/index.d.ts.map +1 -1
  297. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/content/questionnaire-content-item.d.ts.map +1 -1
  298. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/content/questionnaire-content-specific-item.d.ts.map +1 -1
  299. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/common/questionnaire-field-wrapper.d.ts.map +1 -1
  300. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/questionnaire-choice-field.d.ts.map +1 -1
  301. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/questionnaire-date-field.d.ts +3 -1
  302. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/questionnaire-date-field.d.ts.map +1 -1
  303. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.d.ts +9 -3
  304. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.d.ts.map +1 -1
  305. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/questionnaire-text-field.d.ts +5 -1
  306. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/questionnaire-text-field.d.ts.map +1 -1
  307. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/header/questionnaire-header-title.d.ts.map +1 -1
  308. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts +1 -1
  309. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts.map +1 -1
  310. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-form.d.ts.map +1 -1
  311. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-navigation-provider.d.ts.map +1 -1
  312. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-initial-selected-values.d.ts.map +1 -1
  313. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts +6 -1
  314. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts.map +1 -1
  315. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.d.ts +2 -1
  316. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.d.ts.map +1 -1
  317. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/index.d.ts +4 -1
  318. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/index.d.ts.map +1 -1
  319. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/extended-questionnaire-item.d.ts +7 -1
  320. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/extended-questionnaire-item.d.ts.map +1 -1
  321. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts +6 -0
  322. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts.map +1 -1
  323. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-props.d.ts +3 -1
  324. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-props.d.ts.map +1 -1
  325. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-provider-props.d.ts +11 -0
  326. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-provider-props.d.ts.map +1 -1
  327. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-values.d.ts +5 -2
  328. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-values.d.ts.map +1 -1
  329. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-item-render-props.d.ts +15 -0
  330. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-item-render-props.d.ts.map +1 -0
  331. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts +5 -0
  332. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts.map +1 -1
  333. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/response-values.d.ts +2 -1
  334. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/response-values.d.ts.map +1 -1
  335. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/condition-utils.d.ts.map +1 -1
  336. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/conditions/fhir-condition.d.ts +9 -0
  337. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/conditions/fhir-condition.d.ts.map +1 -0
  338. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/create-answer-from-value.d.ts +7 -0
  339. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/create-answer-from-value.d.ts.map +1 -0
  340. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/fields/get-option-text.d.ts +1 -1
  341. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/fields/get-option-text.d.ts.map +1 -1
  342. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/form-utils.d.ts +4 -1
  343. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/form-utils.d.ts.map +1 -1
  344. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/form-validation.d.ts +4 -1
  345. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/form-validation.d.ts.map +1 -1
  346. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.d.ts +3 -0
  347. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.d.ts.map +1 -0
  348. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.d.ts +8 -0
  349. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.d.ts.map +1 -0
  350. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-date-utils.d.ts +5 -0
  351. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-date-utils.d.ts.map +1 -0
  352. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-item-constraints.d.ts +22 -0
  353. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-item-constraints.d.ts.map +1 -0
  354. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.d.ts +10 -0
  355. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.d.ts.map +1 -0
  356. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.d.ts +2 -1
  357. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.d.ts.map +1 -1
  358. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-picker-options.d.ts +15 -0
  359. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-picker-options.d.ts.map +1 -0
  360. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.d.ts +5 -0
  361. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.d.ts.map +1 -0
  362. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-submit-utils.d.ts +6 -1
  363. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-submit-utils.d.ts.map +1 -1
  364. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/translate-fhir-text.d.ts +4 -0
  365. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/translate-fhir-text.d.ts.map +1 -0
  366. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.d.ts +6 -0
  367. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.d.ts.map +1 -0
  368. package/lib/typescript/commonjs/src/modules/ui/components/prerequisite-gate.d.ts +19 -0
  369. package/lib/typescript/commonjs/src/modules/ui/components/prerequisite-gate.d.ts.map +1 -0
  370. package/lib/typescript/commonjs/src/modules/ui/index.d.ts +1 -0
  371. package/lib/typescript/commonjs/src/modules/ui/index.d.ts.map +1 -1
  372. package/lib/typescript/commonjs/src/polyfills/index.d.ts +7 -1
  373. package/lib/typescript/commonjs/src/polyfills/index.d.ts.map +1 -1
  374. package/lib/typescript/module/src/modules/auth/default-translation.d.ts +21 -0
  375. package/lib/typescript/module/src/modules/auth/default-translation.d.ts.map +1 -1
  376. package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts +6 -1
  377. package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts.map +1 -1
  378. package/lib/typescript/module/src/modules/auth/register/components/form/register-form-provider.d.ts.map +1 -1
  379. package/lib/typescript/module/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
  380. package/lib/typescript/module/src/modules/auth/session/logout-session.d.ts +4 -2
  381. package/lib/typescript/module/src/modules/auth/session/logout-session.d.ts.map +1 -1
  382. package/lib/typescript/module/src/modules/auth/session/session-store-refresh.d.ts +8 -0
  383. package/lib/typescript/module/src/modules/auth/session/session-store-refresh.d.ts.map +1 -0
  384. package/lib/typescript/module/src/modules/auth/session/session-store-request-state.d.ts +23 -0
  385. package/lib/typescript/module/src/modules/auth/session/session-store-request-state.d.ts.map +1 -0
  386. package/lib/typescript/module/src/modules/auth/session/session-store-types.d.ts +10 -2
  387. package/lib/typescript/module/src/modules/auth/session/session-store-types.d.ts.map +1 -1
  388. package/lib/typescript/module/src/modules/auth/session/session-store.d.ts +1 -1
  389. package/lib/typescript/module/src/modules/auth/session/session-store.d.ts.map +1 -1
  390. package/lib/typescript/module/src/modules/auth/utils/sign-in-error.d.ts +2 -1
  391. package/lib/typescript/module/src/modules/auth/utils/sign-in-error.d.ts.map +1 -1
  392. package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-authorization-provider.d.ts.map +1 -1
  393. package/lib/typescript/module/src/modules/data-sync/hooks/use-listen-changes.d.ts +2 -3
  394. package/lib/typescript/module/src/modules/data-sync/hooks/use-listen-changes.d.ts.map +1 -1
  395. package/lib/typescript/module/src/modules/data-sync/services/apple-health-sync-service.d.ts +4 -5
  396. package/lib/typescript/module/src/modules/data-sync/services/apple-health-sync-service.d.ts.map +1 -1
  397. package/lib/typescript/module/src/modules/data-sync/types/apple-health-authorization-provider-props.d.ts +4 -2
  398. package/lib/typescript/module/src/modules/data-sync/types/apple-health-authorization-provider-props.d.ts.map +1 -1
  399. package/lib/typescript/module/src/modules/data-sync/types/apple-health-sync-props.d.ts +7 -1
  400. package/lib/typescript/module/src/modules/data-sync/types/apple-health-sync-props.d.ts.map +1 -1
  401. package/lib/typescript/module/src/modules/data-sync/types/health-authorization-status.d.ts +2 -1
  402. package/lib/typescript/module/src/modules/data-sync/types/health-authorization-status.d.ts.map +1 -1
  403. package/lib/typescript/module/src/modules/data-sync/utils/convert-generic-health-data.d.ts +3 -2
  404. package/lib/typescript/module/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
  405. package/lib/typescript/module/src/modules/data-sync/utils/convert-records-to-observation.d.ts.map +1 -1
  406. package/lib/typescript/module/src/modules/data-sync/utils/convert-samples-to-observation.d.ts.map +1 -1
  407. package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts +5 -4
  408. package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
  409. package/lib/typescript/module/src/modules/data-sync/utils/get-total-samples-count.d.ts +2 -2
  410. package/lib/typescript/module/src/modules/data-sync/utils/get-total-samples-count.d.ts.map +1 -1
  411. package/lib/typescript/module/src/modules/data-sync/utils/health-data-catalog.d.ts +3 -1
  412. package/lib/typescript/module/src/modules/data-sync/utils/health-data-catalog.d.ts.map +1 -1
  413. package/lib/typescript/module/src/modules/data-sync/utils/health-record-timing.d.ts +10 -0
  414. package/lib/typescript/module/src/modules/data-sync/utils/health-record-timing.d.ts.map +1 -0
  415. package/lib/typescript/module/src/modules/data-sync/utils/healthkit-data-types.d.ts +6 -5
  416. package/lib/typescript/module/src/modules/data-sync/utils/healthkit-data-types.d.ts.map +1 -1
  417. package/lib/typescript/module/src/modules/data-sync/utils/normalize-core-health-observation.d.ts +13 -0
  418. package/lib/typescript/module/src/modules/data-sync/utils/normalize-core-health-observation.d.ts.map +1 -0
  419. package/lib/typescript/module/src/modules/helpers/form-items/form-field.d.ts.map +1 -1
  420. package/lib/typescript/module/src/modules/picker-sheet/components/value-wheel-picker.d.ts +21 -0
  421. package/lib/typescript/module/src/modules/picker-sheet/components/value-wheel-picker.d.ts.map +1 -0
  422. package/lib/typescript/module/src/modules/picker-sheet/components/wheel-picker.d.ts +7 -3
  423. package/lib/typescript/module/src/modules/picker-sheet/components/wheel-picker.d.ts.map +1 -1
  424. package/lib/typescript/module/src/modules/picker-sheet/index.d.ts +1 -0
  425. package/lib/typescript/module/src/modules/picker-sheet/index.d.ts.map +1 -1
  426. package/lib/typescript/module/src/modules/questionnaire-response-form/components/content/questionnaire-content-item.d.ts.map +1 -1
  427. package/lib/typescript/module/src/modules/questionnaire-response-form/components/content/questionnaire-content-specific-item.d.ts.map +1 -1
  428. package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/common/questionnaire-field-wrapper.d.ts.map +1 -1
  429. package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/questionnaire-choice-field.d.ts.map +1 -1
  430. package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/questionnaire-date-field.d.ts +3 -1
  431. package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/questionnaire-date-field.d.ts.map +1 -1
  432. package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.d.ts +9 -3
  433. package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.d.ts.map +1 -1
  434. package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/questionnaire-text-field.d.ts +5 -1
  435. package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/questionnaire-text-field.d.ts.map +1 -1
  436. package/lib/typescript/module/src/modules/questionnaire-response-form/components/header/questionnaire-header-title.d.ts.map +1 -1
  437. package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts +1 -1
  438. package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts.map +1 -1
  439. package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-form.d.ts.map +1 -1
  440. package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-navigation-provider.d.ts.map +1 -1
  441. package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-initial-selected-values.d.ts.map +1 -1
  442. package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts +6 -1
  443. package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts.map +1 -1
  444. package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.d.ts +2 -1
  445. package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.d.ts.map +1 -1
  446. package/lib/typescript/module/src/modules/questionnaire-response-form/index.d.ts +4 -1
  447. package/lib/typescript/module/src/modules/questionnaire-response-form/index.d.ts.map +1 -1
  448. package/lib/typescript/module/src/modules/questionnaire-response-form/types/extended-questionnaire-item.d.ts +7 -1
  449. package/lib/typescript/module/src/modules/questionnaire-response-form/types/extended-questionnaire-item.d.ts.map +1 -1
  450. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts +6 -0
  451. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts.map +1 -1
  452. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-props.d.ts +3 -1
  453. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-props.d.ts.map +1 -1
  454. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-provider-props.d.ts +11 -0
  455. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-provider-props.d.ts.map +1 -1
  456. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-values.d.ts +5 -2
  457. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-values.d.ts.map +1 -1
  458. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-item-render-props.d.ts +15 -0
  459. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-item-render-props.d.ts.map +1 -0
  460. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts +5 -0
  461. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts.map +1 -1
  462. package/lib/typescript/module/src/modules/questionnaire-response-form/types/response-values.d.ts +2 -1
  463. package/lib/typescript/module/src/modules/questionnaire-response-form/types/response-values.d.ts.map +1 -1
  464. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/condition-utils.d.ts.map +1 -1
  465. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/conditions/fhir-condition.d.ts +9 -0
  466. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/conditions/fhir-condition.d.ts.map +1 -0
  467. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/create-answer-from-value.d.ts +7 -0
  468. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/create-answer-from-value.d.ts.map +1 -0
  469. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/fields/get-option-text.d.ts +1 -1
  470. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/fields/get-option-text.d.ts.map +1 -1
  471. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/form-utils.d.ts +4 -1
  472. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/form-utils.d.ts.map +1 -1
  473. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/form-validation.d.ts +4 -1
  474. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/form-validation.d.ts.map +1 -1
  475. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.d.ts +3 -0
  476. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.d.ts.map +1 -0
  477. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.d.ts +8 -0
  478. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.d.ts.map +1 -0
  479. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-date-utils.d.ts +5 -0
  480. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-date-utils.d.ts.map +1 -0
  481. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-item-constraints.d.ts +22 -0
  482. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-item-constraints.d.ts.map +1 -0
  483. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.d.ts +10 -0
  484. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.d.ts.map +1 -0
  485. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.d.ts +2 -1
  486. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.d.ts.map +1 -1
  487. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-picker-options.d.ts +15 -0
  488. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-picker-options.d.ts.map +1 -0
  489. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.d.ts +5 -0
  490. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.d.ts.map +1 -0
  491. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-submit-utils.d.ts +6 -1
  492. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-submit-utils.d.ts.map +1 -1
  493. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/translate-fhir-text.d.ts +4 -0
  494. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/translate-fhir-text.d.ts.map +1 -0
  495. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.d.ts +6 -0
  496. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.d.ts.map +1 -0
  497. package/lib/typescript/module/src/modules/ui/components/prerequisite-gate.d.ts +19 -0
  498. package/lib/typescript/module/src/modules/ui/components/prerequisite-gate.d.ts.map +1 -0
  499. package/lib/typescript/module/src/modules/ui/index.d.ts +1 -0
  500. package/lib/typescript/module/src/modules/ui/index.d.ts.map +1 -1
  501. package/lib/typescript/module/src/polyfills/index.d.ts +7 -1
  502. package/lib/typescript/module/src/polyfills/index.d.ts.map +1 -1
  503. package/package.json +18 -3
@@ -21,7 +21,12 @@ export const WheelPicker = /*#__PURE__*/React.memo(({
21
21
  itemHeight = 40,
22
22
  visibleItems = 5,
23
23
  decelerationRate = "fast",
24
- containerProps
24
+ containerProps,
25
+ accessibilityLabel,
26
+ accessibilityHint,
27
+ nestedScrollEnabled = true,
28
+ accessibilityIncrementLabel,
29
+ accessibilityDecrementLabel
25
30
  }) => {
26
31
  const theme = useAppTheme();
27
32
 
@@ -43,7 +48,8 @@ export const WheelPicker = /*#__PURE__*/React.memo(({
43
48
  }, [options, paddingItems]);
44
49
 
45
50
  // Calculate container height
46
- const containerHeight = itemHeight * Math.min(visibleItems, paddedOptions.length);
51
+ const containerHeight = itemCount ? itemHeight * Math.min(visibleItems, paddedOptions.length) : 0;
52
+ const safeSelectedIndex = Math.max(0, Math.min(selectedIndex, Math.max(itemCount - 1, 0)));
47
53
 
48
54
  // Calculate the offset to center the selected item
49
55
  const centerOffset = Math.floor(visibleItems / 2) * itemHeight;
@@ -57,22 +63,24 @@ export const WheelPicker = /*#__PURE__*/React.memo(({
57
63
  isScrolling.value = true;
58
64
  },
59
65
  onMomentumEnd: event => {
66
+ const userInitiatedScroll = isScrolling.value;
60
67
  isScrolling.value = false;
68
+ if (!itemCount) {
69
+ return;
70
+ }
61
71
  const offsetY = event.contentOffset.y;
62
- const rawIndex = Math.round(offsetY / itemHeight);
63
-
64
- // Since we're using initialScrollIndex which already accounts for padding,
65
- // we need to keep the same logic here
72
+ const rawIndex = Math.round(offsetY / itemHeight) - paddingItems;
66
73
  const clampedIndex = Math.max(0, Math.min(rawIndex, itemCount - 1));
67
74
 
68
75
  // Ensure perfect snap position first
69
- const targetY = rawIndex * itemHeight;
76
+ const targetY = (clampedIndex + paddingItems) * itemHeight;
70
77
  if (targetY !== offsetY) {
71
78
  scrollTo(flatListRef, 0, targetY, true);
72
79
  }
73
80
 
74
- // Call onChange after ensuring the position is correct
75
- if (clampedIndex !== selectedIndex) {
81
+ // A user can deliberately confirm the value currently displayed as a
82
+ // default. Programmatic scrolls do not count as user selections.
83
+ if (userInitiatedScroll) {
76
84
  runOnJS(onChange)(clampedIndex);
77
85
  }
78
86
  }
@@ -89,7 +97,7 @@ export const WheelPicker = /*#__PURE__*/React.memo(({
89
97
  React.useEffect(() => {
90
98
  if (!mountedRef.current) {
91
99
  mountedRef.current = true;
92
- const initialY = (selectedIndex + paddingItems) * itemHeight;
100
+ const initialY = (safeSelectedIndex + paddingItems) * itemHeight;
93
101
  requestAnimationFrame(() => {
94
102
  if (flatListRef.current) {
95
103
  scrollTo(flatListRef, 0, initialY, false);
@@ -97,14 +105,14 @@ export const WheelPicker = /*#__PURE__*/React.memo(({
97
105
  }
98
106
  });
99
107
  }
100
- }, [flatListRef, selectedIndex, paddingItems, itemHeight, scrollPosition]);
108
+ }, [flatListRef, safeSelectedIndex, paddingItems, itemHeight, scrollPosition]);
101
109
 
102
110
  // Scroll to selected index when it changes
103
111
  React.useEffect(() => {
104
112
  if (!isInitialized.current) {
105
113
  return;
106
114
  }
107
- if (selectedIndex < 0 || selectedIndex >= options.length) {
115
+ if (!itemCount || selectedIndex < 0 || selectedIndex >= itemCount) {
108
116
  // Log warning instead of throwing error for better UX
109
117
  // eslint-disable-next-line no-console
110
118
  console.warn(`Selected index ${selectedIndex} is out of bounds [0, ${options.length - 1}]`);
@@ -114,7 +122,7 @@ export const WheelPicker = /*#__PURE__*/React.memo(({
114
122
  const targetY = (selectedIndex + paddingItems) * itemHeight;
115
123
  scrollTo(flatListRef, 0, targetY, true);
116
124
  }
117
- }, [flatListRef, selectedIndex, paddingItems, itemHeight, options.length, isScrolling]);
125
+ }, [flatListRef, selectedIndex, paddingItems, itemHeight, itemCount, options.length, isScrolling]);
118
126
 
119
127
  // Render item
120
128
  const renderItem = React.useCallback(({
@@ -131,10 +139,42 @@ export const WheelPicker = /*#__PURE__*/React.memo(({
131
139
  }, `${index}-${option}`), [itemHeight, itemStyle, itemTextStyle, scrollPosition, visibleItems]);
132
140
  const keyExtractor = React.useCallback((item, index) => `item-${item}-${index}`, []);
133
141
  return /*#__PURE__*/_jsxs(View, {
142
+ ...containerProps,
134
143
  style: [styles.container, {
135
144
  height: containerHeight
136
145
  }, containerStyle],
137
- ...containerProps,
146
+ accessible: itemCount > 0,
147
+ accessibilityRole: "adjustable",
148
+ accessibilityLabel: accessibilityLabel,
149
+ accessibilityHint: accessibilityHint,
150
+ accessibilityValue: itemCount ? {
151
+ min: 1,
152
+ max: itemCount,
153
+ now: safeSelectedIndex + 1,
154
+ text: options[safeSelectedIndex]
155
+ } : undefined,
156
+ accessibilityActions: [{
157
+ name: "increment",
158
+ label: accessibilityIncrementLabel
159
+ }, {
160
+ name: "decrement",
161
+ label: accessibilityDecrementLabel
162
+ }],
163
+ onAccessibilityAction: ({
164
+ nativeEvent
165
+ }) => {
166
+ if (nativeEvent.actionName === "increment") {
167
+ const nextIndex = Math.min(safeSelectedIndex + 1, itemCount - 1);
168
+ if (nextIndex !== safeSelectedIndex) {
169
+ onChange(nextIndex);
170
+ }
171
+ } else if (nativeEvent.actionName === "decrement") {
172
+ const previousIndex = Math.max(safeSelectedIndex - 1, 0);
173
+ if (previousIndex !== safeSelectedIndex) {
174
+ onChange(previousIndex);
175
+ }
176
+ }
177
+ },
138
178
  children: [/*#__PURE__*/_jsx(View, {
139
179
  style: [styles.selectedIndicator, {
140
180
  backgroundColor: theme.colors.surfaceVariant,
@@ -159,7 +199,8 @@ export const WheelPicker = /*#__PURE__*/React.memo(({
159
199
  renderItem: renderItem,
160
200
  keyExtractor: keyExtractor,
161
201
  getItemLayout: getItemLayout,
162
- initialScrollIndex: selectedIndex,
202
+ initialScrollIndex: safeSelectedIndex + paddingItems,
203
+ nestedScrollEnabled: nestedScrollEnabled,
163
204
  initialNumToRender: visibleItems * 2,
164
205
  maxToRenderPerBatch: visibleItems * 2,
165
206
  windowSize: 7,
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","StyleSheet","FlatList","ScrollView","Animated","useSharedValue","useAnimatedScrollHandler","runOnJS","useAnimatedRef","scrollTo","useAppTheme","WheelPickerItem","jsx","_jsx","jsxs","_jsxs","AnimatedFlatList","createAnimatedComponent","AnimatedScrollView","WheelPicker","memo","selectedIndex","options","onChange","selectedIndicatorStyle","containerStyle","itemStyle","itemTextStyle","itemHeight","visibleItems","decelerationRate","containerProps","theme","flatListRef","isInitialized","useRef","mountedRef","scrollPosition","itemCount","length","isScrolling","paddingItems","Math","floor","paddedOptions","useMemo","padding","Array","fill","containerHeight","min","centerOffset","handleScroll","onScroll","event","value","contentOffset","y","onBeginDrag","onMomentumEnd","offsetY","rawIndex","round","clampedIndex","max","targetY","getItemLayout","useCallback","_","index","offset","useEffect","current","initialY","requestAnimationFrame","console","warn","renderItem","item","option","height","position","style","textStyle","keyExtractor","styles","container","children","selectedIndicator","backgroundColor","colors","surfaceVariant","borderRadius","top","transform","ref","scrollView","contentContainerStyle","contentContainer","showsVerticalScrollIndicator","scrollEventThrottle","snapToInterval","snapToAlignment","overScrollMode","removeClippedSubviews","data","initialScrollIndex","initialNumToRender","maxToRenderPerBatch","windowSize","updateCellsBatchingPeriod","maintainVisibleContentPosition","minIndexForVisible","autoscrollToTopThreshold","renderScrollComponent","props","create","overflow","paddingVertical","width","zIndex","flex"],"sourceRoot":"../../../../../src","sources":["modules/picker-sheet/components/wheel-picker.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","StyleSheet","FlatList","ScrollView","Animated","useSharedValue","useAnimatedScrollHandler","runOnJS","useAnimatedRef","scrollTo","useAppTheme","WheelPickerItem","jsx","_jsx","jsxs","_jsxs","AnimatedFlatList","createAnimatedComponent","AnimatedScrollView","WheelPicker","memo","selectedIndex","options","onChange","selectedIndicatorStyle","containerStyle","itemStyle","itemTextStyle","itemHeight","visibleItems","decelerationRate","containerProps","accessibilityLabel","accessibilityHint","nestedScrollEnabled","accessibilityIncrementLabel","accessibilityDecrementLabel","theme","flatListRef","isInitialized","useRef","mountedRef","scrollPosition","itemCount","length","isScrolling","paddingItems","Math","floor","paddedOptions","useMemo","padding","Array","fill","containerHeight","min","safeSelectedIndex","max","centerOffset","handleScroll","onScroll","event","value","contentOffset","y","onBeginDrag","onMomentumEnd","userInitiatedScroll","offsetY","rawIndex","round","clampedIndex","targetY","getItemLayout","useCallback","_","index","offset","useEffect","current","initialY","requestAnimationFrame","console","warn","renderItem","item","option","height","position","style","textStyle","keyExtractor","styles","container","accessible","accessibilityRole","accessibilityValue","now","text","undefined","accessibilityActions","name","label","onAccessibilityAction","nativeEvent","actionName","nextIndex","previousIndex","children","selectedIndicator","backgroundColor","colors","surfaceVariant","borderRadius","top","transform","ref","scrollView","contentContainerStyle","contentContainer","showsVerticalScrollIndicator","scrollEventThrottle","snapToInterval","snapToAlignment","overScrollMode","removeClippedSubviews","data","initialScrollIndex","initialNumToRender","maxToRenderPerBatch","windowSize","updateCellsBatchingPeriod","maintainVisibleContentPosition","minIndexForVisible","autoscrollToTopThreshold","renderScrollComponent","props","create","overflow","paddingVertical","width","zIndex","flex"],"sourceRoot":"../../../../../src","sources":["modules/picker-sheet/components/wheel-picker.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  export * from "./components/wheel-picker.js";
4
+ export * from "./components/value-wheel-picker.js";
4
5
  export * from "./components/picker-sheet.js";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["modules/picker-sheet/index.ts"],"mappings":";;AAAA,cAAc,8BAA2B;AAEzC,cAAc,8BAA2B","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["modules/picker-sheet/index.ts"],"mappings":";;AAAA,cAAc,8BAA2B;AACzC,cAAc,oCAAiC;AAE/C,cAAc,8BAA2B","ignoreList":[]}
@@ -64,22 +64,72 @@ const MyComponent = () => {
64
64
 
65
65
  ## Props
66
66
 
67
- | Prop | Type | Description |
68
- | ------------- | ---------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
69
- | questionnaire | Questionnaire | The FHIR Questionnaire resource to render |
70
- | onSubmit | (values: QuestionnaireFormValues, formikHelpers?: FormikHelpers<QuestionnaireFormValues>) => Promise<void> | Optional callback for form submission |
71
- | onSuccess | (response: QuestionnaireResponse) => void | Optional callback when form is submitted successfully |
72
- | onError | (error: Error) => void | Optional callback when form submission fails |
73
- | initialValues | Partial<QuestionnaireFormValues> | Optional initial values for the form |
74
- | children | ReactNode | Child components for custom layout |
75
- | style | ViewStyle | Optional styles for the container |
76
- | testID | string | Test ID for testing |
67
+ | Prop | Type | Description |
68
+ | ------------------------------- | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
69
+ | questionnaire | Questionnaire | The FHIR Questionnaire resource to render |
70
+ | onSubmit | (values: QuestionnaireFormValues, formikHelpers?: FormikHelpers<QuestionnaireFormValues>) => Promise<void> | Optional callback for form submission |
71
+ | onSuccess | (response: QuestionnaireResponse) => void | Optional callback when form is submitted successfully |
72
+ | onError | (error: Error) => void | Optional callback when form submission fails |
73
+ | initialValues | Partial<QuestionnaireFormValues> | Optional initial values for the form |
74
+ | renderItem | QuestionnaireItemRenderer | Optional host control for any non-group FHIR item |
75
+ | resolveQuestionnaireConstraint | QuestionnaireConstraintResolver | Resolves SDC calculated min/max values with the host's expression context |
76
+ | resolveQuestionnaireUnitOptions | QuestionnaireUnitOptionsResolver | Supplies a cached expansion for an SDC `unitValueSet` canonical |
77
+ | children | ReactNode | Child components for custom layout |
78
+ | style | ViewStyle | Optional styles for the container |
79
+ | testID | string | Test ID for testing |
77
80
 
78
81
  Choose either the host-owned `onSubmit(values, formikHelpers?)` mode or the SDK-managed
79
82
  `onSuccess(response)` mode. `onError(error)` is optional in the SDK-managed mode. The
80
- SDK-managed path requires the active `@ovok/core` client/profile context, creates a
81
- completed `QuestionnaireResponse`, adds the patient subject and a stable identifier,
82
- and persists it with `createResourceIfNoneExist`.
83
+ SDK-managed path requires the active `@ovok/core` client/profile context, adds the
84
+ patient subject and a stable identifier, and persists the `QuestionnaireResponse` with
85
+ `createResourceIfNoneExist`.
86
+
87
+ When the Questionnaire or one of its items carries the standard SDC
88
+ `sdc-questionnaire-observationExtract` extension set to `true`, SDK-managed submission
89
+ also calls OVOK's `QuestionnaireResponse/$extract` operation. The Questionnaire's
90
+ FHIR mappings define the extracted Observations; the SDK does not infer codes or
91
+ profile mappings from labels. It saves the response as `in-progress`, then submits the
92
+ extracted Observations and changes the response to `completed` in one FHIR transaction.
93
+ The Medplum project must have the `transaction-bundles` feature enabled. If it is not
94
+ enabled, the SDK fails before creating the response rather than leaving partial data.
95
+ The SDK retains the submission identifier for a mapped form instance and adds a
96
+ conditional identifier to extracted Observations, so retrying the same submission does
97
+ not create duplicates. A response is reported as successful only after the transaction
98
+ succeeds and the completed response can be read back. Unmapped SDK-managed forms keep
99
+ their existing behavior and can create a new response on a later submit.
100
+
101
+ This orchestration applies only to SDK-managed `onSuccess(response)` submission.
102
+ When `onSubmit` is provided, the host owns persistence and extraction. The extraction
103
+ operation currently persists mapped Observations; it does not imply arbitrary Patient
104
+ demographic fields are updated. Those mappings and any other resource writes must be
105
+ supported by the Questionnaire and backend operation.
106
+
107
+ Custom `renderItem` controls receive a `constraints` object with `minValue`,
108
+ `maxValue`, `minQuantity`, `maxQuantity`, `step`, `minLength`, `maxLength`,
109
+ `unitOptions`, `unitValueSet`, and `unitOpen`. This lets an app use its own
110
+ controls and terminology cache without coupling the SDK to an expression or
111
+ terminology service. Implement `resolveQuestionnaireConstraint` for calculated
112
+ SDC bounds and `resolveQuestionnaireUnitOptions` for cached ValueSet expansions;
113
+ both callbacks are synchronous. If a calculated bound or unit ValueSet is not
114
+ resolved, a non-empty answer using it is not accepted as valid. Quantity bounds
115
+ are compared only when the answer and bound use the same UCUM code; convert
116
+ units in the host control before returning the answer when conversions are
117
+ needed.
118
+
119
+ Static date/dateTime bounds are passed to the date picker, numeric bounds and
120
+ steps are checked on navigation and submission, and simple-type length limits
121
+ are checked before submission. Bounded integer items and decimal items with an
122
+ explicit step use a touch wheel when the generated range contains at most 1,000
123
+ values; unconstrained, invalid, or larger ranges retain text entry. A displayed
124
+ wheel default is not saved until the person changes the selection. The typed
125
+ `ValueWheelPicker<T>` in `@ovok/native/picker-sheet` can render `unitOptions`;
126
+ use its `value` prop for the committed selection and `defaultIndex` only for a
127
+ display-only initial position.
128
+
129
+ Host-rendered quantity and duration controls can combine `minQuantity`,
130
+ `maxQuantity`, `unitOptions`, and the host-resolved `unitValueSet` in one or
131
+ more typed wheels. This keeps UCUM conversion and terminology lookup in the
132
+ host app while reusing the same generic picker in different forms and styles.
83
133
 
84
134
  ## Extended Properties
85
135
 
@@ -168,6 +218,15 @@ The form supports various field types through specialized components:
168
218
  - **QuestionnaireDateField**: Date picker
169
219
  - **QuestionnaireItemRenderer**: Dynamic field type renderer
170
220
 
221
+ The optional `renderItem` callback can provide host-designed controls for item
222
+ types without a built-in control, including `url`, `open-choice`, `quantity`,
223
+ `attachment`, and `reference`. Its `onChange` accepts either a primitive value
224
+ for built-in types or a typed FHIR answer value such as
225
+ `{ valueQuantity: { value: 2, unit: "mg" } }`. This preserves the corresponding
226
+ FHIR `value[x]` field in SDK-created responses and makes required custom items
227
+ participate in validation. Without a custom renderer, unsupported items show a
228
+ fallback and do not prevent continuing through the form.
229
+
171
230
  ## Context and Hooks
172
231
 
173
232
  The form provides a context and hooks for advanced customization:
@@ -253,16 +312,16 @@ const MyComponent = () => {
253
312
 
254
313
  #### QuestionnaireForm Props
255
314
 
256
- | Prop | Type | Description |
257
- | ------------- | ----------------------------------------- | ----------------------------------- |
258
- | questionnaire | Questionnaire | The questionnaire object to render |
259
- | onSubmit | (values: QuestionnaireFormValues, formikHelpers?) => Promise<void> | Host-owned submit callback |
260
- | onSuccess | (response: QuestionnaireResponse) => void | Called after SDK-managed persistence |
261
- | onError | (error: Error) => void | Called when SDK-managed persistence fails |
262
- | initialValues | Partial<QuestionnaireFormValues> | Initial values for the form |
263
- | paged | boolean | Whether to show one item at a time; defaults to true |
264
- | style | StyleProp<ViewStyle> | Style for the container |
265
- | testID | string | Test ID for the component |
315
+ | Prop | Type | Description |
316
+ | ------------- | ------------------------------------------------------------------ | ---------------------------------------------------- |
317
+ | questionnaire | Questionnaire | The questionnaire object to render |
318
+ | onSubmit | (values: QuestionnaireFormValues, formikHelpers?) => Promise<void> | Host-owned submit callback |
319
+ | onSuccess | (response: QuestionnaireResponse) => void | Called after SDK-managed persistence |
320
+ | onError | (error: Error) => void | Called when SDK-managed persistence fails |
321
+ | initialValues | Partial<QuestionnaireFormValues> | Initial values for the form |
322
+ | paged | boolean | Whether to show one item at a time; defaults to true |
323
+ | style | StyleProp<ViewStyle> | Style for the container |
324
+ | testID | string | Test ID for the component |
266
325
 
267
326
  #### QuestionnaireForm.Header Props
268
327
 
@@ -3,6 +3,7 @@
3
3
  import * as React from "react";
4
4
  import { View } from "react-native";
5
5
  import { useQuestionnaireForm } from "../../hooks/use-questionnaire-form.js";
6
+ import { getQuestionnaireItemConstraints } from "../../utils/questionnaire-item-constraints.js";
6
7
  import { QuestionnaireItemRenderer } from "../fields/questionnaire-item-renderer.js";
7
8
  import { jsx as _jsx } from "react/jsx-runtime";
8
9
  export const QuestionnaireContentItem = /*#__PURE__*/React.memo(({
@@ -12,6 +13,10 @@ export const QuestionnaireContentItem = /*#__PURE__*/React.memo(({
12
13
  }) => {
13
14
  const {
14
15
  currentItem,
16
+ locale,
17
+ renderItem,
18
+ resolveQuestionnaireConstraint,
19
+ resolveQuestionnaireUnitOptions,
15
20
  values,
16
21
  setFieldValue
17
22
  } = useQuestionnaireForm();
@@ -34,6 +39,9 @@ export const QuestionnaireContentItem = /*#__PURE__*/React.memo(({
34
39
  item: currentItem,
35
40
  value: value,
36
41
  onChange: onChange,
42
+ locale: locale,
43
+ renderItem: renderItem,
44
+ constraints: getQuestionnaireItemConstraints(currentItem, values, resolveQuestionnaireConstraint, resolveQuestionnaireUnitOptions),
37
45
  testID: testID ? `${testID}-${itemId}` : `item-${itemId}`
38
46
  })
39
47
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","useQuestionnaireForm","QuestionnaireItemRenderer","jsx","_jsx","QuestionnaireContentItem","memo","style","testID","props","currentItem","values","setFieldValue","onChange","useCallback","val","linkId","itemId","value","children","item"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/components/content/questionnaire-content-item.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,IAAI,QAAmB,cAAc;AAE9C,SAASC,oBAAoB,QAAQ,uCAAoC;AACzE,SAASC,yBAAyB,QAAQ,0CAAuC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAElF,OAAO,MAAMC,wBAAwB,gBAAGN,KAAK,CAACO,IAAI,CAChD,CAAC;EAAEC,KAAK;EAAEC,MAAM;EAAE,GAAGC;AAAiB,CAAC,KAAK;EAC1C,MAAM;IAAEC,WAAW;IAAEC,MAAM;IAAEC;EAAc,CAAC,GAAGX,oBAAoB,CAAC,CAAC;EAErE,MAAMY,QAAQ,GAAGd,KAAK,CAACe,WAAW,CAC/BC,GAAqB,IAAK;IACzB,IAAI,CAACL,WAAW,EAAEM,MAAM,EAAE;MACxB;IACF;IAEAJ,aAAa,CAACF,WAAW,CAACM,MAAM,EAAED,GAAG,CAAC;EACxC,CAAC,EACD,CAACL,WAAW,EAAEM,MAAM,EAAEJ,aAAa,CACrC,CAAC;EAED,IAAI,CAACF,WAAW,EAAE;IAChB,OAAO,IAAI;EACb;EAEA,MAAMO,MAAM,GAAGP,WAAW,CAACM,MAAM,IAAI,EAAE;EACvC,MAAME,KAAK,GAAGP,MAAM,CAACM,MAAM,CAAC;EAE5B,oBACEb,IAAA,CAACJ,IAAI;IAAA,GAAKS,KAAK;IAAEF,KAAK,EAAEA,KAAM;IAACC,MAAM,EAAEA,MAAO;IAAAW,QAAA,eAC5Cf,IAAA,CAACF,yBAAyB;MACxBkB,IAAI,EAAEV,WAAY;MAClBQ,KAAK,EAAEA,KAAM;MACbL,QAAQ,EAAEA,QAAS;MACnBL,MAAM,EAAEA,MAAM,GAAG,GAAGA,MAAM,IAAIS,MAAM,EAAE,GAAG,QAAQA,MAAM;IAAG,CAC3D;EAAC,CACE,CAAC;AAEX,CACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","View","useQuestionnaireForm","getQuestionnaireItemConstraints","QuestionnaireItemRenderer","jsx","_jsx","QuestionnaireContentItem","memo","style","testID","props","currentItem","locale","renderItem","resolveQuestionnaireConstraint","resolveQuestionnaireUnitOptions","values","setFieldValue","onChange","useCallback","val","linkId","itemId","value","children","item","constraints"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/components/content/questionnaire-content-item.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,IAAI,QAAmB,cAAc;AAE9C,SAASC,oBAAoB,QAAQ,uCAAoC;AAEzE,SAASC,+BAA+B,QAAQ,+CAA4C;AAC5F,SAASC,yBAAyB,QAAQ,0CAAuC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAElF,OAAO,MAAMC,wBAAwB,gBAAGP,KAAK,CAACQ,IAAI,CAChD,CAAC;EAAEC,KAAK;EAAEC,MAAM;EAAE,GAAGC;AAAiB,CAAC,KAAK;EAC1C,MAAM;IACJC,WAAW;IACXC,MAAM;IACNC,UAAU;IACVC,8BAA8B;IAC9BC,+BAA+B;IAC/BC,MAAM;IACNC;EACF,CAAC,GAAGhB,oBAAoB,CAAC,CAAC;EAE1B,MAAMiB,QAAQ,GAAGnB,KAAK,CAACoB,WAAW,CAC/BC,GAA2B,IAAK;IAC/B,IAAI,CAACT,WAAW,EAAEU,MAAM,EAAE;MACxB;IACF;IAEAJ,aAAa,CAACN,WAAW,CAACU,MAAM,EAAED,GAAG,CAAC;EACxC,CAAC,EACD,CAACT,WAAW,EAAEU,MAAM,EAAEJ,aAAa,CACrC,CAAC;EAED,IAAI,CAACN,WAAW,EAAE;IAChB,OAAO,IAAI;EACb;EAEA,MAAMW,MAAM,GAAGX,WAAW,CAACU,MAAM,IAAI,EAAE;EACvC,MAAME,KAAK,GAAGP,MAAM,CAACM,MAAM,CAAC;EAE5B,oBACEjB,IAAA,CAACL,IAAI;IAAA,GAAKU,KAAK;IAAEF,KAAK,EAAEA,KAAM;IAACC,MAAM,EAAEA,MAAO;IAAAe,QAAA,eAC5CnB,IAAA,CAACF,yBAAyB;MACxBsB,IAAI,EAAEd,WAAY;MAClBY,KAAK,EAAEA,KAAM;MACbL,QAAQ,EAAEA,QAAS;MACnBN,MAAM,EAAEA,MAAO;MACfC,UAAU,EAAEA,UAAW;MACvBa,WAAW,EAAExB,+BAA+B,CAC1CS,WAAW,EACXK,MAAM,EACNF,8BAA8B,EAC9BC,+BACF,CAAE;MACFN,MAAM,EAAEA,MAAM,GAAG,GAAGA,MAAM,IAAIa,MAAM,EAAE,GAAG,QAAQA,MAAM;IAAG,CAC3D;EAAC,CACE,CAAC;AAEX,CACF,CAAC","ignoreList":[]}
@@ -3,6 +3,7 @@
3
3
  import * as React from "react";
4
4
  import { View } from "react-native";
5
5
  import { useQuestionnaireForm } from "../../hooks/use-questionnaire-form.js";
6
+ import { getQuestionnaireItemConstraints } from "../../utils/questionnaire-item-constraints.js";
6
7
  import { QuestionnaireItemRenderer } from "../fields/questionnaire-item-renderer.js";
7
8
  import { jsx as _jsx } from "react/jsx-runtime";
8
9
  const QuestionnaireContentSpecificItemComponent = /*#__PURE__*/React.memo(({
@@ -12,6 +13,10 @@ const QuestionnaireContentSpecificItemComponent = /*#__PURE__*/React.memo(({
12
13
  ...props
13
14
  }) => {
14
15
  const {
16
+ locale,
17
+ renderItem,
18
+ resolveQuestionnaireConstraint,
19
+ resolveQuestionnaireUnitOptions,
15
20
  values,
16
21
  setFieldValue
17
22
  } = useQuestionnaireForm();
@@ -34,6 +39,9 @@ const QuestionnaireContentSpecificItemComponent = /*#__PURE__*/React.memo(({
34
39
  item: item,
35
40
  value: value,
36
41
  onChange: onChange,
42
+ locale: locale,
43
+ renderItem: renderItem,
44
+ constraints: getQuestionnaireItemConstraints(item, values, resolveQuestionnaireConstraint, resolveQuestionnaireUnitOptions),
37
45
  testID: testID ? `${testID}-${itemId}` : `item-${itemId}`
38
46
  })
39
47
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","useQuestionnaireForm","QuestionnaireItemRenderer","jsx","_jsx","QuestionnaireContentSpecificItemComponent","memo","style","testID","item","props","values","setFieldValue","onChange","useCallback","val","linkId","itemId","value","children","QuestionnaireContentSpecificItem"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/components/content/questionnaire-content-specific-item.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,IAAI,QAAmB,cAAc;AAE9C,SAASC,oBAAoB,QAAQ,uCAAoC;AAEzE,SAASC,yBAAyB,QAAQ,0CAAuC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAElF,MAAMC,yCAAyC,gBAAGN,KAAK,CAACO,IAAI,CAC1D,CAAC;EACCC,KAAK;EACLC,MAAM;EACNC,IAAI;EACJ,GAAGC;AAC4C,CAAC,KAAK;EACrD,MAAM;IAAEC,MAAM;IAAEC;EAAc,CAAC,GAAGX,oBAAoB,CAAC,CAAC;EAExD,MAAMY,QAAQ,GAAGd,KAAK,CAACe,WAAW,CAC/BC,GAAqB,IAAK;IACzB,IAAI,CAACN,IAAI,EAAEO,MAAM,EAAE;MACjB;IACF;IAEAJ,aAAa,CAACH,IAAI,CAACO,MAAM,EAAED,GAAG,CAAC;EACjC,CAAC,EACD,CAACN,IAAI,EAAEO,MAAM,EAAEJ,aAAa,CAC9B,CAAC;EAED,IAAI,CAACH,IAAI,EAAE;IACT,OAAO,IAAI;EACb;EAEA,MAAMQ,MAAM,GAAGR,IAAI,CAACO,MAAM,IAAI,EAAE;EAChC,MAAME,KAAK,GAAGP,MAAM,CAACM,MAAM,CAAC;EAE5B,oBACEb,IAAA,CAACJ,IAAI;IAAA,GAAKU,KAAK;IAAEH,KAAK,EAAEA,KAAM;IAACC,MAAM,EAAEA,MAAO;IAAAW,QAAA,eAC5Cf,IAAA,CAACF,yBAAyB;MACxBO,IAAI,EAAEA,IAAK;MACXS,KAAK,EAAEA,KAAM;MACbL,QAAQ,EAAEA,QAAS;MACnBL,MAAM,EAAEA,MAAM,GAAG,GAAGA,MAAM,IAAIS,MAAM,EAAE,GAAG,QAAQA,MAAM;IAAG,CAC3D;EAAC,CACE,CAAC;AAEX,CACF,CAAC;AAED,OAAO,MAAMG,gCAAgC,GAC3Cf,yCAAyC","ignoreList":[]}
1
+ {"version":3,"names":["React","View","useQuestionnaireForm","getQuestionnaireItemConstraints","QuestionnaireItemRenderer","jsx","_jsx","QuestionnaireContentSpecificItemComponent","memo","style","testID","item","props","locale","renderItem","resolveQuestionnaireConstraint","resolveQuestionnaireUnitOptions","values","setFieldValue","onChange","useCallback","val","linkId","itemId","value","children","constraints","QuestionnaireContentSpecificItem"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/components/content/questionnaire-content-specific-item.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,IAAI,QAAmB,cAAc;AAE9C,SAASC,oBAAoB,QAAQ,uCAAoC;AAGzE,SAASC,+BAA+B,QAAQ,+CAA4C;AAC5F,SAASC,yBAAyB,QAAQ,0CAAuC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAElF,MAAMC,yCAAyC,gBAAGP,KAAK,CAACQ,IAAI,CAC1D,CAAC;EACCC,KAAK;EACLC,MAAM;EACNC,IAAI;EACJ,GAAGC;AAC4C,CAAC,KAAK;EACrD,MAAM;IACJC,MAAM;IACNC,UAAU;IACVC,8BAA8B;IAC9BC,+BAA+B;IAC/BC,MAAM;IACNC;EACF,CAAC,GAAGhB,oBAAoB,CAAC,CAAC;EAE1B,MAAMiB,QAAQ,GAAGnB,KAAK,CAACoB,WAAW,CAC/BC,GAA2B,IAAK;IAC/B,IAAI,CAACV,IAAI,EAAEW,MAAM,EAAE;MACjB;IACF;IAEAJ,aAAa,CAACP,IAAI,CAACW,MAAM,EAAED,GAAG,CAAC;EACjC,CAAC,EACD,CAACV,IAAI,EAAEW,MAAM,EAAEJ,aAAa,CAC9B,CAAC;EAED,IAAI,CAACP,IAAI,EAAE;IACT,OAAO,IAAI;EACb;EAEA,MAAMY,MAAM,GAAGZ,IAAI,CAACW,MAAM,IAAI,EAAE;EAChC,MAAME,KAAK,GAAGP,MAAM,CAACM,MAAM,CAAC;EAE5B,oBACEjB,IAAA,CAACL,IAAI;IAAA,GAAKW,KAAK;IAAEH,KAAK,EAAEA,KAAM;IAACC,MAAM,EAAEA,MAAO;IAAAe,QAAA,eAC5CnB,IAAA,CAACF,yBAAyB;MACxBO,IAAI,EAAEA,IAAK;MACXa,KAAK,EAAEA,KAAM;MACbL,QAAQ,EAAEA,QAAS;MACnBN,MAAM,EAAEA,MAAO;MACfC,UAAU,EAAEA,UAAW;MACvBY,WAAW,EAAEvB,+BAA+B,CAC1CQ,IAAI,EACJM,MAAM,EACNF,8BAA8B,EAC9BC,+BACF,CAAE;MACFN,MAAM,EAAEA,MAAM,GAAG,GAAGA,MAAM,IAAIa,MAAM,EAAE,GAAG,QAAQA,MAAM;IAAG,CAC3D;EAAC,CACE,CAAC;AAEX,CACF,CAAC;AAED,OAAO,MAAMI,gCAAgC,GAC3CpB,yCAAyC","ignoreList":[]}
@@ -5,6 +5,7 @@ import { StyleSheet, View } from "react-native";
5
5
  import { Text } from "react-native-paper";
6
6
  import { useAppTheme } from "../../../../theme/index.js";
7
7
  import { useQuestionnaireForm } from "../../../hooks/index.js";
8
+ import { translateFhirText } from "../../../utils/translate-fhir-text.js";
8
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
10
  export const QuestionnaireFieldWrapper = /*#__PURE__*/React.memo(({
10
11
  item,
@@ -14,8 +15,12 @@ export const QuestionnaireFieldWrapper = /*#__PURE__*/React.memo(({
14
15
  }) => {
15
16
  const theme = useAppTheme();
16
17
  const {
18
+ locale,
17
19
  paged
18
20
  } = useQuestionnaireForm();
21
+ const prefix = translateFhirText(item.prefix, item._prefix, locale);
22
+ const questionText = translateFhirText(item.text, item._text, locale);
23
+ const helperText = translateFhirText(item.helperText, item._helperText, locale);
19
24
  return /*#__PURE__*/_jsxs(View, {
20
25
  testID: testID,
21
26
  style: [styles.container, {
@@ -26,18 +31,18 @@ export const QuestionnaireFieldWrapper = /*#__PURE__*/React.memo(({
26
31
  style: [styles.title, {
27
32
  color: theme.colors.onSurface
28
33
  }],
29
- children: [item.text, item.required && /*#__PURE__*/_jsx(Text, {
34
+ children: [prefix ? `${prefix} ` : "", questionText, item.required && /*#__PURE__*/_jsx(Text, {
30
35
  style: {
31
36
  color: theme.colors.error
32
37
  },
33
38
  children: " *"
34
39
  })]
35
- }), children, item.helperText && /*#__PURE__*/_jsx(Text, {
40
+ }), children, helperText && /*#__PURE__*/_jsx(Text, {
36
41
  variant: "bodySmall",
37
42
  style: [{
38
43
  color: theme.colors.onSurfaceVariant
39
44
  }],
40
- children: item.helperText
45
+ children: helperText
41
46
  })]
42
47
  });
43
48
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","View","Text","useAppTheme","useQuestionnaireForm","jsx","_jsx","jsxs","_jsxs","QuestionnaireFieldWrapper","memo","item","children","testID","style","theme","paged","styles","container","gap","spacing","variant","title","color","colors","onSurface","text","required","error","helperText","onSurfaceVariant","create","width","fontWeight"],"sourceRoot":"../../../../../../../src","sources":["modules/questionnaire-response-form/components/fields/common/questionnaire-field-wrapper.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,EAAEC,IAAI,QAAmB,cAAc;AAC1D,SAASC,IAAI,QAAQ,oBAAoB;AAEzC,SAASC,WAAW,QAAQ,4BAAmB;AAC/C,SAASC,oBAAoB,QAAQ,yBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAUtD,OAAO,MAAMC,yBAAyB,gBAAGV,KAAK,CAACW,IAAI,CACjD,CAAC;EAAEC,IAAI;EAAEC,QAAQ;EAAEC,MAAM;EAAEC;AAAsC,CAAC,KAAK;EACrE,MAAMC,KAAK,GAAGZ,WAAW,CAAC,CAAC;EAC3B,MAAM;IAAEa;EAAM,CAAC,GAAGZ,oBAAoB,CAAC,CAAC;EAExC,oBACEI,KAAA,CAACP,IAAI;IACHY,MAAM,EAAEA,MAAO;IACfC,KAAK,EAAE,CACLG,MAAM,CAACC,SAAS,EAChB;MAAEC,GAAG,EAAEH,KAAK,GAAGD,KAAK,CAACK,OAAO,CAAC,CAAC,CAAC,GAAGL,KAAK,CAACK,OAAO,CAAC,CAAC;IAAE,CAAC,EACpDN,KAAK,CACL;IAAAF,QAAA,gBAEFJ,KAAA,CAACN,IAAI;MACHmB,OAAO,EAAEL,KAAK,GAAG,YAAY,GAAG,aAAc;MAC9CF,KAAK,EAAE,CAACG,MAAM,CAACK,KAAK,EAAE;QAAEC,KAAK,EAAER,KAAK,CAACS,MAAM,CAACC;MAAU,CAAC,CAAE;MAAAb,QAAA,GAExDD,IAAI,CAACe,IAAI,EACTf,IAAI,CAACgB,QAAQ,iBACZrB,IAAA,CAACJ,IAAI;QAACY,KAAK,EAAE;UAAES,KAAK,EAAER,KAAK,CAACS,MAAM,CAACI;QAAM,CAAE;QAAAhB,QAAA,EAAC;MAAE,CAAM,CACrD;IAAA,CACG,CAAC,EAENA,QAAQ,EAERD,IAAI,CAACkB,UAAU,iBACdvB,IAAA,CAACJ,IAAI;MACHmB,OAAO,EAAC,WAAW;MACnBP,KAAK,EAAE,CAAC;QAAES,KAAK,EAAER,KAAK,CAACS,MAAM,CAACM;MAAiB,CAAC,CAAE;MAAAlB,QAAA,EAEjDD,IAAI,CAACkB;IAAU,CACZ,CACP;EAAA,CACG,CAAC;AAEX,CACF,CAAC;AAED,MAAMZ,MAAM,GAAGjB,UAAU,CAAC+B,MAAM,CAAC;EAC/Bb,SAAS,EAAE;IACTc,KAAK,EAAE;EACT,CAAC;EACDV,KAAK,EAAE;IACLW,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","StyleSheet","View","Text","useAppTheme","useQuestionnaireForm","translateFhirText","jsx","_jsx","jsxs","_jsxs","QuestionnaireFieldWrapper","memo","item","children","testID","style","theme","locale","paged","prefix","_prefix","questionText","text","_text","helperText","_helperText","styles","container","gap","spacing","variant","title","color","colors","onSurface","required","error","onSurfaceVariant","create","width","fontWeight"],"sourceRoot":"../../../../../../../src","sources":["modules/questionnaire-response-form/components/fields/common/questionnaire-field-wrapper.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,EAAEC,IAAI,QAAmB,cAAc;AAC1D,SAASC,IAAI,QAAQ,oBAAoB;AAEzC,SAASC,WAAW,QAAQ,4BAAmB;AAC/C,SAASC,oBAAoB,QAAQ,yBAAgB;AAErD,SAASC,iBAAiB,QAAQ,uCAAoC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AASvE,OAAO,MAAMC,yBAAyB,gBAAGX,KAAK,CAACY,IAAI,CACjD,CAAC;EAAEC,IAAI;EAAEC,QAAQ;EAAEC,MAAM;EAAEC;AAAsC,CAAC,KAAK;EACrE,MAAMC,KAAK,GAAGb,WAAW,CAAC,CAAC;EAC3B,MAAM;IAAEc,MAAM;IAAEC;EAAM,CAAC,GAAGd,oBAAoB,CAAC,CAAC;EAChD,MAAMe,MAAM,GAAGd,iBAAiB,CAACO,IAAI,CAACO,MAAM,EAAEP,IAAI,CAACQ,OAAO,EAAEH,MAAM,CAAC;EACnE,MAAMI,YAAY,GAAGhB,iBAAiB,CAACO,IAAI,CAACU,IAAI,EAAEV,IAAI,CAACW,KAAK,EAAEN,MAAM,CAAC;EAErE,MAAMO,UAAU,GAAGnB,iBAAiB,CAClCO,IAAI,CAACY,UAAU,EACfZ,IAAI,CAACa,WAAW,EAChBR,MACF,CAAC;EAED,oBACER,KAAA,CAACR,IAAI;IACHa,MAAM,EAAEA,MAAO;IACfC,KAAK,EAAE,CACLW,MAAM,CAACC,SAAS,EAChB;MAAEC,GAAG,EAAEV,KAAK,GAAGF,KAAK,CAACa,OAAO,CAAC,CAAC,CAAC,GAAGb,KAAK,CAACa,OAAO,CAAC,CAAC;IAAE,CAAC,EACpDd,KAAK,CACL;IAAAF,QAAA,gBAEFJ,KAAA,CAACP,IAAI;MACH4B,OAAO,EAAEZ,KAAK,GAAG,YAAY,GAAG,aAAc;MAC9CH,KAAK,EAAE,CAACW,MAAM,CAACK,KAAK,EAAE;QAAEC,KAAK,EAAEhB,KAAK,CAACiB,MAAM,CAACC;MAAU,CAAC,CAAE;MAAArB,QAAA,GAExDM,MAAM,GAAG,GAAGA,MAAM,GAAG,GAAG,EAAE,EAC1BE,YAAY,EACZT,IAAI,CAACuB,QAAQ,iBACZ5B,IAAA,CAACL,IAAI;QAACa,KAAK,EAAE;UAAEiB,KAAK,EAAEhB,KAAK,CAACiB,MAAM,CAACG;QAAM,CAAE;QAAAvB,QAAA,EAAC;MAAE,CAAM,CACrD;IAAA,CACG,CAAC,EAENA,QAAQ,EAERW,UAAU,iBACTjB,IAAA,CAACL,IAAI;MACH4B,OAAO,EAAC,WAAW;MACnBf,KAAK,EAAE,CAAC;QAAEiB,KAAK,EAAEhB,KAAK,CAACiB,MAAM,CAACI;MAAiB,CAAC,CAAE;MAAAxB,QAAA,EAEnDW;IAAU,CACL,CACP;EAAA,CACG,CAAC;AAEX,CACF,CAAC;AAED,MAAME,MAAM,GAAG1B,UAAU,CAACsC,MAAM,CAAC;EAC/BX,SAAS,EAAE;IACTY,KAAK,EAAE;EACT,CAAC;EACDR,KAAK,EAAE;IACLS,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import * as React from "react";
4
+ import { useQuestionnaireForm } from "../../hooks/use-questionnaire-form.js";
4
5
  import { getOptionText } from "../../utils/fields/get-option-text.js";
5
6
  import { getOptionValue } from "../../utils/fields/get-option-value.js";
6
7
  import { QuestionnaireFieldWrapper, QuestionnaireOptionButton, QuestionnaireOptionsContainer } from "./common/index.js";
@@ -10,10 +11,11 @@ const MemoizedOptionButton = /*#__PURE__*/React.memo(({
10
11
  index,
11
12
  value,
12
13
  onChange,
14
+ locale,
13
15
  testID
14
16
  }) => {
15
17
  const optionValue = React.useMemo(() => getOptionValue(option), [option]);
16
- const optionText = React.useMemo(() => getOptionText(option), [option]);
18
+ const optionText = React.useMemo(() => getOptionText(option, locale), [option, locale]);
17
19
  const isSelected = React.useMemo(() => value === optionValue, [value, optionValue]);
18
20
  return /*#__PURE__*/_jsx(QuestionnaireOptionButton, {
19
21
  value: optionValue,
@@ -29,10 +31,13 @@ export const QuestionnaireChoiceField = /*#__PURE__*/React.memo(({
29
31
  onChange,
30
32
  testID
31
33
  }) => {
32
- if (!item.answerOption || item.answerOption.length === 0) {
34
+ const {
35
+ locale
36
+ } = useQuestionnaireForm();
37
+ const options = React.useMemo(() => item.answerOption || [], [item.answerOption]);
38
+ if (options.length === 0) {
33
39
  return null;
34
40
  }
35
- const options = React.useMemo(() => item.answerOption || [], [item.answerOption]);
36
41
  return /*#__PURE__*/_jsx(QuestionnaireFieldWrapper, {
37
42
  testID: testID,
38
43
  item: item,
@@ -44,6 +49,7 @@ export const QuestionnaireChoiceField = /*#__PURE__*/React.memo(({
44
49
  return /*#__PURE__*/_jsx(MemoizedOptionButton, {
45
50
  option: option,
46
51
  index: index,
52
+ locale: locale,
47
53
  onChange: onChange,
48
54
  testID: testID,
49
55
  value: value || ""
@@ -1 +1 @@
1
- {"version":3,"names":["React","getOptionText","getOptionValue","QuestionnaireFieldWrapper","QuestionnaireOptionButton","QuestionnaireOptionsContainer","jsx","_jsx","MemoizedOptionButton","memo","option","index","value","onChange","testID","optionValue","useMemo","optionText","isSelected","label","onPress","QuestionnaireChoiceField","item","answerOption","length","options","children","onValueChange","map"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/components/fields/questionnaire-choice-field.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAM9B,SAASC,aAAa,QAAQ,uCAAoC;AAClE,SAASC,cAAc,QAAQ,wCAAqC;AAEpE,SACEC,yBAAyB,EACzBC,yBAAyB,EACzBC,6BAA6B,QACxB,mBAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAiBlB,MAAMC,oBAAoB,gBAAGR,KAAK,CAACS,IAAI,CACrC,CAAC;EACCC,MAAM;EACNC,KAAK;EACLC,KAAK;EACLC,QAAQ;EACRC;AAC8B,CAAC,KAAK;EACpC,MAAMC,WAAW,GAAGf,KAAK,CAACgB,OAAO,CAAC,MAAMd,cAAc,CAACQ,MAAM,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAEzE,MAAMO,UAAU,GAAGjB,KAAK,CAACgB,OAAO,CAAC,MAAMf,aAAa,CAACS,MAAM,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAEvE,MAAMQ,UAAU,GAAGlB,KAAK,CAACgB,OAAO,CAC9B,MAAMJ,KAAK,KAAKG,WAAW,EAC3B,CAACH,KAAK,EAAEG,WAAW,CACrB,CAAC;EAED,oBACER,IAAA,CAACH,yBAAyB;IAExBQ,KAAK,EAAEG,WAAY;IACnBI,KAAK,EAAEF,UAAW;IAClBC,UAAU,EAAEA,UAAW;IACvBE,OAAO,EAAEA,CAAA,KAAMP,QAAQ,CAACE,WAAW,CAAE;IACrCD,MAAM,EAAE,GAAGA,MAAM,WAAWH,KAAK;EAAG,GAL/BA,KAMN,CAAC;AAEN,CACF,CAAC;AAED,OAAO,MAAMU,wBAAwB,gBAAGrB,KAAK,CAACS,IAAI,CAChD,CAAC;EAAEa,IAAI;EAAEV,KAAK;EAAEC,QAAQ;EAAEC;AAAsC,CAAC,KAAK;EACpE,IAAI,CAACQ,IAAI,CAACC,YAAY,IAAID,IAAI,CAACC,YAAY,CAACC,MAAM,KAAK,CAAC,EAAE;IACxD,OAAO,IAAI;EACb;EAEA,MAAMC,OAAO,GAAGzB,KAAK,CAACgB,OAAO,CAC3B,MAAMM,IAAI,CAACC,YAAY,IAAI,EAAE,EAC7B,CAACD,IAAI,CAACC,YAAY,CACpB,CAAC;EAED,oBACEhB,IAAA,CAACJ,yBAAyB;IAACW,MAAM,EAAEA,MAAO;IAACQ,IAAI,EAAEA,IAAK;IAAAI,QAAA,eACpDnB,IAAA,CAACF,6BAA6B;MAC5BO,KAAK,EAAEA,KAAK,IAAI,EAAG;MACnBe,aAAa,EAAEd,QAAS;MACxBC,MAAM,EAAE,GAAGA,MAAM,UAAW;MAAAY,QAAA,EAE3BD,OAAO,CAACG,GAAG,CAAC,CAAClB,MAAM,EAAEC,KAAK,KAAK;QAC9B,oBACEJ,IAAA,CAACC,oBAAoB;UAEnBE,MAAM,EAAEA,MAAO;UACfC,KAAK,EAAEA,KAAM;UACbE,QAAQ,EAAEA,QAAS;UACnBC,MAAM,EAAEA,MAAO;UACfF,KAAK,EAAEA,KAAK,IAAI;QAAG,GALdD,KAMN,CAAC;MAEN,CAAC;IAAC,CAC2B;EAAC,CACP,CAAC;AAEhC,CACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useQuestionnaireForm","getOptionText","getOptionValue","QuestionnaireFieldWrapper","QuestionnaireOptionButton","QuestionnaireOptionsContainer","jsx","_jsx","MemoizedOptionButton","memo","option","index","value","onChange","locale","testID","optionValue","useMemo","optionText","isSelected","label","onPress","QuestionnaireChoiceField","item","options","answerOption","length","children","onValueChange","map"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/components/fields/questionnaire-choice-field.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,oBAAoB,QAAQ,uCAAoC;AAKzE,SAASC,aAAa,QAAQ,uCAAoC;AAClE,SAASC,cAAc,QAAQ,wCAAqC;AAEpE,SACEC,yBAAyB,EACzBC,yBAAyB,EACzBC,6BAA6B,QACxB,mBAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAkBlB,MAAMC,oBAAoB,gBAAGT,KAAK,CAACU,IAAI,CACrC,CAAC;EACCC,MAAM;EACNC,KAAK;EACLC,KAAK;EACLC,QAAQ;EACRC,MAAM;EACNC;AAC8B,CAAC,KAAK;EACpC,MAAMC,WAAW,GAAGjB,KAAK,CAACkB,OAAO,CAAC,MAAMf,cAAc,CAACQ,MAAM,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAEzE,MAAMQ,UAAU,GAAGnB,KAAK,CAACkB,OAAO,CAC9B,MAAMhB,aAAa,CAACS,MAAM,EAAEI,MAAM,CAAC,EACnC,CAACJ,MAAM,EAAEI,MAAM,CACjB,CAAC;EAED,MAAMK,UAAU,GAAGpB,KAAK,CAACkB,OAAO,CAC9B,MAAML,KAAK,KAAKI,WAAW,EAC3B,CAACJ,KAAK,EAAEI,WAAW,CACrB,CAAC;EAED,oBACET,IAAA,CAACH,yBAAyB;IAExBQ,KAAK,EAAEI,WAAY;IACnBI,KAAK,EAAEF,UAAW;IAClBC,UAAU,EAAEA,UAAW;IACvBE,OAAO,EAAEA,CAAA,KAAMR,QAAQ,CAACG,WAAW,CAAE;IACrCD,MAAM,EAAE,GAAGA,MAAM,WAAWJ,KAAK;EAAG,GAL/BA,KAMN,CAAC;AAEN,CACF,CAAC;AAED,OAAO,MAAMW,wBAAwB,gBAAGvB,KAAK,CAACU,IAAI,CAChD,CAAC;EAAEc,IAAI;EAAEX,KAAK;EAAEC,QAAQ;EAAEE;AAAsC,CAAC,KAAK;EACpE,MAAM;IAAED;EAAO,CAAC,GAAGd,oBAAoB,CAAC,CAAC;EAEzC,MAAMwB,OAAO,GAAGzB,KAAK,CAACkB,OAAO,CAC3B,MAAMM,IAAI,CAACE,YAAY,IAAI,EAAE,EAC7B,CAACF,IAAI,CAACE,YAAY,CACpB,CAAC;EAED,IAAID,OAAO,CAACE,MAAM,KAAK,CAAC,EAAE;IACxB,OAAO,IAAI;EACb;EAEA,oBACEnB,IAAA,CAACJ,yBAAyB;IAACY,MAAM,EAAEA,MAAO;IAACQ,IAAI,EAAEA,IAAK;IAAAI,QAAA,eACpDpB,IAAA,CAACF,6BAA6B;MAC5BO,KAAK,EAAEA,KAAK,IAAI,EAAG;MACnBgB,aAAa,EAAEf,QAAS;MACxBE,MAAM,EAAE,GAAGA,MAAM,UAAW;MAAAY,QAAA,EAE3BH,OAAO,CAACK,GAAG,CAAC,CAACnB,MAAM,EAAEC,KAAK,KAAK;QAC9B,oBACEJ,IAAA,CAACC,oBAAoB;UAEnBE,MAAM,EAAEA,MAAO;UACfC,KAAK,EAAEA,KAAM;UACbG,MAAM,EAAEA,MAAO;UACfD,QAAQ,EAAEA,QAAS;UACnBE,MAAM,EAAEA,MAAO;UACfH,KAAK,EAAEA,KAAK,IAAI;QAAG,GANdD,KAON,CAAC;MAEN,CAAC;IAAC,CAC2B;EAAC,CACP,CAAC;AAEhC,CACF,CAAC","ignoreList":[]}
@@ -7,12 +7,14 @@ import DateTimePickerModal from "react-native-modal-datetime-picker";
7
7
  import { Text } from "react-native-paper";
8
8
  import { useAppTheme } from "../../../theme/index.js";
9
9
  import { useQuestionnaireForm } from "../../hooks/index.js";
10
+ import { isQuestionnaireDateOutsideBounds, parseQuestionnaireDate } from "../../utils/questionnaire-date-utils.js";
10
11
  import { QuestionnaireFieldWrapper } from "./common/index.js";
11
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
13
  export const QuestionnaireDateField = /*#__PURE__*/React.memo(({
13
14
  item,
14
15
  value,
15
16
  onChange,
17
+ constraints,
16
18
  testID
17
19
  }) => {
18
20
  const theme = useAppTheme();
@@ -20,6 +22,9 @@ export const QuestionnaireDateField = /*#__PURE__*/React.memo(({
20
22
  const {
21
23
  paged
22
24
  } = useQuestionnaireForm();
25
+ const minimumDate = parseQuestionnaireDate(constraints?.minValue, item.type, "minimum");
26
+ const maximumDate = parseQuestionnaireDate(constraints?.maxValue, item.type, "maximum");
27
+ const initialPickerDate = parseQuestionnaireDate(value, item.type, "minimum");
23
28
  const showPicker = React.useCallback(() => setPickerVisible(true), []);
24
29
  const hidePicker = React.useCallback(() => setPickerVisible(false), []);
25
30
  const handleConfirm = React.useCallback(selectedDate => {
@@ -38,22 +43,22 @@ export const QuestionnaireDateField = /*#__PURE__*/React.memo(({
38
43
  }
39
44
  },
40
45
  time: () => {
41
- const timeString = selectedDate.toLocaleTimeString([], {
42
- hour: "2-digit",
43
- minute: "2-digit"
44
- });
46
+ const timeString = [selectedDate.getHours(), selectedDate.getMinutes(), selectedDate.getSeconds()].map(part => String(part).padStart(2, "0")).join(":");
45
47
  if (timeString) {
46
48
  onChange(timeString);
47
49
  }
48
50
  }
49
51
  };
52
+ if (isQuestionnaireDateOutsideBounds(selectedDate, item.type, minimumDate, maximumDate)) {
53
+ return;
54
+ }
50
55
  actionMap[item.type]();
51
- }, [hidePicker, onChange, item.type]);
56
+ }, [hidePicker, maximumDate, minimumDate, onChange, item.type]);
52
57
  const formattedDate = React.useMemo(() => {
53
58
  if (!value) {
54
59
  return "Select a date";
55
60
  }
56
- const dateObj = new Date(value);
61
+ const dateObj = parseQuestionnaireDate(value, item.type, "minimum") ?? new Date(value);
57
62
  const actionMap = {
58
63
  dateTime: () => {
59
64
  const dateFormatted = dateObj.toLocaleDateString();
@@ -67,7 +72,10 @@ export const QuestionnaireDateField = /*#__PURE__*/React.memo(({
67
72
  return dateObj.toLocaleDateString();
68
73
  },
69
74
  time: () => {
70
- return value;
75
+ return dateObj.toLocaleTimeString([], {
76
+ hour: "2-digit",
77
+ minute: "2-digit"
78
+ });
71
79
  }
72
80
  };
73
81
  return actionMap[item.type]();
@@ -95,7 +103,9 @@ export const QuestionnaireDateField = /*#__PURE__*/React.memo(({
95
103
  mode: item.type.toLowerCase(),
96
104
  onConfirm: handleConfirm,
97
105
  onCancel: hidePicker,
98
- date: value ? new Date(value) : new Date(),
106
+ date: initialPickerDate ?? new Date(),
107
+ minimumDate: minimumDate,
108
+ maximumDate: maximumDate,
99
109
  testID: `${testID}-picker`,
100
110
  display: "inline"
101
111
  })]