From 8ce257ca315e2ccb50fd33d4b3f0f24c473539b2 Mon Sep 17 00:00:00 2001 From: Alexey Vladimirov Date: Tue, 27 Jun 2023 13:29:21 +0300 Subject: [PATCH] code snapshot v1.0.0 --- .eslintrc.json | 3 +- jest.config.js | 26 +- package.json | 32 +- src/App.tsx | 64 +- src/__mocks__/setUpDateMock.ts | 13 + src/__mocks__/setUpTextDecoderMock.ts | 4 + src/__mocks__/setupCreateObjectUrlMock.ts | 1 + .../setupGetComputedTextLengthMock.ts | 3 + src/__mocks__/setupScrollIntoViewMock.ts | 3 + src/assets/activity-task/6-mwt.svg | 23 + src/assets/activity-task/gait-balance.svg | 41 + src/assets/activity-task/guided-breathing.svg | 20 + src/assets/activity-task/mobile-spiro.svg | 36 + .../preview/color_challenge_dots.svg | 6 + .../preview/color_challenge_start.svg | 19 + src/assets/activity-task/preview/done.svg | 11 + .../preview/gait_balance_timer.svg | 5 + .../preview/gait_balance_walk.svg | 41 + .../preview/gait_balance_walk_back.svg | 41 + .../preview/guided_breathing_exhale.svg | 14 + .../preview/guided_breathing_start.svg | 20 + .../preview/range_of_motion_left.svg | 21 + .../preview/range_of_motion_right.svg | 20 + .../preview/range_of_motion_timer.svg | 5 + .../preview/reaction_time_dot.svg | 3 + .../preview/reaction_time_start.svg | 19 + .../preview/sit_to_stand_start.svg | 23 + .../preview/sit_to_stand_timer.svg | 5 + .../preview/speech_recognition_audio.svg | 180 + .../speech_recognition_audio_empty.svg | 3 + .../preview/speech_recognition_start.svg | 31 + .../preview/spirometry_audio.svg | 66 + .../preview/spirometry_start.svg | 36 + .../activity-task/preview/step_test_dots.svg | 6 + .../activity-task/preview/step_test_start.svg | 24 + .../preview/sustained_phonation_audio.svg | 32 + .../preview/sustained_phonation_exhale.svg | 14 + .../preview/sustained_phonation_start.svg | 30 + .../preview/tapping_speed_buttons.svg | 4 + .../preview/tapping_speed_left.svg | 15 + .../preview/tapping_speed_right.svg | 15 + .../activity-task/preview/walk_test_start.svg | 22 + .../activity-task/preview/walk_test_timer.svg | 5 + src/assets/activity-task/range-motion.svg | 21 + src/assets/activity-task/reaction-time.svg | 19 + src/assets/activity-task/sit-stand.svg | 23 + .../activity-task/speech-recognition.svg | 31 + src/assets/activity-task/step-test.svg | 22 + .../activity-task/sustained-phonation.svg | 30 + src/assets/activity-task/tapping-speed.svg | 15 + src/assets/activity-task/word-color.svg | 19 + src/assets/education/education.svg | 11 + src/assets/education/pdf.svg | 10 + src/assets/education/play.svg | 4 + src/assets/education/player-controls.svg | 30 + src/assets/education/scratch.svg | 11 + src/assets/education/video.svg | 3 + src/assets/icons/appbar_back.svg | 11 +- src/assets/icons/calendar_small.svg | 3 + src/assets/icons/checkmark_small.svg | 3 + .../icons/comparison_percentage_decrease.svg | 3 + .../icons/comparison_percentage_increase.svg | 3 + src/assets/icons/document.svg | 3 + src/assets/icons/download.svg | 4 + src/assets/icons/download_small.svg | 4 + src/assets/icons/dropdown_arrow_small.svg | 3 + src/assets/icons/edit_open_ended.svg | 4 + src/assets/icons/image.svg | 3 + src/assets/icons/info.svg | 2 +- src/assets/icons/lock.svg | 9 +- src/assets/icons/minus_button.svg | 3 + src/assets/icons/more.svg | 5 + src/assets/icons/plus_button.svg | 3 + src/assets/icons/rank.svg | 5 + src/assets/icons/reorder.svg | 6 + src/assets/icons/reorder_selected.svg | 6 + src/assets/icons/sections.svg | 5 + src/assets/icons/skip_logic.svg | 3 + src/assets/icons/skip_logic_warning.svg | 3 + ...al_management.svg => study_management.svg} | 0 src/assets/icons/subtract.svg | 3 + src/assets/icons/time.svg | 2 +- src/assets/icons/time_small.svg | 3 + src/assets/icons/trash_can.svg | 6 +- src/assets/icons/trend_down.svg | 3 + src/assets/icons/upload.svg | 4 + src/assets/icons/upload_success.svg | 7 + src/assets/icons/warning.svg | 3 + src/assets/service/drop_area.svg | 3 + src/assets/service/empty_data.svg | 2 - .../components/BackdropOverlay.test.tsx | 2 +- src/common/components/BackdropOverlay.tsx | 10 +- src/common/components/Button.test.tsx | 2 +- src/common/components/Button.tsx | 12 +- src/common/components/Card.tsx | 55 +- src/common/components/CardDurationTitle.tsx | 43 + src/common/components/CardTitleWithInfo.tsx | 45 + src/common/components/ChartLegend.test.tsx | 2 + src/common/components/ChartLegend.tsx | 6 +- src/common/components/CheckBox.tsx | 2 +- src/common/components/Checkbox.test.tsx | 1 - src/common/components/CollapseSection.tsx | 52 +- .../components/CollapseSectionButton.tsx | 90 + .../components/CustomScrollbar.stories.tsx | 4 +- .../components/DatePicker/CalendarPopover.tsx | 90 +- .../components/DatePicker/DatePicker.test.tsx | 4 +- .../components/DatePicker/DatePicker.tsx | 30 +- .../__snapshots__/DatePicker.test.tsx.snap | 220 +- src/common/components/Drawer.test.tsx | 1 - src/common/components/Drawer.tsx | 13 +- src/common/components/Dropdown.stories.tsx | 2 + src/common/components/Dropdown.tsx | 123 +- src/common/components/IconButton.tsx | 4 +- src/common/components/Indicator.tsx | 2 + src/common/components/InputField.test.tsx | 11 +- src/common/components/InputField.tsx | 80 +- src/common/components/LineLoader.tsx | 4 +- src/common/components/Modal.stories.tsx | 4 +- src/common/components/Modal.test.tsx | 71 +- src/common/components/Modal.tsx | 185 +- .../OverviewCardWrapperWithSkeleton.tsx | 33 + src/common/components/Pagination.tsx | 2 +- .../components/PasswordInputField.test.tsx | 9 +- src/common/components/PasswordInputField.tsx | 2 +- src/common/components/PeriodDropdown.tsx | 54 + src/common/components/Portal.test.tsx | 1 - src/common/components/Portal.tsx | 10 +- src/common/components/ProgressBar.tsx | 203 + src/common/components/Radio.test.tsx | 1 - src/common/components/Radio.tsx | 17 +- src/common/components/Ripple.tsx | 11 +- src/common/components/RoundChips.tsx | 49 + src/common/components/ServiceScreen.tsx | 4 +- src/common/components/SimpleGrid.tsx | 134 +- .../components/SkeletonLoading.test.tsx | 1 - src/common/components/SkeletonLoading.tsx | 8 +- src/common/components/StudyAvatar.tsx | 6 +- src/common/components/Table/BaseTable.tsx | 33 +- src/common/components/Table/BodyCell.tsx | 49 +- src/common/components/Table/HeadCell.tsx | 8 +- src/common/components/Table/RowRenderer.tsx | 57 +- src/common/components/Table/StaticTable.tsx | 3 + src/common/components/Table/VirtualTable.tsx | 4 +- .../Table/__snapshots__/Table.test.tsx.snap | 206 +- src/common/components/Table/constants.ts | 4 +- src/common/components/Table/hooks.ts | 2 +- src/common/components/Table/types.ts | 4 + src/common/components/Tabs.tsx | 3 +- src/common/components/Toggle.test.tsx | 1 - .../components/Tooltip/Tooltip.stories.tsx | 2 +- .../components/Tooltip/Tooltip.test.tsx | 4 +- src/common/components/Tooltip/Tooltip.tsx | 33 +- src/common/components/Tooltip/TooltipItem.tsx | 72 +- .../__snapshots__/Tooltip.test.tsx.snap | 60 +- src/common/components/Tooltip/types.ts | 1 + .../__snapshots__/Button.test.tsx.snap | 14 +- .../__snapshots__/Card.test.tsx.snap | 47 + .../__snapshots__/ChartLegend.test.tsx.snap | 13 +- .../CollapseSection.test.tsx.snap | 54 +- .../__snapshots__/Drawer.test.tsx.snap | 294 +- .../__snapshots__/Dropdown.test.tsx.snap | 36 +- .../__snapshots__/Indicator.test.tsx.snap | 6 + .../__snapshots__/InputField.test.tsx.snap | 87 +- .../__snapshots__/Modal.test.tsx.snap | 145 +- .../__snapshots__/Pagination.test.tsx.snap | 108 +- .../PasswordInputField.test.tsx.snap | 53 +- .../__snapshots__/Radio.test.tsx.snap | 4 + .../__snapshots__/ServiceScreen.test.tsx.snap | 1 + .../__snapshots__/Tabs.test.tsx.snap | 10 +- src/common/useDisableElasticScroll.ts | 10 +- src/common/utils/array.test.ts | 67 + src/common/utils/array.ts | 21 + src/common/utils/browser.test.ts | 2 +- src/common/utils/combineRefs.test.tsx | 61 + src/common/utils/convertHexToRGBA.test.ts | 5 +- src/common/utils/datetime.test.ts | 40 +- src/common/utils/datetime.ts | 9 + src/common/utils/downloadMultiple.test.ts | 71 + src/common/utils/downloadMultiple.ts | 327 + src/common/utils/file.test.ts | 42 +- src/common/utils/file.ts | 13 + src/common/utils/number.test.ts | 22 +- src/common/utils/testing.ts | 14 + src/common/utils/useClickAwayGroup.test.tsx | 54 + src/common/utils/useClickAwayGroup.ts | 5 +- src/common/utils/useDownloadSnackbar.ts | 39 + src/common/withLocalDebouncedState.tsx | 88 + src/modules/api/apiService.test.ts | 1 + src/modules/api/apiService.ts | 33 +- .../api/applyDefaultApiErrorHandlers.ts | 20 +- src/modules/api/endpoints.test.ts | 180 +- src/modules/api/endpoints.ts | 345 +- src/modules/api/executeRequest.ts | 27 +- src/modules/api/mock.ts | 46 +- src/modules/api/models/auth.ts | 5 +- src/modules/api/models/education.ts | 64 + src/modules/api/models/index.ts | 3 + src/modules/api/models/labVisit.ts | 25 + src/modules/api/models/overview.ts | 27 +- src/modules/api/models/storage.ts | 29 + src/modules/api/models/study.ts | 26 +- src/modules/api/models/tasks.ts | 158 +- .../auth.slice.authTokenPayloadSelector.ts | 49 +- src/modules/auth/auth.slice.signout.ts | 18 +- src/modules/auth/auth.slice.test.tsx | 101 +- src/modules/auth/auth.slice.ts | 125 +- .../auth/auth.slice.userRoleSelector.ts | 4 +- src/modules/auth/authProvider.ts | 11 +- .../auth/common/PasswordRequirements.tsx | 8 +- .../forgot-password/ForgotPassword.test.tsx | 83 + .../auth/forgot-password/ForgotPassword.tsx | 118 +- .../ForgotPasswordCheckMailbox.test.tsx | 71 + .../ForgotPasswordCheckMailbox.tsx | 36 +- .../forgot-password/PasswordChanged.test.tsx | 79 + .../auth/forgot-password/PasswordChanged.tsx | 4 +- .../forgot-password/ResetPassword.test.tsx | 96 + .../auth/forgot-password/ResetPassword.tsx | 99 +- .../ForgotPassword.test.tsx.snap | 408 + .../ForgotPasswordCheckMailbox.test.tsx.snap | 250 + .../PasswordChanged.test.tsx.snap | 321 + .../__snapshots__/ResetPassword.test.tsx.snap | 691 ++ .../forgotPassword.slice.test.tsx | 185 + .../forgot-password/forgotPassword.slice.ts | 74 +- .../resetPassword.slice.test.tsx | 130 + .../forgot-password/resetPassword.slice.ts | 37 +- .../signin/AccountActivationScreen.test.tsx | 3 - .../auth/signin/AccountActivationScreen.tsx | 132 +- .../auth/signin/CreateStudyScreen.test.tsx | 44 +- src/modules/auth/signin/SignInScreen.test.tsx | 3 - src/modules/auth/signin/SignInScreen.tsx | 21 +- .../AccountActivationScreen.test.tsx.snap | 314 +- .../CreateStudyScreen.test.tsx.snap | 86 +- .../__snapshots__/SignInScreen.test.tsx.snap | 206 +- .../auth/signup/AccountCreated.test.tsx | 17 +- src/modules/auth/signup/AccountCreated.tsx | 49 +- src/modules/auth/signup/CheckMailbox.test.tsx | 3 - src/modules/auth/signup/SignUp.test.tsx | 4 - src/modules/auth/signup/SignUp.tsx | 7 +- .../AccountCreated.test.tsx.snap | 42 +- .../__snapshots__/CheckMailbox.test.tsx.snap | 15 +- .../signup/__snapshots__/SignUp.test.tsx.snap | 746 +- src/modules/auth/userRole.test.ts | 97 + src/modules/auth/userRole.ts | 187 +- src/modules/auth/utils.ts | 2 + src/modules/charts/BarChart.test.tsx | 1 + src/modules/charts/BarChart.tsx | 261 +- src/modules/charts/DonutChart.tsx | 90 +- src/modules/charts/GroupedBarChart.tsx | 70 +- src/modules/charts/LineChart.tsx | 11 +- .../LineChartWithDynamicAxis.stories.tsx | 76 + .../charts/LineChartWithDynamicAxis.test.tsx | 119 + .../charts/LineChartWithDynamicAxis.tsx | 404 + src/modules/charts/PieChart.tsx | 73 +- src/modules/charts/ScatterChart.test.tsx | 69 +- src/modules/charts/ScatterChart.tsx | 18 +- src/modules/charts/StackedBarChart.tsx | 143 +- .../__snapshots__/BarChart.test.tsx.snap | 75 +- .../GroupedBarChart.test.tsx.snap | 2 +- .../__snapshots__/LineChart.test.tsx.snap | 58 +- .../LineChartWithDynamicAxis.test.tsx.snap | 2709 ++++ .../__snapshots__/ScatterChart.test.tsx.snap | 62 +- .../StackedBarChart.test.tsx.snap | 14 +- src/modules/charts/common-components/Area.tsx | 2 +- src/modules/charts/common-components/Bar.tsx | 103 +- src/modules/charts/common-components/Dot.tsx | 8 +- src/modules/charts/common-components/Line.tsx | 14 +- .../charts/common-components/XAxis.tsx | 34 +- .../charts/common-components/YAxis.tsx | 6 +- src/modules/charts/common-components/Zoom.tsx | 16 +- .../charts/common-components/ZoomControls.tsx | 4 +- .../charts/common-helpers/constants.ts | 6 +- src/modules/charts/common-helpers/helpers.ts | 22 +- .../charts/common-helpers/styles.test.tsx | 8 +- src/modules/charts/common-helpers/styles.ts | 1 - src/modules/charts/utils.test.ts | 4 + src/modules/charts/utils.ts | 2 +- src/modules/charts/xaxis.ts | 122 + src/modules/charts/yaxis.ts | 91 + .../data-collection/DataCollection.test.tsx | 47 +- .../data-collection/DataCollection.tsx | 17 +- .../data-collection/DataInsights.test.tsx | 32 - src/modules/data-collection/DataInsights.tsx | 75 +- .../SqlQueryEditor/SqlQueryEditor.test.tsx | 4 - .../SqlQueryEditor/SqlQueryEditor.tsx | 6 +- .../DataCollection.test.tsx.snap | 4658 ++++++- .../__snapshots__/DataInsights.test.tsx.snap | 647 - .../dataCollection.slice.test.ts | 26 +- .../data-collection/dataCollection.slice.ts | 12 +- src/modules/file-upload/fileUpload.slice.tsx | 155 + src/modules/main-layout/MainLayout.test.tsx | 8 +- src/modules/main-layout/MainLayout.tsx | 140 +- .../__snapshots__/MainLayout.test.tsx.snap | 599 +- .../main-layout/sidebar/Sidebar.stories.tsx | 1 + .../main-layout/sidebar/Sidebar.test.tsx | 4 - src/modules/main-layout/sidebar/Sidebar.tsx | 47 +- .../__snapshots__/Sidebar.test.tsx.snap | 212 +- src/modules/navigation/store.ts | 26 +- .../objectStorage.slice.test.tsx | 133 + .../object-storage/objectStorage.slice.ts | 240 + src/modules/object-storage/utils.test.ts | 154 + src/modules/object-storage/utils.ts | 203 + .../AvgHeartRateFluctuationsCard.test.tsx | 63 - .../overview/AvgHeartRateFluctuationsCard.tsx | 61 - .../overview/AvgRestingHrOverDayCard.tsx | 14 +- .../overview/AvgRestingHrWithAgeCard.tsx | 14 +- .../overview/AvgStepCountCard.test.tsx | 63 - src/modules/overview/AvgStepCountCard.tsx | 69 - .../EligibilityQualificationsCard.test.tsx | 63 - .../EligibilityQualificationsCard.tsx | 77 - src/modules/overview/Overview.test.tsx | 3 - src/modules/overview/Overview.tsx | 46 +- .../overview/OverviewLegendWrapper.tsx | 3 +- src/modules/overview/ParticipantDropout.tsx | 250 + .../overview/ParticipantEnrollmentCard.tsx | 207 + src/modules/overview/ParticipantListCard.tsx | 103 +- src/modules/overview/StudyProgress.tsx | 226 + .../SurveyResponsesByAgeCard.test.tsx | 64 - .../overview/SurveyResponsesByAgeCard.tsx | 60 - .../SurveyResponsesByGenderCard.test.tsx | 67 - .../overview/SurveyResponsesByGenderCard.tsx | 79 - src/modules/overview/TaskCompliance.test.tsx | 69 + src/modules/overview/TaskCompliance.tsx | 206 + .../TaskCompliance.test.tsx.snap | 583 + .../avgHeartRateFluctuations.slice.test.tsx | 103 - .../avgHeartRateFluctuations.slice.ts | 78 - .../avgRestingHrOverDay.slice.test.tsx | 1 - .../overview/avgRestingHrOverDay.slice.ts | 24 +- .../overview/avgRestingHrWithAge.slice.ts | 9 +- .../overview/avgStepCount.slice.test.tsx | 127 - src/modules/overview/avgStepCount.slice.ts | 114 - .../eligibilityQualifications.slice.test.tsx | 96 - .../eligibilityQualifications.slice.ts | 57 - src/modules/overview/gender.ts | 2 +- .../overview-subject/OverviewSubject.test.tsx | 3 - .../overview-subject/OverviewSubject.tsx | 90 +- .../overview-subject/OverviewSubjectCard.tsx | 7 +- .../overviewSubject.slice.test.tsx | 1 - .../overview-subject/overviewSubject.slice.ts | 17 +- src/modules/overview/overview.slice.ts | 24 +- .../overview/participantDropout.slice.ts | 35 + .../participantEnrollment.slice.test.tsx | 91 + .../overview/participantEnrollment.slice.tsx | 69 + .../overview/participantsList.slice.test.tsx | 47 +- .../overview/participantsList.slice.ts | 52 +- .../overview/studyProgress.slice.test.tsx | 110 + src/modules/overview/studyProgress.slice.ts | 44 + .../overview/surveyResponses.slice.test.tsx | 173 - src/modules/overview/surveyResponses.slice.ts | 98 - .../overview/taskCompliance.slice.test.tsx | 97 + src/modules/overview/taskCompliance.slice.ts | 112 + src/modules/snackbar/Snackbar.tsx | 1 + src/modules/snackbar/SnackbarContainer.tsx | 66 +- src/modules/snackbar/useShowSnackbar.test.tsx | 8 +- src/modules/store/createDataSlice.test.tsx | 1 - src/modules/store/createDataSlice.ts | 36 +- src/modules/store/reducers.ts | 10 +- src/modules/store/tools.ts | 1 + src/modules/studies/CreateStudyCard.tsx | 244 + src/modules/studies/CreateStudyScreen.tsx | 291 +- src/modules/studies/SelectRoleCard.tsx | 157 + src/modules/studies/Studies.test.tsx | 17 +- src/modules/studies/Studies.tsx | 20 +- src/modules/studies/StudyLayout.tsx | 29 +- src/modules/studies/SwitchStudy.test.tsx | 67 + src/modules/studies/SwitchStudy.tsx | 60 +- .../__snapshots__/Studies.test.tsx.snap | 594 +- .../__snapshots__/SwitchStudy.test.tsx.snap | 981 ++ src/modules/studies/studies.slice.mock.ts | 3 + src/modules/studies/studies.slice.test.tsx | 58 +- src/modules/studies/studies.slice.ts | 128 +- .../common/GoBackHeader.tsx | 3 +- .../study-management/common/LimitsCounter.tsx | 48 + .../common/TextArea.stories.tsx | 0 .../common/TextArea.tsx | 59 +- src/modules/study-management/index.tsx | 17 + .../participant-management/index.tsx | 27 + .../lab-visit/CheckInBy.tsx | 75 + .../lab-visit/LabVisit.test.tsx | 101 + .../lab-visit/LabVisit.tsx | 288 + .../lab-visit/ParticipantId.tsx | 228 + .../lab-visit/RemoveDocumentModal.tsx | 45 + .../lab-visit/VisitDateTime.tsx | 326 + .../lab-visit/VisitDocuments.tsx | 780 ++ .../lab-visit/VisitEditorModal.test.tsx | 215 + .../lab-visit/VisitEditorModal.tsx | 284 + .../lab-visit/VisitNoteModal.tsx | 137 + .../lab-visit/VisitNotes.tsx | 77 + .../__snapshots__/LabVisit.test.tsx.snap | 1144 ++ .../VisitEditorModal.test.tsx.snap | 2759 +++++ .../lab-visit/labVisit.slice.test.tsx | 182 + .../lab-visit/labVisit.slice.tsx | 278 + .../lab-visit/utils.tsx | 82 + .../study-management/studyManagement.slice.ts | 35 + .../user-management/common/CardList.tsx | 60 + .../user-management/common/CardSvgLoader.tsx | 35 + .../user-management/common/CardsView.tsx} | 103 +- .../user-management}/common/Chips.tsx | 1 + .../user-management/common/CreatingLoader.tsx | 31 + .../user-management/common/DraggableGrid.tsx} | 89 +- .../user-management/common/Editor.tsx | 187 + .../user-management/common/EditorTitle.tsx | 187 + .../user-management/common}/EmptyList.tsx | 5 +- .../user-management/common/FilePicker.tsx | 192 + .../common}/HelpFloatButton.tsx | 55 +- .../user-management/common/ItemListEditor.tsx | 229 + .../common/LoadableImageGridEditor.test.tsx | 103 + .../common/LoadableImageGridEditor.tsx | 521 + .../user-management/common/Preview.tsx | 103 + .../common/PreviewScreenCtx.tsx | 8 + .../common/PreviewScreenLayout.tsx | 86 + .../LoadableImageGridEditor.test.tsx.snap | 684 + .../common/participantTimezones.slice.ts | 21 + .../common/useHistoryChangeOnce.ts | 16 + .../user-management/common/utils.ts | 147 + .../CreatePublication.test.tsx | 119 + .../CreatePublication.tsx | 191 + .../education-management/EducationCard.tsx | 130 + .../education-management/EducationList.tsx | 56 + .../EducationManagement.test.tsx | 129 + .../EducationManagement.tsx | 105 + .../createPublication.slice.test.tsx | 118 + .../createPublication.slice.ts | 130 + .../EducationAttachment.test.tsx | 319 + .../education-editor/EducationAttachment.tsx | 259 + .../education-editor/EducationCard.tsx | 211 + .../education-editor/EducationEditor.test.tsx | 331 + .../education-editor/EducationEditor.tsx | 322 + .../education-editor/EducationHeadEditor.tsx | 154 + .../EducationSectionActions.tsx | 35 + .../education-editor/InvalidTime.tsx | 78 + .../PublishEducationalContent.test.tsx | 160 + .../PublishEducationalContent.tsx | 301 + .../education-editor/RemoveItemModal.tsx | 34 + .../educationEditor.slice.test.tsx | 644 + .../education-editor/educationEditor.slice.ts | 584 + .../preview/EducationPreview.tsx | 154 + .../preview/PreviewHeader.tsx | 253 + .../publishEducation.slice.test.tsx | 184 + .../publishEducation.slice.ts | 118 + .../education-editor/utils.ts | 77 + .../education-management/education.utils.tsx | 12 + .../educationList.slice.test.tsx | 107 + .../educationList.slice.ts | 169 + .../activity/ActivitiesList.tsx | 62 + .../task-management/activity/ActivityCard.tsx | 173 + .../activity/ActivityPage.test.tsx | 85 + .../task-management/activity/ActivityPage.tsx | 91 + .../activity/ActivityResponses.test.tsx | 82 + .../activity/ActivityResponses.tsx | 268 + .../activity/CreateActivityTask.test.tsx | 64 + .../activity/CreateActivityTask.tsx | 178 + .../activity/activities.utils.ts | 85 + .../activity/activitiesList.slice.ts | 207 + .../activity/activity-editor/ActivityCard.tsx | 164 + .../activity-editor/ActivityEditor.test.tsx | 166 + .../activity-editor/ActivityEditor.tsx | 298 + .../activity-editor/activityConversion.ts | 288 + .../activityEditor.slice.test.tsx | 1190 ++ .../activity-editor/activityEditor.slice.ts | 492 + .../preview/ActivityTaskPreview.tsx | 117 + .../activity-editor/preview/config/common.tsx | 113 + .../preview/config/gaitBalance.tsx | 39 + .../preview/config/guidedBreathing.tsx | 75 + .../preview/config/index.test.ts | 76 + .../activity-editor/preview/config/index.ts | 46 + .../preview/config/rangeOfMotion.tsx | 63 + .../preview/config/reactionTime.tsx | 41 + .../preview/config/sitToStand.tsx | 33 + .../preview/config/speechRecognition.tsx | 78 + .../preview/config/spirometry.tsx | 54 + .../preview/config/stepTest.tsx | 46 + .../preview/config/stroopTest.tsx | 42 + .../preview/config/sustainedPhonation.tsx | 38 + .../preview/config/tappingSpeed.tsx | 66 + .../preview/config/walkTest.tsx | 28 + .../activity/activityPage.mock.ts | 256 + .../activity/activityPage.slice.test.tsx | 158 + .../activity/activityPage.slice.ts | 263 + .../activity/createActivityTask.slice.ts | 152 + .../task-management/common/TaskAnalytics.tsx} | 57 +- .../common/TaskAnalyticsCard.tsx} | 9 +- .../task-management/common/TaskPage.tsx} | 105 +- .../task-management/publish-task}/Form.tsx | 0 .../publish-task/Occurrence.tsx} | 56 +- .../publish-task}/PublishBanner.tsx | 25 +- .../publish-task/PublishTask.tsx} | 61 +- .../publish-task/Schedule.tsx} | 12 +- .../task-management/publish-task/Series.tsx} | 8 +- .../publish-task}/TimeNoLongerValid.tsx | 0 .../publish-task}/TimeWarning.tsx | 3 +- .../publish-task}/constants.ts | 0 .../publish-task/publishTask.slice.test.tsx} | 154 +- .../publish-task/publishTask.slice.ts | 265 + .../task-management/publish-task/utils.ts | 7 + .../task-management/survey}/Badge.tsx | 0 .../survey/EditorSectionsManager.tsx | 308 + .../survey/QuestionEditorGroup.tsx | 441 + .../survey/ReorderSections.test.tsx | 56 + .../survey/ReorderSections.tsx | 213 + .../task-management/survey}/SurveyCard.tsx | 11 +- .../task-management/survey/SurveyList.tsx | 61 + .../survey}/SurveyManagement.test.tsx | 57 +- .../survey/SurveyManagement.tsx | 149 + .../survey}/SurveyPage.test.tsx | 34 +- .../task-management/survey/SurveyPage.tsx | 83 + .../survey/SurveyResponseImages.tsx | 113 + .../survey}/SurveyResponses.tsx | 128 +- .../survey/SurveyResponsesCard.tsx | 214 + .../survey/SurveyResponsesList.tsx | 171 + .../survey/survey-editor/DraggableList.tsx | 304 + .../survey}/survey-editor/ExitPrompt.tsx | 1 + .../survey/survey-editor/Header.tsx | 196 + .../survey/survey-editor/LimitsCounter.tsx | 44 + .../survey-editor/QuestionCard.stories.tsx | 23 +- .../survey/survey-editor/QuestionCard.tsx | 358 + .../QuestionCardDateTimeOptions.tsx | 180 + .../QuestionCardImageOptions.tsx | 62 + .../QuestionCardOpenEndedOptions.tsx | 31 + .../QuestionCardScalableOptions.tsx | 67 +- .../QuestionCardSelectableOptions.tsx | 303 + .../survey-editor/SurveyEditor.test.tsx | 157 +- .../survey/survey-editor/SurveyEditor.tsx | 418 + .../survey/survey-editor/antlr/BranchRule.g4 | 58 + .../survey-editor/antlr/BranchRule.interp | 57 + .../survey-editor/antlr/BranchRule.tokens | 32 + .../antlr/BranchRuleLexer.interp | 83 + .../antlr/BranchRuleLexer.tokens | 32 + .../survey-editor/antlr/BranchRuleLexer.ts | 228 + .../survey-editor/antlr/BranchRuleListener.ts | 57 + .../survey-editor/antlr/BranchRuleParser.ts | 481 + .../survey-editor/antlr/BranchRuleVisitor.ts | 44 + .../survey-editor/common/usePreloadImages.ts | 40 + .../survey-editor/questions/common/index.ts | 76 + .../survey-editor/questions/common/types.ts | 29 + .../date-time/DatePicker/DatePicker.tsx | 96 + .../DateTimePicker/DateTimePicker.tsx | 69 + .../questions/date-time/DateTimePreview.tsx | 95 + .../DateTimeRangePreview.tsx | 157 + .../RangeTimePicker/RangeTimePicker.tsx | 89 + .../date-time/TimePicker/TimePicker.tsx | 113 + .../__snapshots__/dateTime.test.tsx.snap | 1075 ++ .../questions/date-time/common.ts | 30 + .../questions/date-time/dateTime.test.tsx | 570 + .../questions/date-time/index.tsx | 189 + .../dropdownSelection.test.tsx.snap | 665 + .../dropdownSelection.test.tsx | 395 + .../questions/dropdown-selection/index.tsx | 244 + .../image-selection/ImageCheckbox.tsx | 86 + .../imageSelection.test.tsx.snap | 800 ++ .../image-selection/imageSelection.test.tsx | 541 + .../questions/image-selection/index.tsx | 212 + .../survey/survey-editor/questions/index.ts | 95 + .../multipleSelection.test.tsx.snap | 772 ++ .../questions/multiple-selection/index.tsx | 207 + .../multipleSelection.test.tsx | 436 + .../__snapshots__/openEnded.test.tsx.snap | 763 ++ .../questions/open-ended/index.tsx | 120 + .../questions/open-ended/openEnded.test.tsx | 324 + .../rankingSelection.test.tsx.snap | 644 + .../questions/ranking-selection/index.tsx | 137 + .../rankingSelection.test.tsx | 338 + .../__snapshots__/scalable.test.tsx.snap | 610 + .../questions/scalable/index.tsx | 168 + .../questions/scalable/scalable.test.tsx | 286 + .../singleSelection.test.tsx.snap | 637 + .../questions/single-selection/index.tsx | 197 + .../single-selection/singleSelection.test.tsx | 398 + .../skip-logic/ChangeSkipLogicButton.tsx | 71 + .../skip-logic/EditSkipLogicDrawer.test.tsx | 200 + .../skip-logic/EditSkipLogicDrawer.tsx | 337 + .../SkipLogicConditionClauseEditor.tsx | 57 + .../skip-logic/SkipLogicConditionEditor.tsx | 154 + .../skip-logic/SkipLogicDestinationEditor.tsx | 62 + .../skip-logic/SkipLogicRuleEditor.tsx | 152 + .../EditSkipLogicDrawer.test.tsx.snap | 10304 ++++++++++++++++ .../survey-editor/skip-logic/api.test.ts | 308 + .../survey/survey-editor/skip-logic/api.ts | 380 + .../survey-editor/skip-logic/common.tsx | 7 + .../survey-editor/skip-logic/helpers.test.ts | 233 + .../survey-editor/skip-logic/helpers.ts | 322 + .../skip-logic/skipLogic.slice.test.tsx | 129 + .../skip-logic/skipLogic.slice.ts | 73 + .../survey/survey-editor/skip-logic/types.ts | 54 + .../survey-editor/skip-logic/withOnScroll.tsx | 28 + .../survey-preview/PreviewButton.tsx | 1 + .../survey-preview/PreviewCheckbox.tsx | 1 + .../survey-preview/PreviewDraggableList.tsx | 180 + .../survey-preview/PreviewOtherOption.tsx | 66 + .../survey-preview/PreviewProgressBar.tsx | 4 +- .../survey-preview/PreviewRadio.tsx | 1 + .../survey-preview/PreviewSlider.test.tsx | 6 +- .../survey-preview/PreviewSlider.tsx | 3 +- .../survey-preview/SurveyPreview.test.tsx} | 51 +- .../survey-preview/SurveyPreview.tsx | 209 + .../survey-preview/SurveyPreviewQuestions.tsx | 87 + .../__snapshots__/PreviewSlider.test.tsx.snap | 1 + .../__snapshots__/SurveyPreview.test.tsx.snap | 2365 ++++ .../survey-editor/survey-preview/helpers.ts | 107 + .../survey-editor/surveyEditor.slice.test.tsx | 425 +- .../survey-editor/surveyEditor.slice.ts | 1075 ++ .../survey/survey-editor/useAutoScroll.tsx | 159 + .../survey-editor/useHandleQuestionDelete.tsx | 71 + .../survey}/surveyList.slice.test.tsx | 11 +- .../survey/surveyList.slice.ts | 419 + .../survey}/surveyPage.slice.test.tsx | 6 +- .../survey/surveyPage.slice.ts | 472 + .../study-settings/MemberEditDrawer.tsx | 568 +- src/modules/study-settings/MembersList.tsx | 177 +- .../study-settings/StudySettings.test.tsx | 7 +- src/modules/study-settings/StudySettings.tsx | 3 +- .../studySettings.slice.test.tsx | 18 +- .../study-settings/studySettings.slice.ts | 192 +- src/modules/study-settings/utils.ts | 18 +- .../trial-management/StudyManagement.tsx | 18 - src/modules/trial-management/SurveyList.tsx | 44 - .../trial-management/SurveyManagement.tsx | 83 - .../trial-management/common/SimpleGrid.tsx | 0 .../trial-management/survey-editor/Header.tsx | 144 - .../survey-editor/QuestionCard.tsx | 255 - .../QuestionCardSelectableOptions.tsx | 205 - .../survey-editor/QuestionsEditor.tsx | 404 - .../survey-editor/SurveyEditor.tsx | 243 - .../publish-survey/publishSurvey.slice.ts | 209 - .../survey-editor/publish-survey/utils.ts | 35 - .../survey-editor/survey-preview/Preview.tsx | 315 - .../survey-preview/PreviewScreen.tsx | 186 - .../__snapshots__/Preview.test.tsx.snap | 3248 ----- .../survey-editor/surveyEditor.slice.ts | 632 - .../trial-management/surveyList.slice.ts | 189 - .../trial-management/surveyPage.slice.ts | 247 - .../trial-management/trialManagement.slice.ts | 13 - src/styles/GlobalStyles.ts | 14 + src/styles/theme.ts | 19 + src/types.d.ts | 11 + tsconfig.json | 1 + webpack.config.js | 3 + yarn.lock | 1270 +- 637 files changed, 81698 insertions(+), 14957 deletions(-) create mode 100644 src/__mocks__/setUpDateMock.ts create mode 100644 src/__mocks__/setUpTextDecoderMock.ts create mode 100644 src/__mocks__/setupCreateObjectUrlMock.ts create mode 100644 src/__mocks__/setupGetComputedTextLengthMock.ts create mode 100644 src/__mocks__/setupScrollIntoViewMock.ts create mode 100644 src/assets/activity-task/6-mwt.svg create mode 100644 src/assets/activity-task/gait-balance.svg create mode 100644 src/assets/activity-task/guided-breathing.svg create mode 100644 src/assets/activity-task/mobile-spiro.svg create mode 100644 src/assets/activity-task/preview/color_challenge_dots.svg create mode 100644 src/assets/activity-task/preview/color_challenge_start.svg create mode 100644 src/assets/activity-task/preview/done.svg create mode 100644 src/assets/activity-task/preview/gait_balance_timer.svg create mode 100644 src/assets/activity-task/preview/gait_balance_walk.svg create mode 100644 src/assets/activity-task/preview/gait_balance_walk_back.svg create mode 100644 src/assets/activity-task/preview/guided_breathing_exhale.svg create mode 100644 src/assets/activity-task/preview/guided_breathing_start.svg create mode 100644 src/assets/activity-task/preview/range_of_motion_left.svg create mode 100644 src/assets/activity-task/preview/range_of_motion_right.svg create mode 100644 src/assets/activity-task/preview/range_of_motion_timer.svg create mode 100644 src/assets/activity-task/preview/reaction_time_dot.svg create mode 100644 src/assets/activity-task/preview/reaction_time_start.svg create mode 100644 src/assets/activity-task/preview/sit_to_stand_start.svg create mode 100644 src/assets/activity-task/preview/sit_to_stand_timer.svg create mode 100644 src/assets/activity-task/preview/speech_recognition_audio.svg create mode 100644 src/assets/activity-task/preview/speech_recognition_audio_empty.svg create mode 100644 src/assets/activity-task/preview/speech_recognition_start.svg create mode 100644 src/assets/activity-task/preview/spirometry_audio.svg create mode 100644 src/assets/activity-task/preview/spirometry_start.svg create mode 100644 src/assets/activity-task/preview/step_test_dots.svg create mode 100644 src/assets/activity-task/preview/step_test_start.svg create mode 100644 src/assets/activity-task/preview/sustained_phonation_audio.svg create mode 100644 src/assets/activity-task/preview/sustained_phonation_exhale.svg create mode 100644 src/assets/activity-task/preview/sustained_phonation_start.svg create mode 100644 src/assets/activity-task/preview/tapping_speed_buttons.svg create mode 100644 src/assets/activity-task/preview/tapping_speed_left.svg create mode 100644 src/assets/activity-task/preview/tapping_speed_right.svg create mode 100644 src/assets/activity-task/preview/walk_test_start.svg create mode 100644 src/assets/activity-task/preview/walk_test_timer.svg create mode 100644 src/assets/activity-task/range-motion.svg create mode 100644 src/assets/activity-task/reaction-time.svg create mode 100644 src/assets/activity-task/sit-stand.svg create mode 100644 src/assets/activity-task/speech-recognition.svg create mode 100644 src/assets/activity-task/step-test.svg create mode 100644 src/assets/activity-task/sustained-phonation.svg create mode 100644 src/assets/activity-task/tapping-speed.svg create mode 100644 src/assets/activity-task/word-color.svg create mode 100644 src/assets/education/education.svg create mode 100644 src/assets/education/pdf.svg create mode 100644 src/assets/education/play.svg create mode 100644 src/assets/education/player-controls.svg create mode 100644 src/assets/education/scratch.svg create mode 100644 src/assets/education/video.svg create mode 100644 src/assets/icons/calendar_small.svg create mode 100644 src/assets/icons/checkmark_small.svg create mode 100644 src/assets/icons/comparison_percentage_decrease.svg create mode 100644 src/assets/icons/comparison_percentage_increase.svg create mode 100644 src/assets/icons/document.svg create mode 100644 src/assets/icons/download.svg create mode 100644 src/assets/icons/download_small.svg create mode 100644 src/assets/icons/dropdown_arrow_small.svg create mode 100644 src/assets/icons/edit_open_ended.svg create mode 100644 src/assets/icons/image.svg create mode 100644 src/assets/icons/minus_button.svg create mode 100644 src/assets/icons/more.svg create mode 100644 src/assets/icons/plus_button.svg create mode 100644 src/assets/icons/rank.svg create mode 100644 src/assets/icons/reorder.svg create mode 100644 src/assets/icons/reorder_selected.svg create mode 100644 src/assets/icons/sections.svg create mode 100644 src/assets/icons/skip_logic.svg create mode 100644 src/assets/icons/skip_logic_warning.svg rename src/assets/icons/{trial_management.svg => study_management.svg} (100%) create mode 100644 src/assets/icons/subtract.svg create mode 100644 src/assets/icons/time_small.svg create mode 100644 src/assets/icons/trend_down.svg create mode 100644 src/assets/icons/upload.svg create mode 100644 src/assets/icons/upload_success.svg create mode 100644 src/assets/icons/warning.svg create mode 100644 src/assets/service/drop_area.svg create mode 100644 src/common/components/CardDurationTitle.tsx create mode 100644 src/common/components/CardTitleWithInfo.tsx create mode 100644 src/common/components/CollapseSectionButton.tsx create mode 100644 src/common/components/OverviewCardWrapperWithSkeleton.tsx create mode 100644 src/common/components/PeriodDropdown.tsx create mode 100644 src/common/components/ProgressBar.tsx create mode 100644 src/common/components/RoundChips.tsx create mode 100644 src/common/utils/array.test.ts create mode 100644 src/common/utils/array.ts create mode 100644 src/common/utils/combineRefs.test.tsx create mode 100644 src/common/utils/downloadMultiple.test.ts create mode 100644 src/common/utils/downloadMultiple.ts create mode 100644 src/common/utils/useClickAwayGroup.test.tsx create mode 100644 src/common/utils/useDownloadSnackbar.ts create mode 100644 src/common/withLocalDebouncedState.tsx create mode 100644 src/modules/api/models/education.ts create mode 100644 src/modules/api/models/labVisit.ts create mode 100644 src/modules/api/models/storage.ts create mode 100644 src/modules/auth/forgot-password/ForgotPassword.test.tsx create mode 100644 src/modules/auth/forgot-password/ForgotPasswordCheckMailbox.test.tsx create mode 100644 src/modules/auth/forgot-password/PasswordChanged.test.tsx create mode 100644 src/modules/auth/forgot-password/ResetPassword.test.tsx create mode 100644 src/modules/auth/forgot-password/__snapshots__/ForgotPassword.test.tsx.snap create mode 100644 src/modules/auth/forgot-password/__snapshots__/ForgotPasswordCheckMailbox.test.tsx.snap create mode 100644 src/modules/auth/forgot-password/__snapshots__/PasswordChanged.test.tsx.snap create mode 100644 src/modules/auth/forgot-password/__snapshots__/ResetPassword.test.tsx.snap create mode 100644 src/modules/auth/forgot-password/forgotPassword.slice.test.tsx create mode 100644 src/modules/auth/forgot-password/resetPassword.slice.test.tsx create mode 100644 src/modules/auth/userRole.test.ts create mode 100644 src/modules/charts/LineChartWithDynamicAxis.stories.tsx create mode 100644 src/modules/charts/LineChartWithDynamicAxis.test.tsx create mode 100644 src/modules/charts/LineChartWithDynamicAxis.tsx create mode 100644 src/modules/charts/__snapshots__/LineChartWithDynamicAxis.test.tsx.snap create mode 100644 src/modules/charts/xaxis.ts create mode 100644 src/modules/charts/yaxis.ts delete mode 100644 src/modules/data-collection/DataInsights.test.tsx delete mode 100644 src/modules/data-collection/__snapshots__/DataInsights.test.tsx.snap create mode 100644 src/modules/file-upload/fileUpload.slice.tsx create mode 100644 src/modules/object-storage/objectStorage.slice.test.tsx create mode 100644 src/modules/object-storage/objectStorage.slice.ts create mode 100644 src/modules/object-storage/utils.test.ts create mode 100644 src/modules/object-storage/utils.ts delete mode 100644 src/modules/overview/AvgHeartRateFluctuationsCard.test.tsx delete mode 100644 src/modules/overview/AvgHeartRateFluctuationsCard.tsx delete mode 100644 src/modules/overview/AvgStepCountCard.test.tsx delete mode 100644 src/modules/overview/AvgStepCountCard.tsx delete mode 100644 src/modules/overview/EligibilityQualificationsCard.test.tsx delete mode 100644 src/modules/overview/EligibilityQualificationsCard.tsx create mode 100644 src/modules/overview/ParticipantDropout.tsx create mode 100644 src/modules/overview/ParticipantEnrollmentCard.tsx create mode 100644 src/modules/overview/StudyProgress.tsx delete mode 100644 src/modules/overview/SurveyResponsesByAgeCard.test.tsx delete mode 100644 src/modules/overview/SurveyResponsesByAgeCard.tsx delete mode 100644 src/modules/overview/SurveyResponsesByGenderCard.test.tsx delete mode 100644 src/modules/overview/SurveyResponsesByGenderCard.tsx create mode 100644 src/modules/overview/TaskCompliance.test.tsx create mode 100644 src/modules/overview/TaskCompliance.tsx create mode 100644 src/modules/overview/__snapshots__/TaskCompliance.test.tsx.snap delete mode 100644 src/modules/overview/avgHeartRateFluctuations.slice.test.tsx delete mode 100644 src/modules/overview/avgHeartRateFluctuations.slice.ts delete mode 100644 src/modules/overview/avgStepCount.slice.test.tsx delete mode 100644 src/modules/overview/avgStepCount.slice.ts delete mode 100644 src/modules/overview/eligibilityQualifications.slice.test.tsx delete mode 100644 src/modules/overview/eligibilityQualifications.slice.ts create mode 100644 src/modules/overview/participantDropout.slice.ts create mode 100644 src/modules/overview/participantEnrollment.slice.test.tsx create mode 100644 src/modules/overview/participantEnrollment.slice.tsx create mode 100644 src/modules/overview/studyProgress.slice.test.tsx create mode 100644 src/modules/overview/studyProgress.slice.ts delete mode 100644 src/modules/overview/surveyResponses.slice.test.tsx delete mode 100644 src/modules/overview/surveyResponses.slice.ts create mode 100644 src/modules/overview/taskCompliance.slice.test.tsx create mode 100644 src/modules/overview/taskCompliance.slice.ts create mode 100644 src/modules/studies/CreateStudyCard.tsx create mode 100644 src/modules/studies/SelectRoleCard.tsx create mode 100644 src/modules/studies/SwitchStudy.test.tsx create mode 100644 src/modules/studies/__snapshots__/SwitchStudy.test.tsx.snap rename src/modules/{trial-management => study-management}/common/GoBackHeader.tsx (99%) create mode 100644 src/modules/study-management/common/LimitsCounter.tsx rename src/modules/{trial-management => study-management}/common/TextArea.stories.tsx (100%) rename src/modules/{trial-management => study-management}/common/TextArea.tsx (70%) create mode 100644 src/modules/study-management/index.tsx create mode 100644 src/modules/study-management/participant-management/index.tsx create mode 100644 src/modules/study-management/participant-management/lab-visit/CheckInBy.tsx create mode 100644 src/modules/study-management/participant-management/lab-visit/LabVisit.test.tsx create mode 100644 src/modules/study-management/participant-management/lab-visit/LabVisit.tsx create mode 100644 src/modules/study-management/participant-management/lab-visit/ParticipantId.tsx create mode 100644 src/modules/study-management/participant-management/lab-visit/RemoveDocumentModal.tsx create mode 100644 src/modules/study-management/participant-management/lab-visit/VisitDateTime.tsx create mode 100644 src/modules/study-management/participant-management/lab-visit/VisitDocuments.tsx create mode 100644 src/modules/study-management/participant-management/lab-visit/VisitEditorModal.test.tsx create mode 100644 src/modules/study-management/participant-management/lab-visit/VisitEditorModal.tsx create mode 100644 src/modules/study-management/participant-management/lab-visit/VisitNoteModal.tsx create mode 100644 src/modules/study-management/participant-management/lab-visit/VisitNotes.tsx create mode 100644 src/modules/study-management/participant-management/lab-visit/__snapshots__/LabVisit.test.tsx.snap create mode 100644 src/modules/study-management/participant-management/lab-visit/__snapshots__/VisitEditorModal.test.tsx.snap create mode 100644 src/modules/study-management/participant-management/lab-visit/labVisit.slice.test.tsx create mode 100644 src/modules/study-management/participant-management/lab-visit/labVisit.slice.tsx create mode 100644 src/modules/study-management/participant-management/lab-visit/utils.tsx create mode 100644 src/modules/study-management/studyManagement.slice.ts create mode 100644 src/modules/study-management/user-management/common/CardList.tsx create mode 100644 src/modules/study-management/user-management/common/CardSvgLoader.tsx rename src/modules/{trial-management/SurveyCardsView.tsx => study-management/user-management/common/CardsView.tsx} (58%) rename src/modules/{trial-management => study-management/user-management}/common/Chips.tsx (99%) create mode 100644 src/modules/study-management/user-management/common/CreatingLoader.tsx rename src/modules/{trial-management/survey-editor/DraggableList.tsx => study-management/user-management/common/DraggableGrid.tsx} (71%) create mode 100644 src/modules/study-management/user-management/common/Editor.tsx create mode 100644 src/modules/study-management/user-management/common/EditorTitle.tsx rename src/modules/{trial-management => study-management/user-management/common}/EmptyList.tsx (92%) create mode 100644 src/modules/study-management/user-management/common/FilePicker.tsx rename src/modules/{trial-management/survey-editor => study-management/user-management/common}/HelpFloatButton.tsx (63%) create mode 100644 src/modules/study-management/user-management/common/ItemListEditor.tsx create mode 100644 src/modules/study-management/user-management/common/LoadableImageGridEditor.test.tsx create mode 100644 src/modules/study-management/user-management/common/LoadableImageGridEditor.tsx create mode 100644 src/modules/study-management/user-management/common/Preview.tsx create mode 100644 src/modules/study-management/user-management/common/PreviewScreenCtx.tsx create mode 100644 src/modules/study-management/user-management/common/PreviewScreenLayout.tsx create mode 100644 src/modules/study-management/user-management/common/__snapshots__/LoadableImageGridEditor.test.tsx.snap create mode 100644 src/modules/study-management/user-management/common/participantTimezones.slice.ts create mode 100644 src/modules/study-management/user-management/common/useHistoryChangeOnce.ts create mode 100644 src/modules/study-management/user-management/common/utils.ts create mode 100644 src/modules/study-management/user-management/education-management/CreatePublication.test.tsx create mode 100644 src/modules/study-management/user-management/education-management/CreatePublication.tsx create mode 100644 src/modules/study-management/user-management/education-management/EducationCard.tsx create mode 100644 src/modules/study-management/user-management/education-management/EducationList.tsx create mode 100644 src/modules/study-management/user-management/education-management/EducationManagement.test.tsx create mode 100644 src/modules/study-management/user-management/education-management/EducationManagement.tsx create mode 100644 src/modules/study-management/user-management/education-management/createPublication.slice.test.tsx create mode 100644 src/modules/study-management/user-management/education-management/createPublication.slice.ts create mode 100644 src/modules/study-management/user-management/education-management/education-editor/EducationAttachment.test.tsx create mode 100644 src/modules/study-management/user-management/education-management/education-editor/EducationAttachment.tsx create mode 100644 src/modules/study-management/user-management/education-management/education-editor/EducationCard.tsx create mode 100644 src/modules/study-management/user-management/education-management/education-editor/EducationEditor.test.tsx create mode 100644 src/modules/study-management/user-management/education-management/education-editor/EducationEditor.tsx create mode 100644 src/modules/study-management/user-management/education-management/education-editor/EducationHeadEditor.tsx create mode 100644 src/modules/study-management/user-management/education-management/education-editor/EducationSectionActions.tsx create mode 100644 src/modules/study-management/user-management/education-management/education-editor/InvalidTime.tsx create mode 100644 src/modules/study-management/user-management/education-management/education-editor/PublishEducationalContent.test.tsx create mode 100644 src/modules/study-management/user-management/education-management/education-editor/PublishEducationalContent.tsx create mode 100644 src/modules/study-management/user-management/education-management/education-editor/RemoveItemModal.tsx create mode 100644 src/modules/study-management/user-management/education-management/education-editor/educationEditor.slice.test.tsx create mode 100644 src/modules/study-management/user-management/education-management/education-editor/educationEditor.slice.ts create mode 100644 src/modules/study-management/user-management/education-management/education-editor/preview/EducationPreview.tsx create mode 100644 src/modules/study-management/user-management/education-management/education-editor/preview/PreviewHeader.tsx create mode 100644 src/modules/study-management/user-management/education-management/education-editor/publishEducation.slice.test.tsx create mode 100644 src/modules/study-management/user-management/education-management/education-editor/publishEducation.slice.ts create mode 100644 src/modules/study-management/user-management/education-management/education-editor/utils.ts create mode 100644 src/modules/study-management/user-management/education-management/education.utils.tsx create mode 100644 src/modules/study-management/user-management/education-management/educationList.slice.test.tsx create mode 100644 src/modules/study-management/user-management/education-management/educationList.slice.ts create mode 100644 src/modules/study-management/user-management/task-management/activity/ActivitiesList.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/ActivityCard.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/ActivityPage.test.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/ActivityPage.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/ActivityResponses.test.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/ActivityResponses.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/CreateActivityTask.test.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/CreateActivityTask.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/activities.utils.ts create mode 100644 src/modules/study-management/user-management/task-management/activity/activitiesList.slice.ts create mode 100644 src/modules/study-management/user-management/task-management/activity/activity-editor/ActivityCard.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/activity-editor/ActivityEditor.test.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/activity-editor/ActivityEditor.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/activity-editor/activityConversion.ts create mode 100644 src/modules/study-management/user-management/task-management/activity/activity-editor/activityEditor.slice.test.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/activity-editor/activityEditor.slice.ts create mode 100644 src/modules/study-management/user-management/task-management/activity/activity-editor/preview/ActivityTaskPreview.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/activity-editor/preview/config/common.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/activity-editor/preview/config/gaitBalance.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/activity-editor/preview/config/guidedBreathing.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/activity-editor/preview/config/index.test.ts create mode 100644 src/modules/study-management/user-management/task-management/activity/activity-editor/preview/config/index.ts create mode 100644 src/modules/study-management/user-management/task-management/activity/activity-editor/preview/config/rangeOfMotion.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/activity-editor/preview/config/reactionTime.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/activity-editor/preview/config/sitToStand.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/activity-editor/preview/config/speechRecognition.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/activity-editor/preview/config/spirometry.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/activity-editor/preview/config/stepTest.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/activity-editor/preview/config/stroopTest.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/activity-editor/preview/config/sustainedPhonation.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/activity-editor/preview/config/tappingSpeed.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/activity-editor/preview/config/walkTest.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/activityPage.mock.ts create mode 100644 src/modules/study-management/user-management/task-management/activity/activityPage.slice.test.tsx create mode 100644 src/modules/study-management/user-management/task-management/activity/activityPage.slice.ts create mode 100644 src/modules/study-management/user-management/task-management/activity/createActivityTask.slice.ts rename src/modules/{trial-management/SurveyAnalytics.tsx => study-management/user-management/task-management/common/TaskAnalytics.tsx} (77%) rename src/modules/{trial-management/SurveyAnalyticsCard.tsx => study-management/user-management/task-management/common/TaskAnalyticsCard.tsx} (82%) rename src/modules/{trial-management/SurveyPage.tsx => study-management/user-management/task-management/common/TaskPage.tsx} (56%) rename src/modules/{trial-management/survey-editor/publish-survey => study-management/user-management/task-management/publish-task}/Form.tsx (100%) rename src/modules/{trial-management/survey-editor/publish-survey/SurveyOccurrence.tsx => study-management/user-management/task-management/publish-task/Occurrence.tsx} (83%) rename src/modules/{trial-management/survey-editor/publish-survey => study-management/user-management/task-management/publish-task}/PublishBanner.tsx (85%) rename src/modules/{trial-management/survey-editor/publish-survey/PublishSurvey.tsx => study-management/user-management/task-management/publish-task/PublishTask.tsx} (86%) rename src/modules/{trial-management/survey-editor/publish-survey/SurveySchedule.tsx => study-management/user-management/task-management/publish-task/Schedule.tsx} (78%) rename src/modules/{trial-management/survey-editor/publish-survey/SurveySeries.tsx => study-management/user-management/task-management/publish-task/Series.tsx} (94%) rename src/modules/{trial-management/survey-editor/publish-survey => study-management/user-management/task-management/publish-task}/TimeNoLongerValid.tsx (100%) rename src/modules/{trial-management/survey-editor/publish-survey => study-management/user-management/task-management/publish-task}/TimeWarning.tsx (93%) rename src/modules/{trial-management/survey-editor/publish-survey => study-management/user-management/task-management/publish-task}/constants.ts (100%) rename src/modules/{trial-management/survey-editor/publish-survey/publishSurvey.slice.test.tsx => study-management/user-management/task-management/publish-task/publishTask.slice.test.tsx} (59%) create mode 100644 src/modules/study-management/user-management/task-management/publish-task/publishTask.slice.ts create mode 100644 src/modules/study-management/user-management/task-management/publish-task/utils.ts rename src/modules/{trial-management/common => study-management/user-management/task-management/survey}/Badge.tsx (100%) create mode 100644 src/modules/study-management/user-management/task-management/survey/EditorSectionsManager.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/QuestionEditorGroup.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/ReorderSections.test.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/ReorderSections.tsx rename src/modules/{trial-management => study-management/user-management/task-management/survey}/SurveyCard.tsx (94%) create mode 100644 src/modules/study-management/user-management/task-management/survey/SurveyList.tsx rename src/modules/{trial-management => study-management/user-management/task-management/survey}/SurveyManagement.test.tsx (54%) create mode 100644 src/modules/study-management/user-management/task-management/survey/SurveyManagement.tsx rename src/modules/{trial-management => study-management/user-management/task-management/survey}/SurveyPage.test.tsx (78%) create mode 100644 src/modules/study-management/user-management/task-management/survey/SurveyPage.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/SurveyResponseImages.tsx rename src/modules/{trial-management => study-management/user-management/task-management/survey}/SurveyResponses.tsx (58%) create mode 100644 src/modules/study-management/user-management/task-management/survey/SurveyResponsesCard.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/SurveyResponsesList.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/DraggableList.tsx rename src/modules/{trial-management => study-management/user-management/task-management/survey}/survey-editor/ExitPrompt.tsx (99%) create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/Header.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/LimitsCounter.tsx rename src/modules/{trial-management => study-management/user-management/task-management/survey}/survey-editor/QuestionCard.stories.tsx (87%) create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/QuestionCard.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/QuestionCardDateTimeOptions.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/QuestionCardImageOptions.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/QuestionCardOpenEndedOptions.tsx rename src/modules/{trial-management => study-management/user-management/task-management/survey}/survey-editor/QuestionCardScalableOptions.tsx (58%) create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/QuestionCardSelectableOptions.tsx rename src/modules/{trial-management => study-management/user-management/task-management/survey}/survey-editor/SurveyEditor.test.tsx (62%) create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/SurveyEditor.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/antlr/BranchRule.g4 create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/antlr/BranchRule.interp create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/antlr/BranchRule.tokens create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/antlr/BranchRuleLexer.interp create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/antlr/BranchRuleLexer.tokens create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/antlr/BranchRuleLexer.ts create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/antlr/BranchRuleListener.ts create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/antlr/BranchRuleParser.ts create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/antlr/BranchRuleVisitor.ts create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/common/usePreloadImages.ts create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/common/index.ts create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/common/types.ts create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/date-time/DatePicker/DatePicker.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/date-time/DateTimePicker/DateTimePicker.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/date-time/DateTimePreview.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/date-time/DateTimeRangePreview/DateTimeRangePreview.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/date-time/DateTimeRangePreview/RangeTimePicker/RangeTimePicker.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/date-time/TimePicker/TimePicker.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/date-time/__snapshots__/dateTime.test.tsx.snap create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/date-time/common.ts create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/date-time/dateTime.test.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/date-time/index.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/dropdown-selection/__snapshots__/dropdownSelection.test.tsx.snap create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/dropdown-selection/dropdownSelection.test.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/dropdown-selection/index.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/image-selection/ImageCheckbox.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/image-selection/__snapshots__/imageSelection.test.tsx.snap create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/image-selection/imageSelection.test.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/image-selection/index.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/index.ts create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/multiple-selection/__snapshots__/multipleSelection.test.tsx.snap create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/multiple-selection/index.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/multiple-selection/multipleSelection.test.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/open-ended/__snapshots__/openEnded.test.tsx.snap create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/open-ended/index.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/open-ended/openEnded.test.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/ranking-selection/__snapshots__/rankingSelection.test.tsx.snap create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/ranking-selection/index.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/ranking-selection/rankingSelection.test.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/scalable/__snapshots__/scalable.test.tsx.snap create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/scalable/index.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/scalable/scalable.test.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/single-selection/__snapshots__/singleSelection.test.tsx.snap create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/single-selection/index.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/questions/single-selection/singleSelection.test.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/skip-logic/ChangeSkipLogicButton.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/skip-logic/EditSkipLogicDrawer.test.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/skip-logic/EditSkipLogicDrawer.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/skip-logic/SkipLogicConditionClauseEditor.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/skip-logic/SkipLogicConditionEditor.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/skip-logic/SkipLogicDestinationEditor.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/skip-logic/SkipLogicRuleEditor.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/skip-logic/__snapshots__/EditSkipLogicDrawer.test.tsx.snap create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/skip-logic/api.test.ts create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/skip-logic/api.ts create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/skip-logic/common.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/skip-logic/helpers.test.ts create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/skip-logic/helpers.ts create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/skip-logic/skipLogic.slice.test.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/skip-logic/skipLogic.slice.ts create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/skip-logic/types.ts create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/skip-logic/withOnScroll.tsx rename src/modules/{trial-management => study-management/user-management/task-management/survey}/survey-editor/survey-preview/PreviewButton.tsx (99%) rename src/modules/{trial-management => study-management/user-management/task-management/survey}/survey-editor/survey-preview/PreviewCheckbox.tsx (99%) create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/survey-preview/PreviewDraggableList.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/survey-preview/PreviewOtherOption.tsx rename src/modules/{trial-management => study-management/user-management/task-management/survey}/survey-editor/survey-preview/PreviewProgressBar.tsx (98%) rename src/modules/{trial-management => study-management/user-management/task-management/survey}/survey-editor/survey-preview/PreviewRadio.tsx (99%) rename src/modules/{trial-management => study-management/user-management/task-management/survey}/survey-editor/survey-preview/PreviewSlider.test.tsx (95%) rename src/modules/{trial-management => study-management/user-management/task-management/survey}/survey-editor/survey-preview/PreviewSlider.tsx (97%) rename src/modules/{trial-management/survey-editor/survey-preview/Preview.test.tsx => study-management/user-management/task-management/survey/survey-editor/survey-preview/SurveyPreview.test.tsx} (74%) create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/survey-preview/SurveyPreview.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/survey-preview/SurveyPreviewQuestions.tsx rename src/modules/{trial-management => study-management/user-management/task-management/survey}/survey-editor/survey-preview/__snapshots__/PreviewSlider.test.tsx.snap (99%) create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/survey-preview/__snapshots__/SurveyPreview.test.tsx.snap create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/survey-preview/helpers.ts rename src/modules/{trial-management => study-management/user-management/task-management/survey}/survey-editor/surveyEditor.slice.test.tsx (84%) create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/surveyEditor.slice.ts create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/useAutoScroll.tsx create mode 100644 src/modules/study-management/user-management/task-management/survey/survey-editor/useHandleQuestionDelete.tsx rename src/modules/{trial-management => study-management/user-management/task-management/survey}/surveyList.slice.test.tsx (99%) create mode 100644 src/modules/study-management/user-management/task-management/survey/surveyList.slice.ts rename src/modules/{trial-management => study-management/user-management/task-management/survey}/surveyPage.slice.test.tsx (97%) create mode 100644 src/modules/study-management/user-management/task-management/survey/surveyPage.slice.ts delete mode 100644 src/modules/trial-management/StudyManagement.tsx delete mode 100644 src/modules/trial-management/SurveyList.tsx delete mode 100644 src/modules/trial-management/SurveyManagement.tsx delete mode 100644 src/modules/trial-management/common/SimpleGrid.tsx delete mode 100644 src/modules/trial-management/survey-editor/Header.tsx delete mode 100644 src/modules/trial-management/survey-editor/QuestionCard.tsx delete mode 100644 src/modules/trial-management/survey-editor/QuestionCardSelectableOptions.tsx delete mode 100644 src/modules/trial-management/survey-editor/QuestionsEditor.tsx delete mode 100644 src/modules/trial-management/survey-editor/SurveyEditor.tsx delete mode 100644 src/modules/trial-management/survey-editor/publish-survey/publishSurvey.slice.ts delete mode 100644 src/modules/trial-management/survey-editor/publish-survey/utils.ts delete mode 100644 src/modules/trial-management/survey-editor/survey-preview/Preview.tsx delete mode 100644 src/modules/trial-management/survey-editor/survey-preview/PreviewScreen.tsx delete mode 100644 src/modules/trial-management/survey-editor/survey-preview/__snapshots__/Preview.test.tsx.snap delete mode 100644 src/modules/trial-management/survey-editor/surveyEditor.slice.ts delete mode 100644 src/modules/trial-management/surveyList.slice.ts delete mode 100644 src/modules/trial-management/surveyPage.slice.ts delete mode 100644 src/modules/trial-management/trialManagement.slice.ts diff --git a/.eslintrc.json b/.eslintrc.json index e235b09..2ffea69 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -38,7 +38,8 @@ "react-hooks/exhaustive-deps": "warn", "@typescript-eslint/no-unused-expressions": "off", "jest/no-mocks-import": "off", - "jest/no-conditional-expect": "off" + "jest/no-conditional-expect": "off", + "no-continue": "off" }, "overrides": [ { diff --git a/jest.config.js b/jest.config.js index d9947d9..577b66f 100644 --- a/jest.config.js +++ b/jest.config.js @@ -9,19 +9,37 @@ module.exports = { 'node_modules/(react-dnd|dnd-core|@react-dnd|react-dnd-html5-backend)/.+\\.(j|t)sx?$': 'ts-jest', }, - transformIgnorePatterns: ['/node_modules/(?!react-dnd|dnd-core|@react-dnd)'], + transformIgnorePatterns: ['/node_modules/(?!react-dnd|dnd-core|@react-dnd|antlr4)'], moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], moduleNameMapper: { '\\.svg': '/src/__mocks__/svg.ts', '^src(.*)$': '/src$1', d3: '/node_modules/d3/dist/d3.min.js', '\\.(css|less|sass|scss)$': 'identity-obj-proxy', + antlr4: '/node_modules/antlr4/dist/antlr4.web.js', }, resetMocks: false, setupFiles: ['jest-localstorage-mock'], - setupFilesAfterEnv: ['jest-extended/all'], - collectCoverageFrom: ['src/**/*.{ts,tsx}', '!src/**/*.stories.{ts,tsx}'], - testTimeout: 60000, + setupFilesAfterEnv: [ + 'jest-extended/all', + '/src/__mocks__/setupCreateObjectUrlMock.ts', + '/src/__mocks__/setUpDateMock.ts', + '/src/__mocks__/setupGetComputedTextLengthMock.ts', + '/src/__mocks__/setupRangeMock.ts', + '/src/__mocks__/setupResizeObserverMock.ts', + '/src/__mocks__/setupResponsiveContainerMock.ts', + '/src/__mocks__/setupScrollIntoViewMock.ts', + '/src/__mocks__/setUpTextDecoderMock.ts', + '/src/__mocks__/setupUniqueIdMock.ts', + '/src/__mocks__/setupWindowMatchMediaMock.ts', + ], + collectCoverageFrom: [ + 'src/**/*.{ts,tsx}', + '!src/**/*.stories.{ts,tsx}', + // generated files from antlr + '!src/modules/study-management/user-management/task-management/survey/survey-editor/antlr/*.ts', + ], + testTimeout: 120000, reporters: [ 'default', ['jest-junit', { outputDirectory: 'test-reports', outputName: 'report.xml' }], diff --git a/package.json b/package.json index 82e4602..b2c59a6 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "open-source-portal-frontend", "license": "UNLICENSED", "private": true, - "version": "0.9.65-hotfix1", + "version": "1.0.0", "scripts": { "dev:base": "webpack serve --mode development", "dev": "cross-env MOCK_API=always yarn dev:base", @@ -16,11 +16,11 @@ "postinstall": "husky install", "storybook": "start-storybook -p 6006", "storybook:build": "build-storybook", - "test": "jest", - "test:update": "jest -u", - "test:watch": "jest --watch", - "test:coverage": "jest --coverage", - "test:negative": "jest -t='\\[NEGATIVE\\]'" + "test": "cross-env TZ=UTC jest", + "test:update": "yarn test -u", + "test:watch": "yarn test --watch", + "test:coverage": "yarn test --coverage", + "test:negative": "yarn test -t='\\[NEGATIVE\\]'" }, "packageManager": "yarn@3.2.1", "engines": { @@ -31,8 +31,11 @@ "@floating-ui/react-dom": "^1.0.0", "@floating-ui/react-dom-interactions": "^0.9.3", "@reduxjs/toolkit": "^1.8.1", + "@transcend-io/conflux": "^4.0.3", "@types/d3": "^7.4.0", "@types/react-dnd-html5-backend": "^3.0.2", + "@types/textarea-caret": "^3.0.1", + "antlr4": "^4.12.0", "codemirror": "^5.65.8", "connected-react-router": "^6.9.2", "css-spring": "^4.1.0", @@ -44,9 +47,11 @@ "lodash": "^4.17.21", "luxon": "^2.4.0", "password-validator": "^5.3.0", + "pdfjs-dist": "^3.4.120", "qs": "^6.10.5", "react": "^18.1.0", "react-dnd": "^16.0.1", + "react-dnd-html5-backend": "^16.0.1", "react-dnd-touch-backend": "^16.0.1", "react-dom": "^18.1.0", "react-redux": "^8.0.2", @@ -57,7 +62,11 @@ "react-virtual": "^2.10.4", "resize-observer-polyfill": "^1.5.1", "smoothscroll-polyfill": "^0.4.4", - "styled-components": "^5.3.5" + "streamsaver": "^2.0.6", + "styled-components": "^5.3.5", + "textarea-caret": "^3.1.0", + "uuid": "^9.0.0", + "web-streams-polyfill": "^3.2.1" }, "resolutions": { "loader-utils": "^2.0.4", @@ -67,7 +76,9 @@ "trim": "^0.0.3", "decode-uri-component": "^0.2.1", "json5": "^2.2.2", - "luxon": "^2.5.2" + "luxon": "^2.5.2", + "http-cache-semantics": "4.1.1", + "webpack": "^5.76.0" }, "devDependencies": { "@babel/core": "^7.18.0", @@ -100,7 +111,9 @@ "@types/react-router-dom": "^5.3.3", "@types/react-test-renderer": "^18.0.0", "@types/react-transition-group": "^4.4.5", + "@types/streamsaver": "^2.0.1", "@types/styled-components": "^5.1.25", + "@types/uuid": "^9.0.1", "@types/webpack-env": "^1.17.0", "@typescript-eslint/eslint-plugin": "^5.26.0", "@typescript-eslint/parser": "^5.26.0", @@ -135,6 +148,7 @@ "jsdom": "^20.0.1", "lint-staged": "^12.4.1", "mini-css-extract-plugin": "^2.6.1", + "node-polyfill-webpack-plugin": "^2.0.1", "prettier": "^2.6.2", "react-refresh": "^0.13.0", "react-test-renderer": "^18.2.0", @@ -143,7 +157,7 @@ "ts-loader": "^9.3.0", "typescript": "^4.6.4", "typescript-plugin-styled-components": "^2.0.0", - "webpack": "^5.72.1", + "webpack": "^5.76.0", "webpack-bundle-analyzer": "^4.5.0", "webpack-cli": "^4.9.2", "webpack-dev-server": "^4.9.0" diff --git a/src/App.tsx b/src/App.tsx index 013c739..f20201e 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -2,10 +2,11 @@ import React from 'react'; import { Provider } from 'react-redux'; import { Route, Switch } from 'react-router-dom'; import { ConnectedRouter } from 'connected-react-router'; -import { ThemeProvider } from 'styled-components'; import { DndProvider } from 'react-dnd'; import { TouchBackend } from 'react-dnd-touch-backend'; +import { ThemeProvider } from 'styled-components'; + import { store } from 'src/modules/store/store'; import { history, Path } from 'src/modules/navigation/store'; import PrivateRoute from 'src/modules/navigation/private-route/PrivateRoute'; @@ -24,39 +25,42 @@ import ForgotPassword from 'src/modules/auth/forgot-password/ForgotPassword'; import ForgotPasswordCheckMailbox from 'src/modules/auth/forgot-password/ForgotPasswordCheckMailbox'; import ResetPassword from 'src/modules/auth/forgot-password/ResetPassword'; import PasswordChanged from 'src/modules/auth/forgot-password/PasswordChanged'; +import { ModalProvider } from 'src/common/components/Modal'; const App = () => ( - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + ); diff --git a/src/__mocks__/setUpDateMock.ts b/src/__mocks__/setUpDateMock.ts new file mode 100644 index 0000000..9299726 --- /dev/null +++ b/src/__mocks__/setUpDateMock.ts @@ -0,0 +1,13 @@ +let isEnabled = true; + +const originalDateNow = Date.now; + +Date.now = jest.fn(() => (isEnabled ? 1680842869025 : originalDateNow())); + +export function enableDateNowMock() { + isEnabled = true; +} + +export function disableDateNowMock() { + isEnabled = false; +} diff --git a/src/__mocks__/setUpTextDecoderMock.ts b/src/__mocks__/setUpTextDecoderMock.ts new file mode 100644 index 0000000..c2c8440 --- /dev/null +++ b/src/__mocks__/setUpTextDecoderMock.ts @@ -0,0 +1,4 @@ +import { TextEncoder, TextDecoder } from 'util'; + +global.TextEncoder = TextEncoder; +global.TextDecoder = TextDecoder as typeof global.TextDecoder; diff --git a/src/__mocks__/setupCreateObjectUrlMock.ts b/src/__mocks__/setupCreateObjectUrlMock.ts new file mode 100644 index 0000000..04dcc06 --- /dev/null +++ b/src/__mocks__/setupCreateObjectUrlMock.ts @@ -0,0 +1 @@ +global.URL.createObjectURL = jest.fn(() => 'blob:'); diff --git a/src/__mocks__/setupGetComputedTextLengthMock.ts b/src/__mocks__/setupGetComputedTextLengthMock.ts new file mode 100644 index 0000000..4c19457 --- /dev/null +++ b/src/__mocks__/setupGetComputedTextLengthMock.ts @@ -0,0 +1,3 @@ +beforeAll(() => { + (SVGElement.prototype as SVGTextContentElement).getComputedTextLength = () => 0; +}); diff --git a/src/__mocks__/setupScrollIntoViewMock.ts b/src/__mocks__/setupScrollIntoViewMock.ts new file mode 100644 index 0000000..a23f6d2 --- /dev/null +++ b/src/__mocks__/setupScrollIntoViewMock.ts @@ -0,0 +1,3 @@ +beforeAll(() => { + window.HTMLElement.prototype.scrollIntoView = jest.fn(); +}); diff --git a/src/assets/activity-task/6-mwt.svg b/src/assets/activity-task/6-mwt.svg new file mode 100644 index 0000000..e054fe7 --- /dev/null +++ b/src/assets/activity-task/6-mwt.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/gait-balance.svg b/src/assets/activity-task/gait-balance.svg new file mode 100644 index 0000000..b45dc86 --- /dev/null +++ b/src/assets/activity-task/gait-balance.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/guided-breathing.svg b/src/assets/activity-task/guided-breathing.svg new file mode 100644 index 0000000..8a16a37 --- /dev/null +++ b/src/assets/activity-task/guided-breathing.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/mobile-spiro.svg b/src/assets/activity-task/mobile-spiro.svg new file mode 100644 index 0000000..205b887 --- /dev/null +++ b/src/assets/activity-task/mobile-spiro.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/preview/color_challenge_dots.svg b/src/assets/activity-task/preview/color_challenge_dots.svg new file mode 100644 index 0000000..23ae2aa --- /dev/null +++ b/src/assets/activity-task/preview/color_challenge_dots.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/activity-task/preview/color_challenge_start.svg b/src/assets/activity-task/preview/color_challenge_start.svg new file mode 100644 index 0000000..192f460 --- /dev/null +++ b/src/assets/activity-task/preview/color_challenge_start.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/preview/done.svg b/src/assets/activity-task/preview/done.svg new file mode 100644 index 0000000..f8071a4 --- /dev/null +++ b/src/assets/activity-task/preview/done.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/assets/activity-task/preview/gait_balance_timer.svg b/src/assets/activity-task/preview/gait_balance_timer.svg new file mode 100644 index 0000000..f604d1a --- /dev/null +++ b/src/assets/activity-task/preview/gait_balance_timer.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/activity-task/preview/gait_balance_walk.svg b/src/assets/activity-task/preview/gait_balance_walk.svg new file mode 100644 index 0000000..a33e4b8 --- /dev/null +++ b/src/assets/activity-task/preview/gait_balance_walk.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/preview/gait_balance_walk_back.svg b/src/assets/activity-task/preview/gait_balance_walk_back.svg new file mode 100644 index 0000000..488d017 --- /dev/null +++ b/src/assets/activity-task/preview/gait_balance_walk_back.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/preview/guided_breathing_exhale.svg b/src/assets/activity-task/preview/guided_breathing_exhale.svg new file mode 100644 index 0000000..bebb3eb --- /dev/null +++ b/src/assets/activity-task/preview/guided_breathing_exhale.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/preview/guided_breathing_start.svg b/src/assets/activity-task/preview/guided_breathing_start.svg new file mode 100644 index 0000000..ad890b2 --- /dev/null +++ b/src/assets/activity-task/preview/guided_breathing_start.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/preview/range_of_motion_left.svg b/src/assets/activity-task/preview/range_of_motion_left.svg new file mode 100644 index 0000000..a2d6cbc --- /dev/null +++ b/src/assets/activity-task/preview/range_of_motion_left.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/preview/range_of_motion_right.svg b/src/assets/activity-task/preview/range_of_motion_right.svg new file mode 100644 index 0000000..8c9ea67 --- /dev/null +++ b/src/assets/activity-task/preview/range_of_motion_right.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/preview/range_of_motion_timer.svg b/src/assets/activity-task/preview/range_of_motion_timer.svg new file mode 100644 index 0000000..f604d1a --- /dev/null +++ b/src/assets/activity-task/preview/range_of_motion_timer.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/activity-task/preview/reaction_time_dot.svg b/src/assets/activity-task/preview/reaction_time_dot.svg new file mode 100644 index 0000000..e2d2201 --- /dev/null +++ b/src/assets/activity-task/preview/reaction_time_dot.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/activity-task/preview/reaction_time_start.svg b/src/assets/activity-task/preview/reaction_time_start.svg new file mode 100644 index 0000000..37fe3ef --- /dev/null +++ b/src/assets/activity-task/preview/reaction_time_start.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/preview/sit_to_stand_start.svg b/src/assets/activity-task/preview/sit_to_stand_start.svg new file mode 100644 index 0000000..ea2bf60 --- /dev/null +++ b/src/assets/activity-task/preview/sit_to_stand_start.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/preview/sit_to_stand_timer.svg b/src/assets/activity-task/preview/sit_to_stand_timer.svg new file mode 100644 index 0000000..aaf73e6 --- /dev/null +++ b/src/assets/activity-task/preview/sit_to_stand_timer.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/activity-task/preview/speech_recognition_audio.svg b/src/assets/activity-task/preview/speech_recognition_audio.svg new file mode 100644 index 0000000..0c4e477 --- /dev/null +++ b/src/assets/activity-task/preview/speech_recognition_audio.svg @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/preview/speech_recognition_audio_empty.svg b/src/assets/activity-task/preview/speech_recognition_audio_empty.svg new file mode 100644 index 0000000..25853f3 --- /dev/null +++ b/src/assets/activity-task/preview/speech_recognition_audio_empty.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/activity-task/preview/speech_recognition_start.svg b/src/assets/activity-task/preview/speech_recognition_start.svg new file mode 100644 index 0000000..0d9454d --- /dev/null +++ b/src/assets/activity-task/preview/speech_recognition_start.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/preview/spirometry_audio.svg b/src/assets/activity-task/preview/spirometry_audio.svg new file mode 100644 index 0000000..f8a37a1 --- /dev/null +++ b/src/assets/activity-task/preview/spirometry_audio.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/preview/spirometry_start.svg b/src/assets/activity-task/preview/spirometry_start.svg new file mode 100644 index 0000000..daf5e79 --- /dev/null +++ b/src/assets/activity-task/preview/spirometry_start.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/preview/step_test_dots.svg b/src/assets/activity-task/preview/step_test_dots.svg new file mode 100644 index 0000000..ade880b --- /dev/null +++ b/src/assets/activity-task/preview/step_test_dots.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/activity-task/preview/step_test_start.svg b/src/assets/activity-task/preview/step_test_start.svg new file mode 100644 index 0000000..9cd35cc --- /dev/null +++ b/src/assets/activity-task/preview/step_test_start.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/preview/sustained_phonation_audio.svg b/src/assets/activity-task/preview/sustained_phonation_audio.svg new file mode 100644 index 0000000..d39ff83 --- /dev/null +++ b/src/assets/activity-task/preview/sustained_phonation_audio.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/preview/sustained_phonation_exhale.svg b/src/assets/activity-task/preview/sustained_phonation_exhale.svg new file mode 100644 index 0000000..4c86c92 --- /dev/null +++ b/src/assets/activity-task/preview/sustained_phonation_exhale.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/preview/sustained_phonation_start.svg b/src/assets/activity-task/preview/sustained_phonation_start.svg new file mode 100644 index 0000000..5e30dab --- /dev/null +++ b/src/assets/activity-task/preview/sustained_phonation_start.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/preview/tapping_speed_buttons.svg b/src/assets/activity-task/preview/tapping_speed_buttons.svg new file mode 100644 index 0000000..f99ed6d --- /dev/null +++ b/src/assets/activity-task/preview/tapping_speed_buttons.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/activity-task/preview/tapping_speed_left.svg b/src/assets/activity-task/preview/tapping_speed_left.svg new file mode 100644 index 0000000..89c8fd8 --- /dev/null +++ b/src/assets/activity-task/preview/tapping_speed_left.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/preview/tapping_speed_right.svg b/src/assets/activity-task/preview/tapping_speed_right.svg new file mode 100644 index 0000000..3edaf49 --- /dev/null +++ b/src/assets/activity-task/preview/tapping_speed_right.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/preview/walk_test_start.svg b/src/assets/activity-task/preview/walk_test_start.svg new file mode 100644 index 0000000..0b7cc90 --- /dev/null +++ b/src/assets/activity-task/preview/walk_test_start.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/preview/walk_test_timer.svg b/src/assets/activity-task/preview/walk_test_timer.svg new file mode 100644 index 0000000..edb71bf --- /dev/null +++ b/src/assets/activity-task/preview/walk_test_timer.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/activity-task/range-motion.svg b/src/assets/activity-task/range-motion.svg new file mode 100644 index 0000000..c4562cf --- /dev/null +++ b/src/assets/activity-task/range-motion.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/reaction-time.svg b/src/assets/activity-task/reaction-time.svg new file mode 100644 index 0000000..7101dfb --- /dev/null +++ b/src/assets/activity-task/reaction-time.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/sit-stand.svg b/src/assets/activity-task/sit-stand.svg new file mode 100644 index 0000000..808e26a --- /dev/null +++ b/src/assets/activity-task/sit-stand.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/speech-recognition.svg b/src/assets/activity-task/speech-recognition.svg new file mode 100644 index 0000000..0cc045c --- /dev/null +++ b/src/assets/activity-task/speech-recognition.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/step-test.svg b/src/assets/activity-task/step-test.svg new file mode 100644 index 0000000..bc5c209 --- /dev/null +++ b/src/assets/activity-task/step-test.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/sustained-phonation.svg b/src/assets/activity-task/sustained-phonation.svg new file mode 100644 index 0000000..4a9fdcd --- /dev/null +++ b/src/assets/activity-task/sustained-phonation.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/tapping-speed.svg b/src/assets/activity-task/tapping-speed.svg new file mode 100644 index 0000000..5f06e61 --- /dev/null +++ b/src/assets/activity-task/tapping-speed.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/assets/activity-task/word-color.svg b/src/assets/activity-task/word-color.svg new file mode 100644 index 0000000..54ddeee --- /dev/null +++ b/src/assets/activity-task/word-color.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/education/education.svg b/src/assets/education/education.svg new file mode 100644 index 0000000..b03c1b1 --- /dev/null +++ b/src/assets/education/education.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/assets/education/pdf.svg b/src/assets/education/pdf.svg new file mode 100644 index 0000000..5b8bf44 --- /dev/null +++ b/src/assets/education/pdf.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/assets/education/play.svg b/src/assets/education/play.svg new file mode 100644 index 0000000..8c8b717 --- /dev/null +++ b/src/assets/education/play.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/education/player-controls.svg b/src/assets/education/player-controls.svg new file mode 100644 index 0000000..706ce90 --- /dev/null +++ b/src/assets/education/player-controls.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/education/scratch.svg b/src/assets/education/scratch.svg new file mode 100644 index 0000000..c9d11f0 --- /dev/null +++ b/src/assets/education/scratch.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/assets/education/video.svg b/src/assets/education/video.svg new file mode 100644 index 0000000..5f5d97a --- /dev/null +++ b/src/assets/education/video.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/appbar_back.svg b/src/assets/icons/appbar_back.svg index 696c994..b4aef78 100644 --- a/src/assets/icons/appbar_back.svg +++ b/src/assets/icons/appbar_back.svg @@ -1,3 +1,10 @@ - - + + + + + + + + + diff --git a/src/assets/icons/calendar_small.svg b/src/assets/icons/calendar_small.svg new file mode 100644 index 0000000..f8f2b4f --- /dev/null +++ b/src/assets/icons/calendar_small.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/checkmark_small.svg b/src/assets/icons/checkmark_small.svg new file mode 100644 index 0000000..2e21bbd --- /dev/null +++ b/src/assets/icons/checkmark_small.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/comparison_percentage_decrease.svg b/src/assets/icons/comparison_percentage_decrease.svg new file mode 100644 index 0000000..891975e --- /dev/null +++ b/src/assets/icons/comparison_percentage_decrease.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/comparison_percentage_increase.svg b/src/assets/icons/comparison_percentage_increase.svg new file mode 100644 index 0000000..ab4e792 --- /dev/null +++ b/src/assets/icons/comparison_percentage_increase.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/document.svg b/src/assets/icons/document.svg new file mode 100644 index 0000000..fe6f8a1 --- /dev/null +++ b/src/assets/icons/document.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/download.svg b/src/assets/icons/download.svg new file mode 100644 index 0000000..60d32a1 --- /dev/null +++ b/src/assets/icons/download.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/icons/download_small.svg b/src/assets/icons/download_small.svg new file mode 100644 index 0000000..317a099 --- /dev/null +++ b/src/assets/icons/download_small.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/icons/dropdown_arrow_small.svg b/src/assets/icons/dropdown_arrow_small.svg new file mode 100644 index 0000000..7926c9c --- /dev/null +++ b/src/assets/icons/dropdown_arrow_small.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/edit_open_ended.svg b/src/assets/icons/edit_open_ended.svg new file mode 100644 index 0000000..7f0c5e8 --- /dev/null +++ b/src/assets/icons/edit_open_ended.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/icons/image.svg b/src/assets/icons/image.svg new file mode 100644 index 0000000..9b90743 --- /dev/null +++ b/src/assets/icons/image.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/info.svg b/src/assets/icons/info.svg index 5d7ba0c..c3001ce 100644 --- a/src/assets/icons/info.svg +++ b/src/assets/icons/info.svg @@ -1,3 +1,3 @@ - + diff --git a/src/assets/icons/lock.svg b/src/assets/icons/lock.svg index 3f89dd4..9940802 100644 --- a/src/assets/icons/lock.svg +++ b/src/assets/icons/lock.svg @@ -1,10 +1,3 @@ - - - - - - - - + diff --git a/src/assets/icons/minus_button.svg b/src/assets/icons/minus_button.svg new file mode 100644 index 0000000..cbd0b66 --- /dev/null +++ b/src/assets/icons/minus_button.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/more.svg b/src/assets/icons/more.svg new file mode 100644 index 0000000..0fa9261 --- /dev/null +++ b/src/assets/icons/more.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/icons/plus_button.svg b/src/assets/icons/plus_button.svg new file mode 100644 index 0000000..cf713d4 --- /dev/null +++ b/src/assets/icons/plus_button.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/rank.svg b/src/assets/icons/rank.svg new file mode 100644 index 0000000..33f4e92 --- /dev/null +++ b/src/assets/icons/rank.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/icons/reorder.svg b/src/assets/icons/reorder.svg new file mode 100644 index 0000000..1f9dc93 --- /dev/null +++ b/src/assets/icons/reorder.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/icons/reorder_selected.svg b/src/assets/icons/reorder_selected.svg new file mode 100644 index 0000000..1f55e1c --- /dev/null +++ b/src/assets/icons/reorder_selected.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/icons/sections.svg b/src/assets/icons/sections.svg new file mode 100644 index 0000000..554efa0 --- /dev/null +++ b/src/assets/icons/sections.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/icons/skip_logic.svg b/src/assets/icons/skip_logic.svg new file mode 100644 index 0000000..c34055f --- /dev/null +++ b/src/assets/icons/skip_logic.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/skip_logic_warning.svg b/src/assets/icons/skip_logic_warning.svg new file mode 100644 index 0000000..0caa377 --- /dev/null +++ b/src/assets/icons/skip_logic_warning.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/trial_management.svg b/src/assets/icons/study_management.svg similarity index 100% rename from src/assets/icons/trial_management.svg rename to src/assets/icons/study_management.svg diff --git a/src/assets/icons/subtract.svg b/src/assets/icons/subtract.svg new file mode 100644 index 0000000..c9521b6 --- /dev/null +++ b/src/assets/icons/subtract.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/time.svg b/src/assets/icons/time.svg index d2df072..8652de5 100644 --- a/src/assets/icons/time.svg +++ b/src/assets/icons/time.svg @@ -1,3 +1,3 @@ - + diff --git a/src/assets/icons/time_small.svg b/src/assets/icons/time_small.svg new file mode 100644 index 0000000..caf5d37 --- /dev/null +++ b/src/assets/icons/time_small.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/trash_can.svg b/src/assets/icons/trash_can.svg index 6160cfd..19167fd 100644 --- a/src/assets/icons/trash_can.svg +++ b/src/assets/icons/trash_can.svg @@ -1,5 +1,5 @@ - - - + + + diff --git a/src/assets/icons/trend_down.svg b/src/assets/icons/trend_down.svg new file mode 100644 index 0000000..3a728f1 --- /dev/null +++ b/src/assets/icons/trend_down.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/upload.svg b/src/assets/icons/upload.svg new file mode 100644 index 0000000..60e0866 --- /dev/null +++ b/src/assets/icons/upload.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/icons/upload_success.svg b/src/assets/icons/upload_success.svg new file mode 100644 index 0000000..01afd3e --- /dev/null +++ b/src/assets/icons/upload_success.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/assets/icons/warning.svg b/src/assets/icons/warning.svg new file mode 100644 index 0000000..3282aa8 --- /dev/null +++ b/src/assets/icons/warning.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/service/drop_area.svg b/src/assets/service/drop_area.svg new file mode 100644 index 0000000..33c2623 --- /dev/null +++ b/src/assets/service/drop_area.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/service/empty_data.svg b/src/assets/service/empty_data.svg index 4bbbd8b..f6c535c 100644 --- a/src/assets/service/empty_data.svg +++ b/src/assets/service/empty_data.svg @@ -1,7 +1,5 @@ - - diff --git a/src/common/components/BackdropOverlay.test.tsx b/src/common/components/BackdropOverlay.test.tsx index c8d1d1e..20296a0 100644 --- a/src/common/components/BackdropOverlay.test.tsx +++ b/src/common/components/BackdropOverlay.test.tsx @@ -50,7 +50,7 @@ describe('BackdropOverlay', () => { rerender( - +
diff --git a/src/common/components/BackdropOverlay.tsx b/src/common/components/BackdropOverlay.tsx index bca0401..3e61010 100644 --- a/src/common/components/BackdropOverlay.tsx +++ b/src/common/components/BackdropOverlay.tsx @@ -12,7 +12,7 @@ const BackdropContainer = styled.div<{ show?: boolean }>` z-index: ${({ show }) => (show ? 1000 : -1)}; `; -export const BackdropBase = styled.div` +const BackdropBase = styled.div` position: fixed; left: 0; top: 0; @@ -55,7 +55,7 @@ export interface BackdropOverlayProps extends React.PropsWithChildren>, Pick { open?: boolean; - loaderBackdrop?: boolean; + blur?: boolean; } const BACKDROP_ID = 'backdrop-portal'; @@ -64,7 +64,7 @@ const createId = (id?: string): string => (id ? `${BACKDROP_ID}-${id}` : BACKDRO const BackdropOverlay: FC = ({ open, - loaderBackdrop, + blur, children, onEnter, onEntering, @@ -89,7 +89,7 @@ const BackdropOverlay: FC = ({ return ( - + {children} = ({ setShowContent(false); }} > - + diff --git a/src/common/components/Button.test.tsx b/src/common/components/Button.test.tsx index 00b706b..6efa4c9 100644 --- a/src/common/components/Button.test.tsx +++ b/src/common/components/Button.test.tsx @@ -168,7 +168,7 @@ describe('Button', () => { it('[NEGATIVE] should render with wrong `fill` property', async () => { const { baseElement } = render( -