@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
@@ -1 +1 @@
1
- {"version":3,"names":["_index","require","isConditionSatisfied","condition","responses","questionId","question","response","undefined","answerBoolean","checkBooleanCondition","answerString","checkStringCondition","answerDecimal","checkDecimalCondition","answerDate","answerDateTime","checkDateCondition","isItemEnabled","item","enableWhen","length","enableBehavior","every","some","getEnabledItemsForPage","page","filter","ConditionUtils","exports"],"sourceRoot":"../../../../../src","sources":["modules/questionnaire-response-form/utils/condition-utils.ts"],"mappings":";;;;;;AAQA,IAAAA,MAAA,GAAAC,OAAA;AAOA,MAAMC,oBAAoB,GAAGA,CAC3BC,SAAsC,EACtCC,SAAyB,KACb;EACZ,MAAMC,UAAU,GAAGF,SAAS,CAACG,QAAQ;EACrC,MAAMC,QAAQ,GAAGH,SAAS,CAACC,UAAU,CAAC;EAEtC,IAAIE,QAAQ,KAAKC,SAAS,IAAID,QAAQ,KAAK,IAAI,EAAE;IAC/C,OAAO,KAAK;EACd;EAEA,IAAIJ,SAAS,CAACM,aAAa,KAAKD,SAAS,EAAE;IACzC,OAAO,IAAAE,4BAAqB,EAACP,SAAS,EAAEI,QAAQ,CAAC;EACnD;EAEA,IAAIJ,SAAS,CAACQ,YAAY,KAAKH,SAAS,EAAE;IACxC,OAAO,IAAAI,2BAAoB,EAACT,SAAS,EAAEI,QAAQ,CAAC;EAClD;EAEA,IAAIJ,SAAS,CAACU,aAAa,KAAKL,SAAS,EAAE;IACzC,OAAO,IAAAM,4BAAqB,EAACX,SAAS,EAAEI,QAAQ,CAAC;EACnD;EAEA,IACEJ,SAAS,CAACY,UAAU,KAAKP,SAAS,IAClCL,SAAS,CAACa,cAAc,KAAKR,SAAS,EACtC;IACA,OAAO,IAAAS,yBAAkB,EAACd,SAAS,EAAEI,QAAQ,CAAC;EAChD;EAEA,OAAO,KAAK;AACd,CAAC;AAED,MAAMW,aAAa,GAAGA,CACpBC,IAAuB,EACvBf,SAAyB,KACb;EACZ,IAAI,CAACe,IAAI,CAACC,UAAU,IAAID,IAAI,CAACC,UAAU,CAACC,MAAM,KAAK,CAAC,EAAE;IACpD,OAAO,IAAI;EACb;EAEA,MAAMC,cAAc,GAAGH,IAAI,CAACG,cAAc,IAAI,KAAK;EAEnD,IAAIA,cAAc,KAAK,KAAK,EAAE;IAC5B,OAAOH,IAAI,CAACC,UAAU,CAACG,KAAK,CAAEpB,SAAS,IACrCD,oBAAoB,CAACC,SAAS,EAAEC,SAAS,CAC3C,CAAC;EACH,CAAC,MAAM,IAAIkB,cAAc,KAAK,KAAK,EAAE;IACnC,OAAOH,IAAI,CAACC,UAAU,CAACI,IAAI,CAAErB,SAAS,IACpCD,oBAAoB,CAACC,SAAS,EAAEC,SAAS,CAC3C,CAAC;EACH;EAEA,OAAO,IAAI;AACb,CAAC;AAED,MAAMqB,sBAAsB,GAAGA,CAC7BC,IAA+B,EAC/BtB,SAAyB,KACO;EAChC,IAAI,CAACsB,IAAI,CAACP,IAAI,EAAE;IACd,OAAO,EAAE;EACX;EAEA,OAAOO,IAAI,CAACP,IAAI,CAACQ,MAAM,CAAER,IAAI,IAC3BD,aAAa,CAACC,IAAI,EAAEf,SAAS,CAC/B,CAAC;AACH,CAAC;AAEM,MAAMwB,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG;EAC5B1B,oBAAoB;EACpBgB,aAAa;EACbO;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_index","require","_fhirCondition","isConditionSatisfied","condition","responses","questionId","question","response","operator","answerExists","undefined","answerBoolean","comparableResponse","getComparableResponse","checkBooleanCondition","answerString","checkStringCondition","answerDecimal","answerInteger","checkDecimalCondition","answerDate","answerDateTime","checkDateCondition","answerTime","checkTimeCondition","answerCoding","checkCodingCondition","answerQuantity","checkQuantityCondition","answerReference","checkReferenceCondition","isItemEnabled","item","enableWhen","length","enableBehavior","every","some","getEnabledItemsForPage","page","_isSyntheticPage","getEnabledDescendants","items","flatMap","descendants","type","ConditionUtils","exports"],"sourceRoot":"../../../../../src","sources":["modules/questionnaire-response-form/utils/condition-utils.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getComparableResponse = exports.checkTimeCondition = exports.checkReferenceCondition = exports.checkQuantityCondition = exports.checkCodingCondition = void 0;
7
+ const getComparableResponse = value => {
8
+ if (!value || typeof value !== "object") {
9
+ return value;
10
+ }
11
+ if ("valueBoolean" in value) {
12
+ return value.valueBoolean;
13
+ }
14
+ if ("valueString" in value) {
15
+ return value.valueString;
16
+ }
17
+ if ("valueDecimal" in value) {
18
+ return value.valueDecimal;
19
+ }
20
+ if ("valueInteger" in value) {
21
+ return value.valueInteger;
22
+ }
23
+ if ("valueDate" in value) {
24
+ return value.valueDate;
25
+ }
26
+ if ("valueDateTime" in value) {
27
+ return value.valueDateTime;
28
+ }
29
+ if ("valueTime" in value) {
30
+ return value.valueTime;
31
+ }
32
+ if ("valueUri" in value) {
33
+ return value.valueUri;
34
+ }
35
+ if ("valueQuantity" in value) {
36
+ return value.valueQuantity;
37
+ }
38
+ if ("valueReference" in value) {
39
+ return value.valueReference;
40
+ }
41
+ return value;
42
+ };
43
+ exports.getComparableResponse = getComparableResponse;
44
+ const checkTimeCondition = (condition, response) => {
45
+ const actualSeconds = parseTime(response);
46
+ const expectedSeconds = parseTime(condition.answerTime);
47
+ if (actualSeconds === undefined || expectedSeconds === undefined) {
48
+ return false;
49
+ }
50
+ switch (condition.operator) {
51
+ case "=":
52
+ return actualSeconds === expectedSeconds;
53
+ case "!=":
54
+ return actualSeconds !== expectedSeconds;
55
+ case "<":
56
+ return actualSeconds < expectedSeconds;
57
+ case "<=":
58
+ return actualSeconds <= expectedSeconds;
59
+ case ">":
60
+ return actualSeconds > expectedSeconds;
61
+ case ">=":
62
+ return actualSeconds >= expectedSeconds;
63
+ default:
64
+ return false;
65
+ }
66
+ };
67
+ exports.checkTimeCondition = checkTimeCondition;
68
+ const parseTime = value => {
69
+ if (typeof value !== "string") {
70
+ return undefined;
71
+ }
72
+ const match = /^(\d{2}):(\d{2})(?::(\d{2})(\.\d+)?)?$/.exec(value);
73
+ if (!match) {
74
+ return undefined;
75
+ }
76
+ const [, hours, minutes, seconds = "0", fraction = ""] = match;
77
+ const parsedHours = Number(hours);
78
+ const parsedMinutes = Number(minutes);
79
+ const parsedSeconds = Number(seconds);
80
+ if (parsedHours > 23 || parsedMinutes > 59 || parsedSeconds > 59) {
81
+ return undefined;
82
+ }
83
+ return parsedHours * 3600 + parsedMinutes * 60 + parsedSeconds + (fraction ? Number(fraction) : 0);
84
+ };
85
+ const checkCodingCondition = (condition, response) => {
86
+ const actual = getCoding(response);
87
+ const expected = condition.answerCoding;
88
+ const matches = actual !== undefined && expected !== undefined && actual.code === expected.code && (actual.system === undefined || expected.system === undefined || actual.system === expected.system);
89
+ return condition.operator === "!=" ? !matches : matches;
90
+ };
91
+ exports.checkCodingCondition = checkCodingCondition;
92
+ const getCoding = value => {
93
+ if (!value || typeof value !== "object") {
94
+ return typeof value === "string" ? {
95
+ code: value
96
+ } : undefined;
97
+ }
98
+ if ("valueCoding" in value) {
99
+ return value.valueCoding;
100
+ }
101
+ if ("code" in value) {
102
+ return value;
103
+ }
104
+ return undefined;
105
+ };
106
+ const checkQuantityCondition = (condition, response) => {
107
+ const actual = getQuantity(response);
108
+ const expected = condition.answerQuantity;
109
+ if (!actual || !expected || actual.value === undefined || expected.value === undefined || actual.code !== expected.code || actual.system !== expected.system || actual.unit !== expected.unit) {
110
+ return false;
111
+ }
112
+ switch (condition.operator) {
113
+ case "=":
114
+ return actual.value === expected.value;
115
+ case "!=":
116
+ return actual.value !== expected.value;
117
+ case "<":
118
+ return actual.value < expected.value;
119
+ case "<=":
120
+ return actual.value <= expected.value;
121
+ case ">":
122
+ return actual.value > expected.value;
123
+ case ">=":
124
+ return actual.value >= expected.value;
125
+ default:
126
+ return false;
127
+ }
128
+ };
129
+ exports.checkQuantityCondition = checkQuantityCondition;
130
+ const getQuantity = value => {
131
+ if (!value || typeof value !== "object" || !("value" in value)) {
132
+ return undefined;
133
+ }
134
+ return value;
135
+ };
136
+ const checkReferenceCondition = (condition, response) => {
137
+ const actual = getReference(response);
138
+ const matches = actual !== undefined && actual === condition.answerReference?.reference;
139
+ return condition.operator === "!=" ? !matches : matches;
140
+ };
141
+ exports.checkReferenceCondition = checkReferenceCondition;
142
+ const getReference = value => {
143
+ if (!value || typeof value !== "object" || !("reference" in value)) {
144
+ return undefined;
145
+ }
146
+ return typeof value.reference === "string" ? value.reference : undefined;
147
+ };
148
+ //# sourceMappingURL=fhir-condition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getComparableResponse","value","valueBoolean","valueString","valueDecimal","valueInteger","valueDate","valueDateTime","valueTime","valueUri","valueQuantity","valueReference","exports","checkTimeCondition","condition","response","actualSeconds","parseTime","expectedSeconds","answerTime","undefined","operator","match","exec","hours","minutes","seconds","fraction","parsedHours","Number","parsedMinutes","parsedSeconds","checkCodingCondition","actual","getCoding","expected","answerCoding","matches","code","system","valueCoding","checkQuantityCondition","getQuantity","answerQuantity","unit","checkReferenceCondition","getReference","answerReference","reference"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/utils/conditions/fhir-condition.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isQuestionnaireItemAnswered = exports.createAnswerFromValue = void 0;
7
+ var _isValidQuestionnaireAnswer = require("./is-valid-questionnaire-answer.js");
8
+ const createNumericAnswer = (value, type) => {
9
+ if (typeof value !== "string" && typeof value !== "number") {
10
+ return undefined;
11
+ }
12
+ const number = typeof value === "number" ? value : Number(value.trim());
13
+ if (!Number.isFinite(number) || type === "integer" && !Number.isInteger(number)) {
14
+ return undefined;
15
+ }
16
+ return number;
17
+ };
18
+ const createChoiceAnswer = (value, item) => {
19
+ if (typeof value === "object" && value !== null) {
20
+ if ("code" in value && item.type === "choice") {
21
+ return {
22
+ valueCoding: value
23
+ };
24
+ }
25
+ if ("reference" in value && item.type === "choice") {
26
+ return {
27
+ valueReference: value
28
+ };
29
+ }
30
+ return undefined;
31
+ }
32
+ if (typeof value !== "string" && typeof value !== "number") {
33
+ return undefined;
34
+ }
35
+ const option = item.answerOption?.find(candidate => candidate.valueCoding?.code === value || candidate.valueReference?.reference === value || candidate.valueInteger === value || candidate.valueDate === value || candidate.valueTime === value || candidate.valueString === value);
36
+ if (option?.valueCoding) {
37
+ return {
38
+ valueCoding: option.valueCoding
39
+ };
40
+ }
41
+ if (option?.valueReference) {
42
+ return {
43
+ valueReference: option.valueReference
44
+ };
45
+ }
46
+ if (option?.valueInteger !== undefined) {
47
+ return {
48
+ valueInteger: option.valueInteger
49
+ };
50
+ }
51
+ if (option?.valueDate !== undefined) {
52
+ return {
53
+ valueDate: option.valueDate
54
+ };
55
+ }
56
+ if (option?.valueTime !== undefined) {
57
+ return {
58
+ valueTime: option.valueTime
59
+ };
60
+ }
61
+ if (option?.valueString !== undefined) {
62
+ return {
63
+ valueString: option.valueString
64
+ };
65
+ }
66
+ if (item.type === "open-choice" && typeof value === "string") {
67
+ return {
68
+ valueString: value
69
+ };
70
+ }
71
+ return typeof value === "string" ? {
72
+ valueCoding: {
73
+ code: value
74
+ }
75
+ } : undefined;
76
+ };
77
+ const createAnswerFromValue = (value, item) => {
78
+ if (value === undefined || value === null || value === "") {
79
+ return undefined;
80
+ }
81
+ if (typeof value === "object") {
82
+ const key = (0, _isValidQuestionnaireAnswer.getAnswerValueKey)(value);
83
+ if (key) {
84
+ return (0, _isValidQuestionnaireAnswer.validateAnswerForItem)(value, item.type);
85
+ }
86
+ }
87
+ switch (item.type) {
88
+ case "boolean":
89
+ return (0, _isValidQuestionnaireAnswer.createTypedAnswer)(item.type, "valueBoolean", value);
90
+ case "date":
91
+ return (0, _isValidQuestionnaireAnswer.createTypedAnswer)(item.type, "valueDate", value);
92
+ case "dateTime":
93
+ return (0, _isValidQuestionnaireAnswer.createTypedAnswer)(item.type, "valueDateTime", value);
94
+ case "time":
95
+ return (0, _isValidQuestionnaireAnswer.createTypedAnswer)(item.type, "valueTime", value);
96
+ case "choice":
97
+ case "open-choice":
98
+ return (0, _isValidQuestionnaireAnswer.validateAnswerForItem)(createChoiceAnswer(value, item), item.type);
99
+ case "decimal":
100
+ {
101
+ const number = createNumericAnswer(value, "decimal");
102
+ return number === undefined ? undefined : (0, _isValidQuestionnaireAnswer.createTypedAnswer)(item.type, "valueDecimal", number);
103
+ }
104
+ case "integer":
105
+ {
106
+ const number = createNumericAnswer(value, "integer");
107
+ return number === undefined ? undefined : (0, _isValidQuestionnaireAnswer.createTypedAnswer)(item.type, "valueInteger", number);
108
+ }
109
+ case "string":
110
+ case "text":
111
+ return (0, _isValidQuestionnaireAnswer.createTypedAnswer)(item.type, "valueString", value);
112
+ case "url":
113
+ return (0, _isValidQuestionnaireAnswer.createTypedAnswer)(item.type, "valueUri", value);
114
+ case "attachment":
115
+ return (0, _isValidQuestionnaireAnswer.createTypedAnswer)(item.type, "valueAttachment", value);
116
+ case "reference":
117
+ return (0, _isValidQuestionnaireAnswer.createTypedAnswer)(item.type, "valueReference", value);
118
+ case "quantity":
119
+ return (0, _isValidQuestionnaireAnswer.createTypedAnswer)(item.type, "valueQuantity", value);
120
+ default:
121
+ return undefined;
122
+ }
123
+ };
124
+ exports.createAnswerFromValue = createAnswerFromValue;
125
+ const isQuestionnaireItemAnswered = (value, item) => createAnswerFromValue(value, item) !== undefined;
126
+ exports.isQuestionnaireItemAnswered = isQuestionnaireItemAnswered;
127
+ //# sourceMappingURL=create-answer-from-value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_isValidQuestionnaireAnswer","require","createNumericAnswer","value","type","undefined","number","Number","trim","isFinite","isInteger","createChoiceAnswer","item","valueCoding","valueReference","option","answerOption","find","candidate","code","reference","valueInteger","valueDate","valueTime","valueString","createAnswerFromValue","key","getAnswerValueKey","validateAnswerForItem","createTypedAnswer","exports","isQuestionnaireItemAnswered"],"sourceRoot":"../../../../../src","sources":["modules/questionnaire-response-form/utils/create-answer-from-value.ts"],"mappings":"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","ignoreList":[]}
@@ -4,15 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getOptionText = void 0;
7
- const getOptionText = option => {
7
+ var _translateFhirText = require("../translate-fhir-text.js");
8
+ const getOptionText = (option, locale) => {
8
9
  if (option.valueCoding?.display) {
9
- return option.valueCoding.display;
10
+ return (0, _translateFhirText.translateFhirText)(option.valueCoding.display, option.valueCoding._display, locale);
10
11
  }
11
12
  if (option.valueCoding?.code) {
12
13
  return option.valueCoding.code;
13
14
  }
14
15
  if (option.valueString) {
15
- return option.valueString;
16
+ return (0, _translateFhirText.translateFhirText)(option.valueString, option._valueString, locale);
16
17
  }
17
18
  return "";
18
19
  };
@@ -1 +1 @@
1
- {"version":3,"names":["getOptionText","option","valueCoding","display","code","valueString","exports"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/utils/fields/get-option-text.ts"],"mappings":";;;;;;AAEO,MAAMA,aAAa,GACxBC,MAA6C,IAClC;EACX,IAAIA,MAAM,CAACC,WAAW,EAAEC,OAAO,EAAE;IAC/B,OAAOF,MAAM,CAACC,WAAW,CAACC,OAAO;EACnC;EACA,IAAIF,MAAM,CAACC,WAAW,EAAEE,IAAI,EAAE;IAC5B,OAAOH,MAAM,CAACC,WAAW,CAACE,IAAI;EAChC;EACA,IAAIH,MAAM,CAACI,WAAW,EAAE;IACtB,OAAOJ,MAAM,CAACI,WAAW;EAC3B;EAEA,OAAO,EAAE;AACX,CAAC;AAACC,OAAA,CAAAN,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["_translateFhirText","require","getOptionText","option","locale","valueCoding","display","translateFhirText","_display","code","valueString","_valueString","exports"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/utils/fields/get-option-text.ts"],"mappings":";;;;;;AAGA,IAAAA,kBAAA,GAAAC,OAAA;AAEO,MAAMC,aAAa,GAAGA,CAC3BC,MAA6C,EAC7CC,MAAe,KACJ;EACX,IAAID,MAAM,CAACE,WAAW,EAAEC,OAAO,EAAE;IAC/B,OAAO,IAAAC,oCAAiB,EACtBJ,MAAM,CAACE,WAAW,CAACC,OAAO,EACzBH,MAAM,CAACE,WAAW,CAAqCG,QAAQ,EAChEJ,MACF,CAAC;EACH;EACA,IAAID,MAAM,CAACE,WAAW,EAAEI,IAAI,EAAE;IAC5B,OAAON,MAAM,CAACE,WAAW,CAACI,IAAI;EAChC;EACA,IAAIN,MAAM,CAACO,WAAW,EAAE;IACtB,OAAO,IAAAH,oCAAiB,EAACJ,MAAM,CAACO,WAAW,EAAEP,MAAM,CAACQ,YAAY,EAAEP,MAAM,CAAC;EAC3E;EAEA,OAAO,EAAE;AACX,CAAC;AAACQ,OAAA,CAAAV,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -4,84 +4,87 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.FormUtils = void 0;
7
+ var _conditionUtils = require("./condition-utils.js");
8
+ var _createAnswerFromValue = require("./create-answer-from-value.js");
9
+ var _formValidation = require("./form-validation.js");
10
+ var _isAnswerableQuestionnaireItem = require("./is-answerable-questionnaire-item.js");
7
11
  const extractPagesFromQuestionnaire = questionnaire => {
8
12
  if (!questionnaire.item || !questionnaire.item.length) {
9
13
  return [];
10
14
  }
11
- if (questionnaire.item.some(item => item.type === "group")) {
12
- return questionnaire.item.filter(item => item.type === "group");
13
- }
14
- return [{
15
- linkId: "page-1",
16
- text: questionnaire.title || "Questionnaire",
17
- type: "group",
18
- item: questionnaire.item
19
- }];
20
- };
21
- const getItemType = (linkId, pages) => {
22
- for (const page of pages) {
23
- if (!page.item) {
24
- continue;
15
+ const pages = [];
16
+ let ungroupedItems = [];
17
+ const flushUngroupedItems = () => {
18
+ if (!ungroupedItems.length) {
19
+ return;
25
20
  }
26
- const item = page.item.find(item => item.linkId === linkId);
27
- if (item) {
28
- return item.type || "string";
21
+ pages.push({
22
+ linkId: `page-${pages.length + 1}`,
23
+ text: questionnaire.title || "Questionnaire",
24
+ type: "group",
25
+ item: ungroupedItems,
26
+ _isSyntheticPage: true
27
+ });
28
+ ungroupedItems = [];
29
+ };
30
+ questionnaire.item.forEach(item => {
31
+ if (item.type === "group") {
32
+ flushUngroupedItems();
33
+ pages.push(item);
34
+ } else {
35
+ ungroupedItems.push(item);
29
36
  }
30
- }
31
- return "string";
37
+ });
38
+ flushUngroupedItems();
39
+ return pages;
32
40
  };
33
- const createAnswerFromValue = (value, type) => {
34
- if (value === undefined || value === null || value === "") {
41
+ const createResponseItem = (item, responses) => {
42
+ if (!_conditionUtils.ConditionUtils.isItemEnabled(item, responses)) {
35
43
  return undefined;
36
44
  }
37
- switch (type) {
38
- case "boolean":
39
- return {
40
- valueBoolean: value
41
- };
42
- case "date":
43
- return {
44
- valueDate: value
45
- };
46
- case "dateTime":
47
- return {
48
- valueDateTime: value
49
- };
50
- case "choice":
51
- return {
52
- valueCoding: {
53
- code: value
54
- }
55
- };
56
- case "decimal":
57
- return {
58
- valueDecimal: parseFloat(value)
59
- };
60
- case "integer":
61
- return {
62
- valueInteger: parseInt(value, 10)
63
- };
64
- case "string":
65
- case "text":
66
- default:
67
- return {
68
- valueString: value
69
- };
45
+ const nestedItems = (item.item ?? []).flatMap(nestedItem => {
46
+ const responseItem = createResponseItem(nestedItem, responses);
47
+ return responseItem ? [responseItem] : [];
48
+ });
49
+ if (item.type === "group") {
50
+ return {
51
+ linkId: item.linkId || "",
52
+ text: item.text,
53
+ item: nestedItems.length ? nestedItems : undefined
54
+ };
55
+ }
56
+ const answer = (0, _createAnswerFromValue.createAnswerFromValue)(responses[item.linkId || ""], item);
57
+ if (!answer && !nestedItems.length) {
58
+ return undefined;
70
59
  }
60
+ return {
61
+ linkId: item.linkId || "",
62
+ answer: answer ? [{
63
+ ...answer,
64
+ ...(nestedItems.length ? {
65
+ item: nestedItems
66
+ } : {})
67
+ }] : undefined
68
+ };
71
69
  };
72
70
  const createQuestionnaireResponseItems = (responses, pages) => {
73
- return Object.entries(responses).map(([linkId, value]) => {
74
- const itemType = getItemType(linkId, pages);
75
- const answer = createAnswerFromValue(value, itemType);
76
- return {
77
- linkId,
78
- answer: answer ? [answer] : undefined
79
- };
71
+ return pages.flatMap(page => {
72
+ if (!page._isSyntheticPage && !_conditionUtils.ConditionUtils.isItemEnabled(page, responses)) {
73
+ return [];
74
+ }
75
+ if (page._isSyntheticPage) {
76
+ return (page.item ?? []).flatMap(item => {
77
+ const responseItem = createResponseItem(item, responses);
78
+ return responseItem ? [responseItem] : [];
79
+ });
80
+ }
81
+ const responseItem = createResponseItem(page, responses);
82
+ return responseItem ? [responseItem] : [];
80
83
  });
81
84
  };
82
85
  const initializeDefaultValues = pages => {
83
86
  const defaults = {};
84
- const allItems = pages.flatMap(page => page.item ? page.item : []);
87
+ const allItems = getItems(pages.flatMap(page => page._isSyntheticPage ? page.item ?? [] : [page]));
85
88
  allItems.forEach(item => {
86
89
  const hasEnableWhenConditions = item.enableWhen && item.enableWhen.length > 0;
87
90
  if (!hasEnableWhenConditions) {
@@ -101,10 +104,14 @@ const initializeDefaultValues = pages => {
101
104
  });
102
105
  return defaults;
103
106
  };
107
+ const getItems = items => items.flatMap(item => [item, ...getItems(item.item ?? [])]);
108
+ const getAllQuestionnaireItems = pages => pages.flatMap(page => getItems(page.item ?? []));
109
+ const hasUnansweredRequiredItems = (pages, responses, renderItem, resolver, unitOptionsResolver) => pages.some(page => _conditionUtils.ConditionUtils.getEnabledItemsForPage(page, responses).some(item => item.type !== "display" && item.required && !(0, _isAnswerableQuestionnaireItem.isAnswerableQuestionnaireItem)(item) && !renderItem)) || !_formValidation.FormValidation.validateRequiredFields(pages, responses, renderItem, resolver, unitOptionsResolver).isValid;
104
110
  const FormUtils = exports.FormUtils = {
105
111
  extractPagesFromQuestionnaire,
106
- getItemType,
107
112
  createQuestionnaireResponseItems,
108
- initializeDefaultValues
113
+ initializeDefaultValues,
114
+ getAllQuestionnaireItems,
115
+ hasUnansweredRequiredItems
109
116
  };
110
117
  //# sourceMappingURL=form-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["extractPagesFromQuestionnaire","questionnaire","item","length","some","type","filter","linkId","text","title","getItemType","pages","page","find","createAnswerFromValue","value","undefined","valueBoolean","valueDate","valueDateTime","valueCoding","code","valueDecimal","parseFloat","valueInteger","parseInt","valueString","createQuestionnaireResponseItems","responses","Object","entries","map","itemType","answer","initializeDefaultValues","defaults","allItems","flatMap","forEach","hasEnableWhenConditions","enableWhen","answerOption","initialSelectedOption","option","initialSelected","FormUtils","exports"],"sourceRoot":"../../../../../src","sources":["modules/questionnaire-response-form/utils/form-utils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_conditionUtils","require","_createAnswerFromValue","_formValidation","_isAnswerableQuestionnaireItem","extractPagesFromQuestionnaire","questionnaire","item","length","pages","ungroupedItems","flushUngroupedItems","push","linkId","text","title","type","_isSyntheticPage","forEach","createResponseItem","responses","ConditionUtils","isItemEnabled","undefined","nestedItems","flatMap","nestedItem","responseItem","answer","createAnswerFromValue","createQuestionnaireResponseItems","page","initializeDefaultValues","defaults","allItems","getItems","hasEnableWhenConditions","enableWhen","answerOption","initialSelectedOption","find","option","initialSelected","valueCoding","code","valueString","items","getAllQuestionnaireItems","hasUnansweredRequiredItems","renderItem","resolver","unitOptionsResolver","some","getEnabledItemsForPage","required","isAnswerableQuestionnaireItem","FormValidation","validateRequiredFields","isValid","FormUtils","exports"],"sourceRoot":"../../../../../src","sources":["modules/questionnaire-response-form/utils/form-utils.ts"],"mappings":"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","ignoreList":[]}
@@ -5,27 +5,45 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.FormValidation = void 0;
7
7
  var _conditionUtils = require("./condition-utils.js");
8
+ var _createAnswerFromValue = require("./create-answer-from-value.js");
9
+ var _isAnswerableQuestionnaireItem = require("./is-answerable-questionnaire-item.js");
10
+ var _validateQuestionnaireItemValue = require("./validate-questionnaire-item-value.js");
8
11
  /**
9
12
  * Validates all required and enabled items have answers
10
13
  * @param pages All questionnaire pages
11
14
  * @param responses Current responses
12
15
  * @returns Object containing validation result and first unanswered item location if any
13
16
  */
14
- const validateRequiredFields = (pages, responses) => {
17
+ const validateRequiredFields = (pages, responses, renderItem, resolver, unitOptionsResolver) => {
15
18
  for (let pageIndex = 0; pageIndex < pages.length; pageIndex++) {
16
19
  const page = pages[pageIndex];
17
20
  if (!page || !page.item) {
18
21
  continue;
19
22
  }
20
23
  const enabledItems = _conditionUtils.ConditionUtils.getEnabledItemsForPage(page, responses);
21
- const unansweredIndex = enabledItems.findIndex(item => item.required && (responses[item.linkId || ""] === undefined || responses[item.linkId || ""] === null || responses[item.linkId || ""] === "" && item.type !== "boolean"));
22
- if (unansweredIndex !== -1) {
24
+ const failureIndex = enabledItems.findIndex(item => {
25
+ if (item.type === "group" || item.type === "display") {
26
+ return false;
27
+ }
28
+ const value = responses[item.linkId || ""];
29
+ const answered = (0, _createAnswerFromValue.isQuestionnaireItemAnswered)(value, item);
30
+ const isRequired = item.required === true;
31
+ if (isRequired && ((0, _isAnswerableQuestionnaireItem.isAnswerableQuestionnaireItem)(item) || renderItem) && !answered) {
32
+ return true;
33
+ }
34
+ return (0, _validateQuestionnaireItemValue.validateQuestionnaireItemValue)(value, item, responses, resolver, unitOptionsResolver) !== undefined;
35
+ });
36
+ if (failureIndex !== -1) {
37
+ const item = enabledItems[failureIndex];
38
+ const value = item ? responses[item.linkId || ""] : undefined;
39
+ const answered = item ? (0, _createAnswerFromValue.isQuestionnaireItemAnswered)(value, item) : false;
23
40
  return {
24
41
  isValid: false,
25
42
  firstUnansweredLocation: {
26
43
  pageIndex,
27
- itemIndex: unansweredIndex
28
- }
44
+ itemIndex: failureIndex
45
+ },
46
+ failureReason: item?.required && !answered ? "required" : "invalid-answer"
29
47
  };
30
48
  }
31
49
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_conditionUtils","require","validateRequiredFields","pages","responses","pageIndex","length","page","item","enabledItems","ConditionUtils","getEnabledItemsForPage","unansweredIndex","findIndex","required","linkId","undefined","type","isValid","firstUnansweredLocation","itemIndex","FormValidation","exports"],"sourceRoot":"../../../../../src","sources":["modules/questionnaire-response-form/utils/form-validation.ts"],"mappings":";;;;;;AAGA,IAAAA,eAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,sBAAsB,GAAGA,CAC7BC,KAAkC,EAClCC,SAAyB,KAItB;EACH,KAAK,IAAIC,SAAS,GAAG,CAAC,EAAEA,SAAS,GAAGF,KAAK,CAACG,MAAM,EAAED,SAAS,EAAE,EAAE;IAC7D,MAAME,IAAI,GAAGJ,KAAK,CAACE,SAAS,CAAC;IAE7B,IAAI,CAACE,IAAI,IAAI,CAACA,IAAI,CAACC,IAAI,EAAE;MACvB;IACF;IAEA,MAAMC,YAAY,GAAGC,8BAAc,CAACC,sBAAsB,CAACJ,IAAI,EAAEH,SAAS,CAAC;IAE3E,MAAMQ,eAAe,GAAGH,YAAY,CAACI,SAAS,CAC3CL,IAAI,IACHA,IAAI,CAACM,QAAQ,KACZV,SAAS,CAACI,IAAI,CAACO,MAAM,IAAI,EAAE,CAAC,KAAKC,SAAS,IACzCZ,SAAS,CAACI,IAAI,CAACO,MAAM,IAAI,EAAE,CAAC,KAAK,IAAI,IACpCX,SAAS,CAACI,IAAI,CAACO,MAAM,IAAI,EAAE,CAAC,KAAK,EAAE,IAAIP,IAAI,CAACS,IAAI,KAAK,SAAU,CACtE,CAAC;IAED,IAAIL,eAAe,KAAK,CAAC,CAAC,EAAE;MAC1B,OAAO;QACLM,OAAO,EAAE,KAAK;QACdC,uBAAuB,EAAE;UACvBd,SAAS;UACTe,SAAS,EAAER;QACb;MACF,CAAC;IACH;EACF;EAEA,OAAO;IACLM,OAAO,EAAE,IAAI;IACbC,uBAAuB,EAAE;EAC3B,CAAC;AACH,CAAC;AAEM,MAAME,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG;EAC5BnB;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_conditionUtils","require","_createAnswerFromValue","_isAnswerableQuestionnaireItem","_validateQuestionnaireItemValue","validateRequiredFields","pages","responses","renderItem","resolver","unitOptionsResolver","pageIndex","length","page","item","enabledItems","ConditionUtils","getEnabledItemsForPage","failureIndex","findIndex","type","value","linkId","answered","isQuestionnaireItemAnswered","isRequired","required","isAnswerableQuestionnaireItem","validateQuestionnaireItemValue","undefined","isValid","firstUnansweredLocation","itemIndex","failureReason","FormValidation","exports"],"sourceRoot":"../../../../../src","sources":["modules/questionnaire-response-form/utils/form-validation.ts"],"mappings":";;;;;;AAIA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,8BAAA,GAAAF,OAAA;AAKA,IAAAG,+BAAA,GAAAH,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMI,sBAAsB,GAAGA,CAC7BC,KAAkC,EAClCC,SAAyB,EACzBC,UAAsC,EACtCC,QAA0C,EAC1CC,mBAAsD,KAKnD;EACH,KAAK,IAAIC,SAAS,GAAG,CAAC,EAAEA,SAAS,GAAGL,KAAK,CAACM,MAAM,EAAED,SAAS,EAAE,EAAE;IAC7D,MAAME,IAAI,GAAGP,KAAK,CAACK,SAAS,CAAC;IAE7B,IAAI,CAACE,IAAI,IAAI,CAACA,IAAI,CAACC,IAAI,EAAE;MACvB;IACF;IAEA,MAAMC,YAAY,GAAGC,8BAAc,CAACC,sBAAsB,CAACJ,IAAI,EAAEN,SAAS,CAAC;IAE3E,MAAMW,YAAY,GAAGH,YAAY,CAACI,SAAS,CAAEL,IAAI,IAAK;MACpD,IAAIA,IAAI,CAACM,IAAI,KAAK,OAAO,IAAIN,IAAI,CAACM,IAAI,KAAK,SAAS,EAAE;QACpD,OAAO,KAAK;MACd;MAEA,MAAMC,KAAK,GAAGd,SAAS,CAACO,IAAI,CAACQ,MAAM,IAAI,EAAE,CAAC;MAC1C,MAAMC,QAAQ,GAAG,IAAAC,kDAA2B,EAACH,KAAK,EAAEP,IAAI,CAAC;MACzD,MAAMW,UAAU,GAAGX,IAAI,CAACY,QAAQ,KAAK,IAAI;MAEzC,IACED,UAAU,KACT,IAAAE,4DAA6B,EAACb,IAAI,CAAC,IAAIN,UAAU,CAAC,IACnD,CAACe,QAAQ,EACT;QACA,OAAO,IAAI;MACb;MAEA,OACE,IAAAK,8DAA8B,EAC5BP,KAAK,EACLP,IAAI,EACJP,SAAS,EACTE,QAAQ,EACRC,mBACF,CAAC,KAAKmB,SAAS;IAEnB,CAAC,CAAC;IAEF,IAAIX,YAAY,KAAK,CAAC,CAAC,EAAE;MACvB,MAAMJ,IAAI,GAAGC,YAAY,CAACG,YAAY,CAAC;MACvC,MAAMG,KAAK,GAAGP,IAAI,GAAGP,SAAS,CAACO,IAAI,CAACQ,MAAM,IAAI,EAAE,CAAC,GAAGO,SAAS;MAC7D,MAAMN,QAAQ,GAAGT,IAAI,GAAG,IAAAU,kDAA2B,EAACH,KAAK,EAAEP,IAAI,CAAC,GAAG,KAAK;MAExE,OAAO;QACLgB,OAAO,EAAE,KAAK;QACdC,uBAAuB,EAAE;UACvBpB,SAAS;UACTqB,SAAS,EAAEd;QACb,CAAC;QACDe,aAAa,EACXnB,IAAI,EAAEY,QAAQ,IAAI,CAACH,QAAQ,GAAG,UAAU,GAAG;MAC/C,CAAC;IACH;EACF;EAEA,OAAO;IACLO,OAAO,EAAE,IAAI;IACbC,uBAAuB,EAAE;EAC3B,CAAC;AACH,CAAC;AAEM,MAAMG,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG;EAC5B7B;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isAnswerableQuestionnaireItem = void 0;
7
+ const ANSWERABLE_ITEM_TYPES = new Set(["boolean", "choice", "date", "dateTime", "decimal", "integer", "string", "text", "time"]);
8
+ const isAnswerableQuestionnaireItem = item => ANSWERABLE_ITEM_TYPES.has(item.type);
9
+ exports.isAnswerableQuestionnaireItem = isAnswerableQuestionnaireItem;
10
+ //# sourceMappingURL=is-answerable-questionnaire-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ANSWERABLE_ITEM_TYPES","Set","isAnswerableQuestionnaireItem","item","has","type","exports"],"sourceRoot":"../../../../../src","sources":["modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.ts"],"mappings":";;;;;;AAEA,MAAMA,qBAAqB,GAAG,IAAIC,GAAG,CAA4B,CAC/D,SAAS,EACT,QAAQ,EACR,MAAM,EACN,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,MAAM,EACN,MAAM,CACP,CAAC;AAEK,MAAMC,6BAA6B,GACxCC,IAAuB,IACXH,qBAAqB,CAACI,GAAG,CAACD,IAAI,CAACE,IAAI,CAAC;AAACC,OAAA,CAAAJ,6BAAA,GAAAA,6BAAA","ignoreList":[]}