@ovok/native 1.10.2 → 1.10.4
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.
- package/README.md +5 -5
- package/lib/commonjs/modules/auth/default-translation.js +22 -0
- package/lib/commonjs/modules/auth/default-translation.js.map +1 -1
- package/lib/commonjs/modules/auth/hooks/use-session.js +3 -0
- package/lib/commonjs/modules/auth/hooks/use-session.js.map +1 -1
- package/lib/commonjs/modules/auth/profile/components/profile-form-provider.js +3 -6
- package/lib/commonjs/modules/auth/profile/components/profile-form-provider.js.map +1 -1
- package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js +1 -0
- package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js.map +1 -1
- package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js +4 -3
- package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
- package/lib/commonjs/modules/auth/session/logout-session.js +5 -2
- package/lib/commonjs/modules/auth/session/logout-session.js.map +1 -1
- package/lib/commonjs/modules/auth/session/session-store-refresh.js +125 -0
- package/lib/commonjs/modules/auth/session/session-store-refresh.js.map +1 -0
- package/lib/commonjs/modules/auth/session/session-store-request-state.js +73 -0
- package/lib/commonjs/modules/auth/session/session-store-request-state.js.map +1 -0
- package/lib/commonjs/modules/auth/session/session-store-types.js +17 -0
- package/lib/commonjs/modules/auth/session/session-store-types.js.map +1 -0
- package/lib/commonjs/modules/auth/session/session-store.js +56 -123
- package/lib/commonjs/modules/auth/session/session-store.js.map +1 -1
- package/lib/commonjs/modules/auth/utils/sign-in-error.js +10 -4
- package/lib/commonjs/modules/auth/utils/sign-in-error.js.map +1 -1
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +5 -0
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/declined-device-storage.js +36 -1
- package/lib/commonjs/modules/bt-management/hooks/declined-device-storage.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/nearby-device-offer-state.js +25 -0
- package/lib/commonjs/modules/bt-management/hooks/nearby-device-offer-state.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/nearby-device-offer-types.js +6 -0
- package/lib/commonjs/modules/bt-management/hooks/nearby-device-offer-types.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-nearby-device-offer.js +22 -36
- package/lib/commonjs/modules/bt-management/hooks/use-nearby-device-offer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +11 -0
- package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
- package/lib/commonjs/modules/data-sync/components/apple/apple-health-authorization-provider.js.map +1 -1
- package/lib/commonjs/modules/data-sync/hooks/use-listen-changes.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/apple-health-sync-service.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js +74 -34
- package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/convert-records-to-observation.js +19 -16
- package/lib/commonjs/modules/data-sync/utils/convert-records-to-observation.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/convert-samples-to-observation.js +17 -4
- package/lib/commonjs/modules/data-sync/utils/convert-samples-to-observation.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/get-total-samples-count.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/health-data-catalog.js +219 -16
- package/lib/commonjs/modules/data-sync/utils/health-data-catalog.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/health-record-timing.js +52 -0
- package/lib/commonjs/modules/data-sync/utils/health-record-timing.js.map +1 -0
- package/lib/commonjs/modules/data-sync/utils/health-units.js +1 -0
- package/lib/commonjs/modules/data-sync/utils/health-units.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/healthkit-data-types.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/normalize-core-health-observation.js +74 -0
- package/lib/commonjs/modules/data-sync/utils/normalize-core-health-observation.js.map +1 -0
- package/lib/commonjs/modules/picker-sheet/components/value-wheel-picker.js +41 -0
- package/lib/commonjs/modules/picker-sheet/components/value-wheel-picker.js.map +1 -0
- package/lib/commonjs/modules/picker-sheet/components/wheel-picker.js +56 -15
- package/lib/commonjs/modules/picker-sheet/components/wheel-picker.js.map +1 -1
- package/lib/commonjs/modules/picker-sheet/index.js +11 -0
- package/lib/commonjs/modules/picker-sheet/index.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/README.md +59 -20
- package/lib/commonjs/modules/questionnaire-response-form/components/content/questionnaire-content-item.js +8 -0
- package/lib/commonjs/modules/questionnaire-response-form/components/content/questionnaire-content-item.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/content/questionnaire-content-specific-item.js +8 -0
- package/lib/commonjs/modules/questionnaire-response-form/components/content/questionnaire-content-specific-item.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/fields/common/questionnaire-field-wrapper.js +8 -3
- package/lib/commonjs/modules/questionnaire-response-form/components/fields/common/questionnaire-field-wrapper.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-choice-field.js +9 -3
- package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-choice-field.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-date-field.js +18 -8
- package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-date-field.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.js +41 -2
- package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-text-field.js +43 -5
- package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-text-field.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/header/questionnaire-header-title.js +3 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/header/questionnaire-header-title.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form-provider.js +37 -11
- package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form-provider.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form.js +1 -0
- package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js +9 -3
- package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/hooks/use-initial-selected-values.js +5 -3
- package/lib/commonjs/modules/questionnaire-response-form/hooks/use-initial-selected-values.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/hooks/use-navigation-handlers.js +15 -4
- package/lib/commonjs/modules/questionnaire-response-form/hooks/use-navigation-handlers.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.js +14 -7
- package/lib/commonjs/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/index.js +20 -0
- package/lib/commonjs/modules/questionnaire-response-form/index.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/types/questionnaire-form-values.js +4 -0
- package/lib/commonjs/modules/questionnaire-response-form/types/questionnaire-item-render-props.js +6 -0
- package/lib/commonjs/modules/questionnaire-response-form/types/questionnaire-item-render-props.js.map +1 -0
- package/lib/commonjs/modules/questionnaire-response-form/types/response-values.js +4 -0
- package/lib/commonjs/modules/questionnaire-response-form/utils/condition-utils.js +37 -6
- package/lib/commonjs/modules/questionnaire-response-form/utils/condition-utils.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/utils/conditions/fhir-condition.js +148 -0
- package/lib/commonjs/modules/questionnaire-response-form/utils/conditions/fhir-condition.js.map +1 -0
- package/lib/commonjs/modules/questionnaire-response-form/utils/create-answer-from-value.js +127 -0
- package/lib/commonjs/modules/questionnaire-response-form/utils/create-answer-from-value.js.map +1 -0
- package/lib/commonjs/modules/questionnaire-response-form/utils/fields/get-option-text.js +4 -3
- package/lib/commonjs/modules/questionnaire-response-form/utils/fields/get-option-text.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/utils/form-utils.js +71 -64
- package/lib/commonjs/modules/questionnaire-response-form/utils/form-utils.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/utils/form-validation.js +23 -5
- package/lib/commonjs/modules/questionnaire-response-form/utils/form-validation.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.js +10 -0
- package/lib/commonjs/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.js.map +1 -0
- package/lib/commonjs/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.js +83 -0
- package/lib/commonjs/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.js.map +1 -0
- package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-date-utils.js +54 -0
- package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-date-utils.js.map +1 -0
- package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-item-constraints.js +75 -0
- package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-item-constraints.js.map +1 -0
- package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.js +63 -0
- package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.js.map +1 -0
- package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.js +49 -18
- package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-picker-options.js +117 -0
- package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-picker-options.js.map +1 -0
- package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.js +109 -0
- package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.js.map +1 -0
- package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-submit-utils.js +2 -2
- package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-submit-utils.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/utils/translate-fhir-text.js +36 -0
- package/lib/commonjs/modules/questionnaire-response-form/utils/translate-fhir-text.js.map +1 -0
- package/lib/commonjs/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.js +49 -0
- package/lib/commonjs/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.js.map +1 -0
- package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js +31 -15
- package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js.map +1 -1
- package/lib/commonjs/modules/ui/components/prerequisite-gate.js +73 -0
- package/lib/commonjs/modules/ui/components/prerequisite-gate.js.map +1 -0
- package/lib/commonjs/modules/ui/default-translation.js +50 -0
- package/lib/commonjs/modules/ui/default-translation.js.map +1 -0
- package/lib/commonjs/modules/ui/index.js +11 -0
- package/lib/commonjs/modules/ui/index.js.map +1 -1
- package/lib/commonjs/polyfills/index.js +9 -7
- package/lib/commonjs/polyfills/index.js.map +1 -1
- package/lib/module/modules/auth/default-translation.js +22 -0
- package/lib/module/modules/auth/default-translation.js.map +1 -1
- package/lib/module/modules/auth/hooks/use-session.js +3 -0
- package/lib/module/modules/auth/hooks/use-session.js.map +1 -1
- package/lib/module/modules/auth/profile/components/profile-form-provider.js +3 -6
- package/lib/module/modules/auth/profile/components/profile-form-provider.js.map +1 -1
- package/lib/module/modules/auth/register/components/form/register-form-provider.js +1 -0
- package/lib/module/modules/auth/register/components/form/register-form-provider.js.map +1 -1
- package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js +3 -3
- package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
- package/lib/module/modules/auth/session/logout-session.js +5 -2
- package/lib/module/modules/auth/session/logout-session.js.map +1 -1
- package/lib/module/modules/auth/session/session-store-refresh.js +121 -0
- package/lib/module/modules/auth/session/session-store-refresh.js.map +1 -0
- package/lib/module/modules/auth/session/session-store-request-state.js +69 -0
- package/lib/module/modules/auth/session/session-store-request-state.js.map +1 -0
- package/lib/module/modules/auth/session/session-store-types.js +13 -0
- package/lib/module/modules/auth/session/session-store-types.js.map +1 -0
- package/lib/module/modules/auth/session/session-store.js +56 -123
- package/lib/module/modules/auth/session/session-store.js.map +1 -1
- package/lib/module/modules/auth/utils/sign-in-error.js +9 -4
- package/lib/module/modules/auth/utils/sign-in-error.js.map +1 -1
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +5 -0
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/declined-device-storage.js +33 -1
- package/lib/module/modules/bt-management/hooks/declined-device-storage.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/nearby-device-offer-state.js +20 -0
- package/lib/module/modules/bt-management/hooks/nearby-device-offer-state.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/nearby-device-offer-types.js +4 -0
- package/lib/module/modules/bt-management/hooks/nearby-device-offer-types.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-nearby-device-offer.js +21 -35
- package/lib/module/modules/bt-management/hooks/use-nearby-device-offer.js.map +1 -1
- package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +11 -0
- package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
- package/lib/module/modules/data-sync/components/apple/apple-health-authorization-provider.js.map +1 -1
- package/lib/module/modules/data-sync/hooks/use-listen-changes.js.map +1 -1
- package/lib/module/modules/data-sync/services/apple-health-sync-service.js.map +1 -1
- package/lib/module/modules/data-sync/utils/convert-generic-health-data.js +74 -34
- package/lib/module/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
- package/lib/module/modules/data-sync/utils/convert-records-to-observation.js +19 -16
- package/lib/module/modules/data-sync/utils/convert-records-to-observation.js.map +1 -1
- package/lib/module/modules/data-sync/utils/convert-samples-to-observation.js +17 -4
- package/lib/module/modules/data-sync/utils/convert-samples-to-observation.js.map +1 -1
- package/lib/module/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
- package/lib/module/modules/data-sync/utils/get-total-samples-count.js.map +1 -1
- package/lib/module/modules/data-sync/utils/health-data-catalog.js +219 -16
- package/lib/module/modules/data-sync/utils/health-data-catalog.js.map +1 -1
- package/lib/module/modules/data-sync/utils/health-record-timing.js +47 -0
- package/lib/module/modules/data-sync/utils/health-record-timing.js.map +1 -0
- package/lib/module/modules/data-sync/utils/health-units.js +1 -0
- package/lib/module/modules/data-sync/utils/health-units.js.map +1 -1
- package/lib/module/modules/data-sync/utils/healthkit-data-types.js.map +1 -1
- package/lib/module/modules/data-sync/utils/normalize-core-health-observation.js +69 -0
- package/lib/module/modules/data-sync/utils/normalize-core-health-observation.js.map +1 -0
- package/lib/module/modules/picker-sheet/components/value-wheel-picker.js +36 -0
- package/lib/module/modules/picker-sheet/components/value-wheel-picker.js.map +1 -0
- package/lib/module/modules/picker-sheet/components/wheel-picker.js +56 -15
- package/lib/module/modules/picker-sheet/components/wheel-picker.js.map +1 -1
- package/lib/module/modules/picker-sheet/index.js +1 -0
- package/lib/module/modules/picker-sheet/index.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/README.md +59 -20
- package/lib/module/modules/questionnaire-response-form/components/content/questionnaire-content-item.js +8 -0
- package/lib/module/modules/questionnaire-response-form/components/content/questionnaire-content-item.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/content/questionnaire-content-specific-item.js +8 -0
- package/lib/module/modules/questionnaire-response-form/components/content/questionnaire-content-specific-item.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/fields/common/questionnaire-field-wrapper.js +8 -3
- package/lib/module/modules/questionnaire-response-form/components/fields/common/questionnaire-field-wrapper.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-choice-field.js +9 -3
- package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-choice-field.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-date-field.js +18 -8
- package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-date-field.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.js +42 -3
- package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-text-field.js +41 -3
- package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-text-field.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/header/questionnaire-header-title.js +3 -1
- package/lib/module/modules/questionnaire-response-form/components/header/questionnaire-header-title.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/questionnaire-form-provider.js +37 -11
- package/lib/module/modules/questionnaire-response-form/components/questionnaire-form-provider.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/questionnaire-form.js +1 -0
- package/lib/module/modules/questionnaire-response-form/components/questionnaire-form.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js +9 -3
- package/lib/module/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/hooks/use-initial-selected-values.js +5 -3
- package/lib/module/modules/questionnaire-response-form/hooks/use-initial-selected-values.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/hooks/use-navigation-handlers.js +15 -4
- package/lib/module/modules/questionnaire-response-form/hooks/use-navigation-handlers.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.js +14 -7
- package/lib/module/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/index.js +2 -0
- package/lib/module/modules/questionnaire-response-form/index.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/types/questionnaire-form-values.js +2 -0
- package/lib/module/modules/questionnaire-response-form/types/questionnaire-item-render-props.js +4 -0
- package/lib/module/modules/questionnaire-response-form/types/questionnaire-item-render-props.js.map +1 -0
- package/lib/module/modules/questionnaire-response-form/types/response-values.js +2 -0
- package/lib/module/modules/questionnaire-response-form/utils/condition-utils.js +37 -6
- package/lib/module/modules/questionnaire-response-form/utils/condition-utils.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/utils/conditions/fhir-condition.js +140 -0
- package/lib/module/modules/questionnaire-response-form/utils/conditions/fhir-condition.js.map +1 -0
- package/lib/module/modules/questionnaire-response-form/utils/create-answer-from-value.js +122 -0
- package/lib/module/modules/questionnaire-response-form/utils/create-answer-from-value.js.map +1 -0
- package/lib/module/modules/questionnaire-response-form/utils/fields/get-option-text.js +4 -3
- package/lib/module/modules/questionnaire-response-form/utils/fields/get-option-text.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/utils/form-utils.js +71 -64
- package/lib/module/modules/questionnaire-response-form/utils/form-utils.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/utils/form-validation.js +23 -5
- package/lib/module/modules/questionnaire-response-form/utils/form-validation.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.js +5 -0
- package/lib/module/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.js.map +1 -0
- package/lib/module/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.js +77 -0
- package/lib/module/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.js.map +1 -0
- package/lib/module/modules/questionnaire-response-form/utils/questionnaire-date-utils.js +49 -0
- package/lib/module/modules/questionnaire-response-form/utils/questionnaire-date-utils.js.map +1 -0
- package/lib/module/modules/questionnaire-response-form/utils/questionnaire-item-constraints.js +71 -0
- package/lib/module/modules/questionnaire-response-form/utils/questionnaire-item-constraints.js.map +1 -0
- package/lib/module/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.js +57 -0
- package/lib/module/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.js.map +1 -0
- package/lib/module/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.js +49 -18
- package/lib/module/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/utils/questionnaire-picker-options.js +112 -0
- package/lib/module/modules/questionnaire-response-form/utils/questionnaire-picker-options.js.map +1 -0
- package/lib/module/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.js +105 -0
- package/lib/module/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.js.map +1 -0
- package/lib/module/modules/questionnaire-response-form/utils/questionnaire-submit-utils.js +2 -2
- package/lib/module/modules/questionnaire-response-form/utils/questionnaire-submit-utils.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/utils/translate-fhir-text.js +31 -0
- package/lib/module/modules/questionnaire-response-form/utils/translate-fhir-text.js.map +1 -0
- package/lib/module/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.js +44 -0
- package/lib/module/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.js.map +1 -0
- package/lib/module/modules/ui/components/bluetooth-state-notice.js +31 -15
- package/lib/module/modules/ui/components/bluetooth-state-notice.js.map +1 -1
- package/lib/module/modules/ui/components/prerequisite-gate.js +67 -0
- package/lib/module/modules/ui/components/prerequisite-gate.js.map +1 -0
- package/lib/module/modules/ui/default-translation.js +45 -0
- package/lib/module/modules/ui/default-translation.js.map +1 -0
- package/lib/module/modules/ui/index.js +1 -0
- package/lib/module/modules/ui/index.js.map +1 -1
- package/lib/module/polyfills/index.js +11 -1
- package/lib/module/polyfills/index.js.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/default-translation.d.ts +22 -0
- package/lib/typescript/commonjs/src/modules/auth/default-translation.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/profile/components/profile-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/register/components/form/register-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/session/logout-session.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/session/session-store-refresh.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/auth/session/session-store-refresh.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/session/session-store-request-state.d.ts +23 -0
- package/lib/typescript/commonjs/src/modules/auth/session/session-store-request-state.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/session/session-store-types.d.ts +33 -0
- package/lib/typescript/commonjs/src/modules/auth/session/session-store-types.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/session/session-store.d.ts +1 -18
- package/lib/typescript/commonjs/src/modules/auth/session/session-store.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/utils/sign-in-error.d.ts +4 -2
- package/lib/typescript/commonjs/src/modules/auth/utils/sign-in-error.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/declined-device-storage.d.ts +10 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/declined-device-storage.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/nearby-device-offer-state.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/nearby-device-offer-state.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/nearby-device-offer-types.d.ts +15 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/nearby-device-offer-types.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-device-offer.d.ts +6 -14
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-device-offer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-authorization-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/hooks/use-listen-changes.d.ts +2 -3
- package/lib/typescript/commonjs/src/modules/data-sync/hooks/use-listen-changes.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/apple-health-sync-service.d.ts +4 -5
- package/lib/typescript/commonjs/src/modules/data-sync/services/apple-health-sync-service.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-authorization-provider-props.d.ts +4 -2
- package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-authorization-provider-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-sync-props.d.ts +7 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-sync-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-authorization-status.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-authorization-status.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-generic-health-data.d.ts +3 -2
- package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-records-to-observation.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-samples-to-observation.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts +5 -4
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-total-samples-count.d.ts +2 -2
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-total-samples-count.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/health-data-catalog.d.ts +5 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/health-data-catalog.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/health-record-timing.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/health-record-timing.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/health-units.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/healthkit-data-types.d.ts +6 -5
- package/lib/typescript/commonjs/src/modules/data-sync/utils/healthkit-data-types.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/normalize-core-health-observation.d.ts +13 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/normalize-core-health-observation.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/picker-sheet/components/value-wheel-picker.d.ts +21 -0
- package/lib/typescript/commonjs/src/modules/picker-sheet/components/value-wheel-picker.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/picker-sheet/components/wheel-picker.d.ts +7 -3
- package/lib/typescript/commonjs/src/modules/picker-sheet/components/wheel-picker.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/picker-sheet/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/picker-sheet/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/content/questionnaire-content-item.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/content/questionnaire-content-specific-item.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/common/questionnaire-field-wrapper.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/questionnaire-choice-field.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/questionnaire-date-field.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/questionnaire-date-field.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.d.ts +9 -3
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/questionnaire-text-field.d.ts +5 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/questionnaire-text-field.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/header/questionnaire-header-title.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-form.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-navigation-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-initial-selected-values.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts +6 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/index.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/extended-questionnaire-item.d.ts +7 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/extended-questionnaire-item.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-props.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-provider-props.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-provider-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-values.d.ts +5 -2
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-values.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-item-render-props.d.ts +15 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-item-render-props.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/response-values.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/response-values.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/condition-utils.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/conditions/fhir-condition.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/conditions/fhir-condition.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/create-answer-from-value.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/create-answer-from-value.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/fields/get-option-text.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/fields/get-option-text.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/form-utils.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/form-utils.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/form-validation.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/form-validation.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-date-utils.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-date-utils.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-item-constraints.d.ts +22 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-item-constraints.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-picker-options.d.ts +15 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-picker-options.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-submit-utils.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-submit-utils.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/translate-fhir-text.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/translate-fhir-text.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts +8 -5
- package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/ui/components/prerequisite-gate.d.ts +19 -0
- package/lib/typescript/commonjs/src/modules/ui/components/prerequisite-gate.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/default-translation.d.ts +30 -0
- package/lib/typescript/commonjs/src/modules/ui/default-translation.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/ui/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/polyfills/index.d.ts +7 -1
- package/lib/typescript/commonjs/src/polyfills/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/default-translation.d.ts +22 -0
- package/lib/typescript/module/src/modules/auth/default-translation.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts +4 -1
- package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/profile/components/profile-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/register/components/form/register-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/session/logout-session.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/session/session-store-refresh.d.ts +8 -0
- package/lib/typescript/module/src/modules/auth/session/session-store-refresh.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/session/session-store-request-state.d.ts +23 -0
- package/lib/typescript/module/src/modules/auth/session/session-store-request-state.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/session/session-store-types.d.ts +33 -0
- package/lib/typescript/module/src/modules/auth/session/session-store-types.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/session/session-store.d.ts +1 -18
- package/lib/typescript/module/src/modules/auth/session/session-store.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/utils/sign-in-error.d.ts +4 -2
- package/lib/typescript/module/src/modules/auth/utils/sign-in-error.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/declined-device-storage.d.ts +10 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/declined-device-storage.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/nearby-device-offer-state.d.ts +6 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/nearby-device-offer-state.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/nearby-device-offer-types.d.ts +15 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/nearby-device-offer-types.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-device-offer.d.ts +6 -14
- package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-device-offer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts +7 -0
- package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-authorization-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/hooks/use-listen-changes.d.ts +2 -3
- package/lib/typescript/module/src/modules/data-sync/hooks/use-listen-changes.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/apple-health-sync-service.d.ts +4 -5
- package/lib/typescript/module/src/modules/data-sync/services/apple-health-sync-service.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/apple-health-authorization-provider-props.d.ts +4 -2
- package/lib/typescript/module/src/modules/data-sync/types/apple-health-authorization-provider-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/apple-health-sync-props.d.ts +7 -1
- package/lib/typescript/module/src/modules/data-sync/types/apple-health-sync-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/health-authorization-status.d.ts +2 -1
- package/lib/typescript/module/src/modules/data-sync/types/health-authorization-status.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/convert-generic-health-data.d.ts +3 -2
- package/lib/typescript/module/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/convert-records-to-observation.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/convert-samples-to-observation.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts +5 -4
- package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/get-total-samples-count.d.ts +2 -2
- package/lib/typescript/module/src/modules/data-sync/utils/get-total-samples-count.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/health-data-catalog.d.ts +5 -1
- package/lib/typescript/module/src/modules/data-sync/utils/health-data-catalog.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/health-record-timing.d.ts +10 -0
- package/lib/typescript/module/src/modules/data-sync/utils/health-record-timing.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/data-sync/utils/health-units.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/healthkit-data-types.d.ts +6 -5
- package/lib/typescript/module/src/modules/data-sync/utils/healthkit-data-types.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/normalize-core-health-observation.d.ts +13 -0
- package/lib/typescript/module/src/modules/data-sync/utils/normalize-core-health-observation.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/picker-sheet/components/value-wheel-picker.d.ts +21 -0
- package/lib/typescript/module/src/modules/picker-sheet/components/value-wheel-picker.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/picker-sheet/components/wheel-picker.d.ts +7 -3
- package/lib/typescript/module/src/modules/picker-sheet/components/wheel-picker.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/picker-sheet/index.d.ts +1 -0
- package/lib/typescript/module/src/modules/picker-sheet/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/content/questionnaire-content-item.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/content/questionnaire-content-specific-item.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/common/questionnaire-field-wrapper.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/questionnaire-choice-field.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/questionnaire-date-field.d.ts +3 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/questionnaire-date-field.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.d.ts +9 -3
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/questionnaire-text-field.d.ts +5 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/questionnaire-text-field.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/header/questionnaire-header-title.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-form.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-navigation-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-initial-selected-values.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts +6 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.d.ts +2 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/index.d.ts +4 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/extended-questionnaire-item.d.ts +7 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/extended-questionnaire-item.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts +6 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-props.d.ts +3 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-provider-props.d.ts +11 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-provider-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-values.d.ts +5 -2
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-values.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-item-render-props.d.ts +15 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-item-render-props.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts +5 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/response-values.d.ts +2 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/response-values.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/condition-utils.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/conditions/fhir-condition.d.ts +9 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/conditions/fhir-condition.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/create-answer-from-value.d.ts +7 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/create-answer-from-value.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/fields/get-option-text.d.ts +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/fields/get-option-text.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/form-utils.d.ts +4 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/form-utils.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/form-validation.d.ts +4 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/form-validation.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.d.ts +3 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.d.ts +8 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-date-utils.d.ts +5 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-date-utils.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-item-constraints.d.ts +22 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-item-constraints.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.d.ts +10 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.d.ts +2 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-picker-options.d.ts +15 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-picker-options.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.d.ts +5 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-submit-utils.d.ts +3 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-submit-utils.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/translate-fhir-text.d.ts +4 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/translate-fhir-text.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.d.ts +6 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts +8 -5
- package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/ui/components/prerequisite-gate.d.ts +19 -0
- package/lib/typescript/module/src/modules/ui/components/prerequisite-gate.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/default-translation.d.ts +30 -0
- package/lib/typescript/module/src/modules/ui/default-translation.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/index.d.ts +1 -0
- package/lib/typescript/module/src/modules/ui/index.d.ts.map +1 -1
- package/lib/typescript/module/src/polyfills/index.d.ts +7 -1
- package/lib/typescript/module/src/polyfills/index.d.ts.map +1 -1
- package/package.json +5 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","StyleSheet","TextInput","useAppTheme","QuestionnaireFieldWrapper","jsx","_jsx","QuestionnaireTextField","item","value","onChange","testID","keyboardType","theme","
|
|
1
|
+
{"version":3,"names":["React","useTranslation","StyleSheet","TextInput","ValueWheelPicker","useAppTheme","useQuestionnaireForm","translateFhirText","QuestionnaireFieldWrapper","jsx","_jsx","QuestionnaireTextField","item","value","onChange","testID","keyboardType","constraints","numericOptions","theme","t","locale","accessibilityHint","minValue","undefined","defaultValue","maxValue","step","filter","Boolean","join","placeholder","_placeholder","handleNumericChange","useCallback","numericValue","String","handleChangeText","text","type","test","children","length","options","Number","accessibilityLabel","_text","accessibilityIncrementLabel","accessibilityDecrementLabel","onChangeText","maxLength","style","styles","input","borderColor","colors","outline","backgroundColor","surface","color","onSurface","borderRadius","padding","spacing","create","fontSize","borderWidth"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/components/fields/questionnaire-text-field.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import React from "react";
|
|
4
4
|
import { Text } from "react-native-paper";
|
|
5
5
|
import { useQuestionnaireForm } from "../../hooks/use-questionnaire-form.js";
|
|
6
|
+
import { translateFhirText } from "../../utils/translate-fhir-text.js";
|
|
6
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
8
|
export const QuestionnaireHeaderTitle = ({
|
|
8
9
|
style,
|
|
@@ -10,9 +11,10 @@ export const QuestionnaireHeaderTitle = ({
|
|
|
10
11
|
...textProps
|
|
11
12
|
}) => {
|
|
12
13
|
const {
|
|
14
|
+
locale,
|
|
13
15
|
questionnaire
|
|
14
16
|
} = useQuestionnaireForm();
|
|
15
|
-
const title = questionnaire?.title
|
|
17
|
+
const title = translateFhirText(questionnaire?.title, questionnaire?._title, locale);
|
|
16
18
|
return /*#__PURE__*/_jsx(Text, {
|
|
17
19
|
variant: "titleLarge",
|
|
18
20
|
...textProps,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","useQuestionnaireForm","jsx","_jsx","QuestionnaireHeaderTitle","style","children","textProps","questionnaire","title","variant"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/components/header/questionnaire-header-title.tsx"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["React","Text","useQuestionnaireForm","translateFhirText","jsx","_jsx","QuestionnaireHeaderTitle","style","children","textProps","locale","questionnaire","title","_title","variant"],"sourceRoot":"../../../../../../src","sources":["modules/questionnaire-response-form/components/header/questionnaire-header-title.tsx"],"mappings":";;AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,oBAAoB;AAEzC,SAASC,oBAAoB,QAAQ,uCAAoC;AAEzE,SAASC,iBAAiB,QAAQ,oCAAiC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEpE,OAAO,MAAMC,wBAEZ,GAAGA,CAAC;EAAEC,KAAK;EAAEC,QAAQ;EAAE,GAAGC;AAAU,CAAC,KAAK;EACzC,MAAM;IAAEC,MAAM;IAAEC;EAAc,CAAC,GAAGT,oBAAoB,CAAC,CAAC;EAExD,MAAMU,KAAK,GAAGT,iBAAiB,CAC7BQ,aAAa,EAAEC,KAAK,EACnBD,aAAa,EACVE,MAAM,EACVH,MACF,CAAC;EAED,oBACEL,IAAA,CAACJ,IAAI;IAACa,OAAO,EAAC,YAAY;IAAA,GAAKL,SAAS;IAAEF,KAAK,EAAEA,KAAM;IAAAC,QAAA,EACpDA,QAAQ,IAAII;EAAK,CACd,CAAC;AAEX,CAAC","ignoreList":[]}
|
package/lib/module/modules/questionnaire-response-form/components/questionnaire-form-provider.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { getReferenceString, useClient } from "@ovok/core";
|
|
6
6
|
import { useFormik } from "formik";
|
|
7
7
|
import React from "react";
|
|
8
|
+
import { useTranslation } from "react-i18next";
|
|
8
9
|
import { QuestionnaireFormContext } from "../contexts/questionnaire-form-context.js";
|
|
9
10
|
import { useInitialSelectedValues } from "../hooks/index.js";
|
|
10
11
|
import { ConditionUtils } from "../utils/condition-utils.js";
|
|
@@ -20,9 +21,17 @@ export const QuestionnaireFormProvider = /*#__PURE__*/React.memo(({
|
|
|
20
21
|
onSubmit,
|
|
21
22
|
onSuccess,
|
|
22
23
|
onError,
|
|
23
|
-
paged = true
|
|
24
|
+
paged = true,
|
|
25
|
+
locale,
|
|
26
|
+
renderItem,
|
|
27
|
+
resolveQuestionnaireConstraint,
|
|
28
|
+
resolveQuestionnaireUnitOptions
|
|
24
29
|
}) => {
|
|
25
30
|
const client = useClient();
|
|
31
|
+
const {
|
|
32
|
+
i18n
|
|
33
|
+
} = useTranslation();
|
|
34
|
+
const resolvedLocale = locale ?? i18n?.language ?? questionnaire.language;
|
|
26
35
|
const [currentPageIndex, setCurrentPageIndex] = React.useState(0);
|
|
27
36
|
const [currentItemIndex, setCurrentItemIndex] = React.useState(0);
|
|
28
37
|
const [errorMessage, setErrorMessage] = React.useState(null);
|
|
@@ -38,7 +47,7 @@ export const QuestionnaireFormProvider = /*#__PURE__*/React.memo(({
|
|
|
38
47
|
submissionInFlight.current = true;
|
|
39
48
|
setSubmissionError(null);
|
|
40
49
|
try {
|
|
41
|
-
const validationResult = FormValidation.validateRequiredFields(pages, values);
|
|
50
|
+
const validationResult = FormValidation.validateRequiredFields(pages, values, renderItem, resolveQuestionnaireConstraint, resolveQuestionnaireUnitOptions);
|
|
42
51
|
if (!validationResult.isValid) {
|
|
43
52
|
const {
|
|
44
53
|
pageIndex,
|
|
@@ -46,7 +55,7 @@ export const QuestionnaireFormProvider = /*#__PURE__*/React.memo(({
|
|
|
46
55
|
} = validationResult.firstUnansweredLocation;
|
|
47
56
|
setCurrentPageIndex(pageIndex);
|
|
48
57
|
setCurrentItemIndex(itemIndex);
|
|
49
|
-
setErrorMessage("questionnaire-form.error.required-fields");
|
|
58
|
+
setErrorMessage(validationResult.failureReason === "required" ? "questionnaire-form.error.required-fields" : "questionnaire-form.error.invalid-answer");
|
|
50
59
|
return;
|
|
51
60
|
}
|
|
52
61
|
delete values.currentLinkId;
|
|
@@ -59,7 +68,7 @@ export const QuestionnaireFormProvider = /*#__PURE__*/React.memo(({
|
|
|
59
68
|
if (!activeProfile) {
|
|
60
69
|
throw new Error("questionnaire-form.error.profile-not-found");
|
|
61
70
|
}
|
|
62
|
-
const response = QuestionnaireSubmitUtils.createQuestionnaireResponse(values, pages, questionnaire);
|
|
71
|
+
const response = QuestionnaireSubmitUtils.createQuestionnaireResponse(values, pages, questionnaire, renderItem, resolveQuestionnaireConstraint, resolveQuestionnaireUnitOptions);
|
|
63
72
|
response.subject = {
|
|
64
73
|
reference: getReferenceString(activeProfile)
|
|
65
74
|
};
|
|
@@ -80,8 +89,8 @@ export const QuestionnaireFormProvider = /*#__PURE__*/React.memo(({
|
|
|
80
89
|
} finally {
|
|
81
90
|
submissionInFlight.current = false;
|
|
82
91
|
}
|
|
83
|
-
}, [onSubmit, onSuccess, onError, pages, questionnaire, client]);
|
|
84
|
-
const allItems = React.useMemo(() =>
|
|
92
|
+
}, [onSubmit, onSuccess, onError, pages, questionnaire, client, renderItem, resolveQuestionnaireConstraint, resolveQuestionnaireUnitOptions]);
|
|
93
|
+
const allItems = React.useMemo(() => FormUtils.getAllQuestionnaireItems(pages), [pages]);
|
|
85
94
|
const formik = useFormik({
|
|
86
95
|
initialValues,
|
|
87
96
|
onSubmit: handleSubmit,
|
|
@@ -92,9 +101,10 @@ export const QuestionnaireFormProvider = /*#__PURE__*/React.memo(({
|
|
|
92
101
|
...values
|
|
93
102
|
};
|
|
94
103
|
let hasChanges = false;
|
|
104
|
+
const enabledLinkIds = new Set(pages.flatMap(page => ConditionUtils.getEnabledItemsForPage(page, cleanedValues).map(item => item.linkId || "")));
|
|
95
105
|
allItems.forEach(item => {
|
|
96
106
|
const linkId = item.linkId || "";
|
|
97
|
-
if (linkId !== values.currentLinkId &&
|
|
107
|
+
if (linkId !== values.currentLinkId && linkId && !enabledLinkIds.has(linkId) && cleanedValues[linkId] !== undefined) {
|
|
98
108
|
delete cleanedValues[linkId];
|
|
99
109
|
hasChanges = true;
|
|
100
110
|
}
|
|
@@ -118,13 +128,22 @@ export const QuestionnaireFormProvider = /*#__PURE__*/React.memo(({
|
|
|
118
128
|
}, [formik]);
|
|
119
129
|
const currentPage = React.useMemo(() => pages[currentPageIndex], [pages, currentPageIndex]);
|
|
120
130
|
const enabledItems = React.useMemo(() => currentPage ? ConditionUtils.getEnabledItemsForPage(currentPage, values) : [], [currentPage, values]);
|
|
131
|
+
React.useEffect(() => {
|
|
132
|
+
if (enabledItems.length === 0) {
|
|
133
|
+
if (currentItemIndex !== 0) {
|
|
134
|
+
setCurrentItemIndex(0);
|
|
135
|
+
}
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
if (currentItemIndex < 0 || currentItemIndex >= enabledItems.length) {
|
|
139
|
+
setCurrentItemIndex(Math.max(0, Math.min(currentItemIndex, enabledItems.length - 1)));
|
|
140
|
+
}
|
|
141
|
+
}, [enabledItems.length, currentItemIndex, setCurrentItemIndex]);
|
|
121
142
|
useInitialSelectedValues(pages, values, setFieldValue);
|
|
122
143
|
const currentItem = React.useMemo(() => enabledItems[currentItemIndex], [enabledItems, currentItemIndex]);
|
|
123
144
|
const allEnabledItems = React.useMemo(() => pages.flatMap(page => ConditionUtils.getEnabledItemsForPage(page, values)), [pages, values]);
|
|
124
145
|
React.useEffect(() => {
|
|
125
|
-
|
|
126
|
-
setFieldValue("currentLinkId", currentItem.linkId, false);
|
|
127
|
-
}
|
|
146
|
+
setFieldValue("currentLinkId", currentItem?.linkId ?? "", false);
|
|
128
147
|
}, [currentItem?.linkId, setFieldValue]);
|
|
129
148
|
const contextValue = React.useMemo(() => ({
|
|
130
149
|
questionnaire,
|
|
@@ -141,8 +160,12 @@ export const QuestionnaireFormProvider = /*#__PURE__*/React.memo(({
|
|
|
141
160
|
setCurrentPageIndex,
|
|
142
161
|
setErrorMessage,
|
|
143
162
|
paged,
|
|
163
|
+
locale: resolvedLocale,
|
|
164
|
+
renderItem,
|
|
165
|
+
resolveQuestionnaireConstraint,
|
|
166
|
+
resolveQuestionnaireUnitOptions,
|
|
144
167
|
...formik
|
|
145
|
-
}), [questionnaire, currentItem, currentPage, currentPageIndex, currentItemIndex, errorMessage, submissionError, retrySubmit, pages, allItems, setCurrentItemIndex, setCurrentPageIndex, setErrorMessage, paged, formik]);
|
|
168
|
+
}), [questionnaire, currentItem, currentPage, currentPageIndex, currentItemIndex, errorMessage, submissionError, retrySubmit, pages, allItems, setCurrentItemIndex, setCurrentPageIndex, setErrorMessage, paged, resolvedLocale, renderItem, resolveQuestionnaireConstraint, resolveQuestionnaireUnitOptions, formik]);
|
|
146
169
|
return /*#__PURE__*/_jsx(QuestionnaireFormContext.Provider, {
|
|
147
170
|
value: contextValue,
|
|
148
171
|
children: /*#__PURE__*/_jsx(QuestionnaireNavigationProvider, {
|
|
@@ -158,6 +181,9 @@ export const QuestionnaireFormProvider = /*#__PURE__*/React.memo(({
|
|
|
158
181
|
setCurrentPageIndex: setCurrentPageIndex,
|
|
159
182
|
setErrorMessage: setErrorMessage,
|
|
160
183
|
formik: formik,
|
|
184
|
+
renderItem: renderItem,
|
|
185
|
+
resolveQuestionnaireConstraint: resolveQuestionnaireConstraint,
|
|
186
|
+
resolveQuestionnaireUnitOptions: resolveQuestionnaireUnitOptions,
|
|
161
187
|
children: children
|
|
162
188
|
})
|
|
163
189
|
});
|
package/lib/module/modules/questionnaire-response-form/components/questionnaire-form-provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getReferenceString","useClient","useFormik","React","QuestionnaireFormContext","useInitialSelectedValues","ConditionUtils","FormUtils","FormValidation","QuestionnaireSubmitUtils","QuestionnaireNavigationProvider","jsx","_jsx","QuestionnaireFormProvider","memo","children","questionnaire","initialValues","_initialValues","onSubmit","onSuccess","onError","paged","client","currentPageIndex","setCurrentPageIndex","useState","currentItemIndex","setCurrentItemIndex","errorMessage","setErrorMessage","submissionError","setSubmissionError","submissionInFlight","useRef","submissionIdentifier","pages","useMemo","extractPagesFromQuestionnaire","initializeDefaultValues","handleSubmit","useCallback","values","formikHelpers","current","validationResult","validateRequiredFields","isValid","pageIndex","itemIndex","firstUnansweredLocation","currentLinkId","activeProfile","getProfileAsync","Error","response","createQuestionnaireResponse","subject","reference","id","Date","now","Math","random","toString","slice","identifierValue","identifierSystem","identifier","system","value","createdResponse","createResourceIfNoneExist","error","typedError","message","startsWith","allItems","
|
|
1
|
+
{"version":3,"names":["getReferenceString","useClient","useFormik","React","useTranslation","QuestionnaireFormContext","useInitialSelectedValues","ConditionUtils","FormUtils","FormValidation","QuestionnaireSubmitUtils","QuestionnaireNavigationProvider","jsx","_jsx","QuestionnaireFormProvider","memo","children","questionnaire","initialValues","_initialValues","onSubmit","onSuccess","onError","paged","locale","renderItem","resolveQuestionnaireConstraint","resolveQuestionnaireUnitOptions","client","i18n","resolvedLocale","language","currentPageIndex","setCurrentPageIndex","useState","currentItemIndex","setCurrentItemIndex","errorMessage","setErrorMessage","submissionError","setSubmissionError","submissionInFlight","useRef","submissionIdentifier","pages","useMemo","extractPagesFromQuestionnaire","initializeDefaultValues","handleSubmit","useCallback","values","formikHelpers","current","validationResult","validateRequiredFields","isValid","pageIndex","itemIndex","firstUnansweredLocation","failureReason","currentLinkId","activeProfile","getProfileAsync","Error","response","createQuestionnaireResponse","subject","reference","id","Date","now","Math","random","toString","slice","identifierValue","identifierSystem","identifier","system","value","createdResponse","createResourceIfNoneExist","error","typedError","message","startsWith","allItems","getAllQuestionnaireItems","formik","validateOnBlur","enableReinitialize","validate","cleanedValues","hasChanges","enabledLinkIds","Set","flatMap","page","getEnabledItemsForPage","map","item","linkId","forEach","has","undefined","setValues","Object","some","setFieldError","setFieldValue","retrySubmit","submitForm","currentPage","enabledItems","useEffect","length","max","min","currentItem","allEnabledItems","contextValue","Provider"],"sourceRoot":"../../../../../src","sources":["modules/questionnaire-response-form/components/questionnaire-form-provider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","StyleSheet","View","TouchableWithoutFeedback","Keyboard","ScrollView","useSafeAreaInsets","QuestionnaireContent","QuestionnaireHeader","QuestionnaireNavigation","QuestionnaireFormProvider","jsx","_jsx","QuestionnaireFormComponent","children","style","testID","paged","viewProps","bottom","Wrapper","useMemo","props","styles","container","showsVerticalScrollIndicator","contentContainerStyle","paddingBottom","onPress","dismiss","QuestionnaireForm","memo","Header","Content","Navigation","create","flexGrow"],"sourceRoot":"../../../../../src","sources":["modules/questionnaire-response-form/components/questionnaire-form.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,UAAU,EACVC,IAAI,EACJC,wBAAwB,EACxBC,QAAQ,EACRC,UAAU,QACL,cAAc;AACrB,SAASC,iBAAiB,QAAQ,gCAAgC;AAIlE,SAASC,oBAAoB,QAAQ,oCAAiC;AACtE,SAASC,mBAAmB,QAAQ,kCAA+B;AACnE,SAASC,uBAAuB,QAAQ,0CAAuC;AAC/E,SAASC,yBAAyB,QAAQ,kCAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE1E,MAAMC,0BAA0B,GAAGA,CAAC;EAClCC,QAAQ;EACRC,KAAK;EACLC,MAAM;EACNC,KAAK,GAAG,IAAI;EACZ,GAAGC;AACmB,CAAC,KAAK;EAC5B,MAAM;IAAEC;EAAO,CAAC,GAAGb,iBAAiB,CAAC,CAAC;EAEtC,MAAMc,OAAO,GAAGpB,KAAK,CAACqB,OAAO,CAAC,MAAO,CAACJ,KAAK,GAAGZ,UAAU,GAAGH,IAAK,EAAE,CAACe,KAAK,CAAC,CAAC;EAE1E,MAAMK,KAAK,GAAGtB,KAAK,CAACqB,OAAO,CACzB,MACEJ,KAAK,GACD;IACE,GAAGC,SAAS;IACZH,KAAK,EAAE,CAACQ,MAAM,CAACC,SAAS,EAAET,KAAK;EACjC,CAAC,GACD;IACE,GAAGG,SAAS;IACZO,4BAA4B,EAAE,KAAK;IACnCC,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","TouchableWithoutFeedback","Keyboard","ScrollView","useSafeAreaInsets","QuestionnaireContent","QuestionnaireHeader","QuestionnaireNavigation","QuestionnaireFormProvider","jsx","_jsx","QuestionnaireFormComponent","children","style","testID","paged","viewProps","bottom","Wrapper","useMemo","props","styles","container","showsVerticalScrollIndicator","nestedScrollEnabled","contentContainerStyle","paddingBottom","onPress","dismiss","QuestionnaireForm","memo","Header","Content","Navigation","create","flexGrow"],"sourceRoot":"../../../../../src","sources":["modules/questionnaire-response-form/components/questionnaire-form.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,UAAU,EACVC,IAAI,EACJC,wBAAwB,EACxBC,QAAQ,EACRC,UAAU,QACL,cAAc;AACrB,SAASC,iBAAiB,QAAQ,gCAAgC;AAIlE,SAASC,oBAAoB,QAAQ,oCAAiC;AACtE,SAASC,mBAAmB,QAAQ,kCAA+B;AACnE,SAASC,uBAAuB,QAAQ,0CAAuC;AAC/E,SAASC,yBAAyB,QAAQ,kCAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE1E,MAAMC,0BAA0B,GAAGA,CAAC;EAClCC,QAAQ;EACRC,KAAK;EACLC,MAAM;EACNC,KAAK,GAAG,IAAI;EACZ,GAAGC;AACmB,CAAC,KAAK;EAC5B,MAAM;IAAEC;EAAO,CAAC,GAAGb,iBAAiB,CAAC,CAAC;EAEtC,MAAMc,OAAO,GAAGpB,KAAK,CAACqB,OAAO,CAAC,MAAO,CAACJ,KAAK,GAAGZ,UAAU,GAAGH,IAAK,EAAE,CAACe,KAAK,CAAC,CAAC;EAE1E,MAAMK,KAAK,GAAGtB,KAAK,CAACqB,OAAO,CACzB,MACEJ,KAAK,GACD;IACE,GAAGC,SAAS;IACZH,KAAK,EAAE,CAACQ,MAAM,CAACC,SAAS,EAAET,KAAK;EACjC,CAAC,GACD;IACE,GAAGG,SAAS;IACZO,4BAA4B,EAAE,KAAK;IACnCC,mBAAmB,EAAER,SAAS,CAACQ,mBAAmB,IAAI,IAAI;IAC1DC,qBAAqB,EAAE,CACrBJ,MAAM,CAACC,SAAS,EAChB;MAAEI,aAAa,EAAET;IAAO,CAAC,EACzBJ,KAAK;EAET,CAAC,EACP,CAACG,SAAS,EAAEH,KAAK,EAAEI,MAAM,EAAEF,KAAK,CAClC,CAAC;EAED,oBACEL,IAAA,CAACF,yBAAyB;IAAA,GAAKQ,SAAS;IAAED,KAAK,EAAEA,KAAM;IAAAH,QAAA,eACrDF,IAAA,CAACT,wBAAwB;MAAC0B,OAAO,EAAEzB,QAAQ,CAAC0B,OAAQ;MAAAhB,QAAA,eAClDF,IAAA,CAACQ,OAAO;QAACJ,MAAM,EAAEA,MAAO;QAAA,GAAKM,KAAK;QAAAR,QAAA,EAC/BA;MAAQ,CACF;IAAC,CACc;EAAC,CACF,CAAC;AAEhC,CAAC;AAED,OAAO,MAAMiB,iBAAiB,gBAAG/B,KAAK,CAACgC,IAAI,CACzCnB,0BACF,CAIC;AAEDkB,iBAAiB,CAACE,MAAM,GAAGzB,mBAAmB;AAC9CuB,iBAAiB,CAACG,OAAO,GAAG3B,oBAAoB;AAChDwB,iBAAiB,CAACI,UAAU,GAAG1B,uBAAuB;AAEtD,MAAMc,MAAM,GAAGtB,UAAU,CAACmC,MAAM,CAAC;EAC/BZ,SAAS,EAAE;IACTa,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -18,9 +18,12 @@ export const QuestionnaireNavigationProvider = ({
|
|
|
18
18
|
setCurrentItemIndex,
|
|
19
19
|
setCurrentPageIndex,
|
|
20
20
|
setErrorMessage,
|
|
21
|
-
formik
|
|
21
|
+
formik,
|
|
22
|
+
renderItem,
|
|
23
|
+
resolveQuestionnaireConstraint,
|
|
24
|
+
resolveQuestionnaireUnitOptions
|
|
22
25
|
}) => {
|
|
23
|
-
const navigationState = useQuestionnaireNavigationState(currentItem, currentPageIndex, currentItemIndex, enabledItems, pages, values, allEnabledItems);
|
|
26
|
+
const navigationState = useQuestionnaireNavigationState(currentItem, currentPageIndex, currentItemIndex, enabledItems, pages, values, allEnabledItems, renderItem);
|
|
24
27
|
const {
|
|
25
28
|
handleNext,
|
|
26
29
|
handlePrevious
|
|
@@ -34,7 +37,10 @@ export const QuestionnaireNavigationProvider = ({
|
|
|
34
37
|
pages,
|
|
35
38
|
setCurrentItemIndex,
|
|
36
39
|
setCurrentPageIndex,
|
|
37
|
-
setErrorMessage
|
|
40
|
+
setErrorMessage,
|
|
41
|
+
renderItem,
|
|
42
|
+
resolveQuestionnaireConstraint,
|
|
43
|
+
resolveQuestionnaireUnitOptions
|
|
38
44
|
});
|
|
39
45
|
const contextValue = React.useMemo(() => ({
|
|
40
46
|
...navigationState,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","QuestionnaireNavigationContext","useNavigationHandlers","useQuestionnaireNavigationState","jsx","_jsx","QuestionnaireNavigationProvider","children","currentItem","currentPage","enabledItems","allEnabledItems","pages","values","currentItemIndex","currentPageIndex","setCurrentItemIndex","setCurrentPageIndex","setErrorMessage","formik","navigationState","handleNext","handlePrevious","contextValue","useMemo","isSubmitting","Provider","value"],"sourceRoot":"../../../../../src","sources":["modules/questionnaire-response-form/components/questionnaire-navigation-provider.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,8BAA8B,QAAQ,iDAA8C;AAC7F,SAASC,qBAAqB,QAAQ,qCAAkC;AACxE,SAASC,+BAA+B,QAAQ,gDAA6C;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG9F,OAAO,MAAMC,+BAEZ,GAAGA,CAAC;EACHC,QAAQ;EACRC,WAAW;EACXC,WAAW;EACXC,YAAY;EACZC,eAAe;EACfC,KAAK;EACLC,MAAM;EACNC,gBAAgB;EAChBC,gBAAgB;EAChBC,mBAAmB;EACnBC,mBAAmB;EACnBC,eAAe;EACfC;AACF,CAAC,KAAK;EACJ,MAAMC,eAAe,
|
|
1
|
+
{"version":3,"names":["React","QuestionnaireNavigationContext","useNavigationHandlers","useQuestionnaireNavigationState","jsx","_jsx","QuestionnaireNavigationProvider","children","currentItem","currentPage","enabledItems","allEnabledItems","pages","values","currentItemIndex","currentPageIndex","setCurrentItemIndex","setCurrentPageIndex","setErrorMessage","formik","renderItem","resolveQuestionnaireConstraint","resolveQuestionnaireUnitOptions","navigationState","handleNext","handlePrevious","contextValue","useMemo","isSubmitting","Provider","value"],"sourceRoot":"../../../../../src","sources":["modules/questionnaire-response-form/components/questionnaire-navigation-provider.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,8BAA8B,QAAQ,iDAA8C;AAC7F,SAASC,qBAAqB,QAAQ,qCAAkC;AACxE,SAASC,+BAA+B,QAAQ,gDAA6C;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG9F,OAAO,MAAMC,+BAEZ,GAAGA,CAAC;EACHC,QAAQ;EACRC,WAAW;EACXC,WAAW;EACXC,YAAY;EACZC,eAAe;EACfC,KAAK;EACLC,MAAM;EACNC,gBAAgB;EAChBC,gBAAgB;EAChBC,mBAAmB;EACnBC,mBAAmB;EACnBC,eAAe;EACfC,MAAM;EACNC,UAAU;EACVC,8BAA8B;EAC9BC;AACF,CAAC,KAAK;EACJ,MAAMC,eAAe,GAAGpB,+BAA+B,CACrDK,WAAW,EACXO,gBAAgB,EAChBD,gBAAgB,EAChBJ,YAAY,EACZE,KAAK,EACLC,MAAM,EACNF,eAAe,EACfS,UACF,CAAC;EAED,MAAM;IAAEI,UAAU;IAAEC;EAAe,CAAC,GAAGvB,qBAAqB,CAAC;IAC3DM,WAAW;IACXC,WAAW;IACXC,YAAY;IACZS,MAAM;IACNL,gBAAgB;IAChBC,gBAAgB;IAChBH,KAAK;IACLI,mBAAmB;IACnBC,mBAAmB;IACnBC,eAAe;IACfE,UAAU;IACVC,8BAA8B;IAC9BC;EACF,CAAC,CAAC;EAEF,MAAMI,YAAY,GAAG1B,KAAK,CAAC2B,OAAO,CAChC,OAAO;IACL,GAAGJ,eAAe;IAClBK,YAAY,EAAET,MAAM,CAACS,YAAY;IACjCJ,UAAU;IACVC;EACF,CAAC,CAAC,EACF,CAACF,eAAe,EAAEJ,MAAM,CAACS,YAAY,EAAEJ,UAAU,EAAEC,cAAc,CACnE,CAAC;EAED,oBACEpB,IAAA,CAACJ,8BAA8B,CAAC4B,QAAQ;IAACC,KAAK,EAAEJ,YAAa;IAAAnB,QAAA,EAC1DA;EAAQ,CAC8B,CAAC;AAE9C,CAAC","ignoreList":[]}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import React from "react";
|
|
4
4
|
import { ConditionUtils } from "../utils/condition-utils.js";
|
|
5
|
+
import { FormUtils } from "../utils/form-utils.js";
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Hook to handle initializing conditional questions with default values
|
|
@@ -9,7 +10,7 @@ import { ConditionUtils } from "../utils/condition-utils.js";
|
|
|
9
10
|
export const useInitialSelectedValues = (pages, values, setFieldValue) => {
|
|
10
11
|
const initializedItemsRef = React.useRef({});
|
|
11
12
|
const prevValuesRef = React.useRef({});
|
|
12
|
-
const allItems = React.useMemo(() =>
|
|
13
|
+
const allItems = React.useMemo(() => FormUtils.getAllQuestionnaireItems(pages), [pages]);
|
|
13
14
|
const initializeItemValue = React.useCallback(item => {
|
|
14
15
|
const linkId = item.linkId || "";
|
|
15
16
|
if (values[linkId] !== undefined) {
|
|
@@ -44,17 +45,18 @@ export const useInitialSelectedValues = (pages, values, setFieldValue) => {
|
|
|
44
45
|
prevValuesRef.current = {
|
|
45
46
|
...values
|
|
46
47
|
};
|
|
48
|
+
const enabledLinkIds = new Set(pages.flatMap(page => ConditionUtils.getEnabledItemsForPage(page, values).map(item => item.linkId || "")));
|
|
47
49
|
allItems.forEach(item => {
|
|
48
50
|
const hasConditions = item.enableWhen && item.enableWhen.length > 0;
|
|
49
51
|
const linkId = item.linkId || "";
|
|
50
52
|
if (initializedItemsRef.current[linkId]) {
|
|
51
53
|
return;
|
|
52
54
|
}
|
|
53
|
-
if (hasConditions &&
|
|
55
|
+
if (hasConditions && enabledLinkIds.has(linkId)) {
|
|
54
56
|
initializeItemValue(item);
|
|
55
57
|
}
|
|
56
58
|
});
|
|
57
|
-
}, [allItems, values, initializeItemValue]);
|
|
59
|
+
}, [allItems, pages, values, initializeItemValue]);
|
|
58
60
|
React.useEffect(() => {
|
|
59
61
|
initializedItemsRef.current = {};
|
|
60
62
|
prevValuesRef.current = {};
|
package/lib/module/modules/questionnaire-response-form/hooks/use-initial-selected-values.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ConditionUtils","useInitialSelectedValues","pages","values","setFieldValue","initializedItemsRef","useRef","prevValuesRef","allItems","useMemo","
|
|
1
|
+
{"version":3,"names":["React","ConditionUtils","FormUtils","useInitialSelectedValues","pages","values","setFieldValue","initializedItemsRef","useRef","prevValuesRef","allItems","useMemo","getAllQuestionnaireItems","initializeItemValue","useCallback","item","linkId","undefined","type","answerOption","initialSelectedOption","find","option","initialSelected","valueCoding","code","current","valueString","useEffect","Object","keys","length","valuesAreSame","JSON","stringify","enabledLinkIds","Set","flatMap","page","getEnabledItemsForPage","map","forEach","hasConditions","enableWhen","has"],"sourceRoot":"../../../../../src","sources":["modules/questionnaire-response-form/hooks/use-initial-selected-values.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React from "react";
|
|
4
|
+
import { isQuestionnaireItemAnswered } from "../utils/create-answer-from-value.js";
|
|
5
|
+
import { isAnswerableQuestionnaireItem } from "../utils/is-answerable-questionnaire-item.js";
|
|
4
6
|
import { QuestionnaireNavigationUtils } from "../utils/questionnaire-navigation-utils.js";
|
|
7
|
+
import { validateQuestionnaireItemValue } from "../utils/validate-questionnaire-item-value.js";
|
|
5
8
|
/**
|
|
6
9
|
* Provides navigation handlers for the questionnaire form
|
|
7
10
|
*/
|
|
@@ -13,20 +16,28 @@ export const useNavigationHandlers = ({
|
|
|
13
16
|
currentItemIndex,
|
|
14
17
|
currentPageIndex,
|
|
15
18
|
pages,
|
|
19
|
+
renderItem,
|
|
20
|
+
resolveQuestionnaireConstraint,
|
|
21
|
+
resolveQuestionnaireUnitOptions,
|
|
16
22
|
setCurrentItemIndex,
|
|
17
23
|
setCurrentPageIndex,
|
|
18
24
|
setErrorMessage
|
|
19
25
|
}) => {
|
|
20
26
|
const handleNext = React.useCallback(() => {
|
|
21
|
-
if (currentItem && currentItem.
|
|
27
|
+
if (currentItem && validateQuestionnaireItemValue(formik.values[currentItem.linkId || ""], currentItem, formik.values, resolveQuestionnaireConstraint, resolveQuestionnaireUnitOptions)) {
|
|
28
|
+
setErrorMessage("questionnaire-form.error.invalid-answer");
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (currentItem?.required && (isAnswerableQuestionnaireItem(currentItem) || !!renderItem && currentItem.type !== "group" && currentItem.type !== "display")) {
|
|
22
32
|
const linkId = currentItem.linkId || "";
|
|
23
|
-
|
|
33
|
+
const value = formik.values[linkId];
|
|
34
|
+
if (!isQuestionnaireItemAnswered(value, currentItem)) {
|
|
24
35
|
setErrorMessage("This question is required");
|
|
25
36
|
return;
|
|
26
37
|
}
|
|
27
38
|
}
|
|
28
39
|
setErrorMessage(null);
|
|
29
|
-
const result = QuestionnaireNavigationUtils.handleNext(currentPage, enabledItems, currentItem, currentItemIndex, currentPageIndex, pages, formik.values);
|
|
40
|
+
const result = QuestionnaireNavigationUtils.handleNext(currentPage, enabledItems, currentItem, currentItemIndex, currentPageIndex, pages, formik.values, renderItem);
|
|
30
41
|
if (result.hasError) {
|
|
31
42
|
setErrorMessage(result.errorMessage || "This question is required");
|
|
32
43
|
return;
|
|
@@ -38,7 +49,7 @@ export const useNavigationHandlers = ({
|
|
|
38
49
|
setCurrentPageIndex(result.newPageIndex);
|
|
39
50
|
setCurrentItemIndex(0);
|
|
40
51
|
}
|
|
41
|
-
}, [currentItem, currentPage, enabledItems, formik.values, currentItemIndex, currentPageIndex, pages, setCurrentItemIndex, setCurrentPageIndex, setErrorMessage]);
|
|
52
|
+
}, [currentItem, currentPage, enabledItems, formik.values, currentItemIndex, currentPageIndex, pages, renderItem, resolveQuestionnaireConstraint, resolveQuestionnaireUnitOptions, setCurrentItemIndex, setCurrentPageIndex, setErrorMessage]);
|
|
42
53
|
const handlePrevious = React.useCallback(() => {
|
|
43
54
|
setErrorMessage(null);
|
|
44
55
|
const result = QuestionnaireNavigationUtils.handlePrevious(currentItemIndex, currentPageIndex, pages, formik.values);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","QuestionnaireNavigationUtils","useNavigationHandlers","currentItem","currentPage","enabledItems","formik","currentItemIndex","currentPageIndex","pages","setCurrentItemIndex","setCurrentPageIndex","setErrorMessage","handleNext","useCallback","
|
|
1
|
+
{"version":3,"names":["React","isQuestionnaireItemAnswered","isAnswerableQuestionnaireItem","QuestionnaireNavigationUtils","validateQuestionnaireItemValue","useNavigationHandlers","currentItem","currentPage","enabledItems","formik","currentItemIndex","currentPageIndex","pages","renderItem","resolveQuestionnaireConstraint","resolveQuestionnaireUnitOptions","setCurrentItemIndex","setCurrentPageIndex","setErrorMessage","handleNext","useCallback","values","linkId","required","type","value","result","hasError","errorMessage","newItemIndex","undefined","newPageIndex","handlePrevious","lastItemIndex"],"sourceRoot":"../../../../../src","sources":["modules/questionnaire-response-form/hooks/use-navigation-handlers.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.js
CHANGED
|
@@ -2,13 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
import React from "react";
|
|
4
4
|
import { ConditionUtils } from "../utils/condition-utils.js";
|
|
5
|
-
|
|
5
|
+
import { isQuestionnaireItemAnswered } from "../utils/create-answer-from-value.js";
|
|
6
|
+
import { isAnswerableQuestionnaireItem } from "../utils/is-answerable-questionnaire-item.js";
|
|
7
|
+
export const useQuestionnaireNavigationState = (currentItem, currentPageIndex, currentItemIndex, enabledItems, pages, values, allEnabledItems, renderItem) => {
|
|
6
8
|
return React.useMemo(() => {
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
9
|
+
const previousItemCount = pages.slice(0, currentPageIndex).reduce((count, page) => count + ConditionUtils.getEnabledItemsForPage(page, values).length, 0);
|
|
10
|
+
const hasLaterEnabledPage = pages.slice(currentPageIndex + 1).some(page => ConditionUtils.getEnabledItemsForPage(page, values).length > 0);
|
|
11
|
+
const hasPreviousEnabledPage = pages.slice(0, currentPageIndex).some(page => ConditionUtils.getEnabledItemsForPage(page, values).length > 0);
|
|
12
|
+
const hasLaterItemOnCurrentPage = enabledItems.length > 0 && currentItemIndex < enabledItems.length - 1;
|
|
13
|
+
const isLastItem = !hasLaterItemOnCurrentPage && !hasLaterEnabledPage;
|
|
14
|
+
const currentItemNumber = previousItemCount + (currentItem ? currentItemIndex + 1 : 0);
|
|
15
|
+
const showPrevious = enabledItems.length > 0 && currentItemIndex > 0 || hasPreviousEnabledPage;
|
|
16
|
+
const isCurrentItemRequired = Boolean(currentItem?.required && (isAnswerableQuestionnaireItem(currentItem) || !!renderItem && currentItem.type !== "group" && currentItem.type !== "display"));
|
|
17
|
+
const currentValue = values[currentItem?.linkId || ""];
|
|
18
|
+
const isCurrentItemAnswered = currentItem ? isQuestionnaireItemAnswered(currentValue, currentItem) : false;
|
|
12
19
|
return {
|
|
13
20
|
isLastItem,
|
|
14
21
|
isCurrentItemRequired,
|
|
@@ -17,6 +24,6 @@ export const useQuestionnaireNavigationState = (currentItem, currentPageIndex, c
|
|
|
17
24
|
totalItems: allEnabledItems.length,
|
|
18
25
|
showPrevious
|
|
19
26
|
};
|
|
20
|
-
}, [currentItem, currentPageIndex, currentItemIndex, enabledItems.length, pages, values, allEnabledItems.length]);
|
|
27
|
+
}, [currentItem, currentPageIndex, currentItemIndex, enabledItems.length, pages, values, allEnabledItems.length, renderItem]);
|
|
21
28
|
};
|
|
22
29
|
//# sourceMappingURL=use-questionnaire-navigation-state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ConditionUtils","useQuestionnaireNavigationState","currentItem","currentPageIndex","currentItemIndex","enabledItems","pages","values","allEnabledItems","
|
|
1
|
+
{"version":3,"names":["React","ConditionUtils","isQuestionnaireItemAnswered","isAnswerableQuestionnaireItem","useQuestionnaireNavigationState","currentItem","currentPageIndex","currentItemIndex","enabledItems","pages","values","allEnabledItems","renderItem","useMemo","previousItemCount","slice","reduce","count","page","getEnabledItemsForPage","length","hasLaterEnabledPage","some","hasPreviousEnabledPage","hasLaterItemOnCurrentPage","isLastItem","currentItemNumber","showPrevious","isCurrentItemRequired","Boolean","required","type","currentValue","linkId","isCurrentItemAnswered","totalItems"],"sourceRoot":"../../../../../src","sources":["modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.ts"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAMzB,SAASC,cAAc,QAAQ,6BAA0B;AACzD,SAASC,2BAA2B,QAAQ,sCAAmC;AAC/E,SAASC,6BAA6B,QAAQ,8CAA2C;AAWzF,OAAO,MAAMC,+BAA+B,GAAGA,CAC7CC,WAAkD,EAClDC,gBAAwB,EACxBC,gBAAwB,EACxBC,YAAyC,EACzCC,KAAkC,EAClCC,MAA+B,EAC/BC,eAA4C,EAC5CC,UAAsC,KAClB;EACpB,OAAOZ,KAAK,CAACa,OAAO,CAAC,MAAM;IACzB,MAAMC,iBAAiB,GAAGL,KAAK,CAC5BM,KAAK,CAAC,CAAC,EAAET,gBAAgB,CAAC,CAC1BU,MAAM,CACL,CAACC,KAAK,EAAEC,IAAI,KACVD,KAAK,GACLhB,cAAc,CAACkB,sBAAsB,CAACD,IAAI,EAAER,MAAwB,CAAC,CAClEU,MAAM,EACX,CACF,CAAC;IAEH,MAAMC,mBAAmB,GAAGZ,KAAK,CAC9BM,KAAK,CAACT,gBAAgB,GAAG,CAAC,CAAC,CAC3BgB,IAAI,CACFJ,IAAI,IACHjB,cAAc,CAACkB,sBAAsB,CAACD,IAAI,EAAER,MAAwB,CAAC,CAClEU,MAAM,GAAG,CAChB,CAAC;IAEH,MAAMG,sBAAsB,GAAGd,KAAK,CACjCM,KAAK,CAAC,CAAC,EAAET,gBAAgB,CAAC,CAC1BgB,IAAI,CACFJ,IAAI,IACHjB,cAAc,CAACkB,sBAAsB,CAACD,IAAI,EAAER,MAAwB,CAAC,CAClEU,MAAM,GAAG,CAChB,CAAC;IAEH,MAAMI,yBAAyB,GAC7BhB,YAAY,CAACY,MAAM,GAAG,CAAC,IAAIb,gBAAgB,GAAGC,YAAY,CAACY,MAAM,GAAG,CAAC;IAEvE,MAAMK,UAAU,GAAG,CAACD,yBAAyB,IAAI,CAACH,mBAAmB;IAErE,MAAMK,iBAAiB,GACrBZ,iBAAiB,IAAIT,WAAW,GAAGE,gBAAgB,GAAG,CAAC,GAAG,CAAC,CAAC;IAE9D,MAAMoB,YAAY,GACfnB,YAAY,CAACY,MAAM,GAAG,CAAC,IAAIb,gBAAgB,GAAG,CAAC,IAChDgB,sBAAsB;IAExB,MAAMK,qBAAqB,GAAGC,OAAO,CACnCxB,WAAW,EAAEyB,QAAQ,KAClB3B,6BAA6B,CAACE,WAAW,CAAC,IACxC,CAAC,CAACO,UAAU,IACXP,WAAW,CAAC0B,IAAI,KAAK,OAAO,IAC5B1B,WAAW,CAAC0B,IAAI,KAAK,SAAU,CACvC,CAAC;IAED,MAAMC,YAAY,GAAGtB,MAAM,CAACL,WAAW,EAAE4B,MAAM,IAAI,EAAE,CAAC;IAEtD,MAAMC,qBAAqB,GAAG7B,WAAW,GACrCH,2BAA2B,CAAC8B,YAAY,EAAE3B,WAAW,CAAC,GACtD,KAAK;IAET,OAAO;MACLoB,UAAU;MACVG,qBAAqB;MACrBM,qBAAqB;MACrBR,iBAAiB;MACjBS,UAAU,EAAExB,eAAe,CAACS,MAAM;MAClCO;IACF,CAAC;EACH,CAAC,EAAE,CACDtB,WAAW,EACXC,gBAAgB,EAChBC,gBAAgB,EAChBC,YAAY,CAACY,MAAM,EACnBX,KAAK,EACLC,MAAM,EACNC,eAAe,CAACS,MAAM,EACtBR,UAAU,CACX,CAAC;AACJ,CAAC","ignoreList":[]}
|
|
@@ -10,5 +10,7 @@ export { useNavigationHandlers } from "./hooks/use-navigation-handlers.js";
|
|
|
10
10
|
export { useInitialSelectedValues } from "./hooks/use-initial-selected-values.js";
|
|
11
11
|
export { QuestionnaireFormContext } from "./contexts/questionnaire-form-context.js";
|
|
12
12
|
export { QuestionnaireNavigationContext } from "./contexts/questionnaire-navigation-context.js";
|
|
13
|
+
export { getQuestionnaireAnswerPickerOptions, getQuestionnaireNumericPickerOptions } from "./utils/questionnaire-picker-options.js";
|
|
14
|
+
export { getQuestionnaireItemConstraints } from "./utils/questionnaire-item-constraints.js";
|
|
13
15
|
export { QuestionnaireSubmitUtils } from "./utils/questionnaire-submit-utils.js";
|
|
14
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["QuestionnaireForm","QuestionnaireFormProvider","QuestionnaireNavigationProvider","useQuestionnaireForm","useQuestionnaireNavigation","useQuestionnaireNavigationState","useNavigationHandlers","useInitialSelectedValues","QuestionnaireFormContext","QuestionnaireNavigationContext","QuestionnaireSubmitUtils"],"sourceRoot":"../../../../src","sources":["modules/questionnaire-response-form/index.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,oCAAiC;AACnE,SAASC,yBAAyB,QAAQ,6CAA0C;AACpF,SAASC,+BAA+B,QAAQ,mDAAgD;AAEhG,SAASC,oBAAoB,QAAQ,mCAAgC;AACrE,SAASC,0BAA0B,QAAQ,yCAAsC;AACjF,SAASC,+BAA+B,QAAQ,+CAA4C;AAC5F,SAASC,qBAAqB,QAAQ,oCAAiC;AACvE,SAASC,wBAAwB,QAAQ,wCAAqC;AAE9E,SAASC,wBAAwB,QAAQ,0CAAuC;AAChF,SAASC,8BAA8B,QAAQ,gDAA6C;
|
|
1
|
+
{"version":3,"names":["QuestionnaireForm","QuestionnaireFormProvider","QuestionnaireNavigationProvider","useQuestionnaireForm","useQuestionnaireNavigation","useQuestionnaireNavigationState","useNavigationHandlers","useInitialSelectedValues","QuestionnaireFormContext","QuestionnaireNavigationContext","getQuestionnaireAnswerPickerOptions","getQuestionnaireNumericPickerOptions","getQuestionnaireItemConstraints","QuestionnaireSubmitUtils"],"sourceRoot":"../../../../src","sources":["modules/questionnaire-response-form/index.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,oCAAiC;AACnE,SAASC,yBAAyB,QAAQ,6CAA0C;AACpF,SAASC,+BAA+B,QAAQ,mDAAgD;AAEhG,SAASC,oBAAoB,QAAQ,mCAAgC;AACrE,SAASC,0BAA0B,QAAQ,yCAAsC;AACjF,SAASC,+BAA+B,QAAQ,+CAA4C;AAC5F,SAASC,qBAAqB,QAAQ,oCAAiC;AACvE,SAASC,wBAAwB,QAAQ,wCAAqC;AAE9E,SAASC,wBAAwB,QAAQ,0CAAuC;AAChF,SAASC,8BAA8B,QAAQ,gDAA6C;AAkB5F,SACEC,mCAAmC,EACnCC,oCAAoC,QAG/B,yCAAsC;AAC7C,SACEC,+BAA+B,QAI1B,2CAAwC;AAE/C,SAASC,wBAAwB,QAAQ,uCAAoC","ignoreList":[]}
|
package/lib/module/modules/questionnaire-response-form/types/questionnaire-item-render-props.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["modules/questionnaire-response-form/types/questionnaire-item-render-props.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -1,23 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { checkBooleanCondition, checkStringCondition, checkDecimalCondition, checkDateCondition } from "./conditions/index.js";
|
|
4
|
+
import { checkCodingCondition, checkQuantityCondition, checkReferenceCondition, checkTimeCondition, getComparableResponse } from "./conditions/fhir-condition.js";
|
|
4
5
|
const isConditionSatisfied = (condition, responses) => {
|
|
5
6
|
const questionId = condition.question;
|
|
6
7
|
const response = responses[questionId];
|
|
8
|
+
if (condition.operator === "exists") {
|
|
9
|
+
const answerExists = response !== undefined && response !== null && response !== "";
|
|
10
|
+
return answerExists === condition.answerBoolean;
|
|
11
|
+
}
|
|
7
12
|
if (response === undefined || response === null) {
|
|
8
13
|
return false;
|
|
9
14
|
}
|
|
15
|
+
const comparableResponse = getComparableResponse(response);
|
|
10
16
|
if (condition.answerBoolean !== undefined) {
|
|
11
|
-
return checkBooleanCondition(condition,
|
|
17
|
+
return checkBooleanCondition(condition, comparableResponse);
|
|
12
18
|
}
|
|
13
19
|
if (condition.answerString !== undefined) {
|
|
14
|
-
return checkStringCondition(condition,
|
|
20
|
+
return checkStringCondition(condition, comparableResponse);
|
|
15
21
|
}
|
|
16
|
-
if (condition.answerDecimal !== undefined) {
|
|
17
|
-
return checkDecimalCondition(
|
|
22
|
+
if (condition.answerDecimal !== undefined || condition.answerInteger !== undefined) {
|
|
23
|
+
return checkDecimalCondition({
|
|
24
|
+
...condition,
|
|
25
|
+
answerDecimal: condition.answerDecimal ?? condition.answerInteger
|
|
26
|
+
}, comparableResponse);
|
|
18
27
|
}
|
|
19
28
|
if (condition.answerDate !== undefined || condition.answerDateTime !== undefined) {
|
|
20
|
-
return checkDateCondition(condition,
|
|
29
|
+
return checkDateCondition(condition, comparableResponse);
|
|
30
|
+
}
|
|
31
|
+
if (condition.answerTime !== undefined) {
|
|
32
|
+
return checkTimeCondition(condition, comparableResponse);
|
|
33
|
+
}
|
|
34
|
+
if (condition.answerCoding !== undefined) {
|
|
35
|
+
return checkCodingCondition(condition, comparableResponse);
|
|
36
|
+
}
|
|
37
|
+
if (condition.answerQuantity !== undefined) {
|
|
38
|
+
return checkQuantityCondition(condition, comparableResponse);
|
|
39
|
+
}
|
|
40
|
+
if (condition.answerReference !== undefined) {
|
|
41
|
+
return checkReferenceCondition(condition, comparableResponse);
|
|
21
42
|
}
|
|
22
43
|
return false;
|
|
23
44
|
};
|
|
@@ -37,7 +58,17 @@ const getEnabledItemsForPage = (page, responses) => {
|
|
|
37
58
|
if (!page.item) {
|
|
38
59
|
return [];
|
|
39
60
|
}
|
|
40
|
-
|
|
61
|
+
if (!page._isSyntheticPage && !isItemEnabled(page, responses)) {
|
|
62
|
+
return [];
|
|
63
|
+
}
|
|
64
|
+
const getEnabledDescendants = items => items.flatMap(item => {
|
|
65
|
+
if (!isItemEnabled(item, responses)) {
|
|
66
|
+
return [];
|
|
67
|
+
}
|
|
68
|
+
const descendants = getEnabledDescendants(item.item ?? []);
|
|
69
|
+
return item.type === "group" ? descendants : [item, ...descendants];
|
|
70
|
+
});
|
|
71
|
+
return getEnabledDescendants(page.item);
|
|
41
72
|
};
|
|
42
73
|
export const ConditionUtils = {
|
|
43
74
|
isConditionSatisfied,
|